Add marmot_no_sram
diff --git a/openlane/marmot_no_sram/Makefile b/openlane/marmot_no_sram/Makefile
new file mode 100644
index 0000000..f4f5e53
--- /dev/null
+++ b/openlane/marmot_no_sram/Makefile
@@ -0,0 +1,12 @@
+TARGET = macro_obs.tcl macro_pdn.tcl
+
+all: $(TARGET)
+
+macro_obs.tcl: macro.cfg
+	../../../script/mk_obstruction.py $< > $@
+
+macro_pdn.tcl: macro.cfg
+	../../../script/mk_pdn_macro_hooks.py $< > $@
+
+clean:
+	rm -f $(TARGET)
diff --git a/openlane/marmot_no_sram/base.sdc b/openlane/marmot_no_sram/base.sdc
new file mode 100644
index 0000000..f208423
--- /dev/null
+++ b/openlane/marmot_no_sram/base.sdc
@@ -0,0 +1,153 @@
+# JTAG port
+set TDO_port io_out[1]
+set TDI_port io_in[2]
+set TMS_port io_in[3]
+set TCK_port io_in[4]
+
+# create clock
+create_clock [get_ports wb_clk_i] -name wb_clk_i -period $::env(CLOCK_PERIOD)
+
+create_generated_clock -name tag_array_ext_ram_clk -add \
+  -source [get_ports wb_clk_i] -master_clock [get_clocks wb_clk_i] -divide_by 1 \
+  -comment {D-Cache Tag RAM clk} [get_ports tag_array_ext_ram_clk]
+
+create_generated_clock -name data_arrays_0_ext_ram_clk -add \
+  -source [get_ports wb_clk_i] -master_clock [get_clocks wb_clk_i] -divide_by 1 \
+  -comment {D-Cache Data RAM clk} [get_ports data_arrays_0_ext_ram_clk[*]]
+
+create_generated_clock -name tag_array_0_ext_ram_clk -add \
+  -source [get_ports wb_clk_i] -master_clock [get_clocks wb_clk_i] -divide_by 1 \
+  -comment {I-Cache Tag RAM clk} [get_ports tag_array_0_ext_ram_clk]
+
+create_generated_clock -name data_arrays_0_0_ext_ram_clk -add \
+  -source [get_ports wb_clk_i] -master_clock [get_clocks wb_clk_i] -divide_by 1 \
+  -comment {I-Cache Data RAM clk} [get_ports data_arrays_0_0_ext_ram_clk[*]]
+
+create_generated_clock -name slow_clock -add \
+  -source [get_ports wb_clk_i] -master_clock [get_clocks wb_clk_i] -divide_by 4 \
+  -comment {AON clk} [get_nets \MarmotCaravelChip.clockToggleReg ]
+
+create_clock [get_ports $TCK_port] -name jtag_TCK -period 100.0
+
+# clock groups
+set_clock_groups -name async_clock -asynchronous \
+ -group [get_clocks {wb_clk_i tag_array_ext_ram_clk data_arrays_0_ext_ram_clk tag_array_0_ext_ram_clk data_arrays_0_0_ext_ram_clk slow_clock}] \
+ -group [get_clocks {jtag_TCK}]\
+
+# max delay for RAM clocks
+#set MAX_DELAY_RAM_CLOCK 6.0
+#set_max_delay $MAX_DELAY_RAM_CLOCK -from [get_ports wb_clk_i] -to [get_ports tag_array_ext_ram_clk]
+#set_max_delay $MAX_DELAY_RAM_CLOCK -from [get_ports wb_clk_i] -to [get_ports data_arrays_0_ext_ram_clk]
+#set_max_delay $MAX_DELAY_RAM_CLOCK -from [get_ports wb_clk_i] -to [get_ports tag_array_0_ext_ram_clk]
+#set_max_delay $MAX_DELAY_RAM_CLOCK -from [get_ports wb_clk_i] -to [get_ports data_arrays_0_0_ext_ram_clk]
+
+# input/output delay
+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 input_delay_value_ram [expr $::env(CLOCK_PERIOD) * $::env(IO_PCT_RAM)]
+set output_delay_value_ram [expr $::env(CLOCK_PERIOD) * $::env(IO_PCT_RAM)]
+puts "\[INFO\]: Setting output delay for RAM to: $output_delay_value_ram"
+puts "\[INFO\]: Setting input delay for RAM to: $input_delay_value_ram"
+
+set all_inputs_wo_clk [all_inputs]
+set clk_indx [lsearch $all_inputs_wo_clk [get_port wb_clk_i]]
+set all_inputs_wo_clk [lreplace [all_inputs] $clk_indx $clk_indx]
+
+set clk_indx [lsearch $all_inputs_wo_clk [get_port $TCK_port]]
+set all_inputs_wo_clk [lreplace $all_inputs_wo_clk $clk_indx $clk_indx]
+
+set clk_indx [lsearch $all_inputs_wo_clk [get_port tag_array_ext_ram_clk]]
+set all_inputs_wo_clk [lreplace $all_inputs_wo_clk $clk_indx $clk_indx]
+
+set clk_indx [lsearch $all_inputs_wo_clk [get_port data_arrays_0_ext_ram_clk[0]]]
+set all_inputs_wo_clk [lreplace $all_inputs_wo_clk $clk_indx $clk_indx]
+
+set clk_indx [lsearch $all_inputs_wo_clk [get_port data_arrays_0_ext_ram_clk[1]]]
+set all_inputs_wo_clk [lreplace $all_inputs_wo_clk $clk_indx $clk_indx]
+
+set clk_indx [lsearch $all_inputs_wo_clk [get_port tag_array_0_ext_ram_clk]]
+set all_inputs_wo_clk [lreplace $all_inputs_wo_clk $clk_indx $clk_indx]
+
+set clk_indx [lsearch $all_inputs_wo_clk [get_port data_arrays_0_0_ext_ram_clk[0]]]
+set all_inputs_wo_clk [lreplace $all_inputs_wo_clk $clk_indx $clk_indx]
+
+set clk_indx [lsearch $all_inputs_wo_clk [get_port data_arrays_0_0_ext_ram_clk[1]]]
+set all_inputs_wo_clk [lreplace $all_inputs_wo_clk $clk_indx $clk_indx]
+
+set clk_indx [lsearch $all_inputs_wo_clk [get_port data_arrays_0_0_ext_ram_clk[2]]]
+set all_inputs_wo_clk [lreplace $all_inputs_wo_clk $clk_indx $clk_indx]
+
+set clk_indx [lsearch $all_inputs_wo_clk [get_port data_arrays_0_0_ext_ram_clk[3]]]
+set all_inputs_wo_clk [lreplace $all_inputs_wo_clk $clk_indx $clk_indx]
+
+set_input_delay  $input_delay_value  -clock [get_clocks wb_clk_i] $all_inputs_wo_clk
+set_output_delay $output_delay_value -clock [get_clocks wb_clk_i] [all_outputs]
+
+# D-Cache Tag RAM port
+set_output_delay $output_delay_value_ram -clock [get_clocks tag_array_ext_ram_clk] [get_ports tag_array_ext_ram_csb0]
+set_output_delay $output_delay_value_ram -clock [get_clocks tag_array_ext_ram_clk] [get_ports tag_array_ext_ram_web0]
+set_output_delay $output_delay_value_ram -clock [get_clocks tag_array_ext_ram_clk] [get_ports tag_array_ext_ram_wmask0[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks tag_array_ext_ram_clk] [get_ports tag_array_ext_ram_addr0[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks tag_array_ext_ram_clk] [get_ports tag_array_ext_ram_din0[*]]
+set_input_delay  $input_delay_value_ram  -clock [get_clocks tag_array_ext_ram_clk] [get_ports tag_array_ext_ram_dout0[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks tag_array_ext_ram_clk] [get_ports tag_array_ext_ram_csb1]
+set_output_delay $output_delay_value_ram -clock [get_clocks tag_array_ext_ram_clk] [get_ports tag_array_ext_ram_addr1[*]]
+
+# D-Cache Data RAM port
+set_output_delay $output_delay_value_ram -clock [get_clocks data_arrays_0_ext_ram_clk] [get_ports data_arrays_0_ext_ram_csb0[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks data_arrays_0_ext_ram_clk] [get_ports data_arrays_0_ext_ram_web0[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks data_arrays_0_ext_ram_clk] [get_ports data_arrays_0_ext_ram_wmask0*[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks data_arrays_0_ext_ram_clk] [get_ports data_arrays_0_ext_ram_addr0*[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks data_arrays_0_ext_ram_clk] [get_ports data_arrays_0_ext_ram_din0*[*]]
+set_input_delay  $input_delay_value_ram  -clock [get_clocks data_arrays_0_ext_ram_clk] [get_ports data_arrays_0_ext_ram_dout0*[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks data_arrays_0_ext_ram_clk] [get_ports data_arrays_0_ext_ram_csb1[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks data_arrays_0_ext_ram_clk] [get_ports data_arrays_0_ext_ram_addr1*[*]]
+
+# I-Cache Tag RAM port
+set_output_delay $output_delay_value_ram -clock [get_clocks tag_array_0_ext_ram_clk] [get_ports tag_array_0_ext_ram_csb0]
+set_output_delay $output_delay_value_ram -clock [get_clocks tag_array_0_ext_ram_clk] [get_ports tag_array_0_ext_ram_web0]
+set_output_delay $output_delay_value_ram -clock [get_clocks tag_array_0_ext_ram_clk] [get_ports tag_array_0_ext_ram_wmask0[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks tag_array_0_ext_ram_clk] [get_ports tag_array_0_ext_ram_addr0[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks tag_array_0_ext_ram_clk] [get_ports tag_array_0_ext_ram_din0[*]]
+set_input_delay  $input_delay_value_ram  -clock [get_clocks tag_array_0_ext_ram_clk] [get_ports tag_array_0_ext_ram_dout0[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks tag_array_0_ext_ram_clk] [get_ports tag_array_0_ext_ram_csb1]
+set_output_delay $output_delay_value_ram -clock [get_clocks tag_array_0_ext_ram_clk] [get_ports tag_array_0_ext_ram_addr1[*]]
+
+# I-Cache Data RAM port
+set_output_delay $output_delay_value_ram -clock [get_clocks data_arrays_0_0_ext_ram_clk] [get_ports data_arrays_0_0_ext_ram_csb0[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks data_arrays_0_0_ext_ram_clk] [get_ports data_arrays_0_0_ext_ram_web0[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks data_arrays_0_0_ext_ram_clk] [get_ports data_arrays_0_0_ext_ram_wmask0*[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks data_arrays_0_0_ext_ram_clk] [get_ports data_arrays_0_0_ext_ram_addr0*[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks data_arrays_0_0_ext_ram_clk] [get_ports data_arrays_0_0_ext_ram_din0*[*]]
+set_input_delay  $input_delay_value_ram  -clock [get_clocks data_arrays_0_0_ext_ram_clk] [get_ports data_arrays_0_0_ext_ram_dout0*[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks data_arrays_0_0_ext_ram_clk] [get_ports data_arrays_0_0_ext_ram_csb1[*]]
+set_output_delay $output_delay_value_ram -clock [get_clocks data_arrays_0_0_ext_ram_clk] [get_ports data_arrays_0_0_ext_ram_addr1*[*]]
+
+# JTAG port
+set_input_delay  $input_delay_value  -clock [get_clocks jtag_TCK] [get_ports $TMS_port]
+set_input_delay  $input_delay_value  -clock [get_clocks jtag_TCK] [get_ports $TDI_port]
+set_output_delay $output_delay_value -clock [get_clocks jtag_TCK] [get_ports $TDO_port]
+
+# max fanout
+set_max_fanout $::env(SYNTH_MAX_FANOUT) [current_design]
+
+# 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) [all_clocks]
+
+puts "\[INFO\]: Setting clock transition to: $::env(SYNTH_CLOCK_TRANSITION)"
+set_clock_transition $::env(SYNTH_CLOCK_TRANSITION) [all_clocks]
+
+set_propagated_clock [all_clocks]
+
+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_no_sram/config.tcl b/openlane/marmot_no_sram/config.tcl
new file mode 100644
index 0000000..69b96a6
--- /dev/null
+++ b/openlane/marmot_no_sram/config.tcl
@@ -0,0 +1,119 @@
+# 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 script_dir [file dirname [file normalize [info script]]]
+source $::env(CARAVEL_ROOT)/openlane/user_project_wrapper/fixed_wrapper_cfgs.tcl
+source $::env(CARAVEL_ROOT)/openlane/user_project_wrapper/default_wrapper_cfgs.tcl
+set ::env(PDK) $::env(PDK)
+set ::env(STD_CELL_LIBRARY) "sky130_fd_sc_hd"
+
+
+set ::env(DESIGN_NAME) Marmot
+
+set ::env(FP_PDN_CHECK_NODES) 0
+set ::env(FP_PDN_ENABLE_RAILS) 1 
+
+set ::env(CLOCK_PORT) "wb_clk_i"
+
+set ::env(CLOCK_PERIOD) "40"
+
+set ::env(FP_SIZING) absolute
+set ::env(DIE_AREA) "0 0 1059 2096"
+
+#set ::env(PL_OPENPHYSYN_OPTIMIZATIONS) 0
+set ::env(DIODE_INSERTION_STRATEGY) 5
+
+set ::env(MAGIC_WRITE_FULL_LEF) 0
+
+set ::env(SYNTH_FLAT_TOP) 1
+#set ::env(SYNTH_NO_FLAT) 1
+set ::env(CLOCK_TREE_SYNTH) 1
+set ::env(DESIGN_IS_CORE) 1
+set ::env(FP_PDN_CORE_RING) 0
+set ::env(STA_REPORT_POWER) 0
+set ::env(SYNTH_USE_PG_PINS_DEFINES) "USE_POWER_PINS"
+set ::env(VDD_NETS) {vccd1}
+set ::env(GND_NETS) {vssd1}
+set ::env(VDD_PIN) "vccd1"
+set ::env(GND_PIN) "vssd1"
+set ::env(PL_TARGET_DENSITY) 0.55
+set ::env(PL_SKIP_INITIAL_PLACEMENT) 1
+set ::env(DECAP_CELL) {sky130_ef_sc_hd__decap_*  sky130_fd_sc_hd__decap_*}
+#set ::env(FILL_CELL) {sky130_fd_sc_hd__fill_}
+#set ::env(CTS_TARGET_SKEW) 200
+#set ::env(CTS_SINK_CLUSTERING_SIZE) 100
+#set ::env(CTS_SINK_CLUSTERING_MAX_DIAMETER) 1000
+set ::env(FP_IO_VLENGTH) 1
+set ::env(FP_IO_HLENGTH) 1
+set ::env(ROUTING_CORES) 4
+set ::env(GLB_RT_ALLOW_CONGESTION) 1
+#set ::env(GLB_RT_MAXLAYER) 5
+set ::env(RT_MAX_LAYER) {met4}
+set ::env(FP_PDN_CHECK_NODES) 0
+set ::env(RUN_KLAYOUT_XOR) 0
+set ::env(KLAYOUT_XOR_GDS) 0
+set ::env(KLAYOUT_XOR_XML) 0
+set ::env(FP_PDN_IRDROP) 0
+set ::env(RUN_CVC) 0
+set ::env(RUN_MAGIC_DRC) 0
+#set ::env(TAKE_LAYOUT_SCROT) 1
+
+
+## Source Verilog Files
+set ::env(SYNTH_DEFINES) "SYNTHESIS RAM_ON_TOP"
+set ::env(SYNTH_READ_BLACKBOX_LIB) 1
+
+set ::env(VERILOG_INCLUDE_DIRS) [glob $script_dir/../../../verilog/rtl/marmot_no_sram]
+set ::env(VERILOG_FILES) "\
+	$::env(CARAVEL_ROOT)/verilog/rtl/defines.v \
+	[glob $script_dir/../../../verilog/rtl/marmot_no_sram/*.v]"
+
+## SDC
+set ::env(IO_PCT)     0.2
+set ::env(IO_PCT_RAM) 0.3
+set ::env(BASE_SDC_FILE) $script_dir/../../../openlane/marmot_no_sram/base.sdc
+
+
+## Internal Macros
+### Black-box verilog and views
+#set ::env(VERILOG_FILES_BLACKBOX) "\
+#  $::env(CARAVEL_ROOT)/verilog/rtl/defines.v \
+#  $::env(PDK_ROOT)/$::env(PDK)/libs.ref/sky130_sram_macros/verilog/sky130_sram_2kbyte_1rw1r_32x512_8.v \
+#  $::env(PDK_ROOT)/$::env(PDK)/libs.ref/sky130_sram_macros/verilog/sky130_sram_1kbyte_1rw1r_32x256_8.v"
+#
+#set ::env(EXTRA_LEFS) "\
+#  $::env(PDK_ROOT)/$::env(PDK)/libs.ref/sky130_sram_macros/lef/sky130_sram_2kbyte_1rw1r_32x512_8.lef \
+#  $::env(PDK_ROOT)/$::env(PDK)/libs.ref/sky130_sram_macros/lef/sky130_sram_1kbyte_1rw1r_32x256_8.lef"
+#
+#set ::env(EXTRA_GDS_FILES) "\
+#  $::env(PDK_ROOT)/$::env(PDK)/libs.ref/sky130_sram_macros/gds/sky130_sram_2kbyte_1rw1r_32x512_8.gds \
+#  $::env(PDK_ROOT)/$::env(PDK)/libs.ref/sky130_sram_macros/gds/sky130_sram_1kbyte_1rw1r_32x256_8.gds"
+#
+#set ::env(EXTRA_LIBS) "\
+#  $::env(PDK_ROOT)/$::env(PDK)/libs.ref/sky130_sram_macros/lib/sky130_sram_1kbyte_1rw1r_32x256_8_TT_1p8V_25C.lib \
+#  $::env(PDK_ROOT)/$::env(PDK)/libs.ref/sky130_sram_macros/lib/sky130_sram_2kbyte_1rw1r_32x512_8_TT_1p8V_25C.lib"
+
+### Macro Placement
+#set ::env(MACRO_PLACEMENT_CFG) $script_dir/../../../openlane/marmot_no_sram/macro.cfg
+
+### Macro PDN Connections
+#source $script_dir/../../../openlane/marmot_no_sram/macro_pdn.tcl
+
+### Obstruction over SRAMs
+#source $script_dir/../../../openlane/marmot_no_sram/macro_obs.tcl
+
+# Pin order
+set ::env(FP_PIN_ORDER_CFG) $script_dir/../../../openlane/marmot_no_sram/pin_order.cfg
+
diff --git a/openlane/marmot_no_sram/pin_order.cfg b/openlane/marmot_no_sram/pin_order.cfg
new file mode 100644
index 0000000..6a52637
--- /dev/null
+++ b/openlane/marmot_no_sram/pin_order.cfg
@@ -0,0 +1,228 @@
+#BUS_SORT
+#NR
+data_arrays_0_0_ext_ram_clk\[2\]
+data_arrays_0_0_ext_ram_csb0\[2\]
+data_arrays_0_0_ext_ram_web0\[2\]
+data_arrays_0_0_ext_ram_wmask02.*
+data_arrays_0_0_ext_ram_addr02.*
+data_arrays_0_0_ext_ram_din02.*
+data_arrays_0_0_ext_ram_dout02.*
+data_arrays_0_0_ext_ram_csb1\[2\]
+data_arrays_0_0_ext_ram_addr12.*
+analog_io\[8\]
+io_in\[15\]
+io_out\[15\]
+io_oeb\[15\]
+analog_io\[9\]
+io_in\[16\]
+io_out\[16\]
+io_oeb\[16\]
+analog_io\[10\]
+io_in\[17\]
+io_out\[17\]
+io_oeb\[17\]
+analog_io\[11\]
+io_in\[18\]
+io_out\[18\]
+io_oeb\[18\]
+analog_io\[12\]
+io_in\[19\]
+io_out\[19\]
+io_oeb\[19\]
+analog_io\[13\]
+io_in\[20\]
+io_out\[20\]
+io_oeb\[20\]
+analog_io\[14\]
+io_in\[21\]
+io_out\[21\]
+io_oeb\[21\]
+analog_io\[15\]
+io_in\[22\]
+io_out\[22\]
+io_oeb\[22\]
+analog_io\[16\]
+io_in\[23\]
+io_out\[23\]
+io_oeb\[23\]
+tag_array_0_ext_ram_clk
+tag_array_0_ext_ram_csb0
+tag_array_0_ext_ram_web0
+tag_array_0_ext_ram_wmask0.*
+tag_array_0_ext_ram_addr0.*
+tag_array_0_ext_ram_din0.*
+tag_array_0_ext_ram_dout0.*
+tag_array_0_ext_ram_csb1
+tag_array_0_ext_ram_addr1.*
+
+#S
+wb_.*
+wbs_.*
+la_.*
+user_clock2
+user_irq.*
+tag_array_ext_ram_clk
+tag_array_ext_ram_csb0
+tag_array_ext_ram_web0
+tag_array_ext_ram_wmask0.*
+tag_array_ext_ram_addr0.*
+tag_array_ext_ram_din0.*
+tag_array_ext_ram_dout0.*
+tag_array_ext_ram_csb1
+tag_array_ext_ram_addr1.*
+
+#E
+data_arrays_0_ext_ram_clk\[0\]
+data_arrays_0_ext_ram_csb0\[0\]
+data_arrays_0_ext_ram_web0\[0\]
+data_arrays_0_ext_ram_wmask00.*
+data_arrays_0_ext_ram_addr00.*
+data_arrays_0_ext_ram_din00.*
+data_arrays_0_ext_ram_dout00.*
+data_arrays_0_ext_ram_csb1\[0\]
+data_arrays_0_ext_ram_addr10.*
+io_in\[0\]
+io_out\[0\]
+io_oeb\[0\]
+io_in\[1\]
+io_out\[1\]
+io_oeb\[1\]
+io_in\[2\]
+io_out\[2\]
+io_oeb\[2\]
+io_in\[3\]
+io_out\[3\]
+io_oeb\[3\]
+io_in\[4\]
+io_out\[4\]
+io_oeb\[4\]
+io_in\[5\]
+io_out\[5\]
+io_oeb\[5\]
+data_arrays_0_ext_ram_clk\[1\]
+data_arrays_0_ext_ram_csb0\[1\]
+data_arrays_0_ext_ram_web0\[1\]
+data_arrays_0_ext_ram_wmask01.*
+data_arrays_0_ext_ram_addr01.*
+data_arrays_0_ext_ram_din01.*
+data_arrays_0_ext_ram_dout01.*
+data_arrays_0_ext_ram_csb1\[1\]
+data_arrays_0_ext_ram_addr11.*
+io_in\[6\]
+io_out\[6\]
+io_oeb\[6\]
+analog_io\[0\]
+io_in\[7\]
+io_out\[7\]
+io_oeb\[7\]
+analog_io\[1\]
+io_in\[8\]
+io_out\[8\]
+io_oeb\[8\]
+analog_io\[2\]
+io_in\[9\]
+io_out\[9\]
+io_oeb\[9\]
+analog_io\[3\]
+data_arrays_0_0_ext_ram_clk\[3\]
+data_arrays_0_0_ext_ram_csb0\[3\]
+data_arrays_0_0_ext_ram_web0\[3\]
+data_arrays_0_0_ext_ram_wmask03.*
+data_arrays_0_0_ext_ram_addr03.*
+data_arrays_0_0_ext_ram_din03.*
+data_arrays_0_0_ext_ram_dout03.*
+data_arrays_0_0_ext_ram_csb1\[3\]
+data_arrays_0_0_ext_ram_addr13.*
+io_in\[10\]
+io_out\[10\]
+io_oeb\[10\]
+analog_io\[4\]
+io_in\[11\]
+io_out\[11\]
+io_oeb\[11\]
+analog_io\[5\]
+io_in\[12\]
+io_out\[12\]
+io_oeb\[12\]
+analog_io\[6\]
+io_in\[13\]
+io_out\[13\]
+io_oeb\[13\]
+analog_io\[7\]
+io_in\[14\]
+io_out\[14\]
+io_oeb\[14\]
+
+#WR
+data_arrays_0_0_ext_ram_clk\[1\]
+data_arrays_0_0_ext_ram_csb0\[1\]
+data_arrays_0_0_ext_ram_web0\[1\]
+data_arrays_0_0_ext_ram_wmask01.*
+data_arrays_0_0_ext_ram_addr01.*
+data_arrays_0_0_ext_ram_din01.*
+data_arrays_0_0_ext_ram_dout01.*
+data_arrays_0_0_ext_ram_csb1\[1\]
+data_arrays_0_0_ext_ram_addr11.*
+analog_io\[17\]
+io_in\[24\]
+io_out\[24\]
+io_oeb\[24\]
+analog_io\[18\]
+io_in\[25\]
+io_out\[25\]
+io_oeb\[25\]
+analog_io\[19\]
+io_in\[26\]
+io_out\[26\]
+io_oeb\[26\]
+analog_io\[20\]
+io_in\[27\]
+io_out\[27\]
+io_oeb\[27\]
+analog_io\[21\]
+io_in\[28\]
+io_out\[28\]
+io_oeb\[28\]
+analog_io\[22\]
+io_in\[29\]
+io_out\[29\]
+io_oeb\[29\]
+analog_io\[23\]
+io_in\[30\]
+io_out\[30\]
+data_arrays_0_0_ext_ram_clk\[0\]
+data_arrays_0_0_ext_ram_csb0\[0\]
+data_arrays_0_0_ext_ram_web0\[0\]
+data_arrays_0_0_ext_ram_wmask00.*
+data_arrays_0_0_ext_ram_addr00.*
+data_arrays_0_0_ext_ram_din00.*
+data_arrays_0_0_ext_ram_dout00.*
+data_arrays_0_0_ext_ram_csb1\[0\]
+data_arrays_0_0_ext_ram_addr10.*
+io_oeb\[30\]
+analog_io\[24\]
+io_in\[31\]
+io_out\[31\]
+io_oeb\[31\]
+analog_io\[25\]
+io_in\[32\]
+io_out\[32\]
+io_oeb\[32\]
+analog_io\[26\]
+io_in\[33\]
+io_out\[33\]
+io_oeb\[33\]
+analog_io\[27\]
+io_in\[34\]
+io_out\[34\]
+io_oeb\[34\]
+analog_io\[28\]
+io_in\[35\]
+io_out\[35\]
+io_oeb\[35\]
+io_in\[36\]
+io_out\[36\]
+io_oeb\[36\]
+io_in\[37\]
+io_out\[37\]
+io_oeb\[37\]
diff --git a/verilog/rtl/marmot_no_sram/Makefile b/verilog/rtl/marmot_no_sram/Makefile
new file mode 100644
index 0000000..094958a
--- /dev/null
+++ b/verilog/rtl/marmot_no_sram/Makefile
@@ -0,0 +1,13 @@
+MARMOT_RTL_DIR = /home/shc/Development/RISC-V/chipyard/vlsi/rtl
+VSRCS = $(MARMOT_RTL_DIR)/MarmotCaravelChip.vc
+
+copy:
+	@for v in `egrep \.v$$ $(VSRCS) | egrep -ve '^ *(\+|-|//)'` ; do \
+    cp -p $(MARMOT_RTL_DIR)/$$v . ; \
+  done
+	diff user_project_wrapper.v ..
+	rm -f user_project_wrapper.v
+	
+clean:
+	rm -f *.v
+
diff --git a/verilog/rtl/marmot_no_sram/Marmot.v b/verilog/rtl/marmot_no_sram/Marmot.v
new file mode 100644
index 0000000..fb76137
--- /dev/null
+++ b/verilog/rtl/marmot_no_sram/Marmot.v
@@ -0,0 +1,532 @@
+// 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 vdda1,  // User area 1 3.3V supply
+    inout vdda2,  // User area 2 3.3V supply
+    inout vssa1,  // User area 1 analog ground
+    inout vssa2,  // User area 2 analog ground
+    inout vccd1,  // User area 1 1.8V supply
+    inout vccd2,  // User area 2 1.8v supply
+    inout vssd1,  // User area 1 digital ground
+    inout vssd2,  // User area 2 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,
+
+    // Analog (direct connection to GPIO pad---use with caution)
+    // Note that analog I/O is not available on the 7 lowest-numbered
+    // GPIO pads, and so the analog_io indexing is offset from the
+    // GPIO indexing by 7 (also upper 2 GPIOs do not have analog_io).
+    inout [`MPRJ_IO_PADS-10:0] analog_io,
+
+    // Independent clock (on independent integer divider)
+    input   user_clock2,
+
+    // User maskable interrupt signals
+    output [2:0] user_irq
+
+`ifdef RAM_ON_TOP
+    // RAM signals
+    // D-Cache tag
+  , output        tag_array_ext_ram_clk,
+    output        tag_array_ext_ram_csb0,
+    output        tag_array_ext_ram_web0,
+    output [3:0]  tag_array_ext_ram_wmask0,
+    output [7:0]  tag_array_ext_ram_addr0,
+    output [31:0] tag_array_ext_ram_din0,
+    input  [31:0] tag_array_ext_ram_dout0,
+    output        tag_array_ext_ram_csb1,
+    output [7:0]  tag_array_ext_ram_addr1,
+    // D-Cache data
+    output [1:0]  data_arrays_0_ext_ram_clk,
+    output [1:0]  data_arrays_0_ext_ram_csb0,
+    output [1:0]  data_arrays_0_ext_ram_web0,
+    output [3:0]  data_arrays_0_ext_ram_wmask00,
+    output [3:0]  data_arrays_0_ext_ram_wmask01,
+    output [8:0]  data_arrays_0_ext_ram_addr00,
+    output [8:0]  data_arrays_0_ext_ram_addr01,
+    output [31:0] data_arrays_0_ext_ram_din00,
+    output [31:0] data_arrays_0_ext_ram_din01,
+    input  [31:0] data_arrays_0_ext_ram_dout00,
+    input  [31:0] data_arrays_0_ext_ram_dout01,
+    output [1:0]  data_arrays_0_ext_ram_csb1,
+    output [8:0]  data_arrays_0_ext_ram_addr10,
+    output [8:0]  data_arrays_0_ext_ram_addr11,
+    // I-Cache tag
+    output        tag_array_0_ext_ram_clk,
+    output        tag_array_0_ext_ram_csb0,
+    output        tag_array_0_ext_ram_web0,
+    output [7:0]  tag_array_0_ext_ram_wmask0,
+    output [7:0]  tag_array_0_ext_ram_addr0,
+    output [63:0] tag_array_0_ext_ram_din0,
+    input  [63:0] tag_array_0_ext_ram_dout0,
+    output        tag_array_0_ext_ram_csb1,
+    output [7:0]  tag_array_0_ext_ram_addr1,
+    // I-Cache data
+    output [3:0]  data_arrays_0_0_ext_ram_clk,
+    output [3:0]  data_arrays_0_0_ext_ram_csb0,
+    output [3:0]  data_arrays_0_0_ext_ram_web0,
+    output [7:0]  data_arrays_0_0_ext_ram_wmask00,
+    output [7:0]  data_arrays_0_0_ext_ram_wmask01,
+    output [7:0]  data_arrays_0_0_ext_ram_wmask02,
+    output [7:0]  data_arrays_0_0_ext_ram_wmask03,
+    output [8:0]  data_arrays_0_0_ext_ram_addr00,
+    output [8:0]  data_arrays_0_0_ext_ram_addr01,
+    output [8:0]  data_arrays_0_0_ext_ram_addr02,
+    output [8:0]  data_arrays_0_0_ext_ram_addr03,
+    output [63:0] data_arrays_0_0_ext_ram_din00,
+    output [63:0] data_arrays_0_0_ext_ram_din01,
+    output [63:0] data_arrays_0_0_ext_ram_din02,
+    output [63:0] data_arrays_0_0_ext_ram_din03,
+    input  [63:0] data_arrays_0_0_ext_ram_dout00,
+    input  [63:0] data_arrays_0_0_ext_ram_dout01,
+    input  [63:0] data_arrays_0_0_ext_ram_dout02,
+    input  [63:0] data_arrays_0_0_ext_ram_dout03,
+    output [3:0]  data_arrays_0_0_ext_ram_csb1,
+    output [8:0]  data_arrays_0_0_ext_ram_addr10,
+    output [8:0]  data_arrays_0_0_ext_ram_addr11,
+    output [8:0]  data_arrays_0_0_ext_ram_addr12,
+    output [8:0]  data_arrays_0_0_ext_ram_addr13
+`endif  // RAM_ON_TOP
+);
+
+`ifndef MARMOT_EMPTY
+    //------------------------------------------------------------------------------
+    // Clock and Reset to MarmotCaravelChip
+    wire clk;
+    wire rst_n;
+    reg  [31:0] reg_val;  // Wishbone register value
+
+    assign clk   = wb_clk_i;
+    assign rst_n = reg_val[0];
+
+    //------------------------------------------------------------------------------
+    // Wishbone slave port & register
+    wire        valid;
+    wire [3:0]  wstrb;
+    reg         ready;
+
+    assign valid = wbs_cyc_i & wbs_stb_i; 
+    assign wstrb = wbs_sel_i & {4{wbs_we_i}};
+    assign wbs_ack_o = ready;
+    assign wbs_dat_o = reg_val;
+
+    always @(posedge clk) begin
+      if (wb_rst_i) begin
+        reg_val <= 32'h00000000;
+        ready <= 1'b0;
+      end
+      else begin
+        if (valid && !ready) begin
+          ready <= 1'b1;
+          if (wstrb[0]) reg_val[7:0]   <= wbs_dat_i[7:0];
+          if (wstrb[1]) reg_val[15:8]  <= wbs_dat_i[15:8];
+          if (wstrb[2]) reg_val[23:16] <= wbs_dat_i[23:16];
+          if (wstrb[3]) reg_val[31:24] <= wbs_dat_i[31:24];
+        end
+        else begin
+          ready <= 1'b0;
+        end
+      end
+    end
+
+    //------------------------------------------------------------------------------
+    // Logic Analyzer Signals
+    // la_data_out[127:32] <- 0
+    //            [ 31: 0] <- gpio_out[31:0]
+    assign la_data_out[127:32] = 96'd0;
+
+    wire [127:0] la_data_input; // [127:32] -> not in use
+                                // [ 31: 0] -> gpio_in[31:0]
+    assign la_data_input = ~la_oenb & la_data_in;
+
+    //------------------------------------------------------------------------------
+    // IRQ
+    assign user_irq = 3'b000;
+
+    //------------------------------------------------------------------------------
+    // MarmotCaravelChip
+`ifdef RAM_ON_TOP
+    wire [5:0]  tag_array_ext_RW0_addr;
+    wire        tag_array_ext_RW0_en;
+    wire        tag_array_ext_RW0_clk;
+    wire        tag_array_ext_RW0_wmode;
+    wire [20:0] tag_array_ext_RW0_wdata;
+    wire [20:0] tag_array_ext_RW0_rdata;
+    wire [9:0]  data_arrays_0_ext_RW0_addr;
+    wire        data_arrays_0_ext_RW0_en;
+    wire        data_arrays_0_ext_RW0_clk;
+    wire        data_arrays_0_ext_RW0_wmode;
+    wire [31:0] data_arrays_0_ext_RW0_wdata;
+    wire [31:0] data_arrays_0_ext_RW0_rdata;
+    wire [3:0]  data_arrays_0_ext_RW0_wmask;
+    wire [6:0]  tag_array_0_ext_RW0_addr;
+    wire        tag_array_0_ext_RW0_en;
+    wire        tag_array_0_ext_RW0_clk;
+    wire        tag_array_0_ext_RW0_wmode;
+    wire [37:0] tag_array_0_ext_RW0_wdata;
+    wire [37:0] tag_array_0_ext_RW0_rdata;
+    wire [1:0]  tag_array_0_ext_RW0_wmask;
+    wire [10:0] data_arrays_0_0_ext_RW0_addr;
+    wire        data_arrays_0_0_ext_RW0_en;
+    wire        data_arrays_0_0_ext_RW0_clk;
+    wire        data_arrays_0_0_ext_RW0_wmode;
+    wire [63:0] data_arrays_0_0_ext_RW0_wdata;
+    wire [63:0] data_arrays_0_0_ext_RW0_rdata;
+    wire [1:0]  data_arrays_0_0_ext_RW0_wmask;
+`endif  // RAM_ON_TOP
+
+    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]),
+     .gpio_out_0(la_data_out[0]),
+     .gpio_out_1(la_data_out[1]),
+     .gpio_out_2(la_data_out[2]),
+     .gpio_out_3(la_data_out[3]),
+     .gpio_out_4(la_data_out[4]),
+     .gpio_out_5(la_data_out[5]),
+     .gpio_out_6(la_data_out[6]),
+     .gpio_out_7(la_data_out[7]),
+     .gpio_out_8(la_data_out[8]),
+     .gpio_out_9(la_data_out[9]),
+     .gpio_out_10(la_data_out[10]),
+     .gpio_out_11(la_data_out[11]),
+     .gpio_out_12(la_data_out[12]),
+     .gpio_out_13(la_data_out[13]),
+     .gpio_out_14(la_data_out[14]),
+     .gpio_out_15(la_data_out[15]),
+     .gpio_out_16(la_data_out[16]),
+     .gpio_out_17(la_data_out[17]),
+     .gpio_out_18(la_data_out[18]),
+     .gpio_out_19(la_data_out[19]),
+     .gpio_out_20(la_data_out[20]),
+     .gpio_out_21(la_data_out[21]),
+     .gpio_out_22(la_data_out[22]),
+     .gpio_out_23(la_data_out[23]),
+     .gpio_out_24(la_data_out[24]),
+     .gpio_out_25(la_data_out[25]),
+     .gpio_out_26(la_data_out[26]),
+     .gpio_out_27(la_data_out[27]),
+     .gpio_out_28(la_data_out[28]),
+     .gpio_out_29(la_data_out[29]),
+     .gpio_out_30(la_data_out[30]),
+     .gpio_out_31(la_data_out[31]),
+     .gpio_in_0(la_data_input[0]),
+     .gpio_in_1(la_data_input[1]),
+     .gpio_in_2(la_data_input[2]),
+     .gpio_in_3(la_data_input[3]),
+     .gpio_in_4(la_data_input[4]),
+     .gpio_in_5(la_data_input[5]),
+     .gpio_in_6(la_data_input[6]),
+     .gpio_in_7(la_data_input[7]),
+     .gpio_in_8(la_data_input[8]),
+     .gpio_in_9(la_data_input[9]),
+     .gpio_in_10(la_data_input[10]),
+     .gpio_in_11(la_data_input[11]),
+     .gpio_in_12(la_data_input[12]),
+     .gpio_in_13(la_data_input[13]),
+     .gpio_in_14(la_data_input[14]),
+     .gpio_in_15(la_data_input[15]),
+     .gpio_in_16(la_data_input[16]),
+     .gpio_in_17(la_data_input[17]),
+     .gpio_in_18(la_data_input[18]),
+     .gpio_in_19(la_data_input[19]),
+     .gpio_in_20(la_data_input[20]),
+     .gpio_in_21(la_data_input[21]),
+     .gpio_in_22(la_data_input[22]),
+     .gpio_in_23(la_data_input[23]),
+     .gpio_in_24(la_data_input[24]),
+     .gpio_in_25(la_data_input[25]),
+     .gpio_in_26(la_data_input[26]),
+     .gpio_in_27(la_data_input[27]),
+     .gpio_in_28(la_data_input[28]),
+     .gpio_in_29(la_data_input[29]),
+     .gpio_in_30(la_data_input[30]),
+     .gpio_in_31(la_data_input[31])
+`ifdef RAM_ON_TOP
+   , .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),
+     .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_0_ext_RW0_addr(tag_array_0_ext_RW0_addr),
+     .tag_array_0_ext_RW0_en(tag_array_0_ext_RW0_en),
+     .tag_array_0_ext_RW0_clk(tag_array_0_ext_RW0_clk),
+     .tag_array_0_ext_RW0_wmode(tag_array_0_ext_RW0_wmode),
+     .tag_array_0_ext_RW0_wdata(tag_array_0_ext_RW0_wdata),
+     .tag_array_0_ext_RW0_rdata(tag_array_0_ext_RW0_rdata),
+     .tag_array_0_ext_RW0_wmask(tag_array_0_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)
+`endif  // RAM_ON_TOP
+    );
+
+`ifdef RAM_ON_TOP
+    //------------------------------------------------------------------------------
+    // RAM interfaces
+    // D-Cache tag
+    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),
+      .ram_clk(tag_array_ext_ram_clk),
+      .ram_csb0(tag_array_ext_ram_csb0),
+      .ram_web0(tag_array_ext_ram_web0),
+      .ram_wmask0(tag_array_ext_ram_wmask0),
+      .ram_addr0(tag_array_ext_ram_addr0),
+      .ram_din0(tag_array_ext_ram_din0),
+      .ram_dout0(tag_array_ext_ram_dout0),
+      .ram_csb1(tag_array_ext_ram_csb1),
+      .ram_addr1(tag_array_ext_ram_addr1)
+    );
+
+    // D-Cache data
+    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_clk(data_arrays_0_ext_ram_clk),
+      .ram_csb0(data_arrays_0_ext_ram_csb0),
+      .ram_web0(data_arrays_0_ext_ram_web0),
+      .ram_wmask00(data_arrays_0_ext_ram_wmask00),
+      .ram_wmask01(data_arrays_0_ext_ram_wmask01),
+      .ram_addr00(data_arrays_0_ext_ram_addr00),
+      .ram_addr01(data_arrays_0_ext_ram_addr01),
+      .ram_din00(data_arrays_0_ext_ram_din00),
+      .ram_din01(data_arrays_0_ext_ram_din01),
+      .ram_dout00(data_arrays_0_ext_ram_dout00),
+      .ram_dout01(data_arrays_0_ext_ram_dout01),
+      .ram_csb1(data_arrays_0_ext_ram_csb1),
+      .ram_addr10(data_arrays_0_ext_ram_addr10),
+      .ram_addr11(data_arrays_0_ext_ram_addr11)
+    );
+
+    // I-Cache tag
+    tag_array_0_ext tag_array_0_ext (
+      .RW0_addr(tag_array_0_ext_RW0_addr),
+      .RW0_en(tag_array_0_ext_RW0_en),
+      .RW0_clk(tag_array_0_ext_RW0_clk),
+      .RW0_wmode(tag_array_0_ext_RW0_wmode),
+      .RW0_wdata(tag_array_0_ext_RW0_wdata),
+      .RW0_rdata(tag_array_0_ext_RW0_rdata),
+      .RW0_wmask(tag_array_0_ext_RW0_wmask),
+      .ram_clk(tag_array_0_ext_ram_clk),
+      .ram_csb0(tag_array_0_ext_ram_csb0),
+      .ram_web0(tag_array_0_ext_ram_web0),
+      .ram_wmask0(tag_array_0_ext_ram_wmask0),
+      .ram_addr0(tag_array_0_ext_ram_addr0),
+      .ram_din0(tag_array_0_ext_ram_din0),
+      .ram_dout0(tag_array_0_ext_ram_dout0),
+      .ram_csb1(tag_array_0_ext_ram_csb1),
+      .ram_addr1(tag_array_0_ext_ram_addr1)
+    );
+
+    // I-Cache data
+    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_clk(data_arrays_0_0_ext_ram_clk),
+      .ram_csb0(data_arrays_0_0_ext_ram_csb0),
+      .ram_web0(data_arrays_0_0_ext_ram_web0),
+      .ram_wmask00(data_arrays_0_0_ext_ram_wmask00),
+      .ram_wmask01(data_arrays_0_0_ext_ram_wmask01),
+      .ram_wmask02(data_arrays_0_0_ext_ram_wmask02),
+      .ram_wmask03(data_arrays_0_0_ext_ram_wmask03),
+      .ram_addr00(data_arrays_0_0_ext_ram_addr00),
+      .ram_addr01(data_arrays_0_0_ext_ram_addr01),
+      .ram_addr02(data_arrays_0_0_ext_ram_addr02),
+      .ram_addr03(data_arrays_0_0_ext_ram_addr03),
+      .ram_din00(data_arrays_0_0_ext_ram_din00),
+      .ram_din01(data_arrays_0_0_ext_ram_din01),
+      .ram_din02(data_arrays_0_0_ext_ram_din02),
+      .ram_din03(data_arrays_0_0_ext_ram_din03),
+      .ram_dout00(data_arrays_0_0_ext_ram_dout00),
+      .ram_dout01(data_arrays_0_0_ext_ram_dout01),
+      .ram_dout02(data_arrays_0_0_ext_ram_dout02),
+      .ram_dout03(data_arrays_0_0_ext_ram_dout03),
+      .ram_csb1(data_arrays_0_0_ext_ram_csb1),
+      .ram_addr10(data_arrays_0_0_ext_ram_addr10),
+      .ram_addr11(data_arrays_0_0_ext_ram_addr11),
+      .ram_addr12(data_arrays_0_0_ext_ram_addr12),
+      .ram_addr13(data_arrays_0_0_ext_ram_addr13)
+    );
+`endif  // RAM_ON_TOP
+`endif  // MARMOT_EMPTY
+
+endmodule
diff --git a/verilog/rtl/marmot_no_sram/SRLatch.v b/verilog/rtl/marmot_no_sram/SRLatch.v
new file mode 100644
index 0000000..d4849a1
--- /dev/null
+++ b/verilog/rtl/marmot_no_sram/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_no_sram/plusarg_reader.v b/verilog/rtl/marmot_no_sram/plusarg_reader.v
new file mode 100644
index 0000000..c1e0311
--- /dev/null
+++ b/verilog/rtl/marmot_no_sram/plusarg_reader.v
@@ -0,0 +1,26 @@
+// 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",
+   parameter WIDTH=1,
+   parameter [WIDTH-1:0] DEFAULT=0
+) (
+   output [WIDTH-1:0] out
+);
+
+`ifdef SYNTHESIS
+assign out = DEFAULT;
+`else
+reg [WIDTH-1:0] myplus;
+assign out = myplus;
+
+initial begin
+   if (!$value$plusargs(FORMAT, myplus)) myplus = DEFAULT;
+end
+`endif
+
+endmodule
diff --git a/verilog/rtl/marmot_no_sram/shc.marmotcaravel.MarmotCaravelChip.MarmotCaravelConfig.top.mems.sky130.no_sram.v b/verilog/rtl/marmot_no_sram/shc.marmotcaravel.MarmotCaravelChip.MarmotCaravelConfig.top.mems.sky130.no_sram.v
new file mode 100644
index 0000000..d4e8744
--- /dev/null
+++ b/verilog/rtl/marmot_no_sram/shc.marmotcaravel.MarmotCaravelChip.MarmotCaravelConfig.top.mems.sky130.no_sram.v
@@ -0,0 +1,218 @@
+//-----------------------------------------------------------------------
+// D-Cache Data RAM
+//-----------------------------------------------------------------------
+module data_arrays_0_ext(
+  input  [9:0]  RW0_addr,
+  input         RW0_clk,
+  input  [31:0] RW0_wdata,
+  output [31:0] RW0_rdata,
+  input         RW0_en,
+  input         RW0_wmode,
+  input  [3:0]  RW0_wmask,
+  output [1:0]  ram_clk,
+  output [1:0]  ram_csb0,
+  output [1:0]  ram_web0,
+  output [3:0]  ram_wmask00,
+  output [3:0]  ram_wmask01,
+  output [8:0]  ram_addr00,
+  output [8:0]  ram_addr01,
+  output [31:0] ram_din00,
+  output [31:0] ram_din01,
+  input  [31:0] ram_dout00,
+  input  [31:0] ram_dout01,
+  output [1:0]  ram_csb1,
+  output [8:0]  ram_addr10,
+  output [8:0]  ram_addr11
+);
+
+  wire [3:0]  ram_wmask0[1:0];
+  wire [8:0]  ram_addr0[1:0];
+  wire [31:0] ram_din0[1:0];
+  wire [8:0]  ram_addr1[1:0];
+  reg  [1:0]  ram_dout0_sel;
+
+  // RAM input signals
+  genvar i;
+  for (i = 0; i < 2; i = i + 1) begin : g_ram
+    assign ram_clk[i]    = RW0_clk;
+    assign ram_csb0[i]   = ~(RW0_en & (RW0_addr[9] == i));
+    assign ram_web0[i]   = ~RW0_wmode;
+    assign ram_wmask0[i] = RW0_wmask;
+    assign ram_addr0[i]  = RW0_addr[8:0];
+    assign ram_din0[i]   = RW0_wdata;
+    assign ram_csb1[i]   = 1'b1;
+    assign ram_addr1[i]  = 9'h1ff;
+  end
+
+  assign ram_wmask00 = ram_wmask0[0];
+  assign ram_wmask01 = ram_wmask0[1];
+  assign ram_addr00 = ram_addr0[0];
+  assign ram_addr01 = ram_addr0[1];
+  assign ram_din00 = ram_din0[0];
+  assign ram_din01 = ram_din0[1];
+  assign ram_addr10 = ram_addr1[0];
+  assign ram_addr11 = ram_addr1[1];
+
+  // RAM read data select
+  always @(posedge RW0_clk) begin
+    ram_dout0_sel <= ~ram_csb0;
+  end
+
+  assign RW0_rdata = ram_dout0_sel[0] ? ram_dout00 :
+                                        ram_dout01;
+endmodule
+
+//-----------------------------------------------------------------------
+// D-Cache Tag RAM
+//-----------------------------------------------------------------------
+module tag_array_ext(
+  input  [5:0]  RW0_addr,
+  input         RW0_clk,
+  input  [20:0] RW0_wdata,
+  output [20:0] RW0_rdata,
+  input         RW0_en,
+  input         RW0_wmode,
+  output        ram_clk,
+  output        ram_csb0,
+  output        ram_web0,
+  output [3:0]  ram_wmask0,
+  output [7:0]  ram_addr0,
+  output [31:0] ram_din0,
+  input  [31:0] ram_dout0,
+  output        ram_csb1,
+  output [7:0]  ram_addr1
+);
+
+  // RAM input signals
+  assign ram_clk    = RW0_clk;
+  assign ram_csb0   = ~RW0_en;
+  assign ram_web0   = ~RW0_wmode;
+  assign ram_wmask0 = {4{RW0_wmode}};
+  assign ram_addr0  = {2'b00, RW0_addr};
+  assign ram_din0   = {11'd0, RW0_wdata};
+  assign ram_csb1   = 1'b1;
+  assign ram_addr1  = 8'hff;
+
+  // RAM read data
+  assign RW0_rdata = ram_dout0[20:0];
+endmodule
+
+//-----------------------------------------------------------------------
+// I-Cache Tag RAM
+//-----------------------------------------------------------------------
+module tag_array_0_ext(
+  input  [6:0]  RW0_addr,
+  input         RW0_clk,
+  input  [37:0] RW0_wdata,
+  output [37:0] RW0_rdata,
+  input         RW0_en,
+  input         RW0_wmode,
+  input  [1:0]  RW0_wmask,
+  output        ram_clk,
+  output        ram_csb0,
+  output        ram_web0,
+  output [7:0]  ram_wmask0,
+  output [7:0]  ram_addr0,
+  output [63:0] ram_din0,
+  input  [63:0] ram_dout0,
+  output        ram_csb1,
+  output [7:0]  ram_addr1
+);
+
+  // RAM input signals
+  assign ram_clk     = RW0_clk;
+  assign ram_csb0    = ~RW0_en;
+  assign ram_web0    = ~RW0_wmode;
+  assign ram_wmask0  = {{4{RW0_wmask[1]}}, {4{RW0_wmask[0]}}};
+  assign ram_addr0   = {1'b0, RW0_addr};
+  assign ram_din0    = {{13'd0, RW0_wdata[37:19]}, {13'd0, RW0_wdata[18:0]}};
+  assign ram_csb1    = 1'b1;
+  assign ram_addr1   = 8'hff;
+
+  // RAM read data
+  assign RW0_rdata = {ram_dout0[50:32], ram_dout0[18:0]};
+endmodule
+
+//-----------------------------------------------------------------------
+// I-Cache Data RAM
+//-----------------------------------------------------------------------
+module data_arrays_0_0_ext(
+  input  [10:0] RW0_addr,
+  input         RW0_clk,
+  input  [63:0] RW0_wdata,
+  output [63:0] RW0_rdata,
+  input         RW0_en,
+  input         RW0_wmode,
+  input  [1:0]  RW0_wmask,
+  output [3:0]  ram_clk,
+  output [3:0]  ram_csb0,
+  output [3:0]  ram_web0,
+  output [7:0]  ram_wmask00,
+  output [7:0]  ram_wmask01,
+  output [7:0]  ram_wmask02,
+  output [7:0]  ram_wmask03,
+  output [8:0]  ram_addr00,
+  output [8:0]  ram_addr01,
+  output [8:0]  ram_addr02,
+  output [8:0]  ram_addr03,
+  output [63:0] ram_din00,
+  output [63:0] ram_din01,
+  output [63:0] ram_din02,
+  output [63:0] ram_din03,
+  input  [63:0] ram_dout00,
+  input  [63:0] ram_dout01,
+  input  [63:0] ram_dout02,
+  input  [63:0] ram_dout03,
+  output [3:0]  ram_csb1,
+  output [8:0]  ram_addr10,
+  output [8:0]  ram_addr11,
+  output [8:0]  ram_addr12,
+  output [8:0]  ram_addr13
+);
+
+  wire [7:0]  ram_wmask0[3:0];
+  wire [8:0]  ram_addr0[3:0];
+  wire [63:0] ram_din0[3:0];
+  wire [8:0]  ram_addr1[3:0];
+  reg  [3:0]  ram_dout0_sel;
+
+  // RAM input signals
+  genvar i;
+  for (i = 0; i < 4; i = i + 1) begin : g_ram
+    assign ram_clk[i]    = RW0_clk;
+    assign ram_csb0[i]   = ~(RW0_en & (RW0_addr[10:9] == i));
+    assign ram_web0[i]   = ~RW0_wmode;
+    assign ram_wmask0[i] = {{4{RW0_wmask[1]}}, {4{RW0_wmask[0]}}};
+    assign ram_addr0[i]  = RW0_addr[8:0];
+    assign ram_din0[i]   = RW0_wdata;
+    assign ram_csb1[i]   = 1'b1;
+    assign ram_addr1[i]  = 9'h1ff;
+  end
+
+  assign ram_wmask00 = ram_wmask0[0];
+  assign ram_wmask01 = ram_wmask0[1];
+  assign ram_wmask02 = ram_wmask0[2];
+  assign ram_wmask03 = ram_wmask0[3];
+  assign ram_addr00 = ram_addr0[0];
+  assign ram_addr01 = ram_addr0[1];
+  assign ram_addr02 = ram_addr0[2];
+  assign ram_addr03 = ram_addr0[3];
+  assign ram_din00 = ram_din0[0];
+  assign ram_din01 = ram_din0[1];
+  assign ram_din02 = ram_din0[2];
+  assign ram_din03 = ram_din0[3];
+  assign ram_addr10 = ram_addr1[0];
+  assign ram_addr11 = ram_addr1[1];
+  assign ram_addr12 = ram_addr1[2];
+  assign ram_addr13 = ram_addr1[3];
+
+  // RAM read data2select
+  always @(posedge RW0_clk) begin
+    ram_dout0_sel <= ~ram_csb0;
+  end
+
+  assign RW0_rdata = ram_dout0_sel[0] ? ram_dout00 :
+                     ram_dout0_sel[1] ? ram_dout01 :
+                     ram_dout0_sel[2] ? ram_dout02 :
+                                        ram_dout03;
+endmodule
diff --git a/verilog/rtl/marmot_no_sram/shc.marmotcaravel.MarmotCaravelChip.MarmotCaravelConfig.top.no_sram.v b/verilog/rtl/marmot_no_sram/shc.marmotcaravel.MarmotCaravelChip.MarmotCaravelConfig.top.no_sram.v
new file mode 100644
index 0000000..030328a
--- /dev/null
+++ b/verilog/rtl/marmot_no_sram/shc.marmotcaravel.MarmotCaravelChip.MarmotCaravelConfig.top.no_sram.v
@@ -0,0 +1,286807 @@
+module IntXbar(
+  input   auto_int_in_14_0,
+  input   auto_int_in_13_0,
+  input   auto_int_in_12_0,
+  input   auto_int_in_12_1,
+  input   auto_int_in_12_2,
+  input   auto_int_in_12_3,
+  input   auto_int_in_11_0,
+  input   auto_int_in_11_1,
+  input   auto_int_in_11_2,
+  input   auto_int_in_11_3,
+  input   auto_int_in_10_0,
+  input   auto_int_in_10_1,
+  input   auto_int_in_10_2,
+  input   auto_int_in_10_3,
+  input   auto_int_in_9_0,
+  input   auto_int_in_9_1,
+  input   auto_int_in_9_2,
+  input   auto_int_in_9_3,
+  input   auto_int_in_9_4,
+  input   auto_int_in_9_5,
+  input   auto_int_in_9_6,
+  input   auto_int_in_9_7,
+  input   auto_int_in_9_8,
+  input   auto_int_in_9_9,
+  input   auto_int_in_9_10,
+  input   auto_int_in_9_11,
+  input   auto_int_in_9_12,
+  input   auto_int_in_9_13,
+  input   auto_int_in_9_14,
+  input   auto_int_in_9_15,
+  input   auto_int_in_9_16,
+  input   auto_int_in_9_17,
+  input   auto_int_in_9_18,
+  input   auto_int_in_9_19,
+  input   auto_int_in_9_20,
+  input   auto_int_in_9_21,
+  input   auto_int_in_9_22,
+  input   auto_int_in_9_23,
+  input   auto_int_in_9_24,
+  input   auto_int_in_9_25,
+  input   auto_int_in_9_26,
+  input   auto_int_in_9_27,
+  input   auto_int_in_9_28,
+  input   auto_int_in_9_29,
+  input   auto_int_in_9_30,
+  input   auto_int_in_9_31,
+  input   auto_int_in_8_0,
+  input   auto_int_in_7_0,
+  input   auto_int_in_6_0,
+  input   auto_int_in_5_0,
+  input   auto_int_in_4_0,
+  input   auto_int_in_3_0,
+  input   auto_int_in_2_0,
+  input   auto_int_in_1_0,
+  input   auto_int_in_0_0,
+  input   auto_int_in_0_1,
+  output  auto_int_out_0,
+  output  auto_int_out_1,
+  output  auto_int_out_2,
+  output  auto_int_out_3,
+  output  auto_int_out_4,
+  output  auto_int_out_5,
+  output  auto_int_out_6,
+  output  auto_int_out_7,
+  output  auto_int_out_8,
+  output  auto_int_out_9,
+  output  auto_int_out_10,
+  output  auto_int_out_11,
+  output  auto_int_out_12,
+  output  auto_int_out_13,
+  output  auto_int_out_14,
+  output  auto_int_out_15,
+  output  auto_int_out_16,
+  output  auto_int_out_17,
+  output  auto_int_out_18,
+  output  auto_int_out_19,
+  output  auto_int_out_20,
+  output  auto_int_out_21,
+  output  auto_int_out_22,
+  output  auto_int_out_23,
+  output  auto_int_out_24,
+  output  auto_int_out_25,
+  output  auto_int_out_26,
+  output  auto_int_out_27,
+  output  auto_int_out_28,
+  output  auto_int_out_29,
+  output  auto_int_out_30,
+  output  auto_int_out_31,
+  output  auto_int_out_32,
+  output  auto_int_out_33,
+  output  auto_int_out_34,
+  output  auto_int_out_35,
+  output  auto_int_out_36,
+  output  auto_int_out_37,
+  output  auto_int_out_38,
+  output  auto_int_out_39,
+  output  auto_int_out_40,
+  output  auto_int_out_41,
+  output  auto_int_out_42,
+  output  auto_int_out_43,
+  output  auto_int_out_44,
+  output  auto_int_out_45,
+  output  auto_int_out_46,
+  output  auto_int_out_47,
+  output  auto_int_out_48,
+  output  auto_int_out_49,
+  output  auto_int_out_50,
+  output  auto_int_out_51,
+  output  auto_int_out_52,
+  output  auto_int_out_53,
+  output  auto_int_out_54,
+  output  auto_int_out_55
+);
+  assign auto_int_out_0 = auto_int_in_0_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_1 = auto_int_in_0_1; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_2 = auto_int_in_1_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_3 = auto_int_in_2_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_4 = auto_int_in_3_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_5 = auto_int_in_4_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_6 = auto_int_in_5_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_7 = auto_int_in_6_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_8 = auto_int_in_7_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_9 = auto_int_in_8_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_10 = auto_int_in_9_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_11 = auto_int_in_9_1; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_12 = auto_int_in_9_2; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_13 = auto_int_in_9_3; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_14 = auto_int_in_9_4; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_15 = auto_int_in_9_5; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_16 = auto_int_in_9_6; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_17 = auto_int_in_9_7; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_18 = auto_int_in_9_8; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_19 = auto_int_in_9_9; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_20 = auto_int_in_9_10; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_21 = auto_int_in_9_11; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_22 = auto_int_in_9_12; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_23 = auto_int_in_9_13; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_24 = auto_int_in_9_14; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_25 = auto_int_in_9_15; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_26 = auto_int_in_9_16; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_27 = auto_int_in_9_17; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_28 = auto_int_in_9_18; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_29 = auto_int_in_9_19; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_30 = auto_int_in_9_20; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_31 = auto_int_in_9_21; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_32 = auto_int_in_9_22; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_33 = auto_int_in_9_23; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_34 = auto_int_in_9_24; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_35 = auto_int_in_9_25; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_36 = auto_int_in_9_26; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_37 = auto_int_in_9_27; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_38 = auto_int_in_9_28; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_39 = auto_int_in_9_29; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_40 = auto_int_in_9_30; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_41 = auto_int_in_9_31; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_42 = auto_int_in_10_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_43 = auto_int_in_10_1; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_44 = auto_int_in_10_2; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_45 = auto_int_in_10_3; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_46 = auto_int_in_11_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_47 = auto_int_in_11_1; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_48 = auto_int_in_11_2; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_49 = auto_int_in_11_3; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_50 = auto_int_in_12_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_51 = auto_int_in_12_1; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_52 = auto_int_in_12_2; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_53 = auto_int_in_12_3; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_54 = auto_int_in_13_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_55 = auto_int_in_14_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module InterruptBusWrapper(
+  input   auto_int_bus_int_in_14_0,
+  input   auto_int_bus_int_in_13_0,
+  input   auto_int_bus_int_in_12_0,
+  input   auto_int_bus_int_in_12_1,
+  input   auto_int_bus_int_in_12_2,
+  input   auto_int_bus_int_in_12_3,
+  input   auto_int_bus_int_in_11_0,
+  input   auto_int_bus_int_in_11_1,
+  input   auto_int_bus_int_in_11_2,
+  input   auto_int_bus_int_in_11_3,
+  input   auto_int_bus_int_in_10_0,
+  input   auto_int_bus_int_in_10_1,
+  input   auto_int_bus_int_in_10_2,
+  input   auto_int_bus_int_in_10_3,
+  input   auto_int_bus_int_in_9_0,
+  input   auto_int_bus_int_in_9_1,
+  input   auto_int_bus_int_in_9_2,
+  input   auto_int_bus_int_in_9_3,
+  input   auto_int_bus_int_in_9_4,
+  input   auto_int_bus_int_in_9_5,
+  input   auto_int_bus_int_in_9_6,
+  input   auto_int_bus_int_in_9_7,
+  input   auto_int_bus_int_in_9_8,
+  input   auto_int_bus_int_in_9_9,
+  input   auto_int_bus_int_in_9_10,
+  input   auto_int_bus_int_in_9_11,
+  input   auto_int_bus_int_in_9_12,
+  input   auto_int_bus_int_in_9_13,
+  input   auto_int_bus_int_in_9_14,
+  input   auto_int_bus_int_in_9_15,
+  input   auto_int_bus_int_in_9_16,
+  input   auto_int_bus_int_in_9_17,
+  input   auto_int_bus_int_in_9_18,
+  input   auto_int_bus_int_in_9_19,
+  input   auto_int_bus_int_in_9_20,
+  input   auto_int_bus_int_in_9_21,
+  input   auto_int_bus_int_in_9_22,
+  input   auto_int_bus_int_in_9_23,
+  input   auto_int_bus_int_in_9_24,
+  input   auto_int_bus_int_in_9_25,
+  input   auto_int_bus_int_in_9_26,
+  input   auto_int_bus_int_in_9_27,
+  input   auto_int_bus_int_in_9_28,
+  input   auto_int_bus_int_in_9_29,
+  input   auto_int_bus_int_in_9_30,
+  input   auto_int_bus_int_in_9_31,
+  input   auto_int_bus_int_in_8_0,
+  input   auto_int_bus_int_in_7_0,
+  input   auto_int_bus_int_in_6_0,
+  input   auto_int_bus_int_in_5_0,
+  input   auto_int_bus_int_in_4_0,
+  input   auto_int_bus_int_in_3_0,
+  input   auto_int_bus_int_in_2_0,
+  input   auto_int_bus_int_in_1_0,
+  input   auto_int_bus_int_in_0_0,
+  input   auto_int_bus_int_in_0_1,
+  output  auto_int_bus_int_out_0,
+  output  auto_int_bus_int_out_1,
+  output  auto_int_bus_int_out_2,
+  output  auto_int_bus_int_out_3,
+  output  auto_int_bus_int_out_4,
+  output  auto_int_bus_int_out_5,
+  output  auto_int_bus_int_out_6,
+  output  auto_int_bus_int_out_7,
+  output  auto_int_bus_int_out_8,
+  output  auto_int_bus_int_out_9,
+  output  auto_int_bus_int_out_10,
+  output  auto_int_bus_int_out_11,
+  output  auto_int_bus_int_out_12,
+  output  auto_int_bus_int_out_13,
+  output  auto_int_bus_int_out_14,
+  output  auto_int_bus_int_out_15,
+  output  auto_int_bus_int_out_16,
+  output  auto_int_bus_int_out_17,
+  output  auto_int_bus_int_out_18,
+  output  auto_int_bus_int_out_19,
+  output  auto_int_bus_int_out_20,
+  output  auto_int_bus_int_out_21,
+  output  auto_int_bus_int_out_22,
+  output  auto_int_bus_int_out_23,
+  output  auto_int_bus_int_out_24,
+  output  auto_int_bus_int_out_25,
+  output  auto_int_bus_int_out_26,
+  output  auto_int_bus_int_out_27,
+  output  auto_int_bus_int_out_28,
+  output  auto_int_bus_int_out_29,
+  output  auto_int_bus_int_out_30,
+  output  auto_int_bus_int_out_31,
+  output  auto_int_bus_int_out_32,
+  output  auto_int_bus_int_out_33,
+  output  auto_int_bus_int_out_34,
+  output  auto_int_bus_int_out_35,
+  output  auto_int_bus_int_out_36,
+  output  auto_int_bus_int_out_37,
+  output  auto_int_bus_int_out_38,
+  output  auto_int_bus_int_out_39,
+  output  auto_int_bus_int_out_40,
+  output  auto_int_bus_int_out_41,
+  output  auto_int_bus_int_out_42,
+  output  auto_int_bus_int_out_43,
+  output  auto_int_bus_int_out_44,
+  output  auto_int_bus_int_out_45,
+  output  auto_int_bus_int_out_46,
+  output  auto_int_bus_int_out_47,
+  output  auto_int_bus_int_out_48,
+  output  auto_int_bus_int_out_49,
+  output  auto_int_bus_int_out_50,
+  output  auto_int_bus_int_out_51,
+  output  auto_int_bus_int_out_52,
+  output  auto_int_bus_int_out_53,
+  output  auto_int_bus_int_out_54,
+  output  auto_int_bus_int_out_55
+);
+  wire  int_bus_auto_int_in_14_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_13_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_12_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_12_1; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_12_2; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_12_3; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_11_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_11_1; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_11_2; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_11_3; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_10_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_10_1; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_10_2; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_10_3; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_1; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_2; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_3; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_4; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_5; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_6; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_7; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_8; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_9; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_10; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_11; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_12; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_13; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_14; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_15; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_16; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_17; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_18; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_19; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_20; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_21; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_22; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_23; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_24; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_25; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_26; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_27; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_28; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_29; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_30; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_9_31; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_8_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_7_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_6_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_5_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_4_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_3_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_2_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_1_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_0_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_in_0_1; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_0; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_1; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_2; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_3; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_4; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_5; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_6; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_7; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_8; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_9; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_10; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_11; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_12; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_13; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_14; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_15; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_16; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_17; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_18; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_19; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_20; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_21; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_22; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_23; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_24; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_25; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_26; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_27; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_28; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_29; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_30; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_31; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_32; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_33; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_34; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_35; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_36; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_37; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_38; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_39; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_40; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_41; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_42; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_43; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_44; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_45; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_46; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_47; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_48; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_49; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_50; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_51; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_52; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_53; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_54; // @[InterruptBus.scala 14:27]
+  wire  int_bus_auto_int_out_55; // @[InterruptBus.scala 14:27]
+  IntXbar int_bus ( // @[InterruptBus.scala 14:27]
+    .auto_int_in_14_0(int_bus_auto_int_in_14_0),
+    .auto_int_in_13_0(int_bus_auto_int_in_13_0),
+    .auto_int_in_12_0(int_bus_auto_int_in_12_0),
+    .auto_int_in_12_1(int_bus_auto_int_in_12_1),
+    .auto_int_in_12_2(int_bus_auto_int_in_12_2),
+    .auto_int_in_12_3(int_bus_auto_int_in_12_3),
+    .auto_int_in_11_0(int_bus_auto_int_in_11_0),
+    .auto_int_in_11_1(int_bus_auto_int_in_11_1),
+    .auto_int_in_11_2(int_bus_auto_int_in_11_2),
+    .auto_int_in_11_3(int_bus_auto_int_in_11_3),
+    .auto_int_in_10_0(int_bus_auto_int_in_10_0),
+    .auto_int_in_10_1(int_bus_auto_int_in_10_1),
+    .auto_int_in_10_2(int_bus_auto_int_in_10_2),
+    .auto_int_in_10_3(int_bus_auto_int_in_10_3),
+    .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),
+    .auto_int_out_44(int_bus_auto_int_out_44),
+    .auto_int_out_45(int_bus_auto_int_out_45),
+    .auto_int_out_46(int_bus_auto_int_out_46),
+    .auto_int_out_47(int_bus_auto_int_out_47),
+    .auto_int_out_48(int_bus_auto_int_out_48),
+    .auto_int_out_49(int_bus_auto_int_out_49),
+    .auto_int_out_50(int_bus_auto_int_out_50),
+    .auto_int_out_51(int_bus_auto_int_out_51),
+    .auto_int_out_52(int_bus_auto_int_out_52),
+    .auto_int_out_53(int_bus_auto_int_out_53),
+    .auto_int_out_54(int_bus_auto_int_out_54),
+    .auto_int_out_55(int_bus_auto_int_out_55)
+  );
+  assign auto_int_bus_int_out_0 = int_bus_auto_int_out_0; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_1 = int_bus_auto_int_out_1; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_2 = int_bus_auto_int_out_2; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_3 = int_bus_auto_int_out_3; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_4 = int_bus_auto_int_out_4; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_5 = int_bus_auto_int_out_5; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_6 = int_bus_auto_int_out_6; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_7 = int_bus_auto_int_out_7; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_8 = int_bus_auto_int_out_8; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_9 = int_bus_auto_int_out_9; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_10 = int_bus_auto_int_out_10; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_11 = int_bus_auto_int_out_11; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_12 = int_bus_auto_int_out_12; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_13 = int_bus_auto_int_out_13; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_14 = int_bus_auto_int_out_14; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_15 = int_bus_auto_int_out_15; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_16 = int_bus_auto_int_out_16; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_17 = int_bus_auto_int_out_17; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_18 = int_bus_auto_int_out_18; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_19 = int_bus_auto_int_out_19; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_20 = int_bus_auto_int_out_20; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_21 = int_bus_auto_int_out_21; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_22 = int_bus_auto_int_out_22; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_23 = int_bus_auto_int_out_23; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_24 = int_bus_auto_int_out_24; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_25 = int_bus_auto_int_out_25; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_26 = int_bus_auto_int_out_26; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_27 = int_bus_auto_int_out_27; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_28 = int_bus_auto_int_out_28; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_29 = int_bus_auto_int_out_29; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_30 = int_bus_auto_int_out_30; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_31 = int_bus_auto_int_out_31; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_32 = int_bus_auto_int_out_32; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_33 = int_bus_auto_int_out_33; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_34 = int_bus_auto_int_out_34; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_35 = int_bus_auto_int_out_35; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_36 = int_bus_auto_int_out_36; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_37 = int_bus_auto_int_out_37; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_38 = int_bus_auto_int_out_38; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_39 = int_bus_auto_int_out_39; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_40 = int_bus_auto_int_out_40; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_41 = int_bus_auto_int_out_41; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_42 = int_bus_auto_int_out_42; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_43 = int_bus_auto_int_out_43; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_44 = int_bus_auto_int_out_44; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_45 = int_bus_auto_int_out_45; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_46 = int_bus_auto_int_out_46; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_47 = int_bus_auto_int_out_47; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_48 = int_bus_auto_int_out_48; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_49 = int_bus_auto_int_out_49; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_50 = int_bus_auto_int_out_50; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_51 = int_bus_auto_int_out_51; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_52 = int_bus_auto_int_out_52; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_53 = int_bus_auto_int_out_53; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_54 = int_bus_auto_int_out_54; // @[LazyModule.scala 311:12]
+  assign auto_int_bus_int_out_55 = int_bus_auto_int_out_55; // @[LazyModule.scala 311:12]
+  assign int_bus_auto_int_in_14_0 = auto_int_bus_int_in_14_0; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_13_0 = auto_int_bus_int_in_13_0; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_12_0 = auto_int_bus_int_in_12_0; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_12_1 = auto_int_bus_int_in_12_1; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_12_2 = auto_int_bus_int_in_12_2; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_12_3 = auto_int_bus_int_in_12_3; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_11_0 = auto_int_bus_int_in_11_0; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_11_1 = auto_int_bus_int_in_11_1; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_11_2 = auto_int_bus_int_in_11_2; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_11_3 = auto_int_bus_int_in_11_3; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_10_0 = auto_int_bus_int_in_10_0; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_10_1 = auto_int_bus_int_in_10_1; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_10_2 = auto_int_bus_int_in_10_2; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_10_3 = auto_int_bus_int_in_10_3; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_0 = auto_int_bus_int_in_9_0; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_1 = auto_int_bus_int_in_9_1; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_2 = auto_int_bus_int_in_9_2; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_3 = auto_int_bus_int_in_9_3; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_4 = auto_int_bus_int_in_9_4; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_5 = auto_int_bus_int_in_9_5; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_6 = auto_int_bus_int_in_9_6; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_7 = auto_int_bus_int_in_9_7; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_8 = auto_int_bus_int_in_9_8; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_9 = auto_int_bus_int_in_9_9; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_10 = auto_int_bus_int_in_9_10; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_11 = auto_int_bus_int_in_9_11; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_12 = auto_int_bus_int_in_9_12; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_13 = auto_int_bus_int_in_9_13; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_14 = auto_int_bus_int_in_9_14; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_15 = auto_int_bus_int_in_9_15; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_16 = auto_int_bus_int_in_9_16; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_17 = auto_int_bus_int_in_9_17; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_18 = auto_int_bus_int_in_9_18; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_19 = auto_int_bus_int_in_9_19; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_20 = auto_int_bus_int_in_9_20; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_21 = auto_int_bus_int_in_9_21; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_22 = auto_int_bus_int_in_9_22; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_23 = auto_int_bus_int_in_9_23; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_24 = auto_int_bus_int_in_9_24; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_25 = auto_int_bus_int_in_9_25; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_26 = auto_int_bus_int_in_9_26; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_27 = auto_int_bus_int_in_9_27; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_28 = auto_int_bus_int_in_9_28; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_29 = auto_int_bus_int_in_9_29; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_30 = auto_int_bus_int_in_9_30; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_9_31 = auto_int_bus_int_in_9_31; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_8_0 = auto_int_bus_int_in_8_0; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_7_0 = auto_int_bus_int_in_7_0; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_6_0 = auto_int_bus_int_in_6_0; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_5_0 = auto_int_bus_int_in_5_0; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_4_0 = auto_int_bus_int_in_4_0; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_3_0 = auto_int_bus_int_in_3_0; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_2_0 = auto_int_bus_int_in_2_0; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_1_0 = auto_int_bus_int_in_1_0; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_0_0 = auto_int_bus_int_in_0_0; // @[LazyModule.scala 309:16]
+  assign int_bus_auto_int_in_0_1 = auto_int_bus_int_in_0_1; // @[LazyModule.scala 309:16]
+endmodule
+module SimpleClockGroupSource(
+  input   clock,
+  input   reset,
+  output  auto_out_member_subsystem_sbus_5_clock,
+  output  auto_out_member_subsystem_sbus_5_reset,
+  output  auto_out_member_subsystem_sbus_4_clock,
+  output  auto_out_member_subsystem_sbus_4_reset,
+  output  auto_out_member_subsystem_sbus_3_clock,
+  output  auto_out_member_subsystem_sbus_3_reset,
+  output  auto_out_member_subsystem_sbus_2_clock,
+  output  auto_out_member_subsystem_sbus_2_reset,
+  output  auto_out_member_subsystem_sbus_1_clock,
+  output  auto_out_member_subsystem_sbus_1_reset,
+  output  auto_out_member_subsystem_sbus_0_clock,
+  output  auto_out_member_subsystem_sbus_0_reset
+);
+  assign auto_out_member_subsystem_sbus_5_clock = clock; // @[Nodes.scala 1207:84 ClockGroup.scala 72:17]
+  assign auto_out_member_subsystem_sbus_5_reset = reset; // @[Nodes.scala 1207:84 ClockGroup.scala 72:35]
+  assign auto_out_member_subsystem_sbus_4_clock = clock; // @[Nodes.scala 1207:84 ClockGroup.scala 72:17]
+  assign auto_out_member_subsystem_sbus_4_reset = reset; // @[Nodes.scala 1207:84 ClockGroup.scala 72:35]
+  assign auto_out_member_subsystem_sbus_3_clock = clock; // @[Nodes.scala 1207:84 ClockGroup.scala 72:17]
+  assign auto_out_member_subsystem_sbus_3_reset = reset; // @[Nodes.scala 1207:84 ClockGroup.scala 72:35]
+  assign auto_out_member_subsystem_sbus_2_clock = clock; // @[Nodes.scala 1207:84 ClockGroup.scala 72:17]
+  assign auto_out_member_subsystem_sbus_2_reset = reset; // @[Nodes.scala 1207:84 ClockGroup.scala 72:35]
+  assign auto_out_member_subsystem_sbus_1_clock = clock; // @[Nodes.scala 1207:84 ClockGroup.scala 72:17]
+  assign auto_out_member_subsystem_sbus_1_reset = reset; // @[Nodes.scala 1207:84 ClockGroup.scala 72:35]
+  assign auto_out_member_subsystem_sbus_0_clock = clock; // @[Nodes.scala 1207:84 ClockGroup.scala 72:17]
+  assign auto_out_member_subsystem_sbus_0_reset = reset; // @[Nodes.scala 1207:84 ClockGroup.scala 72:35]
+endmodule
+module ClockGroupAggregator(
+  input   auto_in_member_subsystem_sbus_5_clock,
+  input   auto_in_member_subsystem_sbus_5_reset,
+  input   auto_in_member_subsystem_sbus_4_clock,
+  input   auto_in_member_subsystem_sbus_4_reset,
+  input   auto_in_member_subsystem_sbus_3_clock,
+  input   auto_in_member_subsystem_sbus_3_reset,
+  input   auto_in_member_subsystem_sbus_2_clock,
+  input   auto_in_member_subsystem_sbus_2_reset,
+  input   auto_in_member_subsystem_sbus_1_clock,
+  input   auto_in_member_subsystem_sbus_1_reset,
+  input   auto_in_member_subsystem_sbus_0_clock,
+  input   auto_in_member_subsystem_sbus_0_reset,
+  output  auto_out_3_member_subsystem_l2_1_clock,
+  output  auto_out_3_member_subsystem_l2_1_reset,
+  output  auto_out_3_member_subsystem_l2_0_clock,
+  output  auto_out_3_member_subsystem_l2_0_reset,
+  output  auto_out_2_member_subsystem_fbus_0_clock,
+  output  auto_out_2_member_subsystem_fbus_0_reset,
+  output  auto_out_1_member_subsystem_cbus_1_clock,
+  output  auto_out_1_member_subsystem_cbus_1_reset,
+  output  auto_out_1_member_subsystem_cbus_0_clock,
+  output  auto_out_1_member_subsystem_cbus_0_reset,
+  output  auto_out_0_member_subsystem_sbus_0_clock,
+  output  auto_out_0_member_subsystem_sbus_0_reset
+);
+  assign auto_out_3_member_subsystem_l2_1_clock = auto_in_member_subsystem_sbus_5_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_member_subsystem_l2_1_reset = auto_in_member_subsystem_sbus_5_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_member_subsystem_l2_0_clock = auto_in_member_subsystem_sbus_4_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_member_subsystem_l2_0_reset = auto_in_member_subsystem_sbus_4_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_member_subsystem_fbus_0_clock = auto_in_member_subsystem_sbus_3_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_member_subsystem_fbus_0_reset = auto_in_member_subsystem_sbus_3_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_member_subsystem_cbus_1_clock = auto_in_member_subsystem_sbus_2_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_member_subsystem_cbus_1_reset = auto_in_member_subsystem_sbus_2_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_member_subsystem_cbus_0_clock = auto_in_member_subsystem_sbus_1_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_member_subsystem_cbus_0_reset = auto_in_member_subsystem_sbus_1_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_member_subsystem_sbus_0_clock = auto_in_member_subsystem_sbus_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_member_subsystem_sbus_0_reset = auto_in_member_subsystem_sbus_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module ClockGroup(
+  input   auto_in_member_subsystem_sbus_0_clock,
+  input   auto_in_member_subsystem_sbus_0_reset,
+  output  auto_out_clock,
+  output  auto_out_reset
+);
+  assign auto_out_clock = auto_in_member_subsystem_sbus_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_reset = auto_in_member_subsystem_sbus_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module FixedClockBroadcast(
+  input   auto_in_clock,
+  input   auto_in_reset,
+  output  auto_out_2_clock,
+  output  auto_out_2_reset,
+  output  auto_out_0_clock,
+  output  auto_out_0_reset
+);
+  assign auto_out_2_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [3:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_b_ready,
+  input         io_in_b_valid,
+  input  [1:0]  io_in_b_bits_param,
+  input  [30:0] io_in_b_bits_address,
+  input         io_in_c_ready,
+  input         io_in_c_valid,
+  input  [2:0]  io_in_c_bits_opcode,
+  input  [2:0]  io_in_c_bits_param,
+  input  [3:0]  io_in_c_bits_size,
+  input  [1:0]  io_in_c_bits_source,
+  input  [30:0] io_in_c_bits_address,
+  input         io_in_c_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [3:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source,
+  input  [1:0]  io_in_d_bits_sink,
+  input         io_in_d_bits_denied,
+  input         io_in_d_bits_corrupt,
+  input         io_in_e_valid,
+  input  [1:0]  io_in_e_bits_sink
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+  reg [31:0] _RAND_34;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [26:0] _is_aligned_mask_T_1 = 27'hfff << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask = ~_is_aligned_mask_T_1[11:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_86 = {{19'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T = io_in_a_bits_address & _GEN_86; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 31'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 4'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire [31:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire  _T_35 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire  _T_42 = _T_35 & source_ok; // @[Parameters.scala 1160:30]
+  wire [31:0] _T_48 = $signed(_T_7) & -32'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_50 = io_in_a_bits_address ^ 31'h3000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_51 = {1'b0,$signed(_T_50)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_53 = $signed(_T_51) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_54 = $signed(_T_53) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_55 = io_in_a_bits_address ^ 31'h10000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_56 = {1'b0,$signed(_T_55)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_58 = $signed(_T_56) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_59 = $signed(_T_58) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_60 = io_in_a_bits_address ^ 31'h2000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_61 = {1'b0,$signed(_T_60)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_63 = $signed(_T_61) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_64 = $signed(_T_63) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_65 = io_in_a_bits_address ^ 31'h8000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_66 = {1'b0,$signed(_T_65)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_68 = $signed(_T_66) & -32'sh4000; // @[Parameters.scala 137:52]
+  wire  _T_69 = $signed(_T_68) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_70 = io_in_a_bits_address ^ 31'hc000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_71 = {1'b0,$signed(_T_70)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_73 = $signed(_T_71) & -32'sh4000000; // @[Parameters.scala 137:52]
+  wire  _T_74 = $signed(_T_73) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_75 = io_in_a_bits_address ^ 31'h10012000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_76 = {1'b0,$signed(_T_75)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_78 = $signed(_T_76) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_79 = $signed(_T_78) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_80 = io_in_a_bits_address ^ 31'h10014000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_83 = $signed(_T_81) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_84 = $signed(_T_83) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_85 = io_in_a_bits_address ^ 31'h10016000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_88 = $signed(_T_86) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_89 = $signed(_T_88) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_90 = io_in_a_bits_address ^ 31'h10023000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_93 = $signed(_T_91) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_94 = $signed(_T_93) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_95 = io_in_a_bits_address ^ 31'h10024000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_98 = $signed(_T_96) & -32'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_99 = $signed(_T_98) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_100 = io_in_a_bits_address ^ 31'h10026000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_103 = $signed(_T_101) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_104 = $signed(_T_103) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_105 = io_in_a_bits_address ^ 31'h10043000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_108 = $signed(_T_106) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_109 = $signed(_T_108) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_110 = io_in_a_bits_address ^ 31'h20000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_113 = $signed(_T_111) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_114 = $signed(_T_113) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_130 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 92:42]
+  wire [30:0] _T_133 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_134 = {1'b0,$signed(_T_133)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_136 = $signed(_T_134) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_137 = $signed(_T_136) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_138 = _T_130 & _T_137; // @[Parameters.scala 670:56]
+  wire  _T_141 = _T_42 & _T_138; // @[Monitor.scala 82:72]
+  wire  _T_148 = 4'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_149 = _source_ok_T & _T_148; // @[Mux.scala 27:73]
+  wire  _T_246 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109
+     | _T_114 | _T_137; // @[Parameters.scala 671:42]
+  wire  _T_247 = _T_35 & _T_246; // @[Parameters.scala 670:56]
+  wire  _T_249 = _T_149 & _T_247; // @[Monitor.scala 83:78]
+  wire  _T_263 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_267 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_268 = _T_267 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_272 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_276 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_510 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_523 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_546 = _T_35 & _T_54; // @[Parameters.scala 670:56]
+  wire  _T_633 = _T_49 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109 |
+    _T_114 | _T_137; // @[Parameters.scala 671:42]
+  wire  _T_634 = _T_130 & _T_633; // @[Parameters.scala 670:56]
+  wire  _T_636 = _T_546 | _T_634; // @[Parameters.scala 672:30]
+  wire  _T_646 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_650 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_658 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_752 = _T_49 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109; // @[Parameters.scala 671:42]
+  wire  _T_753 = _T_49 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109 | _T_137; // @[Parameters.scala 671:42]
+  wire  _T_754 = _T_130 & _T_753; // @[Parameters.scala 670:56]
+  wire  _T_769 = _T_546 | _T_754; // @[Parameters.scala 672:30]
+  wire  _T_771 = _T_42 & _T_769; // @[Monitor.scala 115:71]
+  wire  _T_789 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire  _T_879 = _T_130 & _T_752; // @[Parameters.scala 670:56]
+  wire  _T_900 = _T_546 | _T_879; // @[Parameters.scala 672:30]
+  wire  _T_902 = _T_42 & _T_900; // @[Monitor.scala 123:74]
+  wire [3:0] _T_916 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_917 = io_in_a_bits_mask & _T_916; // @[Monitor.scala 127:31]
+  wire  _T_918 = _T_917 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_922 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_934 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 92:42]
+  wire  _T_1007 = _T_49 | _T_54 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109; // @[Parameters.scala 671:42]
+  wire  _T_1008 = _T_934 & _T_1007; // @[Parameters.scala 670:56]
+  wire  _T_1030 = _T_42 & _T_1008; // @[Monitor.scala 131:74]
+  wire  _T_1040 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_1048 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_1166 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_1174 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_1282 = _T_42 & _T_546; // @[Monitor.scala 147:68]
+  wire  _T_1292 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_1304 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_1308 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_1312 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 312:27]
+  wire  _T_1316 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_1320 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_1324 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_1328 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_1339 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_1343 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_1356 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_1376 = _T_1324 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_1385 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_1402 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_1420 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire [31:0] _T_1444 = {1'b0,$signed(io_in_b_bits_address)}; // @[Parameters.scala 137:49]
+  wire [30:0] _address_ok_T = io_in_b_bits_address ^ 31'h3000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_1 = {1'b0,$signed(_address_ok_T)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_3 = $signed(_address_ok_T_1) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_4 = $signed(_address_ok_T_3) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_5 = io_in_b_bits_address ^ 31'h10013000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_6 = {1'b0,$signed(_address_ok_T_5)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_8 = $signed(_address_ok_T_6) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_9 = $signed(_address_ok_T_8) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_10 = io_in_b_bits_address ^ 31'h10023000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_11 = {1'b0,$signed(_address_ok_T_10)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_13 = $signed(_address_ok_T_11) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_14 = $signed(_address_ok_T_13) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_15 = io_in_b_bits_address ^ 31'h10033000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_16 = {1'b0,$signed(_address_ok_T_15)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_18 = $signed(_address_ok_T_16) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_19 = $signed(_address_ok_T_18) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_20 = io_in_b_bits_address ^ 31'h10043000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_21 = {1'b0,$signed(_address_ok_T_20)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_23 = $signed(_address_ok_T_21) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_24 = $signed(_address_ok_T_23) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_25 = io_in_b_bits_address ^ 31'h10053000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_26 = {1'b0,$signed(_address_ok_T_25)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_28 = $signed(_address_ok_T_26) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_29 = $signed(_address_ok_T_28) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_30 = io_in_b_bits_address ^ 31'h10014000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_31 = {1'b0,$signed(_address_ok_T_30)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_33 = $signed(_address_ok_T_31) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_34 = $signed(_address_ok_T_33) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_35 = io_in_b_bits_address ^ 31'h20000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_36 = {1'b0,$signed(_address_ok_T_35)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_38 = $signed(_address_ok_T_36) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_39 = $signed(_address_ok_T_38) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_40 = io_in_b_bits_address ^ 31'h10034000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_41 = {1'b0,$signed(_address_ok_T_40)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_43 = $signed(_address_ok_T_41) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_44 = $signed(_address_ok_T_43) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_45 = io_in_b_bits_address ^ 31'h10024000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_46 = {1'b0,$signed(_address_ok_T_45)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_48 = $signed(_address_ok_T_46) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_49 = $signed(_address_ok_T_48) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_50 = io_in_b_bits_address ^ 31'h10012000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_51 = {1'b0,$signed(_address_ok_T_50)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_53 = $signed(_address_ok_T_51) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_54 = $signed(_address_ok_T_53) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_55 = io_in_b_bits_address ^ 31'h10015000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_56 = {1'b0,$signed(_address_ok_T_55)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_58 = $signed(_address_ok_T_56) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_59 = $signed(_address_ok_T_58) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_60 = io_in_b_bits_address ^ 31'h10025000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_61 = {1'b0,$signed(_address_ok_T_60)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_63 = $signed(_address_ok_T_61) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_64 = $signed(_address_ok_T_63) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_65 = io_in_b_bits_address ^ 31'h10035000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_66 = {1'b0,$signed(_address_ok_T_65)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_68 = $signed(_address_ok_T_66) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_69 = $signed(_address_ok_T_68) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_70 = io_in_b_bits_address ^ 31'h10016000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_71 = {1'b0,$signed(_address_ok_T_70)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_73 = $signed(_address_ok_T_71) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_74 = $signed(_address_ok_T_73) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_75 = io_in_b_bits_address ^ 31'h10026000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_76 = {1'b0,$signed(_address_ok_T_75)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_78 = $signed(_address_ok_T_76) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_79 = $signed(_address_ok_T_78) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_80 = io_in_b_bits_address ^ 31'hc000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_81 = {1'b0,$signed(_address_ok_T_80)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_83 = $signed(_address_ok_T_81) & -32'sh4000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_84 = $signed(_address_ok_T_83) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_85 = io_in_b_bits_address ^ 31'h2000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_86 = {1'b0,$signed(_address_ok_T_85)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_88 = $signed(_address_ok_T_86) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_89 = $signed(_address_ok_T_88) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _address_ok_T_93 = $signed(_T_1444) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_94 = $signed(_address_ok_T_93) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_95 = io_in_b_bits_address ^ 31'h8000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_96 = {1'b0,$signed(_address_ok_T_95)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_98 = $signed(_address_ok_T_96) & -32'sh4000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_99 = $signed(_address_ok_T_98) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_100 = io_in_b_bits_address ^ 31'h10000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_101 = {1'b0,$signed(_address_ok_T_100)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_103 = $signed(_address_ok_T_101) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_104 = $signed(_address_ok_T_103) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_105 = io_in_b_bits_address ^ 31'h10000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_106 = {1'b0,$signed(_address_ok_T_105)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_108 = $signed(_address_ok_T_106) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_109 = $signed(_address_ok_T_108) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_110 = io_in_b_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_111 = {1'b0,$signed(_address_ok_T_110)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_113 = $signed(_address_ok_T_111) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_114 = $signed(_address_ok_T_113) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  address_ok = _address_ok_T_4 | _address_ok_T_9 | _address_ok_T_14 | _address_ok_T_19 | _address_ok_T_24 |
+    _address_ok_T_29 | _address_ok_T_34 | _address_ok_T_39 | _address_ok_T_44 | _address_ok_T_49 | _address_ok_T_54 |
+    _address_ok_T_59 | _address_ok_T_64 | _address_ok_T_69 | _address_ok_T_74 | _address_ok_T_79 | _address_ok_T_84 |
+    _address_ok_T_89 | _address_ok_T_94 | _address_ok_T_99 | _address_ok_T_104 | _address_ok_T_109 | _address_ok_T_114; // @[Parameters.scala 622:64]
+  wire [30:0] _is_aligned_T_1 = io_in_b_bits_address & 31'h3f; // @[Edges.scala 20:16]
+  wire  is_aligned_1 = _is_aligned_T_1 == 31'h0; // @[Edges.scala 20:24]
+  wire [31:0] _T_1487 = $signed(_T_1444) & -32'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_1488 = $signed(_T_1487) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1517 = $signed(_address_ok_T_51) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_1518 = $signed(_T_1517) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1522 = $signed(_address_ok_T_31) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_1523 = $signed(_T_1522) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1532 = $signed(_address_ok_T_11) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_1533 = $signed(_T_1532) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1537 = $signed(_address_ok_T_46) & -32'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_1538 = $signed(_T_1537) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1547 = $signed(_address_ok_T_21) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_1548 = $signed(_T_1547) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_1572 = _T_1488 | _address_ok_T_4 | _address_ok_T_109 | _address_ok_T_89 | _address_ok_T_99 | _address_ok_T_84
+     | _T_1518 | _T_1523 | _address_ok_T_74 | _T_1533 | _T_1538 | _address_ok_T_79 | _T_1548 | _address_ok_T_39 |
+    _address_ok_T_114; // @[Parameters.scala 671:42]
+  wire  _T_1588 = io_in_b_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _source_ok_T_8 = io_in_c_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_9 = io_in_c_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_10 = io_in_c_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_2 = _source_ok_T_8 | _source_ok_T_9 | _source_ok_T_10; // @[Parameters.scala 1125:46]
+  wire [26:0] _is_aligned_mask_T_7 = 27'hfff << io_in_c_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask_2 = ~_is_aligned_mask_T_7[11:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_87 = {{19'd0}, is_aligned_mask_2}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T_2 = io_in_c_bits_address & _GEN_87; // @[Edges.scala 20:16]
+  wire  is_aligned_2 = _is_aligned_T_2 == 31'h0; // @[Edges.scala 20:24]
+  wire [30:0] _address_ok_T_136 = io_in_c_bits_address ^ 31'h3000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_137 = {1'b0,$signed(_address_ok_T_136)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_139 = $signed(_address_ok_T_137) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_140 = $signed(_address_ok_T_139) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_141 = io_in_c_bits_address ^ 31'h10013000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_142 = {1'b0,$signed(_address_ok_T_141)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_144 = $signed(_address_ok_T_142) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_145 = $signed(_address_ok_T_144) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_146 = io_in_c_bits_address ^ 31'h10023000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_147 = {1'b0,$signed(_address_ok_T_146)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_149 = $signed(_address_ok_T_147) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_150 = $signed(_address_ok_T_149) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_151 = io_in_c_bits_address ^ 31'h10033000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_152 = {1'b0,$signed(_address_ok_T_151)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_154 = $signed(_address_ok_T_152) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_155 = $signed(_address_ok_T_154) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_156 = io_in_c_bits_address ^ 31'h10043000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_157 = {1'b0,$signed(_address_ok_T_156)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_159 = $signed(_address_ok_T_157) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_160 = $signed(_address_ok_T_159) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_161 = io_in_c_bits_address ^ 31'h10053000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_162 = {1'b0,$signed(_address_ok_T_161)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_164 = $signed(_address_ok_T_162) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_165 = $signed(_address_ok_T_164) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_166 = io_in_c_bits_address ^ 31'h10014000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_167 = {1'b0,$signed(_address_ok_T_166)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_169 = $signed(_address_ok_T_167) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_170 = $signed(_address_ok_T_169) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_171 = io_in_c_bits_address ^ 31'h20000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_172 = {1'b0,$signed(_address_ok_T_171)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_174 = $signed(_address_ok_T_172) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_175 = $signed(_address_ok_T_174) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_176 = io_in_c_bits_address ^ 31'h10034000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_177 = {1'b0,$signed(_address_ok_T_176)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_179 = $signed(_address_ok_T_177) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_180 = $signed(_address_ok_T_179) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_181 = io_in_c_bits_address ^ 31'h10024000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_182 = {1'b0,$signed(_address_ok_T_181)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_184 = $signed(_address_ok_T_182) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_185 = $signed(_address_ok_T_184) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_186 = io_in_c_bits_address ^ 31'h10012000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_187 = {1'b0,$signed(_address_ok_T_186)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_189 = $signed(_address_ok_T_187) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_190 = $signed(_address_ok_T_189) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_191 = io_in_c_bits_address ^ 31'h10015000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_192 = {1'b0,$signed(_address_ok_T_191)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_194 = $signed(_address_ok_T_192) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_195 = $signed(_address_ok_T_194) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_196 = io_in_c_bits_address ^ 31'h10025000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_197 = {1'b0,$signed(_address_ok_T_196)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_199 = $signed(_address_ok_T_197) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_200 = $signed(_address_ok_T_199) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_201 = io_in_c_bits_address ^ 31'h10035000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_202 = {1'b0,$signed(_address_ok_T_201)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_204 = $signed(_address_ok_T_202) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_205 = $signed(_address_ok_T_204) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_206 = io_in_c_bits_address ^ 31'h10016000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_207 = {1'b0,$signed(_address_ok_T_206)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_209 = $signed(_address_ok_T_207) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_210 = $signed(_address_ok_T_209) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_211 = io_in_c_bits_address ^ 31'h10026000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_212 = {1'b0,$signed(_address_ok_T_211)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_214 = $signed(_address_ok_T_212) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_215 = $signed(_address_ok_T_214) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_216 = io_in_c_bits_address ^ 31'hc000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_217 = {1'b0,$signed(_address_ok_T_216)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_219 = $signed(_address_ok_T_217) & -32'sh4000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_220 = $signed(_address_ok_T_219) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_221 = io_in_c_bits_address ^ 31'h2000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_222 = {1'b0,$signed(_address_ok_T_221)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_224 = $signed(_address_ok_T_222) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_225 = $signed(_address_ok_T_224) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _address_ok_T_227 = {1'b0,$signed(io_in_c_bits_address)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_229 = $signed(_address_ok_T_227) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_230 = $signed(_address_ok_T_229) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_231 = io_in_c_bits_address ^ 31'h8000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_232 = {1'b0,$signed(_address_ok_T_231)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_234 = $signed(_address_ok_T_232) & -32'sh4000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_235 = $signed(_address_ok_T_234) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_236 = io_in_c_bits_address ^ 31'h10000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_237 = {1'b0,$signed(_address_ok_T_236)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_239 = $signed(_address_ok_T_237) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_240 = $signed(_address_ok_T_239) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_241 = io_in_c_bits_address ^ 31'h10000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_242 = {1'b0,$signed(_address_ok_T_241)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_244 = $signed(_address_ok_T_242) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_245 = $signed(_address_ok_T_244) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_246 = io_in_c_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_247 = {1'b0,$signed(_address_ok_T_246)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_249 = $signed(_address_ok_T_247) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_250 = $signed(_address_ok_T_249) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  address_ok_1 = _address_ok_T_140 | _address_ok_T_145 | _address_ok_T_150 | _address_ok_T_155 | _address_ok_T_160
+     | _address_ok_T_165 | _address_ok_T_170 | _address_ok_T_175 | _address_ok_T_180 | _address_ok_T_185 |
+    _address_ok_T_190 | _address_ok_T_195 | _address_ok_T_200 | _address_ok_T_205 | _address_ok_T_210 |
+    _address_ok_T_215 | _address_ok_T_220 | _address_ok_T_225 | _address_ok_T_230 | _address_ok_T_235 |
+    _address_ok_T_240 | _address_ok_T_245 | _address_ok_T_250; // @[Parameters.scala 622:64]
+  wire  _T_2341 = io_in_c_bits_opcode == 3'h4; // @[Monitor.scala 242:25]
+  wire  _T_2348 = io_in_c_bits_size >= 4'h2; // @[Monitor.scala 245:30]
+  wire  _T_2355 = io_in_c_bits_param <= 3'h5; // @[Bundles.scala 120:29]
+  wire  _T_2359 = ~io_in_c_bits_corrupt; // @[Monitor.scala 248:18]
+  wire  _T_2363 = io_in_c_bits_opcode == 3'h5; // @[Monitor.scala 251:25]
+  wire  _T_2381 = io_in_c_bits_opcode == 3'h6; // @[Monitor.scala 259:25]
+  wire  _T_2383 = io_in_c_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire  _T_2390 = _T_2383 & source_ok_2; // @[Parameters.scala 1160:30]
+  wire [31:0] _T_2396 = $signed(_address_ok_T_227) & -32'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_2397 = $signed(_T_2396) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2426 = $signed(_address_ok_T_187) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_2427 = $signed(_T_2426) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2431 = $signed(_address_ok_T_167) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_2432 = $signed(_T_2431) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2441 = $signed(_address_ok_T_147) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_2442 = $signed(_T_2441) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2446 = $signed(_address_ok_T_182) & -32'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_2447 = $signed(_T_2446) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2456 = $signed(_address_ok_T_157) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_2457 = $signed(_T_2456) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_2478 = io_in_c_bits_size <= 4'h6; // @[Parameters.scala 92:42]
+  wire  _T_2486 = _T_2478 & _address_ok_T_250; // @[Parameters.scala 670:56]
+  wire  _T_2489 = _T_2390 & _T_2486; // @[Monitor.scala 260:78]
+  wire  _T_2496 = 4'h6 == io_in_c_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_2497 = _source_ok_T_8 & _T_2496; // @[Mux.scala 27:73]
+  wire  _T_2594 = _T_2397 | _address_ok_T_140 | _address_ok_T_245 | _address_ok_T_225 | _address_ok_T_235 |
+    _address_ok_T_220 | _T_2427 | _T_2432 | _address_ok_T_210 | _T_2442 | _T_2447 | _address_ok_T_215 | _T_2457 |
+    _address_ok_T_175 | _address_ok_T_250; // @[Parameters.scala 671:42]
+  wire  _T_2595 = _T_2383 & _T_2594; // @[Parameters.scala 670:56]
+  wire  _T_2597 = _T_2497 & _T_2595; // @[Monitor.scala 261:78]
+  wire  _T_2619 = io_in_c_bits_opcode == 3'h7; // @[Monitor.scala 269:25]
+  wire  _T_2853 = io_in_c_bits_opcode == 3'h0; // @[Monitor.scala 278:25]
+  wire  _T_2863 = io_in_c_bits_param == 3'h0; // @[Monitor.scala 282:31]
+  wire  _T_2871 = io_in_c_bits_opcode == 3'h1; // @[Monitor.scala 286:25]
+  wire  _T_2885 = io_in_c_bits_opcode == 3'h2; // @[Monitor.scala 293:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [9:0] a_first_beats1_decode = is_aligned_mask[11:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [9:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1 = a_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [3:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [30:0] address; // @[Monitor.scala 388:22]
+  wire  _T_2907 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_2908 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_2912 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_2916 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_2920 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_2924 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [26:0] _d_first_beats1_decode_T_1 = 27'hfff << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [9:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1 = d_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [3:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  reg [1:0] sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_2931 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_2932 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_2936 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_2940 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_2944 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_2948 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_2952 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  wire  b_first_done = io_in_b_ready & io_in_b_valid; // @[Decoupled.scala 50:35]
+  reg [9:0] b_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] b_first_counter1 = b_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  b_first = b_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [1:0] param_2; // @[Monitor.scala 408:22]
+  reg [30:0] address_1; // @[Monitor.scala 411:22]
+  wire  _T_2959 = io_in_b_valid & ~b_first; // @[Monitor.scala 412:19]
+  wire  _T_2964 = io_in_b_bits_param == param_2; // @[Monitor.scala 414:32]
+  wire  _T_2976 = io_in_b_bits_address == address_1; // @[Monitor.scala 417:32]
+  wire  _c_first_T = io_in_c_ready & io_in_c_valid; // @[Decoupled.scala 50:35]
+  wire [9:0] c_first_beats1_decode = is_aligned_mask_2[11:2]; // @[Edges.scala 219:59]
+  wire  c_first_beats1_opdata = io_in_c_bits_opcode[0]; // @[Edges.scala 101:36]
+  reg [9:0] c_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] c_first_counter1 = c_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  c_first = c_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_3; // @[Monitor.scala 512:22]
+  reg [2:0] param_3; // @[Monitor.scala 513:22]
+  reg [3:0] size_3; // @[Monitor.scala 514:22]
+  reg [1:0] source_3; // @[Monitor.scala 515:22]
+  reg [30:0] address_2; // @[Monitor.scala 516:22]
+  wire  _T_2983 = io_in_c_valid & ~c_first; // @[Monitor.scala 517:19]
+  wire  _T_2984 = io_in_c_bits_opcode == opcode_3; // @[Monitor.scala 518:32]
+  wire  _T_2988 = io_in_c_bits_param == param_3; // @[Monitor.scala 519:32]
+  wire  _T_2992 = io_in_c_bits_size == size_3; // @[Monitor.scala 520:32]
+  wire  _T_2996 = io_in_c_bits_source == source_3; // @[Monitor.scala 521:32]
+  wire  _T_3000 = io_in_c_bits_address == address_2; // @[Monitor.scala 522:32]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [23:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [9:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1_1 = a_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  reg [9:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_1 = d_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_88 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_88}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_89 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_89 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [4:0] _a_size_lookup_T = {io_in_d_bits_source, 3'h0}; // @[Monitor.scala 638:65]
+  wire [23:0] _a_size_lookup_T_1 = inflight_sizes >> _a_size_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _a_size_lookup_T_5 = 16'h100 - 16'h1; // @[Monitor.scala 609:57]
+  wire [23:0] _GEN_91 = {{8'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_91; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[23:1]}; // @[Monitor.scala 638:144]
+  wire  _T_3006 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_27 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_3009 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [4:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [4:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 5'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_93 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_93}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [4:0] _a_sizes_set_T = {io_in_a_bits_source, 3'h0}; // @[Monitor.scala 657:77]
+  wire [4:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 5'h0; // @[Monitor.scala 652:72 655:28]
+  wire [35:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [35:0] _a_sizes_set_T_1 = _GEN_2 << _a_sizes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_3011 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_3013 = ~_T_3011[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_28 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_31 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [35:0] _GEN_32 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 36'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_3017 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_3019 = ~_T_1308; // @[Monitor.scala 671:74]
+  wire  _T_3020 = io_in_d_valid & d_first_1 & ~_T_1308; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_33 = io_in_d_valid & d_first_1 & ~_T_1308 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 671:90 672:22]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [46:0] _GEN_4 = {{31'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 678:74]
+  wire [46:0] _d_sizes_clr_T_5 = _GEN_4 << _a_size_lookup_T; // @[Monitor.scala 678:74]
+  wire [3:0] _GEN_34 = _d_first_T & d_first_1 & _T_3019 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_35 = _d_first_T & d_first_1 & _T_3019 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire [46:0] _GEN_36 = _d_first_T & d_first_1 & _T_3019 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 678:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_3006 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_3030 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_3032 = _T_3030[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_39 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_40 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_39; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_41 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_40; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_42 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_41; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_43 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_42; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_44 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_43; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_51 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_42; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_52 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_51; // @[Monitor.scala 686:{39,39}]
+  wire  _T_3037 = io_in_d_bits_opcode == _GEN_52; // @[Monitor.scala 686:39]
+  wire  _T_3038 = io_in_d_bits_opcode == _GEN_44 | _T_3037; // @[Monitor.scala 685:77]
+  wire  _T_3042 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_55 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_56 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_55; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_57 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_56; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_58 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_57; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_59 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_58; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_60 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_59; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_67 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_58; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_68 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_67; // @[Monitor.scala 690:{38,38}]
+  wire  _T_3049 = io_in_d_bits_opcode == _GEN_68; // @[Monitor.scala 690:38]
+  wire  _T_3050 = io_in_d_bits_opcode == _GEN_60 | _T_3049; // @[Monitor.scala 689:72]
+  wire [7:0] a_size_lookup = _a_size_lookup_T_7[7:0];
+  wire [7:0] _GEN_95 = {{4'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_3054 = _GEN_95 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_3064 = _T_3017 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_3019; // @[Monitor.scala 694:116]
+  wire  _T_3065 = ~io_in_d_ready; // @[Monitor.scala 695:15]
+  wire  _T_3066 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set_wo_ready = _GEN_27[2:0];
+  wire [2:0] d_clr_wo_ready = _GEN_33[2:0];
+  wire  _T_3073 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [2:0] a_set = _GEN_28[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_34[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_31[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_35[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [23:0] a_sizes_set = _GEN_32[23:0];
+  wire [23:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [23:0] d_sizes_clr = _GEN_36[23:0];
+  wire [23:0] _inflight_sizes_T_1 = ~d_sizes_clr; // @[Monitor.scala 704:56]
+  wire [23:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_sizes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_3082 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [23:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [9:0] c_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] c_first_counter1_1 = c_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  c_first_1 = c_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  reg [9:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_2 = d_first_counter_2 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 10'h0; // @[Edges.scala 230:25]
+  wire [23:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_size_lookup_T; // @[Monitor.scala 747:42]
+  wire [23:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_91; // @[Monitor.scala 747:93]
+  wire [23:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[23:1]}; // @[Monitor.scala 747:146]
+  wire  _T_3092 = io_in_c_bits_opcode[2] & io_in_c_bits_opcode[1]; // @[Edges.scala 67:40]
+  wire  _T_3093 = io_in_c_valid & c_first_1 & _T_3092; // @[Monitor.scala 756:37]
+  wire [3:0] _c_set_wo_ready_T = 4'h1 << io_in_c_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_72 = io_in_c_valid & c_first_1 & _T_3092 ? _c_set_wo_ready_T : 4'h0; // @[Monitor.scala 756:71 757:22]
+  wire  _T_3099 = _c_first_T & c_first_1 & _T_3092; // @[Monitor.scala 760:38]
+  wire [4:0] _c_sizes_set_interm_T = {io_in_c_bits_size, 1'h0}; // @[Monitor.scala 763:51]
+  wire [4:0] _c_sizes_set_interm_T_1 = _c_sizes_set_interm_T | 5'h1; // @[Monitor.scala 763:59]
+  wire [4:0] _c_sizes_set_T = {io_in_c_bits_source, 3'h0}; // @[Monitor.scala 765:77]
+  wire [4:0] c_sizes_set_interm = _c_first_T & c_first_1 & _T_3092 ? _c_sizes_set_interm_T_1 : 5'h0; // @[Monitor.scala 760:72 763:28]
+  wire [35:0] _GEN_5 = {{31'd0}, c_sizes_set_interm}; // @[Monitor.scala 765:52]
+  wire [35:0] _c_sizes_set_T_1 = _GEN_5 << _c_sizes_set_T; // @[Monitor.scala 765:52]
+  wire [2:0] _T_3100 = inflight_1 >> io_in_c_bits_source; // @[Monitor.scala 766:26]
+  wire  _T_3102 = ~_T_3100[0]; // @[Monitor.scala 766:17]
+  wire [3:0] _GEN_73 = _c_first_T & c_first_1 & _T_3092 ? _c_set_wo_ready_T : 4'h0; // @[Monitor.scala 760:72 761:28]
+  wire [35:0] _GEN_77 = _c_first_T & c_first_1 & _T_3092 ? _c_sizes_set_T_1 : 36'h0; // @[Monitor.scala 760:72 765:28]
+  wire  _T_3106 = io_in_d_valid & d_first_2; // @[Monitor.scala 779:26]
+  wire  _T_3108 = io_in_d_valid & d_first_2 & _T_1308; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_78 = io_in_d_valid & d_first_2 & _T_1308 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 779:89 780:22]
+  wire [3:0] _GEN_79 = _d_first_T & d_first_2 & _T_1308 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_81 = _d_first_T & d_first_2 & _T_1308 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 786:21]
+  wire  _same_cycle_resp_T_8 = io_in_c_bits_source == io_in_d_bits_source; // @[Monitor.scala 790:113]
+  wire  same_cycle_resp_1 = _T_3093 & io_in_c_bits_source == io_in_d_bits_source; // @[Monitor.scala 790:88]
+  wire [2:0] _T_3116 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire  _T_3118 = _T_3116[0] | same_cycle_resp_1; // @[Monitor.scala 791:49]
+  wire  _T_3122 = io_in_d_bits_size == io_in_c_bits_size; // @[Monitor.scala 793:36]
+  wire [7:0] c_size_lookup = _c_size_lookup_T_7[7:0];
+  wire  _T_3126 = _GEN_95 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire  _T_3135 = _T_3106 & c_first_1 & io_in_c_valid & _same_cycle_resp_T_8 & _T_1308; // @[Monitor.scala 799:116]
+  wire  _T_3137 = _T_3065 | io_in_c_ready; // @[Monitor.scala 800:32]
+  wire [2:0] c_set_wo_ready = _GEN_72[2:0];
+  wire  _T_3141 = |c_set_wo_ready; // @[Monitor.scala 804:28]
+  wire [2:0] d_clr_wo_ready_1 = _GEN_78[2:0];
+  wire  _T_3142 = c_set_wo_ready != d_clr_wo_ready_1; // @[Monitor.scala 805:31]
+  wire [2:0] c_set = _GEN_73[2:0];
+  wire [2:0] _inflight_T_3 = inflight_1 | c_set; // @[Monitor.scala 809:35]
+  wire [2:0] d_clr_1 = _GEN_79[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = _inflight_T_3 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [23:0] c_sizes_set = _GEN_77[23:0];
+  wire [23:0] _inflight_sizes_T_3 = inflight_sizes_1 | c_sizes_set; // @[Monitor.scala 811:41]
+  wire [23:0] d_sizes_clr_1 = _GEN_81[23:0];
+  wire [23:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
+  wire [23:0] _inflight_sizes_T_5 = _inflight_sizes_T_3 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_3151 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  reg [3:0] inflight_2; // @[Monitor.scala 823:27]
+  reg [9:0] d_first_counter_3; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_3 = d_first_counter_3 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_3 = d_first_counter_3 == 10'h0; // @[Edges.scala 230:25]
+  wire  _T_3163 = io_in_d_bits_opcode[2] & ~io_in_d_bits_opcode[1]; // @[Edges.scala 70:40]
+  wire  _T_3164 = _d_first_T & d_first_3 & _T_3163; // @[Monitor.scala 829:38]
+  wire [3:0] _d_set_T = 4'h1 << io_in_d_bits_sink; // @[OneHot.scala 57:35]
+  wire [3:0] _T_3165 = inflight_2 >> io_in_d_bits_sink; // @[Monitor.scala 831:23]
+  wire  _T_3167 = ~_T_3165[0]; // @[Monitor.scala 831:14]
+  wire [3:0] d_set = _d_first_T & d_first_3 & _T_3163 ? _d_set_T : 4'h0; // @[Monitor.scala 829:72 830:13]
+  wire [3:0] _e_clr_T = 4'h1 << io_in_e_bits_sink; // @[OneHot.scala 57:35]
+  wire [3:0] _T_3174 = d_set | inflight_2; // @[Monitor.scala 837:24]
+  wire [3:0] _T_3175 = _T_3174 >> io_in_e_bits_sink; // @[Monitor.scala 837:35]
+  wire [3:0] e_clr = io_in_e_valid ? _e_clr_T : 4'h0; // @[Monitor.scala 835:73 836:13]
+  wire [3:0] _inflight_T_6 = inflight_2 | d_set; // @[Monitor.scala 842:27]
+  wire [3:0] _inflight_T_7 = ~e_clr; // @[Monitor.scala 842:38]
+  wire [3:0] _inflight_T_8 = _inflight_T_6 & _inflight_T_7; // @[Monitor.scala 842:36]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 10'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 10'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      b_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (b_first_done) begin // @[Edges.scala 234:17]
+      if (b_first) begin // @[Edges.scala 235:21]
+        b_first_counter <= 10'h0;
+      end else begin
+        b_first_counter <= b_first_counter1;
+      end
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      param_2 <= io_in_b_bits_param; // @[Monitor.scala 421:15]
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      address_1 <= io_in_b_bits_address; // @[Monitor.scala 424:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      c_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_c_first_T) begin // @[Edges.scala 234:17]
+      if (c_first) begin // @[Edges.scala 235:21]
+        if (c_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          c_first_counter <= c_first_beats1_decode;
+        end else begin
+          c_first_counter <= 10'h0;
+        end
+      end else begin
+        c_first_counter <= c_first_counter1;
+      end
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      opcode_3 <= io_in_c_bits_opcode; // @[Monitor.scala 525:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      param_3 <= io_in_c_bits_param; // @[Monitor.scala 526:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      size_3 <= io_in_c_bits_size; // @[Monitor.scala 527:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      source_3 <= io_in_c_bits_source; // @[Monitor.scala 528:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      address_2 <= io_in_c_bits_address; // @[Monitor.scala 529:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 24'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 24'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      c_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_c_first_T) begin // @[Edges.scala 234:17]
+      if (c_first_1) begin // @[Edges.scala 235:21]
+        if (c_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          c_first_counter_1 <= c_first_beats1_decode;
+        end else begin
+          c_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        c_first_counter_1 <= c_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_c_first_T | _d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    if (reset) begin // @[Monitor.scala 823:27]
+      inflight_2 <= 4'h0; // @[Monitor.scala 823:27]
+    end else begin
+      inflight_2 <= _inflight_T_8; // @[Monitor.scala 842:14]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_3 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_3) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_3 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_3 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_3 <= d_first_counter1_3;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_141 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_141) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_249 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_249) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_263 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_263) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_268 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_268) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_272 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_272) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_141 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_141) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_249 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_249) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_263 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_263) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_510 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_510) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_268 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_268) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_272 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_272) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_42 & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~_T_42) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_636 & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~_T_636) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_272 & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~_T_272) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_771 & (io_in_a_valid & _T_658 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_658 & ~reset & ~_T_771) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_658 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_658 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_658 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_658 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_a_valid & _T_658 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_658 & ~reset & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_a_valid & _T_658 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_658 & ~reset & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_902 & (io_in_a_valid & _T_789 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_789 & ~reset & ~_T_902) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_789 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_789 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_789 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_789 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_a_valid & _T_789 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_789 & ~reset & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_918 & (io_in_a_valid & _T_789 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_789 & ~reset & ~_T_918) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1030 & (io_in_a_valid & _T_922 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_922 & ~reset & ~_T_1030) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_922 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_922 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_922 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_922 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1040 & (io_in_a_valid & _T_922 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_922 & ~reset & ~_T_1040) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_a_valid & _T_922 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_922 & ~reset & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1030 & (io_in_a_valid & _T_1048 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1048 & ~reset & ~_T_1030) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_1048 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1048 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_1048 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1048 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1166 & (io_in_a_valid & _T_1048 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1048 & ~reset & ~_T_1166) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_a_valid & _T_1048 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1048 & ~reset & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1282 & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~_T_1282) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1292 & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~_T_1292) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_272 & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~_T_272) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1304 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_1304) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1308 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1308 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1312 & (io_in_d_valid & _T_1308 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1308 & _T_2 & ~_T_1312) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1316 & (io_in_d_valid & _T_1308 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1308 & _T_2 & ~_T_1316) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1320 & (io_in_d_valid & _T_1308 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1308 & _T_2 & ~_T_1320) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1324 & (io_in_d_valid & _T_1308 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1308 & _T_2 & ~_T_1324) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1328 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1328 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1312 & (io_in_d_valid & _T_1328 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1328 & _T_2 & ~_T_1312) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1339 & (io_in_d_valid & _T_1328 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1328 & _T_2 & ~_T_1339) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1343 & (io_in_d_valid & _T_1328 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1328 & _T_2 & ~_T_1343) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1320 & (io_in_d_valid & _T_1328 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1328 & _T_2 & ~_T_1320) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1356 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1356 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1312 & (io_in_d_valid & _T_1356 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1356 & _T_2 & ~_T_1312) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1339 & (io_in_d_valid & _T_1356 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1356 & _T_2 & ~_T_1339) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1343 & (io_in_d_valid & _T_1356 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1356 & _T_2 & ~_T_1343) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1376 & (io_in_d_valid & _T_1356 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1356 & _T_2 & ~_T_1376) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1385 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1385 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1316 & (io_in_d_valid & _T_1385 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1385 & _T_2 & ~_T_1316) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1320 & (io_in_d_valid & _T_1385 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1385 & _T_2 & ~_T_1320) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1402 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1402 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1316 & (io_in_d_valid & _T_1402 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1402 & _T_2 & ~_T_1316) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1376 & (io_in_d_valid & _T_1402 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1402 & _T_2 & ~_T_1376) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1420 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1420 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1316 & (io_in_d_valid & _T_1420 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1420 & _T_2 & ~_T_1316) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1320 & (io_in_d_valid & _T_1420 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1420 & _T_2 & ~_T_1320) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1572 & (io_in_b_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2 & ~_T_1572) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries Probe type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok & (io_in_b_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2 & ~address_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe carries unmanaged address (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_1 & (io_in_b_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2 & ~is_aligned_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1588 & (io_in_b_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2 & ~_T_1588) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe carries invalid cap param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck carries unmanaged address (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2348 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~_T_2348) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck smaller than a beat (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2355 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~_T_2355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck carries invalid report param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2359 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~_T_2359) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck is corrupt (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2363 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2363 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData carries unmanaged address (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2363 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2363 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2348 & (io_in_c_valid & _T_2363 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2363 & ~reset & ~_T_2348) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData smaller than a beat (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2363 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2363 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2355 & (io_in_c_valid & _T_2363 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2363 & ~reset & ~_T_2355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData carries invalid report param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2489 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~_T_2489) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries Release type unsupported by manager (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2597 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~_T_2597) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2348 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~_T_2348) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release smaller than a beat (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2355 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~_T_2355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release carries invalid report param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2359 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~_T_2359) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release is corrupt (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2489 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~_T_2489) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries ReleaseData type unsupported by manager (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2597 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~_T_2597) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2348 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~_T_2348) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData smaller than a beat (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2355 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~_T_2355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData carries invalid report param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2853 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2853 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck carries unmanaged address (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2853 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2853 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2853 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2853 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2863 & (io_in_c_valid & _T_2853 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2853 & ~reset & ~_T_2863) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck carries invalid param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2359 & (io_in_c_valid & _T_2853 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2853 & ~reset & ~_T_2359) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck is corrupt (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2871 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2871 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData carries unmanaged address (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2871 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2871 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2871 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2871 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2863 & (io_in_c_valid & _T_2871 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2871 & ~reset & ~_T_2863) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData carries invalid param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2885 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2885 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck carries unmanaged address (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2885 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2885 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck carries invalid source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2885 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2885 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck address not aligned to size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2863 & (io_in_c_valid & _T_2885 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2885 & ~reset & ~_T_2863) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck carries invalid param (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2359 & (io_in_c_valid & _T_2885 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2885 & ~reset & ~_T_2359) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck is corrupt (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2908 & (_T_2907 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2907 & ~reset & ~_T_2908) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2912 & (_T_2907 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2907 & ~reset & ~_T_2912) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2916 & (_T_2907 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2907 & ~reset & ~_T_2916) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2920 & (_T_2907 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2907 & ~reset & ~_T_2920) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2924 & (_T_2907 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2907 & ~reset & ~_T_2924) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2932 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2932) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2936 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2936) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2940 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2940) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2944 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2944) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2948 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2948) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2952 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2952) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2964 & (_T_2959 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2959 & ~reset & ~_T_2964) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel param changed within multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2976 & (_T_2959 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2959 & ~reset & ~_T_2976) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel addresss changed with multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2984 & (_T_2983 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2983 & ~reset & ~_T_2984) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel opcode changed within multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2988 & (_T_2983 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2983 & ~reset & ~_T_2988) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel param changed within multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2992 & (_T_2983 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2983 & ~reset & ~_T_2992) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel size changed within multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2996 & (_T_2983 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2983 & ~reset & ~_T_2996) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel source changed within multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3000 & (_T_2983 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2983 & ~reset & ~_T_3000) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel address changed with multibeat operation (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3013 & (_T_3009 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3009 & ~reset & ~_T_3013) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3032 & (_T_3020 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3020 & _T_2 & ~_T_3032) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3038 & (_T_3020 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3020 & same_cycle_resp & _T_2 & ~_T_3038) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3042 & (_T_3020 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3020 & same_cycle_resp & _T_2 & ~_T_3042) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3050 & (_T_3020 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3020 & ~same_cycle_resp & _T_2 & ~_T_3050) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3054 & (_T_3020 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3020 & ~same_cycle_resp & _T_2 & ~_T_3054) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3066 & (_T_3064 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3064 & _T_2 & ~_T_3066) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3073 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_3073) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3082 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_3082) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3102 & (_T_3099 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3099 & ~reset & ~_T_3102) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel re-used a source ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3118 & (_T_3108 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3108 & _T_2 & ~_T_3118) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3122 & (_T_3108 & same_cycle_resp_1 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3108 & same_cycle_resp_1 & _T_2 & ~_T_3122) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3126 & (_T_3108 & ~same_cycle_resp_1 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3108 & ~same_cycle_resp_1 & _T_2 & ~_T_3126) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3137 & (_T_3135 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3135 & _T_2 & ~_T_3137) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3142 & (_T_3141 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3141 & _T_2 & ~_T_3142) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' and 'D' concurrent, despite minlatency 1 (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3151 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_3151) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3167 & (_T_3164 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3164 & _T_2 & ~_T_3167) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel re-used a sink ID (connected at SystemBus.scala:41:55)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3175[0] & (io_in_e_valid & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_e_valid & ~reset & ~_T_3175[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'E' channel acknowledged for nothing inflight (connected at SystemBus.scala:41:55)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[9:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[30:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[9:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  param_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  size_1 = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  source_1 = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  sink = _RAND_11[1:0];
+  _RAND_12 = {1{`RANDOM}};
+  denied = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  b_first_counter = _RAND_13[9:0];
+  _RAND_14 = {1{`RANDOM}};
+  param_2 = _RAND_14[1:0];
+  _RAND_15 = {1{`RANDOM}};
+  address_1 = _RAND_15[30:0];
+  _RAND_16 = {1{`RANDOM}};
+  c_first_counter = _RAND_16[9:0];
+  _RAND_17 = {1{`RANDOM}};
+  opcode_3 = _RAND_17[2:0];
+  _RAND_18 = {1{`RANDOM}};
+  param_3 = _RAND_18[2:0];
+  _RAND_19 = {1{`RANDOM}};
+  size_3 = _RAND_19[3:0];
+  _RAND_20 = {1{`RANDOM}};
+  source_3 = _RAND_20[1:0];
+  _RAND_21 = {1{`RANDOM}};
+  address_2 = _RAND_21[30:0];
+  _RAND_22 = {1{`RANDOM}};
+  inflight = _RAND_22[2:0];
+  _RAND_23 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_23[11:0];
+  _RAND_24 = {1{`RANDOM}};
+  inflight_sizes = _RAND_24[23:0];
+  _RAND_25 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_25[9:0];
+  _RAND_26 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_26[9:0];
+  _RAND_27 = {1{`RANDOM}};
+  watchdog = _RAND_27[31:0];
+  _RAND_28 = {1{`RANDOM}};
+  inflight_1 = _RAND_28[2:0];
+  _RAND_29 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_29[23:0];
+  _RAND_30 = {1{`RANDOM}};
+  c_first_counter_1 = _RAND_30[9:0];
+  _RAND_31 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_31[9:0];
+  _RAND_32 = {1{`RANDOM}};
+  watchdog_1 = _RAND_32[31:0];
+  _RAND_33 = {1{`RANDOM}};
+  inflight_2 = _RAND_33[3:0];
+  _RAND_34 = {1{`RANDOM}};
+  d_first_counter_3 = _RAND_34[9:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLXbar(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [3:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_b_ready,
+  output        auto_in_b_valid,
+  output [1:0]  auto_in_b_bits_param,
+  output [30:0] auto_in_b_bits_address,
+  output        auto_in_c_ready,
+  input         auto_in_c_valid,
+  input  [2:0]  auto_in_c_bits_opcode,
+  input  [2:0]  auto_in_c_bits_param,
+  input  [3:0]  auto_in_c_bits_size,
+  input  [1:0]  auto_in_c_bits_source,
+  input  [30:0] auto_in_c_bits_address,
+  input  [31:0] auto_in_c_bits_data,
+  input         auto_in_c_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [3:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [1:0]  auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_in_e_valid,
+  input  [1:0]  auto_in_e_bits_sink,
+  input         auto_out_1_a_ready,
+  output        auto_out_1_a_valid,
+  output [2:0]  auto_out_1_a_bits_opcode,
+  output [2:0]  auto_out_1_a_bits_param,
+  output [2:0]  auto_out_1_a_bits_size,
+  output [1:0]  auto_out_1_a_bits_source,
+  output [30:0] auto_out_1_a_bits_address,
+  output [3:0]  auto_out_1_a_bits_mask,
+  output [31:0] auto_out_1_a_bits_data,
+  output        auto_out_1_a_bits_corrupt,
+  output        auto_out_1_b_ready,
+  input         auto_out_1_b_valid,
+  input  [1:0]  auto_out_1_b_bits_param,
+  input  [30:0] auto_out_1_b_bits_address,
+  input         auto_out_1_c_ready,
+  output        auto_out_1_c_valid,
+  output [2:0]  auto_out_1_c_bits_opcode,
+  output [2:0]  auto_out_1_c_bits_param,
+  output [2:0]  auto_out_1_c_bits_size,
+  output [1:0]  auto_out_1_c_bits_source,
+  output [30:0] auto_out_1_c_bits_address,
+  output [31:0] auto_out_1_c_bits_data,
+  output        auto_out_1_c_bits_corrupt,
+  output        auto_out_1_d_ready,
+  input         auto_out_1_d_valid,
+  input  [2:0]  auto_out_1_d_bits_opcode,
+  input  [1:0]  auto_out_1_d_bits_param,
+  input  [2:0]  auto_out_1_d_bits_size,
+  input  [1:0]  auto_out_1_d_bits_source,
+  input  [1:0]  auto_out_1_d_bits_sink,
+  input  [31:0] auto_out_1_d_bits_data,
+  output        auto_out_1_e_valid,
+  output [1:0]  auto_out_1_e_bits_sink,
+  input         auto_out_0_a_ready,
+  output        auto_out_0_a_valid,
+  output [2:0]  auto_out_0_a_bits_opcode,
+  output [2:0]  auto_out_0_a_bits_param,
+  output [3:0]  auto_out_0_a_bits_size,
+  output [1:0]  auto_out_0_a_bits_source,
+  output [29:0] auto_out_0_a_bits_address,
+  output [3:0]  auto_out_0_a_bits_mask,
+  output [31:0] auto_out_0_a_bits_data,
+  output        auto_out_0_a_bits_corrupt,
+  output        auto_out_0_d_ready,
+  input         auto_out_0_d_valid,
+  input  [2:0]  auto_out_0_d_bits_opcode,
+  input  [1:0]  auto_out_0_d_bits_param,
+  input  [3:0]  auto_out_0_d_bits_size,
+  input  [1:0]  auto_out_0_d_bits_source,
+  input         auto_out_0_d_bits_sink,
+  input         auto_out_0_d_bits_denied,
+  input  [31:0] auto_out_0_d_bits_data,
+  input         auto_out_0_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_b_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_b_valid; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_b_bits_param; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_b_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_c_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_c_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_c_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_c_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_c_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_c_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_c_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_c_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_e_valid; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_e_bits_sink; // @[Nodes.scala 24:25]
+  reg [9:0] beatsLeft; // @[Arbiter.scala 87:30]
+  wire  idle = beatsLeft == 10'h0; // @[Arbiter.scala 88:28]
+  wire [1:0] readys_valid = {auto_out_1_d_valid,auto_out_0_d_valid}; // @[Cat.scala 31:58]
+  reg [1:0] readys_mask; // @[Arbiter.scala 23:23]
+  wire [1:0] _readys_filter_T = ~readys_mask; // @[Arbiter.scala 24:30]
+  wire [1:0] _readys_filter_T_1 = readys_valid & _readys_filter_T; // @[Arbiter.scala 24:28]
+  wire [3:0] readys_filter = {_readys_filter_T_1,auto_out_1_d_valid,auto_out_0_d_valid}; // @[Cat.scala 31:58]
+  wire [3:0] _GEN_1 = {{1'd0}, readys_filter[3:1]}; // @[package.scala 253:43]
+  wire [3:0] _readys_unready_T_1 = readys_filter | _GEN_1; // @[package.scala 253:43]
+  wire [3:0] _readys_unready_T_4 = {readys_mask, 2'h0}; // @[Arbiter.scala 25:66]
+  wire [3:0] _GEN_2 = {{1'd0}, _readys_unready_T_1[3:1]}; // @[Arbiter.scala 25:58]
+  wire [3:0] readys_unready = _GEN_2 | _readys_unready_T_4; // @[Arbiter.scala 25:58]
+  wire [1:0] _readys_readys_T_2 = readys_unready[3:2] & readys_unready[1:0]; // @[Arbiter.scala 26:39]
+  wire [1:0] readys_readys = ~_readys_readys_T_2; // @[Arbiter.scala 26:18]
+  wire  readys_0 = readys_readys[0]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_0 = readys_0 & auto_out_0_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_0; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_0 = idle ? earlyWinner_0 : state_0; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_37 = muxStateEarly_0 ? auto_out_0_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire  readys_1 = readys_readys[1]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_1 = readys_1 & auto_out_1_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_1; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_1 = idle ? earlyWinner_1 : state_1; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_38 = muxStateEarly_1 ? auto_out_1_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [31:0] _requestAIO_T_1 = {1'b0,$signed(auto_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire [31:0] _requestAIO_T_3 = $signed(_requestAIO_T_1) & 32'sh40000000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_0 = $signed(_requestAIO_T_3) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _requestAIO_T_5 = auto_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _requestAIO_T_6 = {1'b0,$signed(_requestAIO_T_5)}; // @[Parameters.scala 137:49]
+  wire [31:0] _requestAIO_T_8 = $signed(_requestAIO_T_6) & 32'sh40000000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_1 = $signed(_requestAIO_T_8) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [26:0] _beatsDO_decode_T_1 = 27'hfff << auto_out_0_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _beatsDO_decode_T_3 = ~_beatsDO_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] beatsDO_decode = _beatsDO_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata = auto_out_0_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [9:0] beatsDO_0 = beatsDO_opdata ? beatsDO_decode : 10'h0; // @[Edges.scala 220:14]
+  wire [3:0] out_1_1_d_bits_size = {{1'd0}, auto_out_1_d_bits_size}; // @[BundleMap.scala 247:19 Xbar.scala 288:19]
+  wire [20:0] _beatsDO_decode_T_5 = 21'h3f << out_1_1_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_7 = ~_beatsDO_decode_T_5[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_1 = _beatsDO_decode_T_7[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_1 = auto_out_1_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_1 = beatsDO_opdata_1 ? beatsDO_decode_1 : 4'h0; // @[Edges.scala 220:14]
+  wire  latch = idle & auto_in_d_ready; // @[Arbiter.scala 89:24]
+  wire  _readys_T_3 = ~reset; // @[Arbiter.scala 22:12]
+  wire [1:0] _readys_mask_T = readys_readys & readys_valid; // @[Arbiter.scala 28:29]
+  wire [2:0] _readys_mask_T_1 = {_readys_mask_T, 1'h0}; // @[package.scala 244:48]
+  wire [1:0] _readys_mask_T_3 = _readys_mask_T | _readys_mask_T_1[1:0]; // @[package.scala 244:43]
+  wire  _prefixOR_T = earlyWinner_0 | earlyWinner_1; // @[Arbiter.scala 104:53]
+  wire  _T_11 = auto_out_0_d_valid | auto_out_1_d_valid; // @[Arbiter.scala 107:36]
+  wire  _T_12 = ~(auto_out_0_d_valid | auto_out_1_d_valid); // @[Arbiter.scala 107:15]
+  wire [9:0] maskedBeats_0 = earlyWinner_0 ? beatsDO_0 : 10'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_1 = earlyWinner_1 ? beatsDO_1 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [9:0] _GEN_3 = {{6'd0}, maskedBeats_1}; // @[Arbiter.scala 112:44]
+  wire [9:0] initBeats = maskedBeats_0 | _GEN_3; // @[Arbiter.scala 112:44]
+  wire  _sink_ACancel_earlyValid_T_3 = state_0 & auto_out_0_d_valid | state_1 & auto_out_1_d_valid; // @[Mux.scala 27:73]
+  wire  sink_ACancel_5_earlyValid = idle ? _T_11 : _sink_ACancel_earlyValid_T_3; // @[Arbiter.scala 125:29]
+  wire  _beatsLeft_T_2 = auto_in_d_ready & sink_ACancel_5_earlyValid; // @[ReadyValidCancel.scala 49:33]
+  wire [9:0] _GEN_4 = {{9'd0}, _beatsLeft_T_2}; // @[Arbiter.scala 113:52]
+  wire [9:0] _beatsLeft_T_4 = beatsLeft - _GEN_4; // @[Arbiter.scala 113:52]
+  wire  allowed_0 = idle ? readys_0 : state_0; // @[Arbiter.scala 121:24]
+  wire  allowed_1 = idle ? readys_1 : state_1; // @[Arbiter.scala 121:24]
+  wire [31:0] _T_28 = muxStateEarly_0 ? auto_out_0_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_29 = muxStateEarly_1 ? auto_out_1_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [1:0] out_1_0_d_bits_sink = {{1'd0}, auto_out_0_d_bits_sink}; // @[Xbar.scala 288:19 323:28]
+  wire [1:0] _T_34 = muxStateEarly_0 ? out_1_0_d_bits_sink : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_35 = muxStateEarly_1 ? auto_out_1_d_bits_sink : 2'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_40 = muxStateEarly_0 ? auto_out_0_d_bits_size : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_41 = muxStateEarly_1 ? out_1_1_d_bits_size : 4'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_43 = muxStateEarly_0 ? auto_out_0_d_bits_param : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_44 = muxStateEarly_1 ? auto_out_1_d_bits_param : 2'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_46 = muxStateEarly_0 ? auto_out_0_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_47 = muxStateEarly_1 ? auto_out_1_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  TLMonitor monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_b_ready(monitor_io_in_b_ready),
+    .io_in_b_valid(monitor_io_in_b_valid),
+    .io_in_b_bits_param(monitor_io_in_b_bits_param),
+    .io_in_b_bits_address(monitor_io_in_b_bits_address),
+    .io_in_c_ready(monitor_io_in_c_ready),
+    .io_in_c_valid(monitor_io_in_c_valid),
+    .io_in_c_bits_opcode(monitor_io_in_c_bits_opcode),
+    .io_in_c_bits_param(monitor_io_in_c_bits_param),
+    .io_in_c_bits_size(monitor_io_in_c_bits_size),
+    .io_in_c_bits_source(monitor_io_in_c_bits_source),
+    .io_in_c_bits_address(monitor_io_in_c_bits_address),
+    .io_in_c_bits_corrupt(monitor_io_in_c_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt),
+    .io_in_e_valid(monitor_io_in_e_valid),
+    .io_in_e_bits_sink(monitor_io_in_e_bits_sink)
+  );
+  assign auto_in_a_ready = requestAIO_0_0 & auto_out_0_a_ready | requestAIO_0_1 & auto_out_1_a_ready; // @[Mux.scala 27:73]
+  assign auto_in_b_valid = auto_out_1_b_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_in_b_bits_param = auto_out_1_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_bits_address = auto_out_1_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_c_ready = auto_out_1_c_ready; // @[Mux.scala 27:73]
+  assign auto_in_d_valid = idle ? _T_11 : _sink_ACancel_earlyValid_T_3; // @[Arbiter.scala 125:29]
+  assign auto_in_d_bits_opcode = _T_46 | _T_47; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_param = _T_43 | _T_44; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_size = _T_40 | _T_41; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_source = _T_37 | _T_38; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_sink = _T_34 | _T_35; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_denied = muxStateEarly_0 & auto_out_0_d_bits_denied; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_data = _T_28 | _T_29; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_corrupt = muxStateEarly_0 & auto_out_0_d_bits_corrupt; // @[Mux.scala 27:73]
+  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[Xbar.scala 428:50]
+  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_size = auto_in_a_bits_size[2:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_1_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_1_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_b_ready = auto_in_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_c_valid = auto_in_c_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_out_1_c_bits_opcode = auto_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_c_bits_param = auto_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_c_bits_size = auto_in_c_bits_size[2:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_1_c_bits_source = auto_in_c_bits_source; // @[Xbar.scala 259:55]
+  assign auto_out_1_c_bits_address = auto_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_c_bits_data = auto_in_c_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_c_bits_corrupt = auto_in_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_d_ready = auto_in_d_ready & allowed_1; // @[Arbiter.scala 123:31]
+  assign auto_out_1_e_valid = auto_in_e_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_out_1_e_bits_sink = auto_in_e_bits_sink; // @[Xbar.scala 228:69]
+  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[Xbar.scala 428:50]
+  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_0_a_bits_address = auto_in_a_bits_address[29:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_0_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_d_ready = auto_in_d_ready & allowed_0; // @[Arbiter.scala 123:31]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = requestAIO_0_0 & auto_out_0_a_ready | requestAIO_0_1 & auto_out_1_a_ready; // @[Mux.scala 27:73]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_b_ready = auto_in_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_b_valid = auto_out_1_b_valid; // @[ReadyValidCancel.scala 21:38]
+  assign monitor_io_in_b_bits_param = auto_out_1_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_b_bits_address = auto_out_1_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_c_ready = auto_out_1_c_ready; // @[Mux.scala 27:73]
+  assign monitor_io_in_c_valid = auto_in_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_opcode = auto_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_param = auto_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_size = auto_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_source = auto_in_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_address = auto_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_corrupt = auto_in_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = idle ? _T_11 : _sink_ACancel_earlyValid_T_3; // @[Arbiter.scala 125:29]
+  assign monitor_io_in_d_bits_opcode = _T_46 | _T_47; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_param = _T_43 | _T_44; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_size = _T_40 | _T_41; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_source = _T_37 | _T_38; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_sink = _T_34 | _T_35; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_denied = muxStateEarly_0 & auto_out_0_d_bits_denied; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_corrupt = muxStateEarly_0 & auto_out_0_d_bits_corrupt; // @[Mux.scala 27:73]
+  assign monitor_io_in_e_valid = auto_in_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_e_bits_sink = auto_in_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  always @(posedge clock) begin
+    if (reset) begin // @[Arbiter.scala 87:30]
+      beatsLeft <= 10'h0; // @[Arbiter.scala 87:30]
+    end else if (latch) begin // @[Arbiter.scala 113:23]
+      beatsLeft <= initBeats;
+    end else begin
+      beatsLeft <= _beatsLeft_T_4;
+    end
+    if (reset) begin // @[Arbiter.scala 23:23]
+      readys_mask <= 2'h3; // @[Arbiter.scala 23:23]
+    end else if (latch & |readys_valid) begin // @[Arbiter.scala 27:32]
+      readys_mask <= _readys_mask_T_3; // @[Arbiter.scala 28:12]
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_0 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_0 <= earlyWinner_0;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_1 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_1 <= earlyWinner_1;
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~earlyWinner_0 | ~earlyWinner_1) & _readys_T_3) begin
+          $fatal; // @[Arbiter.scala 105:13]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_readys_T_3 & ~(~earlyWinner_0 | ~earlyWinner_1)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:105 assert((prefixOR zip earlyWinner) map { case (p,w) => !p || !w } reduce {_ && _})\n"
+            ); // @[Arbiter.scala 105:13]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(auto_out_0_d_valid | auto_out_1_d_valid) | _prefixOR_T) & _readys_T_3) begin
+          $fatal; // @[Arbiter.scala 107:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_readys_T_3 & ~(~(auto_out_0_d_valid | auto_out_1_d_valid) | _prefixOR_T)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:107 assert (!earlyValids.reduce(_||_) || earlyWinner.reduce(_||_))\n"
+            ); // @[Arbiter.scala 107:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_12 | _T_11) & _readys_T_3) begin
+          $fatal; // @[Arbiter.scala 108:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_readys_T_3 & ~(_T_12 | _T_11)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:108 assert (!validQuals .reduce(_||_) || validQuals .reduce(_||_))\n"
+            ); // @[Arbiter.scala 108:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  beatsLeft = _RAND_0[9:0];
+  _RAND_1 = {1{`RANDOM}};
+  readys_mask = _RAND_1[1:0];
+  _RAND_2 = {1{`RANDOM}};
+  state_0 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  state_1 = _RAND_3[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLMonitor_1(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [3:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_b_ready,
+  input         io_in_b_valid,
+  input  [1:0]  io_in_b_bits_param,
+  input  [30:0] io_in_b_bits_address,
+  input         io_in_c_ready,
+  input         io_in_c_valid,
+  input  [2:0]  io_in_c_bits_opcode,
+  input  [2:0]  io_in_c_bits_param,
+  input  [3:0]  io_in_c_bits_size,
+  input  [1:0]  io_in_c_bits_source,
+  input  [30:0] io_in_c_bits_address,
+  input         io_in_c_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [3:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source,
+  input  [1:0]  io_in_d_bits_sink,
+  input         io_in_d_bits_denied,
+  input         io_in_d_bits_corrupt,
+  input         io_in_e_valid,
+  input  [1:0]  io_in_e_bits_sink
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+  reg [31:0] _RAND_34;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [26:0] _is_aligned_mask_T_1 = 27'hfff << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask = ~_is_aligned_mask_T_1[11:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_86 = {{19'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T = io_in_a_bits_address & _GEN_86; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 31'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 4'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire [31:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire  _T_35 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire  _T_42 = _T_35 & source_ok; // @[Parameters.scala 1160:30]
+  wire [31:0] _T_48 = $signed(_T_7) & -32'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_50 = io_in_a_bits_address ^ 31'h3000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_51 = {1'b0,$signed(_T_50)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_53 = $signed(_T_51) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_54 = $signed(_T_53) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_55 = io_in_a_bits_address ^ 31'h10000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_56 = {1'b0,$signed(_T_55)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_58 = $signed(_T_56) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_59 = $signed(_T_58) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_60 = io_in_a_bits_address ^ 31'h2000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_61 = {1'b0,$signed(_T_60)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_63 = $signed(_T_61) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_64 = $signed(_T_63) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_65 = io_in_a_bits_address ^ 31'h8000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_66 = {1'b0,$signed(_T_65)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_68 = $signed(_T_66) & -32'sh4000; // @[Parameters.scala 137:52]
+  wire  _T_69 = $signed(_T_68) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_70 = io_in_a_bits_address ^ 31'hc000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_71 = {1'b0,$signed(_T_70)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_73 = $signed(_T_71) & -32'sh4000000; // @[Parameters.scala 137:52]
+  wire  _T_74 = $signed(_T_73) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_75 = io_in_a_bits_address ^ 31'h10012000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_76 = {1'b0,$signed(_T_75)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_78 = $signed(_T_76) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_79 = $signed(_T_78) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_80 = io_in_a_bits_address ^ 31'h10014000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_83 = $signed(_T_81) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_84 = $signed(_T_83) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_85 = io_in_a_bits_address ^ 31'h10016000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_88 = $signed(_T_86) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_89 = $signed(_T_88) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_90 = io_in_a_bits_address ^ 31'h10023000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_93 = $signed(_T_91) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_94 = $signed(_T_93) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_95 = io_in_a_bits_address ^ 31'h10024000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_98 = $signed(_T_96) & -32'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_99 = $signed(_T_98) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_100 = io_in_a_bits_address ^ 31'h10026000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_103 = $signed(_T_101) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_104 = $signed(_T_103) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_105 = io_in_a_bits_address ^ 31'h10043000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_108 = $signed(_T_106) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_109 = $signed(_T_108) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_110 = io_in_a_bits_address ^ 31'h20000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_113 = $signed(_T_111) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_114 = $signed(_T_113) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_130 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 92:42]
+  wire [30:0] _T_133 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_134 = {1'b0,$signed(_T_133)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_136 = $signed(_T_134) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_137 = $signed(_T_136) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_138 = _T_130 & _T_137; // @[Parameters.scala 670:56]
+  wire  _T_141 = _T_42 & _T_138; // @[Monitor.scala 82:72]
+  wire  _T_148 = 4'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_149 = _source_ok_T & _T_148; // @[Mux.scala 27:73]
+  wire  _T_246 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109
+     | _T_114 | _T_137; // @[Parameters.scala 671:42]
+  wire  _T_247 = _T_35 & _T_246; // @[Parameters.scala 670:56]
+  wire  _T_249 = _T_149 & _T_247; // @[Monitor.scala 83:78]
+  wire  _T_263 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_267 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_268 = _T_267 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_272 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_276 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_510 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_523 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_546 = _T_35 & _T_54; // @[Parameters.scala 670:56]
+  wire  _T_633 = _T_49 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109 |
+    _T_114 | _T_137; // @[Parameters.scala 671:42]
+  wire  _T_634 = _T_130 & _T_633; // @[Parameters.scala 670:56]
+  wire  _T_636 = _T_546 | _T_634; // @[Parameters.scala 672:30]
+  wire  _T_646 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_650 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_658 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_752 = _T_49 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109; // @[Parameters.scala 671:42]
+  wire  _T_753 = _T_49 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109 | _T_137; // @[Parameters.scala 671:42]
+  wire  _T_754 = _T_130 & _T_753; // @[Parameters.scala 670:56]
+  wire  _T_769 = _T_546 | _T_754; // @[Parameters.scala 672:30]
+  wire  _T_771 = _T_42 & _T_769; // @[Monitor.scala 115:71]
+  wire  _T_789 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire  _T_879 = _T_130 & _T_752; // @[Parameters.scala 670:56]
+  wire  _T_900 = _T_546 | _T_879; // @[Parameters.scala 672:30]
+  wire  _T_902 = _T_42 & _T_900; // @[Monitor.scala 123:74]
+  wire [3:0] _T_916 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_917 = io_in_a_bits_mask & _T_916; // @[Monitor.scala 127:31]
+  wire  _T_918 = _T_917 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_922 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_934 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 92:42]
+  wire  _T_1007 = _T_49 | _T_54 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109; // @[Parameters.scala 671:42]
+  wire  _T_1008 = _T_934 & _T_1007; // @[Parameters.scala 670:56]
+  wire  _T_1030 = _T_42 & _T_1008; // @[Monitor.scala 131:74]
+  wire  _T_1040 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_1048 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_1166 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_1174 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_1282 = _T_42 & _T_546; // @[Monitor.scala 147:68]
+  wire  _T_1292 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_1304 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_1308 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_1312 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 312:27]
+  wire  _T_1316 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_1320 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_1324 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_1328 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_1339 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_1343 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_1356 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_1376 = _T_1324 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_1385 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_1402 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_1420 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire [31:0] _T_1444 = {1'b0,$signed(io_in_b_bits_address)}; // @[Parameters.scala 137:49]
+  wire [30:0] _address_ok_T = io_in_b_bits_address ^ 31'h3000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_1 = {1'b0,$signed(_address_ok_T)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_3 = $signed(_address_ok_T_1) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_4 = $signed(_address_ok_T_3) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_5 = io_in_b_bits_address ^ 31'h10013000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_6 = {1'b0,$signed(_address_ok_T_5)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_8 = $signed(_address_ok_T_6) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_9 = $signed(_address_ok_T_8) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_10 = io_in_b_bits_address ^ 31'h10023000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_11 = {1'b0,$signed(_address_ok_T_10)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_13 = $signed(_address_ok_T_11) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_14 = $signed(_address_ok_T_13) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_15 = io_in_b_bits_address ^ 31'h10033000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_16 = {1'b0,$signed(_address_ok_T_15)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_18 = $signed(_address_ok_T_16) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_19 = $signed(_address_ok_T_18) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_20 = io_in_b_bits_address ^ 31'h10043000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_21 = {1'b0,$signed(_address_ok_T_20)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_23 = $signed(_address_ok_T_21) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_24 = $signed(_address_ok_T_23) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_25 = io_in_b_bits_address ^ 31'h10053000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_26 = {1'b0,$signed(_address_ok_T_25)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_28 = $signed(_address_ok_T_26) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_29 = $signed(_address_ok_T_28) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_30 = io_in_b_bits_address ^ 31'h10014000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_31 = {1'b0,$signed(_address_ok_T_30)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_33 = $signed(_address_ok_T_31) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_34 = $signed(_address_ok_T_33) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_35 = io_in_b_bits_address ^ 31'h20000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_36 = {1'b0,$signed(_address_ok_T_35)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_38 = $signed(_address_ok_T_36) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_39 = $signed(_address_ok_T_38) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_40 = io_in_b_bits_address ^ 31'h10034000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_41 = {1'b0,$signed(_address_ok_T_40)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_43 = $signed(_address_ok_T_41) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_44 = $signed(_address_ok_T_43) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_45 = io_in_b_bits_address ^ 31'h10024000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_46 = {1'b0,$signed(_address_ok_T_45)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_48 = $signed(_address_ok_T_46) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_49 = $signed(_address_ok_T_48) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_50 = io_in_b_bits_address ^ 31'h10012000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_51 = {1'b0,$signed(_address_ok_T_50)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_53 = $signed(_address_ok_T_51) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_54 = $signed(_address_ok_T_53) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_55 = io_in_b_bits_address ^ 31'h10015000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_56 = {1'b0,$signed(_address_ok_T_55)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_58 = $signed(_address_ok_T_56) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_59 = $signed(_address_ok_T_58) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_60 = io_in_b_bits_address ^ 31'h10025000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_61 = {1'b0,$signed(_address_ok_T_60)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_63 = $signed(_address_ok_T_61) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_64 = $signed(_address_ok_T_63) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_65 = io_in_b_bits_address ^ 31'h10035000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_66 = {1'b0,$signed(_address_ok_T_65)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_68 = $signed(_address_ok_T_66) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_69 = $signed(_address_ok_T_68) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_70 = io_in_b_bits_address ^ 31'h10016000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_71 = {1'b0,$signed(_address_ok_T_70)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_73 = $signed(_address_ok_T_71) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_74 = $signed(_address_ok_T_73) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_75 = io_in_b_bits_address ^ 31'h10026000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_76 = {1'b0,$signed(_address_ok_T_75)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_78 = $signed(_address_ok_T_76) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_79 = $signed(_address_ok_T_78) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_80 = io_in_b_bits_address ^ 31'hc000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_81 = {1'b0,$signed(_address_ok_T_80)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_83 = $signed(_address_ok_T_81) & -32'sh4000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_84 = $signed(_address_ok_T_83) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_85 = io_in_b_bits_address ^ 31'h2000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_86 = {1'b0,$signed(_address_ok_T_85)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_88 = $signed(_address_ok_T_86) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_89 = $signed(_address_ok_T_88) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _address_ok_T_93 = $signed(_T_1444) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_94 = $signed(_address_ok_T_93) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_95 = io_in_b_bits_address ^ 31'h8000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_96 = {1'b0,$signed(_address_ok_T_95)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_98 = $signed(_address_ok_T_96) & -32'sh4000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_99 = $signed(_address_ok_T_98) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_100 = io_in_b_bits_address ^ 31'h10000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_101 = {1'b0,$signed(_address_ok_T_100)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_103 = $signed(_address_ok_T_101) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_104 = $signed(_address_ok_T_103) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_105 = io_in_b_bits_address ^ 31'h10000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_106 = {1'b0,$signed(_address_ok_T_105)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_108 = $signed(_address_ok_T_106) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_109 = $signed(_address_ok_T_108) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_110 = io_in_b_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_111 = {1'b0,$signed(_address_ok_T_110)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_113 = $signed(_address_ok_T_111) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_114 = $signed(_address_ok_T_113) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  address_ok = _address_ok_T_4 | _address_ok_T_9 | _address_ok_T_14 | _address_ok_T_19 | _address_ok_T_24 |
+    _address_ok_T_29 | _address_ok_T_34 | _address_ok_T_39 | _address_ok_T_44 | _address_ok_T_49 | _address_ok_T_54 |
+    _address_ok_T_59 | _address_ok_T_64 | _address_ok_T_69 | _address_ok_T_74 | _address_ok_T_79 | _address_ok_T_84 |
+    _address_ok_T_89 | _address_ok_T_94 | _address_ok_T_99 | _address_ok_T_104 | _address_ok_T_109 | _address_ok_T_114; // @[Parameters.scala 622:64]
+  wire [30:0] _is_aligned_T_1 = io_in_b_bits_address & 31'h3f; // @[Edges.scala 20:16]
+  wire  is_aligned_1 = _is_aligned_T_1 == 31'h0; // @[Edges.scala 20:24]
+  wire [31:0] _T_1487 = $signed(_T_1444) & -32'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_1488 = $signed(_T_1487) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1517 = $signed(_address_ok_T_51) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_1518 = $signed(_T_1517) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1522 = $signed(_address_ok_T_31) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_1523 = $signed(_T_1522) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1532 = $signed(_address_ok_T_11) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_1533 = $signed(_T_1532) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1537 = $signed(_address_ok_T_46) & -32'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_1538 = $signed(_T_1537) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1547 = $signed(_address_ok_T_21) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_1548 = $signed(_T_1547) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_1572 = _T_1488 | _address_ok_T_4 | _address_ok_T_109 | _address_ok_T_89 | _address_ok_T_99 | _address_ok_T_84
+     | _T_1518 | _T_1523 | _address_ok_T_74 | _T_1533 | _T_1538 | _address_ok_T_79 | _T_1548 | _address_ok_T_39 |
+    _address_ok_T_114; // @[Parameters.scala 671:42]
+  wire  _T_1588 = io_in_b_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _source_ok_T_8 = io_in_c_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_9 = io_in_c_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_10 = io_in_c_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_2 = _source_ok_T_8 | _source_ok_T_9 | _source_ok_T_10; // @[Parameters.scala 1125:46]
+  wire [26:0] _is_aligned_mask_T_7 = 27'hfff << io_in_c_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask_2 = ~_is_aligned_mask_T_7[11:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_87 = {{19'd0}, is_aligned_mask_2}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T_2 = io_in_c_bits_address & _GEN_87; // @[Edges.scala 20:16]
+  wire  is_aligned_2 = _is_aligned_T_2 == 31'h0; // @[Edges.scala 20:24]
+  wire [30:0] _address_ok_T_136 = io_in_c_bits_address ^ 31'h3000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_137 = {1'b0,$signed(_address_ok_T_136)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_139 = $signed(_address_ok_T_137) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_140 = $signed(_address_ok_T_139) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_141 = io_in_c_bits_address ^ 31'h10013000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_142 = {1'b0,$signed(_address_ok_T_141)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_144 = $signed(_address_ok_T_142) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_145 = $signed(_address_ok_T_144) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_146 = io_in_c_bits_address ^ 31'h10023000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_147 = {1'b0,$signed(_address_ok_T_146)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_149 = $signed(_address_ok_T_147) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_150 = $signed(_address_ok_T_149) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_151 = io_in_c_bits_address ^ 31'h10033000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_152 = {1'b0,$signed(_address_ok_T_151)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_154 = $signed(_address_ok_T_152) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_155 = $signed(_address_ok_T_154) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_156 = io_in_c_bits_address ^ 31'h10043000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_157 = {1'b0,$signed(_address_ok_T_156)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_159 = $signed(_address_ok_T_157) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_160 = $signed(_address_ok_T_159) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_161 = io_in_c_bits_address ^ 31'h10053000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_162 = {1'b0,$signed(_address_ok_T_161)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_164 = $signed(_address_ok_T_162) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_165 = $signed(_address_ok_T_164) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_166 = io_in_c_bits_address ^ 31'h10014000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_167 = {1'b0,$signed(_address_ok_T_166)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_169 = $signed(_address_ok_T_167) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_170 = $signed(_address_ok_T_169) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_171 = io_in_c_bits_address ^ 31'h20000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_172 = {1'b0,$signed(_address_ok_T_171)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_174 = $signed(_address_ok_T_172) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_175 = $signed(_address_ok_T_174) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_176 = io_in_c_bits_address ^ 31'h10034000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_177 = {1'b0,$signed(_address_ok_T_176)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_179 = $signed(_address_ok_T_177) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_180 = $signed(_address_ok_T_179) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_181 = io_in_c_bits_address ^ 31'h10024000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_182 = {1'b0,$signed(_address_ok_T_181)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_184 = $signed(_address_ok_T_182) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_185 = $signed(_address_ok_T_184) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_186 = io_in_c_bits_address ^ 31'h10012000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_187 = {1'b0,$signed(_address_ok_T_186)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_189 = $signed(_address_ok_T_187) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_190 = $signed(_address_ok_T_189) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_191 = io_in_c_bits_address ^ 31'h10015000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_192 = {1'b0,$signed(_address_ok_T_191)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_194 = $signed(_address_ok_T_192) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_195 = $signed(_address_ok_T_194) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_196 = io_in_c_bits_address ^ 31'h10025000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_197 = {1'b0,$signed(_address_ok_T_196)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_199 = $signed(_address_ok_T_197) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_200 = $signed(_address_ok_T_199) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_201 = io_in_c_bits_address ^ 31'h10035000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_202 = {1'b0,$signed(_address_ok_T_201)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_204 = $signed(_address_ok_T_202) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_205 = $signed(_address_ok_T_204) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_206 = io_in_c_bits_address ^ 31'h10016000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_207 = {1'b0,$signed(_address_ok_T_206)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_209 = $signed(_address_ok_T_207) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_210 = $signed(_address_ok_T_209) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_211 = io_in_c_bits_address ^ 31'h10026000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_212 = {1'b0,$signed(_address_ok_T_211)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_214 = $signed(_address_ok_T_212) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_215 = $signed(_address_ok_T_214) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_216 = io_in_c_bits_address ^ 31'hc000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_217 = {1'b0,$signed(_address_ok_T_216)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_219 = $signed(_address_ok_T_217) & -32'sh4000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_220 = $signed(_address_ok_T_219) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_221 = io_in_c_bits_address ^ 31'h2000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_222 = {1'b0,$signed(_address_ok_T_221)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_224 = $signed(_address_ok_T_222) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_225 = $signed(_address_ok_T_224) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _address_ok_T_227 = {1'b0,$signed(io_in_c_bits_address)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_229 = $signed(_address_ok_T_227) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_230 = $signed(_address_ok_T_229) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_231 = io_in_c_bits_address ^ 31'h8000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_232 = {1'b0,$signed(_address_ok_T_231)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_234 = $signed(_address_ok_T_232) & -32'sh4000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_235 = $signed(_address_ok_T_234) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_236 = io_in_c_bits_address ^ 31'h10000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_237 = {1'b0,$signed(_address_ok_T_236)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_239 = $signed(_address_ok_T_237) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_240 = $signed(_address_ok_T_239) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_241 = io_in_c_bits_address ^ 31'h10000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_242 = {1'b0,$signed(_address_ok_T_241)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_244 = $signed(_address_ok_T_242) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_245 = $signed(_address_ok_T_244) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_246 = io_in_c_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_247 = {1'b0,$signed(_address_ok_T_246)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_249 = $signed(_address_ok_T_247) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_250 = $signed(_address_ok_T_249) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  address_ok_1 = _address_ok_T_140 | _address_ok_T_145 | _address_ok_T_150 | _address_ok_T_155 | _address_ok_T_160
+     | _address_ok_T_165 | _address_ok_T_170 | _address_ok_T_175 | _address_ok_T_180 | _address_ok_T_185 |
+    _address_ok_T_190 | _address_ok_T_195 | _address_ok_T_200 | _address_ok_T_205 | _address_ok_T_210 |
+    _address_ok_T_215 | _address_ok_T_220 | _address_ok_T_225 | _address_ok_T_230 | _address_ok_T_235 |
+    _address_ok_T_240 | _address_ok_T_245 | _address_ok_T_250; // @[Parameters.scala 622:64]
+  wire  _T_2341 = io_in_c_bits_opcode == 3'h4; // @[Monitor.scala 242:25]
+  wire  _T_2348 = io_in_c_bits_size >= 4'h2; // @[Monitor.scala 245:30]
+  wire  _T_2355 = io_in_c_bits_param <= 3'h5; // @[Bundles.scala 120:29]
+  wire  _T_2359 = ~io_in_c_bits_corrupt; // @[Monitor.scala 248:18]
+  wire  _T_2363 = io_in_c_bits_opcode == 3'h5; // @[Monitor.scala 251:25]
+  wire  _T_2381 = io_in_c_bits_opcode == 3'h6; // @[Monitor.scala 259:25]
+  wire  _T_2383 = io_in_c_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire  _T_2390 = _T_2383 & source_ok_2; // @[Parameters.scala 1160:30]
+  wire [31:0] _T_2396 = $signed(_address_ok_T_227) & -32'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_2397 = $signed(_T_2396) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2426 = $signed(_address_ok_T_187) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_2427 = $signed(_T_2426) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2431 = $signed(_address_ok_T_167) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_2432 = $signed(_T_2431) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2441 = $signed(_address_ok_T_147) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_2442 = $signed(_T_2441) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2446 = $signed(_address_ok_T_182) & -32'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_2447 = $signed(_T_2446) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2456 = $signed(_address_ok_T_157) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_2457 = $signed(_T_2456) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_2478 = io_in_c_bits_size <= 4'h6; // @[Parameters.scala 92:42]
+  wire  _T_2486 = _T_2478 & _address_ok_T_250; // @[Parameters.scala 670:56]
+  wire  _T_2489 = _T_2390 & _T_2486; // @[Monitor.scala 260:78]
+  wire  _T_2496 = 4'h6 == io_in_c_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_2497 = _source_ok_T_8 & _T_2496; // @[Mux.scala 27:73]
+  wire  _T_2594 = _T_2397 | _address_ok_T_140 | _address_ok_T_245 | _address_ok_T_225 | _address_ok_T_235 |
+    _address_ok_T_220 | _T_2427 | _T_2432 | _address_ok_T_210 | _T_2442 | _T_2447 | _address_ok_T_215 | _T_2457 |
+    _address_ok_T_175 | _address_ok_T_250; // @[Parameters.scala 671:42]
+  wire  _T_2595 = _T_2383 & _T_2594; // @[Parameters.scala 670:56]
+  wire  _T_2597 = _T_2497 & _T_2595; // @[Monitor.scala 261:78]
+  wire  _T_2619 = io_in_c_bits_opcode == 3'h7; // @[Monitor.scala 269:25]
+  wire  _T_2853 = io_in_c_bits_opcode == 3'h0; // @[Monitor.scala 278:25]
+  wire  _T_2863 = io_in_c_bits_param == 3'h0; // @[Monitor.scala 282:31]
+  wire  _T_2871 = io_in_c_bits_opcode == 3'h1; // @[Monitor.scala 286:25]
+  wire  _T_2885 = io_in_c_bits_opcode == 3'h2; // @[Monitor.scala 293:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [9:0] a_first_beats1_decode = is_aligned_mask[11:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [9:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1 = a_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [3:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [30:0] address; // @[Monitor.scala 388:22]
+  wire  _T_2907 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_2908 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_2912 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_2916 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_2920 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_2924 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [26:0] _d_first_beats1_decode_T_1 = 27'hfff << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [9:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1 = d_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [3:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  reg [1:0] sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_2931 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_2932 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_2936 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_2940 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_2944 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_2948 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_2952 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  wire  b_first_done = io_in_b_ready & io_in_b_valid; // @[Decoupled.scala 50:35]
+  reg [9:0] b_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] b_first_counter1 = b_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  b_first = b_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [1:0] param_2; // @[Monitor.scala 408:22]
+  reg [30:0] address_1; // @[Monitor.scala 411:22]
+  wire  _T_2959 = io_in_b_valid & ~b_first; // @[Monitor.scala 412:19]
+  wire  _T_2964 = io_in_b_bits_param == param_2; // @[Monitor.scala 414:32]
+  wire  _T_2976 = io_in_b_bits_address == address_1; // @[Monitor.scala 417:32]
+  wire  _c_first_T = io_in_c_ready & io_in_c_valid; // @[Decoupled.scala 50:35]
+  wire [9:0] c_first_beats1_decode = is_aligned_mask_2[11:2]; // @[Edges.scala 219:59]
+  wire  c_first_beats1_opdata = io_in_c_bits_opcode[0]; // @[Edges.scala 101:36]
+  reg [9:0] c_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] c_first_counter1 = c_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  c_first = c_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_3; // @[Monitor.scala 512:22]
+  reg [2:0] param_3; // @[Monitor.scala 513:22]
+  reg [3:0] size_3; // @[Monitor.scala 514:22]
+  reg [1:0] source_3; // @[Monitor.scala 515:22]
+  reg [30:0] address_2; // @[Monitor.scala 516:22]
+  wire  _T_2983 = io_in_c_valid & ~c_first; // @[Monitor.scala 517:19]
+  wire  _T_2984 = io_in_c_bits_opcode == opcode_3; // @[Monitor.scala 518:32]
+  wire  _T_2988 = io_in_c_bits_param == param_3; // @[Monitor.scala 519:32]
+  wire  _T_2992 = io_in_c_bits_size == size_3; // @[Monitor.scala 520:32]
+  wire  _T_2996 = io_in_c_bits_source == source_3; // @[Monitor.scala 521:32]
+  wire  _T_3000 = io_in_c_bits_address == address_2; // @[Monitor.scala 522:32]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [23:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [9:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1_1 = a_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  reg [9:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_1 = d_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_88 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_88}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_89 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_89 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [4:0] _a_size_lookup_T = {io_in_d_bits_source, 3'h0}; // @[Monitor.scala 638:65]
+  wire [23:0] _a_size_lookup_T_1 = inflight_sizes >> _a_size_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _a_size_lookup_T_5 = 16'h100 - 16'h1; // @[Monitor.scala 609:57]
+  wire [23:0] _GEN_91 = {{8'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_91; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[23:1]}; // @[Monitor.scala 638:144]
+  wire  _T_3006 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_27 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_3009 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [4:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [4:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 5'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_93 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_93}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [4:0] _a_sizes_set_T = {io_in_a_bits_source, 3'h0}; // @[Monitor.scala 657:77]
+  wire [4:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 5'h0; // @[Monitor.scala 652:72 655:28]
+  wire [35:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [35:0] _a_sizes_set_T_1 = _GEN_2 << _a_sizes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_3011 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_3013 = ~_T_3011[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_28 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_31 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [35:0] _GEN_32 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 36'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_3017 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_3019 = ~_T_1308; // @[Monitor.scala 671:74]
+  wire  _T_3020 = io_in_d_valid & d_first_1 & ~_T_1308; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_33 = io_in_d_valid & d_first_1 & ~_T_1308 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 671:90 672:22]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [46:0] _GEN_4 = {{31'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 678:74]
+  wire [46:0] _d_sizes_clr_T_5 = _GEN_4 << _a_size_lookup_T; // @[Monitor.scala 678:74]
+  wire [3:0] _GEN_34 = _d_first_T & d_first_1 & _T_3019 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_35 = _d_first_T & d_first_1 & _T_3019 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire [46:0] _GEN_36 = _d_first_T & d_first_1 & _T_3019 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 678:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_3006 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_3030 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_3032 = _T_3030[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_39 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_40 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_39; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_41 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_40; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_42 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_41; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_43 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_42; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_44 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_43; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_51 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_42; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_52 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_51; // @[Monitor.scala 686:{39,39}]
+  wire  _T_3037 = io_in_d_bits_opcode == _GEN_52; // @[Monitor.scala 686:39]
+  wire  _T_3038 = io_in_d_bits_opcode == _GEN_44 | _T_3037; // @[Monitor.scala 685:77]
+  wire  _T_3042 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_55 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_56 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_55; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_57 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_56; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_58 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_57; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_59 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_58; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_60 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_59; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_67 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_58; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_68 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_67; // @[Monitor.scala 690:{38,38}]
+  wire  _T_3049 = io_in_d_bits_opcode == _GEN_68; // @[Monitor.scala 690:38]
+  wire  _T_3050 = io_in_d_bits_opcode == _GEN_60 | _T_3049; // @[Monitor.scala 689:72]
+  wire [7:0] a_size_lookup = _a_size_lookup_T_7[7:0];
+  wire [7:0] _GEN_95 = {{4'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_3054 = _GEN_95 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_3064 = _T_3017 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_3019; // @[Monitor.scala 694:116]
+  wire  _T_3065 = ~io_in_d_ready; // @[Monitor.scala 695:15]
+  wire  _T_3066 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set_wo_ready = _GEN_27[2:0];
+  wire [2:0] d_clr_wo_ready = _GEN_33[2:0];
+  wire  _T_3073 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [2:0] a_set = _GEN_28[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_34[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_31[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_35[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [23:0] a_sizes_set = _GEN_32[23:0];
+  wire [23:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [23:0] d_sizes_clr = _GEN_36[23:0];
+  wire [23:0] _inflight_sizes_T_1 = ~d_sizes_clr; // @[Monitor.scala 704:56]
+  wire [23:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_sizes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_3082 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [23:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [9:0] c_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] c_first_counter1_1 = c_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  c_first_1 = c_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  reg [9:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_2 = d_first_counter_2 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 10'h0; // @[Edges.scala 230:25]
+  wire [23:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_size_lookup_T; // @[Monitor.scala 747:42]
+  wire [23:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_91; // @[Monitor.scala 747:93]
+  wire [23:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[23:1]}; // @[Monitor.scala 747:146]
+  wire  _T_3092 = io_in_c_bits_opcode[2] & io_in_c_bits_opcode[1]; // @[Edges.scala 67:40]
+  wire  _T_3093 = io_in_c_valid & c_first_1 & _T_3092; // @[Monitor.scala 756:37]
+  wire [3:0] _c_set_wo_ready_T = 4'h1 << io_in_c_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_72 = io_in_c_valid & c_first_1 & _T_3092 ? _c_set_wo_ready_T : 4'h0; // @[Monitor.scala 756:71 757:22]
+  wire  _T_3099 = _c_first_T & c_first_1 & _T_3092; // @[Monitor.scala 760:38]
+  wire [4:0] _c_sizes_set_interm_T = {io_in_c_bits_size, 1'h0}; // @[Monitor.scala 763:51]
+  wire [4:0] _c_sizes_set_interm_T_1 = _c_sizes_set_interm_T | 5'h1; // @[Monitor.scala 763:59]
+  wire [4:0] _c_sizes_set_T = {io_in_c_bits_source, 3'h0}; // @[Monitor.scala 765:77]
+  wire [4:0] c_sizes_set_interm = _c_first_T & c_first_1 & _T_3092 ? _c_sizes_set_interm_T_1 : 5'h0; // @[Monitor.scala 760:72 763:28]
+  wire [35:0] _GEN_5 = {{31'd0}, c_sizes_set_interm}; // @[Monitor.scala 765:52]
+  wire [35:0] _c_sizes_set_T_1 = _GEN_5 << _c_sizes_set_T; // @[Monitor.scala 765:52]
+  wire [2:0] _T_3100 = inflight_1 >> io_in_c_bits_source; // @[Monitor.scala 766:26]
+  wire  _T_3102 = ~_T_3100[0]; // @[Monitor.scala 766:17]
+  wire [3:0] _GEN_73 = _c_first_T & c_first_1 & _T_3092 ? _c_set_wo_ready_T : 4'h0; // @[Monitor.scala 760:72 761:28]
+  wire [35:0] _GEN_77 = _c_first_T & c_first_1 & _T_3092 ? _c_sizes_set_T_1 : 36'h0; // @[Monitor.scala 760:72 765:28]
+  wire  _T_3106 = io_in_d_valid & d_first_2; // @[Monitor.scala 779:26]
+  wire  _T_3108 = io_in_d_valid & d_first_2 & _T_1308; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_78 = io_in_d_valid & d_first_2 & _T_1308 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 779:89 780:22]
+  wire [3:0] _GEN_79 = _d_first_T & d_first_2 & _T_1308 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_81 = _d_first_T & d_first_2 & _T_1308 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 786:21]
+  wire  _same_cycle_resp_T_8 = io_in_c_bits_source == io_in_d_bits_source; // @[Monitor.scala 790:113]
+  wire  same_cycle_resp_1 = _T_3093 & io_in_c_bits_source == io_in_d_bits_source; // @[Monitor.scala 790:88]
+  wire [2:0] _T_3116 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire  _T_3118 = _T_3116[0] | same_cycle_resp_1; // @[Monitor.scala 791:49]
+  wire  _T_3122 = io_in_d_bits_size == io_in_c_bits_size; // @[Monitor.scala 793:36]
+  wire [7:0] c_size_lookup = _c_size_lookup_T_7[7:0];
+  wire  _T_3126 = _GEN_95 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire  _T_3135 = _T_3106 & c_first_1 & io_in_c_valid & _same_cycle_resp_T_8 & _T_1308; // @[Monitor.scala 799:116]
+  wire  _T_3137 = _T_3065 | io_in_c_ready; // @[Monitor.scala 800:32]
+  wire [2:0] c_set_wo_ready = _GEN_72[2:0];
+  wire  _T_3141 = |c_set_wo_ready; // @[Monitor.scala 804:28]
+  wire [2:0] d_clr_wo_ready_1 = _GEN_78[2:0];
+  wire  _T_3142 = c_set_wo_ready != d_clr_wo_ready_1; // @[Monitor.scala 805:31]
+  wire [2:0] c_set = _GEN_73[2:0];
+  wire [2:0] _inflight_T_3 = inflight_1 | c_set; // @[Monitor.scala 809:35]
+  wire [2:0] d_clr_1 = _GEN_79[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = _inflight_T_3 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [23:0] c_sizes_set = _GEN_77[23:0];
+  wire [23:0] _inflight_sizes_T_3 = inflight_sizes_1 | c_sizes_set; // @[Monitor.scala 811:41]
+  wire [23:0] d_sizes_clr_1 = _GEN_81[23:0];
+  wire [23:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
+  wire [23:0] _inflight_sizes_T_5 = _inflight_sizes_T_3 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_3151 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  reg [3:0] inflight_2; // @[Monitor.scala 823:27]
+  reg [9:0] d_first_counter_3; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_3 = d_first_counter_3 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_3 = d_first_counter_3 == 10'h0; // @[Edges.scala 230:25]
+  wire  _T_3163 = io_in_d_bits_opcode[2] & ~io_in_d_bits_opcode[1]; // @[Edges.scala 70:40]
+  wire  _T_3164 = _d_first_T & d_first_3 & _T_3163; // @[Monitor.scala 829:38]
+  wire [3:0] _d_set_T = 4'h1 << io_in_d_bits_sink; // @[OneHot.scala 57:35]
+  wire [3:0] _T_3165 = inflight_2 >> io_in_d_bits_sink; // @[Monitor.scala 831:23]
+  wire  _T_3167 = ~_T_3165[0]; // @[Monitor.scala 831:14]
+  wire [3:0] d_set = _d_first_T & d_first_3 & _T_3163 ? _d_set_T : 4'h0; // @[Monitor.scala 829:72 830:13]
+  wire [3:0] _e_clr_T = 4'h1 << io_in_e_bits_sink; // @[OneHot.scala 57:35]
+  wire [3:0] _T_3174 = d_set | inflight_2; // @[Monitor.scala 837:24]
+  wire [3:0] _T_3175 = _T_3174 >> io_in_e_bits_sink; // @[Monitor.scala 837:35]
+  wire [3:0] e_clr = io_in_e_valid ? _e_clr_T : 4'h0; // @[Monitor.scala 835:73 836:13]
+  wire [3:0] _inflight_T_6 = inflight_2 | d_set; // @[Monitor.scala 842:27]
+  wire [3:0] _inflight_T_7 = ~e_clr; // @[Monitor.scala 842:38]
+  wire [3:0] _inflight_T_8 = _inflight_T_6 & _inflight_T_7; // @[Monitor.scala 842:36]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 10'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 10'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      b_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (b_first_done) begin // @[Edges.scala 234:17]
+      if (b_first) begin // @[Edges.scala 235:21]
+        b_first_counter <= 10'h0;
+      end else begin
+        b_first_counter <= b_first_counter1;
+      end
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      param_2 <= io_in_b_bits_param; // @[Monitor.scala 421:15]
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      address_1 <= io_in_b_bits_address; // @[Monitor.scala 424:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      c_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_c_first_T) begin // @[Edges.scala 234:17]
+      if (c_first) begin // @[Edges.scala 235:21]
+        if (c_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          c_first_counter <= c_first_beats1_decode;
+        end else begin
+          c_first_counter <= 10'h0;
+        end
+      end else begin
+        c_first_counter <= c_first_counter1;
+      end
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      opcode_3 <= io_in_c_bits_opcode; // @[Monitor.scala 525:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      param_3 <= io_in_c_bits_param; // @[Monitor.scala 526:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      size_3 <= io_in_c_bits_size; // @[Monitor.scala 527:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      source_3 <= io_in_c_bits_source; // @[Monitor.scala 528:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      address_2 <= io_in_c_bits_address; // @[Monitor.scala 529:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 24'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 24'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      c_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_c_first_T) begin // @[Edges.scala 234:17]
+      if (c_first_1) begin // @[Edges.scala 235:21]
+        if (c_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          c_first_counter_1 <= c_first_beats1_decode;
+        end else begin
+          c_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        c_first_counter_1 <= c_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_c_first_T | _d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    if (reset) begin // @[Monitor.scala 823:27]
+      inflight_2 <= 4'h0; // @[Monitor.scala 823:27]
+    end else begin
+      inflight_2 <= _inflight_T_8; // @[Monitor.scala 842:14]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_3 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_3) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_3 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_3 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_3 <= d_first_counter1_3;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_141 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_141) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_249 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_249) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_263 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_263) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_268 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_268) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_272 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_272) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_141 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_141) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_249 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_249) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_263 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_263) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_510 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_510) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_268 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_268) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_272 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_272) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_42 & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~_T_42) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_636 & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~_T_636) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_272 & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~_T_272) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_771 & (io_in_a_valid & _T_658 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_658 & ~reset & ~_T_771) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_658 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_658 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_658 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_658 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_a_valid & _T_658 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_658 & ~reset & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_a_valid & _T_658 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_658 & ~reset & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_902 & (io_in_a_valid & _T_789 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_789 & ~reset & ~_T_902) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_789 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_789 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_789 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_789 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_a_valid & _T_789 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_789 & ~reset & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_918 & (io_in_a_valid & _T_789 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_789 & ~reset & ~_T_918) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1030 & (io_in_a_valid & _T_922 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_922 & ~reset & ~_T_1030) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_922 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_922 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_922 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_922 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1040 & (io_in_a_valid & _T_922 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_922 & ~reset & ~_T_1040) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_a_valid & _T_922 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_922 & ~reset & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1030 & (io_in_a_valid & _T_1048 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1048 & ~reset & ~_T_1030) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_1048 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1048 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_1048 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1048 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1166 & (io_in_a_valid & _T_1048 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1048 & ~reset & ~_T_1166) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_a_valid & _T_1048 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1048 & ~reset & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1282 & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~_T_1282) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1292 & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~_T_1292) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_272 & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~_T_272) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1304 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_1304) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1308 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1308 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1312 & (io_in_d_valid & _T_1308 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1308 & _T_2 & ~_T_1312) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1316 & (io_in_d_valid & _T_1308 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1308 & _T_2 & ~_T_1316) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1320 & (io_in_d_valid & _T_1308 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1308 & _T_2 & ~_T_1320) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1324 & (io_in_d_valid & _T_1308 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1308 & _T_2 & ~_T_1324) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1328 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1328 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1312 & (io_in_d_valid & _T_1328 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1328 & _T_2 & ~_T_1312) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1339 & (io_in_d_valid & _T_1328 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1328 & _T_2 & ~_T_1339) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1343 & (io_in_d_valid & _T_1328 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1328 & _T_2 & ~_T_1343) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1320 & (io_in_d_valid & _T_1328 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1328 & _T_2 & ~_T_1320) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1356 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1356 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1312 & (io_in_d_valid & _T_1356 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1356 & _T_2 & ~_T_1312) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1339 & (io_in_d_valid & _T_1356 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1356 & _T_2 & ~_T_1339) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1343 & (io_in_d_valid & _T_1356 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1356 & _T_2 & ~_T_1343) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1376 & (io_in_d_valid & _T_1356 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1356 & _T_2 & ~_T_1376) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1385 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1385 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1316 & (io_in_d_valid & _T_1385 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1385 & _T_2 & ~_T_1316) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1320 & (io_in_d_valid & _T_1385 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1385 & _T_2 & ~_T_1320) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1402 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1402 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1316 & (io_in_d_valid & _T_1402 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1402 & _T_2 & ~_T_1316) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1376 & (io_in_d_valid & _T_1402 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1402 & _T_2 & ~_T_1376) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1420 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1420 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1316 & (io_in_d_valid & _T_1420 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1420 & _T_2 & ~_T_1316) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1320 & (io_in_d_valid & _T_1420 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1420 & _T_2 & ~_T_1320) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1572 & (io_in_b_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2 & ~_T_1572) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries Probe type which is unexpected using diplomatic parameters (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok & (io_in_b_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2 & ~address_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe carries unmanaged address (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_1 & (io_in_b_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2 & ~is_aligned_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1588 & (io_in_b_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2 & ~_T_1588) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe carries invalid cap param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck carries unmanaged address (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2348 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~_T_2348) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck smaller than a beat (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2355 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~_T_2355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck carries invalid report param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2359 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~_T_2359) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck is corrupt (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2363 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2363 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData carries unmanaged address (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2363 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2363 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2348 & (io_in_c_valid & _T_2363 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2363 & ~reset & ~_T_2348) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData smaller than a beat (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2363 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2363 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2355 & (io_in_c_valid & _T_2363 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2363 & ~reset & ~_T_2355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData carries invalid report param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2489 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~_T_2489) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries Release type unsupported by manager (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2597 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~_T_2597) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2348 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~_T_2348) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release smaller than a beat (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2355 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~_T_2355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release carries invalid report param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2359 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~_T_2359) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release is corrupt (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2489 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~_T_2489) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries ReleaseData type unsupported by manager (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2597 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~_T_2597) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2348 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~_T_2348) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData smaller than a beat (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2355 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~_T_2355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData carries invalid report param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2853 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2853 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck carries unmanaged address (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2853 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2853 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2853 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2853 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2863 & (io_in_c_valid & _T_2853 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2853 & ~reset & ~_T_2863) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck carries invalid param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2359 & (io_in_c_valid & _T_2853 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2853 & ~reset & ~_T_2359) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck is corrupt (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2871 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2871 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData carries unmanaged address (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2871 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2871 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2871 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2871 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2863 & (io_in_c_valid & _T_2871 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2871 & ~reset & ~_T_2863) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData carries invalid param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2885 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2885 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck carries unmanaged address (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2885 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2885 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck carries invalid source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2885 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2885 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck address not aligned to size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2863 & (io_in_c_valid & _T_2885 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2885 & ~reset & ~_T_2863) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck carries invalid param (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2359 & (io_in_c_valid & _T_2885 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2885 & ~reset & ~_T_2359) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck is corrupt (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2908 & (_T_2907 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2907 & ~reset & ~_T_2908) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2912 & (_T_2907 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2907 & ~reset & ~_T_2912) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2916 & (_T_2907 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2907 & ~reset & ~_T_2916) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2920 & (_T_2907 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2907 & ~reset & ~_T_2920) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2924 & (_T_2907 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2907 & ~reset & ~_T_2924) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2932 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2932) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2936 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2936) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2940 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2940) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2944 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2944) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2948 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2948) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2952 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2952) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2964 & (_T_2959 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2959 & ~reset & ~_T_2964) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel param changed within multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2976 & (_T_2959 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2959 & ~reset & ~_T_2976) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel addresss changed with multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2984 & (_T_2983 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2983 & ~reset & ~_T_2984) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel opcode changed within multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2988 & (_T_2983 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2983 & ~reset & ~_T_2988) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel param changed within multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2992 & (_T_2983 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2983 & ~reset & ~_T_2992) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel size changed within multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2996 & (_T_2983 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2983 & ~reset & ~_T_2996) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel source changed within multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3000 & (_T_2983 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2983 & ~reset & ~_T_3000) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel address changed with multibeat operation (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3013 & (_T_3009 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3009 & ~reset & ~_T_3013) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3032 & (_T_3020 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3020 & _T_2 & ~_T_3032) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3038 & (_T_3020 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3020 & same_cycle_resp & _T_2 & ~_T_3038) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3042 & (_T_3020 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3020 & same_cycle_resp & _T_2 & ~_T_3042) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3050 & (_T_3020 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3020 & ~same_cycle_resp & _T_2 & ~_T_3050) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3054 & (_T_3020 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3020 & ~same_cycle_resp & _T_2 & ~_T_3054) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3066 & (_T_3064 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3064 & _T_2 & ~_T_3066) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3073 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_3073) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3082 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_3082) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3102 & (_T_3099 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3099 & ~reset & ~_T_3102) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel re-used a source ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3118 & (_T_3108 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3108 & _T_2 & ~_T_3118) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3122 & (_T_3108 & same_cycle_resp_1 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3108 & same_cycle_resp_1 & _T_2 & ~_T_3122) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3126 & (_T_3108 & ~same_cycle_resp_1 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3108 & ~same_cycle_resp_1 & _T_2 & ~_T_3126) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3137 & (_T_3135 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3135 & _T_2 & ~_T_3137) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3142 & (_T_3141 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3141 & _T_2 & ~_T_3142) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' and 'D' concurrent, despite minlatency 1 (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3151 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_3151) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3167 & (_T_3164 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3164 & _T_2 & ~_T_3167) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel re-used a sink ID (connected at SystemBus.scala:41:96)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3175[0] & (io_in_e_valid & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_e_valid & ~reset & ~_T_3175[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'E' channel acknowledged for nothing inflight (connected at SystemBus.scala:41:96)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[9:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[30:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[9:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  param_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  size_1 = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  source_1 = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  sink = _RAND_11[1:0];
+  _RAND_12 = {1{`RANDOM}};
+  denied = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  b_first_counter = _RAND_13[9:0];
+  _RAND_14 = {1{`RANDOM}};
+  param_2 = _RAND_14[1:0];
+  _RAND_15 = {1{`RANDOM}};
+  address_1 = _RAND_15[30:0];
+  _RAND_16 = {1{`RANDOM}};
+  c_first_counter = _RAND_16[9:0];
+  _RAND_17 = {1{`RANDOM}};
+  opcode_3 = _RAND_17[2:0];
+  _RAND_18 = {1{`RANDOM}};
+  param_3 = _RAND_18[2:0];
+  _RAND_19 = {1{`RANDOM}};
+  size_3 = _RAND_19[3:0];
+  _RAND_20 = {1{`RANDOM}};
+  source_3 = _RAND_20[1:0];
+  _RAND_21 = {1{`RANDOM}};
+  address_2 = _RAND_21[30:0];
+  _RAND_22 = {1{`RANDOM}};
+  inflight = _RAND_22[2:0];
+  _RAND_23 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_23[11:0];
+  _RAND_24 = {1{`RANDOM}};
+  inflight_sizes = _RAND_24[23:0];
+  _RAND_25 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_25[9:0];
+  _RAND_26 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_26[9:0];
+  _RAND_27 = {1{`RANDOM}};
+  watchdog = _RAND_27[31:0];
+  _RAND_28 = {1{`RANDOM}};
+  inflight_1 = _RAND_28[2:0];
+  _RAND_29 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_29[23:0];
+  _RAND_30 = {1{`RANDOM}};
+  c_first_counter_1 = _RAND_30[9:0];
+  _RAND_31 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_31[9:0];
+  _RAND_32 = {1{`RANDOM}};
+  watchdog_1 = _RAND_32[31:0];
+  _RAND_33 = {1{`RANDOM}};
+  inflight_2 = _RAND_33[3:0];
+  _RAND_34 = {1{`RANDOM}};
+  d_first_counter_3 = _RAND_34[9:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFIFOFixer(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [3:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_b_ready,
+  output        auto_in_b_valid,
+  output [1:0]  auto_in_b_bits_param,
+  output [30:0] auto_in_b_bits_address,
+  output        auto_in_c_ready,
+  input         auto_in_c_valid,
+  input  [2:0]  auto_in_c_bits_opcode,
+  input  [2:0]  auto_in_c_bits_param,
+  input  [3:0]  auto_in_c_bits_size,
+  input  [1:0]  auto_in_c_bits_source,
+  input  [30:0] auto_in_c_bits_address,
+  input  [31:0] auto_in_c_bits_data,
+  input         auto_in_c_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [3:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [1:0]  auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_in_e_valid,
+  input  [1:0]  auto_in_e_bits_sink,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [3:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_b_ready,
+  input         auto_out_b_valid,
+  input  [1:0]  auto_out_b_bits_param,
+  input  [30:0] auto_out_b_bits_address,
+  input         auto_out_c_ready,
+  output        auto_out_c_valid,
+  output [2:0]  auto_out_c_bits_opcode,
+  output [2:0]  auto_out_c_bits_param,
+  output [3:0]  auto_out_c_bits_size,
+  output [1:0]  auto_out_c_bits_source,
+  output [30:0] auto_out_c_bits_address,
+  output [31:0] auto_out_c_bits_data,
+  output        auto_out_c_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [3:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input  [1:0]  auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt,
+  output        auto_out_e_valid,
+  output [1:0]  auto_out_e_bits_sink
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_b_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_b_valid; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_b_bits_param; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_b_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_c_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_c_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_c_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_c_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_c_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_c_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_c_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_c_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_e_valid; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_e_bits_sink; // @[Nodes.scala 24:25]
+  TLMonitor_1 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_b_ready(monitor_io_in_b_ready),
+    .io_in_b_valid(monitor_io_in_b_valid),
+    .io_in_b_bits_param(monitor_io_in_b_bits_param),
+    .io_in_b_bits_address(monitor_io_in_b_bits_address),
+    .io_in_c_ready(monitor_io_in_c_ready),
+    .io_in_c_valid(monitor_io_in_c_valid),
+    .io_in_c_bits_opcode(monitor_io_in_c_bits_opcode),
+    .io_in_c_bits_param(monitor_io_in_c_bits_param),
+    .io_in_c_bits_size(monitor_io_in_c_bits_size),
+    .io_in_c_bits_source(monitor_io_in_c_bits_source),
+    .io_in_c_bits_address(monitor_io_in_c_bits_address),
+    .io_in_c_bits_corrupt(monitor_io_in_c_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt),
+    .io_in_e_valid(monitor_io_in_e_valid),
+    .io_in_e_bits_sink(monitor_io_in_e_bits_sink)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[FIFOFixer.scala 88:33]
+  assign auto_in_b_valid = auto_out_b_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_bits_param = auto_out_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_bits_address = auto_out_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_c_ready = auto_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[FIFOFixer.scala 87:33]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_b_ready = auto_in_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_valid = auto_in_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_opcode = auto_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_param = auto_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_size = auto_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_source = auto_in_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_address = auto_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_data = auto_in_c_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_corrupt = auto_in_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_e_valid = auto_in_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_e_bits_sink = auto_in_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = auto_out_a_ready; // @[FIFOFixer.scala 88:33]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_b_ready = auto_in_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_b_valid = auto_out_b_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_b_bits_param = auto_out_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_b_bits_address = auto_out_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_c_ready = auto_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_c_valid = auto_in_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_opcode = auto_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_param = auto_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_size = auto_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_source = auto_in_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_address = auto_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_corrupt = auto_in_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_e_valid = auto_in_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_e_bits_sink = auto_in_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLWidthWidget(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [3:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [3:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [3:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [3:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input         auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLInterconnectCoupler(
+  output        auto_widget_in_a_ready,
+  input         auto_widget_in_a_valid,
+  input  [2:0]  auto_widget_in_a_bits_opcode,
+  input  [2:0]  auto_widget_in_a_bits_param,
+  input  [3:0]  auto_widget_in_a_bits_size,
+  input  [1:0]  auto_widget_in_a_bits_source,
+  input  [29:0] auto_widget_in_a_bits_address,
+  input  [3:0]  auto_widget_in_a_bits_mask,
+  input  [31:0] auto_widget_in_a_bits_data,
+  input         auto_widget_in_a_bits_corrupt,
+  input         auto_widget_in_d_ready,
+  output        auto_widget_in_d_valid,
+  output [2:0]  auto_widget_in_d_bits_opcode,
+  output [1:0]  auto_widget_in_d_bits_param,
+  output [3:0]  auto_widget_in_d_bits_size,
+  output [1:0]  auto_widget_in_d_bits_source,
+  output        auto_widget_in_d_bits_sink,
+  output        auto_widget_in_d_bits_denied,
+  output [31:0] auto_widget_in_d_bits_data,
+  output        auto_widget_in_d_bits_corrupt,
+  input         auto_bus_xing_out_a_ready,
+  output        auto_bus_xing_out_a_valid,
+  output [2:0]  auto_bus_xing_out_a_bits_opcode,
+  output [2:0]  auto_bus_xing_out_a_bits_param,
+  output [3:0]  auto_bus_xing_out_a_bits_size,
+  output [1:0]  auto_bus_xing_out_a_bits_source,
+  output [29:0] auto_bus_xing_out_a_bits_address,
+  output [3:0]  auto_bus_xing_out_a_bits_mask,
+  output [31:0] auto_bus_xing_out_a_bits_data,
+  output        auto_bus_xing_out_a_bits_corrupt,
+  output        auto_bus_xing_out_d_ready,
+  input         auto_bus_xing_out_d_valid,
+  input  [2:0]  auto_bus_xing_out_d_bits_opcode,
+  input  [1:0]  auto_bus_xing_out_d_bits_param,
+  input  [3:0]  auto_bus_xing_out_d_bits_size,
+  input  [1:0]  auto_bus_xing_out_d_bits_source,
+  input         auto_bus_xing_out_d_bits_sink,
+  input         auto_bus_xing_out_d_bits_denied,
+  input  [31:0] auto_bus_xing_out_d_bits_data,
+  input         auto_bus_xing_out_d_bits_corrupt
+);
+  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_a_bits_source; // @[WidthWidget.scala 219:28]
+  wire [29:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_in_a_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_d_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_d_bits_param; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_d_bits_source; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_bits_sink; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_bits_denied; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_bits_corrupt; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_a_bits_source; // @[WidthWidget.scala 219:28]
+  wire [29:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_out_a_bits_mask; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_out_a_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_d_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_d_bits_param; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_d_bits_source; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_bits_sink; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_bits_denied; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_bits_corrupt; // @[WidthWidget.scala 219:28]
+  TLWidthWidget widget ( // @[WidthWidget.scala 219:28]
+    .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 309:16]
+  assign auto_widget_in_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_opcode = widget_auto_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_param = widget_auto_in_d_bits_param; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_sink = widget_auto_in_d_bits_sink; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_denied = widget_auto_in_d_bits_denied; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_corrupt = widget_auto_in_d_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign auto_bus_xing_out_a_valid = widget_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_param = widget_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_size = widget_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_source = widget_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_address = widget_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_mask = widget_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_data = widget_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_d_ready = widget_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign widget_auto_in_a_valid = auto_widget_in_a_valid; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_opcode = auto_widget_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_param = auto_widget_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_size = auto_widget_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_source = auto_widget_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_address = auto_widget_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_mask = auto_widget_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_data = auto_widget_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_corrupt = auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_d_ready = auto_widget_in_d_ready; // @[LazyModule.scala 309:16]
+  assign widget_auto_out_a_ready = auto_bus_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_valid = auto_bus_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_opcode = auto_bus_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_param = auto_bus_xing_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_size = auto_bus_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_source = auto_bus_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_sink = auto_bus_xing_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_denied = auto_bus_xing_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_data = auto_bus_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_corrupt = auto_bus_xing_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLWidthWidget_2(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_b_ready,
+  output        auto_in_b_valid,
+  output [1:0]  auto_in_b_bits_param,
+  output [30:0] auto_in_b_bits_address,
+  output        auto_in_c_ready,
+  input         auto_in_c_valid,
+  input  [2:0]  auto_in_c_bits_opcode,
+  input  [2:0]  auto_in_c_bits_param,
+  input  [2:0]  auto_in_c_bits_size,
+  input  [1:0]  auto_in_c_bits_source,
+  input  [30:0] auto_in_c_bits_address,
+  input  [31:0] auto_in_c_bits_data,
+  input         auto_in_c_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [1:0]  auto_in_d_bits_sink,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_in_e_valid,
+  input  [1:0]  auto_in_e_bits_sink,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_b_ready,
+  input         auto_out_b_valid,
+  input  [1:0]  auto_out_b_bits_param,
+  input  [30:0] auto_out_b_bits_address,
+  input         auto_out_c_ready,
+  output        auto_out_c_valid,
+  output [2:0]  auto_out_c_bits_opcode,
+  output [2:0]  auto_out_c_bits_param,
+  output [2:0]  auto_out_c_bits_size,
+  output [1:0]  auto_out_c_bits_source,
+  output [30:0] auto_out_c_bits_address,
+  output [31:0] auto_out_c_bits_data,
+  output        auto_out_c_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input  [1:0]  auto_out_d_bits_sink,
+  input  [31:0] auto_out_d_bits_data,
+  output        auto_out_e_valid,
+  output [1:0]  auto_out_e_bits_sink
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_valid = auto_out_b_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_bits_param = auto_out_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_bits_address = auto_out_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_c_ready = auto_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_b_ready = auto_in_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_valid = auto_in_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_opcode = auto_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_param = auto_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_size = auto_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_source = auto_in_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_address = auto_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_data = auto_in_c_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_corrupt = auto_in_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_e_valid = auto_in_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_e_bits_sink = auto_in_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLInterconnectCoupler_2(
+  output        auto_widget_in_a_ready,
+  input         auto_widget_in_a_valid,
+  input  [2:0]  auto_widget_in_a_bits_opcode,
+  input  [2:0]  auto_widget_in_a_bits_param,
+  input  [2:0]  auto_widget_in_a_bits_size,
+  input  [1:0]  auto_widget_in_a_bits_source,
+  input  [30:0] auto_widget_in_a_bits_address,
+  input  [3:0]  auto_widget_in_a_bits_mask,
+  input  [31:0] auto_widget_in_a_bits_data,
+  input         auto_widget_in_a_bits_corrupt,
+  input         auto_widget_in_b_ready,
+  output        auto_widget_in_b_valid,
+  output [1:0]  auto_widget_in_b_bits_param,
+  output [30:0] auto_widget_in_b_bits_address,
+  output        auto_widget_in_c_ready,
+  input         auto_widget_in_c_valid,
+  input  [2:0]  auto_widget_in_c_bits_opcode,
+  input  [2:0]  auto_widget_in_c_bits_param,
+  input  [2:0]  auto_widget_in_c_bits_size,
+  input  [1:0]  auto_widget_in_c_bits_source,
+  input  [30:0] auto_widget_in_c_bits_address,
+  input  [31:0] auto_widget_in_c_bits_data,
+  input         auto_widget_in_c_bits_corrupt,
+  input         auto_widget_in_d_ready,
+  output        auto_widget_in_d_valid,
+  output [2:0]  auto_widget_in_d_bits_opcode,
+  output [1:0]  auto_widget_in_d_bits_param,
+  output [2:0]  auto_widget_in_d_bits_size,
+  output [1:0]  auto_widget_in_d_bits_source,
+  output [1:0]  auto_widget_in_d_bits_sink,
+  output [31:0] auto_widget_in_d_bits_data,
+  input         auto_widget_in_e_valid,
+  input  [1:0]  auto_widget_in_e_bits_sink,
+  input         auto_widget_out_a_ready,
+  output        auto_widget_out_a_valid,
+  output [2:0]  auto_widget_out_a_bits_opcode,
+  output [2:0]  auto_widget_out_a_bits_param,
+  output [2:0]  auto_widget_out_a_bits_size,
+  output [1:0]  auto_widget_out_a_bits_source,
+  output [30:0] auto_widget_out_a_bits_address,
+  output [3:0]  auto_widget_out_a_bits_mask,
+  output [31:0] auto_widget_out_a_bits_data,
+  output        auto_widget_out_a_bits_corrupt,
+  output        auto_widget_out_b_ready,
+  input         auto_widget_out_b_valid,
+  input  [1:0]  auto_widget_out_b_bits_param,
+  input  [30:0] auto_widget_out_b_bits_address,
+  input         auto_widget_out_c_ready,
+  output        auto_widget_out_c_valid,
+  output [2:0]  auto_widget_out_c_bits_opcode,
+  output [2:0]  auto_widget_out_c_bits_param,
+  output [2:0]  auto_widget_out_c_bits_size,
+  output [1:0]  auto_widget_out_c_bits_source,
+  output [30:0] auto_widget_out_c_bits_address,
+  output [31:0] auto_widget_out_c_bits_data,
+  output        auto_widget_out_c_bits_corrupt,
+  output        auto_widget_out_d_ready,
+  input         auto_widget_out_d_valid,
+  input  [2:0]  auto_widget_out_d_bits_opcode,
+  input  [1:0]  auto_widget_out_d_bits_param,
+  input  [2:0]  auto_widget_out_d_bits_size,
+  input  [1:0]  auto_widget_out_d_bits_source,
+  input  [1:0]  auto_widget_out_d_bits_sink,
+  input  [31:0] auto_widget_out_d_bits_data,
+  output        auto_widget_out_e_valid,
+  output [1:0]  auto_widget_out_e_bits_sink
+);
+  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_a_bits_source; // @[WidthWidget.scala 219:28]
+  wire [30:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_in_a_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_b_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_b_valid; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_b_bits_param; // @[WidthWidget.scala 219:28]
+  wire [30:0] widget_auto_in_b_bits_address; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_c_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_c_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_c_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_c_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_c_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_c_bits_source; // @[WidthWidget.scala 219:28]
+  wire [30:0] widget_auto_in_c_bits_address; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_in_c_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_c_bits_corrupt; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_d_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_d_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_d_bits_source; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_d_bits_sink; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_e_valid; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_e_bits_sink; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_a_bits_source; // @[WidthWidget.scala 219:28]
+  wire [30:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_out_a_bits_mask; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_out_a_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_b_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_b_valid; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_b_bits_param; // @[WidthWidget.scala 219:28]
+  wire [30:0] widget_auto_out_b_bits_address; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_c_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_c_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_c_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_c_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_c_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_c_bits_source; // @[WidthWidget.scala 219:28]
+  wire [30:0] widget_auto_out_c_bits_address; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_out_c_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_c_bits_corrupt; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_d_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_d_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_d_bits_source; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_d_bits_sink; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_e_valid; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_e_bits_sink; // @[WidthWidget.scala 219:28]
+  TLWidthWidget_2 widget ( // @[WidthWidget.scala 219:28]
+    .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_b_ready(widget_auto_in_b_ready),
+    .auto_in_b_valid(widget_auto_in_b_valid),
+    .auto_in_b_bits_param(widget_auto_in_b_bits_param),
+    .auto_in_b_bits_address(widget_auto_in_b_bits_address),
+    .auto_in_c_ready(widget_auto_in_c_ready),
+    .auto_in_c_valid(widget_auto_in_c_valid),
+    .auto_in_c_bits_opcode(widget_auto_in_c_bits_opcode),
+    .auto_in_c_bits_param(widget_auto_in_c_bits_param),
+    .auto_in_c_bits_size(widget_auto_in_c_bits_size),
+    .auto_in_c_bits_source(widget_auto_in_c_bits_source),
+    .auto_in_c_bits_address(widget_auto_in_c_bits_address),
+    .auto_in_c_bits_data(widget_auto_in_c_bits_data),
+    .auto_in_c_bits_corrupt(widget_auto_in_c_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_data(widget_auto_in_d_bits_data),
+    .auto_in_e_valid(widget_auto_in_e_valid),
+    .auto_in_e_bits_sink(widget_auto_in_e_bits_sink),
+    .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_b_ready(widget_auto_out_b_ready),
+    .auto_out_b_valid(widget_auto_out_b_valid),
+    .auto_out_b_bits_param(widget_auto_out_b_bits_param),
+    .auto_out_b_bits_address(widget_auto_out_b_bits_address),
+    .auto_out_c_ready(widget_auto_out_c_ready),
+    .auto_out_c_valid(widget_auto_out_c_valid),
+    .auto_out_c_bits_opcode(widget_auto_out_c_bits_opcode),
+    .auto_out_c_bits_param(widget_auto_out_c_bits_param),
+    .auto_out_c_bits_size(widget_auto_out_c_bits_size),
+    .auto_out_c_bits_source(widget_auto_out_c_bits_source),
+    .auto_out_c_bits_address(widget_auto_out_c_bits_address),
+    .auto_out_c_bits_data(widget_auto_out_c_bits_data),
+    .auto_out_c_bits_corrupt(widget_auto_out_c_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_data(widget_auto_out_d_bits_data),
+    .auto_out_e_valid(widget_auto_out_e_valid),
+    .auto_out_e_bits_sink(widget_auto_out_e_bits_sink)
+  );
+  assign auto_widget_in_a_ready = widget_auto_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_b_valid = widget_auto_in_b_valid; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_b_bits_param = widget_auto_in_b_bits_param; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_b_bits_address = widget_auto_in_b_bits_address; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_c_ready = widget_auto_in_c_ready; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_opcode = widget_auto_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_param = widget_auto_in_d_bits_param; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_sink = widget_auto_in_d_bits_sink; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_widget_out_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_a_bits_data = widget_auto_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_b_ready = widget_auto_out_b_ready; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_c_valid = widget_auto_out_c_valid; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_c_bits_opcode = widget_auto_out_c_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_c_bits_param = widget_auto_out_c_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_c_bits_size = widget_auto_out_c_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_c_bits_source = widget_auto_out_c_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_c_bits_address = widget_auto_out_c_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_c_bits_data = widget_auto_out_c_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_c_bits_corrupt = widget_auto_out_c_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_e_valid = widget_auto_out_e_valid; // @[LazyModule.scala 311:12]
+  assign auto_widget_out_e_bits_sink = widget_auto_out_e_bits_sink; // @[LazyModule.scala 311:12]
+  assign widget_auto_in_a_valid = auto_widget_in_a_valid; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_opcode = auto_widget_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_param = auto_widget_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_size = auto_widget_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_source = auto_widget_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_address = auto_widget_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_mask = auto_widget_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_data = auto_widget_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_corrupt = auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_b_ready = auto_widget_in_b_ready; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_c_valid = auto_widget_in_c_valid; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_c_bits_opcode = auto_widget_in_c_bits_opcode; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_c_bits_param = auto_widget_in_c_bits_param; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_c_bits_size = auto_widget_in_c_bits_size; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_c_bits_source = auto_widget_in_c_bits_source; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_c_bits_address = auto_widget_in_c_bits_address; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_c_bits_data = auto_widget_in_c_bits_data; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_c_bits_corrupt = auto_widget_in_c_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_d_ready = auto_widget_in_d_ready; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_e_valid = auto_widget_in_e_valid; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_e_bits_sink = auto_widget_in_e_bits_sink; // @[LazyModule.scala 309:16]
+  assign widget_auto_out_a_ready = auto_widget_out_a_ready; // @[LazyModule.scala 311:12]
+  assign widget_auto_out_b_valid = auto_widget_out_b_valid; // @[LazyModule.scala 311:12]
+  assign widget_auto_out_b_bits_param = auto_widget_out_b_bits_param; // @[LazyModule.scala 311:12]
+  assign widget_auto_out_b_bits_address = auto_widget_out_b_bits_address; // @[LazyModule.scala 311:12]
+  assign widget_auto_out_c_ready = auto_widget_out_c_ready; // @[LazyModule.scala 311:12]
+  assign widget_auto_out_d_valid = auto_widget_out_d_valid; // @[LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_opcode = auto_widget_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_param = auto_widget_out_d_bits_param; // @[LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_size = auto_widget_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_source = auto_widget_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_sink = auto_widget_out_d_bits_sink; // @[LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_data = auto_widget_out_d_bits_data; // @[LazyModule.scala 311:12]
+endmodule
+module TLInterconnectCoupler_3(
+  output        auto_tl_master_clock_xing_in_a_ready,
+  input         auto_tl_master_clock_xing_in_a_valid,
+  input  [2:0]  auto_tl_master_clock_xing_in_a_bits_opcode,
+  input  [2:0]  auto_tl_master_clock_xing_in_a_bits_param,
+  input  [3:0]  auto_tl_master_clock_xing_in_a_bits_size,
+  input  [1:0]  auto_tl_master_clock_xing_in_a_bits_source,
+  input  [30:0] auto_tl_master_clock_xing_in_a_bits_address,
+  input  [3:0]  auto_tl_master_clock_xing_in_a_bits_mask,
+  input  [31:0] auto_tl_master_clock_xing_in_a_bits_data,
+  input         auto_tl_master_clock_xing_in_a_bits_corrupt,
+  input         auto_tl_master_clock_xing_in_b_ready,
+  output        auto_tl_master_clock_xing_in_b_valid,
+  output [1:0]  auto_tl_master_clock_xing_in_b_bits_param,
+  output [30:0] auto_tl_master_clock_xing_in_b_bits_address,
+  output        auto_tl_master_clock_xing_in_c_ready,
+  input         auto_tl_master_clock_xing_in_c_valid,
+  input  [2:0]  auto_tl_master_clock_xing_in_c_bits_opcode,
+  input  [2:0]  auto_tl_master_clock_xing_in_c_bits_param,
+  input  [3:0]  auto_tl_master_clock_xing_in_c_bits_size,
+  input  [1:0]  auto_tl_master_clock_xing_in_c_bits_source,
+  input  [30:0] auto_tl_master_clock_xing_in_c_bits_address,
+  input  [31:0] auto_tl_master_clock_xing_in_c_bits_data,
+  input         auto_tl_master_clock_xing_in_c_bits_corrupt,
+  input         auto_tl_master_clock_xing_in_d_ready,
+  output        auto_tl_master_clock_xing_in_d_valid,
+  output [2:0]  auto_tl_master_clock_xing_in_d_bits_opcode,
+  output [1:0]  auto_tl_master_clock_xing_in_d_bits_param,
+  output [3:0]  auto_tl_master_clock_xing_in_d_bits_size,
+  output [1:0]  auto_tl_master_clock_xing_in_d_bits_source,
+  output [1:0]  auto_tl_master_clock_xing_in_d_bits_sink,
+  output        auto_tl_master_clock_xing_in_d_bits_denied,
+  output [31:0] auto_tl_master_clock_xing_in_d_bits_data,
+  output        auto_tl_master_clock_xing_in_d_bits_corrupt,
+  input         auto_tl_master_clock_xing_in_e_valid,
+  input  [1:0]  auto_tl_master_clock_xing_in_e_bits_sink,
+  input         auto_tl_out_a_ready,
+  output        auto_tl_out_a_valid,
+  output [2:0]  auto_tl_out_a_bits_opcode,
+  output [2:0]  auto_tl_out_a_bits_param,
+  output [3:0]  auto_tl_out_a_bits_size,
+  output [1:0]  auto_tl_out_a_bits_source,
+  output [30:0] auto_tl_out_a_bits_address,
+  output [3:0]  auto_tl_out_a_bits_mask,
+  output [31:0] auto_tl_out_a_bits_data,
+  output        auto_tl_out_a_bits_corrupt,
+  output        auto_tl_out_b_ready,
+  input         auto_tl_out_b_valid,
+  input  [1:0]  auto_tl_out_b_bits_param,
+  input  [30:0] auto_tl_out_b_bits_address,
+  input         auto_tl_out_c_ready,
+  output        auto_tl_out_c_valid,
+  output [2:0]  auto_tl_out_c_bits_opcode,
+  output [2:0]  auto_tl_out_c_bits_param,
+  output [3:0]  auto_tl_out_c_bits_size,
+  output [1:0]  auto_tl_out_c_bits_source,
+  output [30:0] auto_tl_out_c_bits_address,
+  output [31:0] auto_tl_out_c_bits_data,
+  output        auto_tl_out_c_bits_corrupt,
+  output        auto_tl_out_d_ready,
+  input         auto_tl_out_d_valid,
+  input  [2:0]  auto_tl_out_d_bits_opcode,
+  input  [1:0]  auto_tl_out_d_bits_param,
+  input  [3:0]  auto_tl_out_d_bits_size,
+  input  [1:0]  auto_tl_out_d_bits_source,
+  input  [1:0]  auto_tl_out_d_bits_sink,
+  input         auto_tl_out_d_bits_denied,
+  input  [31:0] auto_tl_out_d_bits_data,
+  input         auto_tl_out_d_bits_corrupt,
+  output        auto_tl_out_e_valid,
+  output [1:0]  auto_tl_out_e_bits_sink
+);
+  assign auto_tl_master_clock_xing_in_a_ready = auto_tl_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_tl_master_clock_xing_in_b_valid = auto_tl_out_b_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_tl_master_clock_xing_in_b_bits_param = auto_tl_out_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_tl_master_clock_xing_in_b_bits_address = auto_tl_out_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_tl_master_clock_xing_in_c_ready = auto_tl_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_tl_master_clock_xing_in_d_valid = auto_tl_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_tl_master_clock_xing_in_d_bits_opcode = auto_tl_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_tl_master_clock_xing_in_d_bits_param = auto_tl_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_tl_master_clock_xing_in_d_bits_size = auto_tl_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_tl_master_clock_xing_in_d_bits_source = auto_tl_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_tl_master_clock_xing_in_d_bits_sink = auto_tl_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_tl_master_clock_xing_in_d_bits_denied = auto_tl_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_tl_master_clock_xing_in_d_bits_data = auto_tl_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_tl_master_clock_xing_in_d_bits_corrupt = auto_tl_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_tl_out_a_valid = auto_tl_master_clock_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_a_bits_opcode = auto_tl_master_clock_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_a_bits_param = auto_tl_master_clock_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_a_bits_size = auto_tl_master_clock_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_a_bits_source = auto_tl_master_clock_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_a_bits_address = auto_tl_master_clock_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_a_bits_mask = auto_tl_master_clock_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_a_bits_data = auto_tl_master_clock_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_a_bits_corrupt = auto_tl_master_clock_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_b_ready = auto_tl_master_clock_xing_in_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_c_valid = auto_tl_master_clock_xing_in_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_c_bits_opcode = auto_tl_master_clock_xing_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_c_bits_param = auto_tl_master_clock_xing_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_c_bits_size = auto_tl_master_clock_xing_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_c_bits_source = auto_tl_master_clock_xing_in_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_c_bits_address = auto_tl_master_clock_xing_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_c_bits_data = auto_tl_master_clock_xing_in_c_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_c_bits_corrupt = auto_tl_master_clock_xing_in_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_d_ready = auto_tl_master_clock_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_e_valid = auto_tl_master_clock_xing_in_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_out_e_bits_sink = auto_tl_master_clock_xing_in_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module SystemBus(
+  output        auto_coupler_from_tile_tl_master_clock_xing_in_a_ready,
+  input         auto_coupler_from_tile_tl_master_clock_xing_in_a_valid,
+  input  [2:0]  auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_opcode,
+  input  [2:0]  auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_param,
+  input  [3:0]  auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_size,
+  input  [1:0]  auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_source,
+  input  [30:0] auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_address,
+  input  [3:0]  auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_mask,
+  input  [31:0] auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_data,
+  input         auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_corrupt,
+  input         auto_coupler_from_tile_tl_master_clock_xing_in_b_ready,
+  output        auto_coupler_from_tile_tl_master_clock_xing_in_b_valid,
+  output [1:0]  auto_coupler_from_tile_tl_master_clock_xing_in_b_bits_param,
+  output [30:0] auto_coupler_from_tile_tl_master_clock_xing_in_b_bits_address,
+  output        auto_coupler_from_tile_tl_master_clock_xing_in_c_ready,
+  input         auto_coupler_from_tile_tl_master_clock_xing_in_c_valid,
+  input  [2:0]  auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_opcode,
+  input  [2:0]  auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_param,
+  input  [3:0]  auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_size,
+  input  [1:0]  auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_source,
+  input  [30:0] auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_address,
+  input  [31:0] auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_data,
+  input         auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_corrupt,
+  input         auto_coupler_from_tile_tl_master_clock_xing_in_d_ready,
+  output        auto_coupler_from_tile_tl_master_clock_xing_in_d_valid,
+  output [2:0]  auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_opcode,
+  output [1:0]  auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_param,
+  output [3:0]  auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_size,
+  output [1:0]  auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_source,
+  output [1:0]  auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_sink,
+  output        auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_denied,
+  output [31:0] auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_data,
+  output        auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_corrupt,
+  input         auto_coupler_from_tile_tl_master_clock_xing_in_e_valid,
+  input  [1:0]  auto_coupler_from_tile_tl_master_clock_xing_in_e_bits_sink,
+  input         auto_coupler_to_bus_named_subsystem_l2_widget_out_a_ready,
+  output        auto_coupler_to_bus_named_subsystem_l2_widget_out_a_valid,
+  output [2:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_param,
+  output [2:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_size,
+  output [1:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_source,
+  output [30:0] auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_address,
+  output [3:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_mask,
+  output [31:0] auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_data,
+  output        auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_corrupt,
+  output        auto_coupler_to_bus_named_subsystem_l2_widget_out_b_ready,
+  input         auto_coupler_to_bus_named_subsystem_l2_widget_out_b_valid,
+  input  [1:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_b_bits_param,
+  input  [30:0] auto_coupler_to_bus_named_subsystem_l2_widget_out_b_bits_address,
+  input         auto_coupler_to_bus_named_subsystem_l2_widget_out_c_ready,
+  output        auto_coupler_to_bus_named_subsystem_l2_widget_out_c_valid,
+  output [2:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_opcode,
+  output [2:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_param,
+  output [2:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_size,
+  output [1:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_source,
+  output [30:0] auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_address,
+  output [31:0] auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_data,
+  output        auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_corrupt,
+  output        auto_coupler_to_bus_named_subsystem_l2_widget_out_d_ready,
+  input         auto_coupler_to_bus_named_subsystem_l2_widget_out_d_valid,
+  input  [2:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_param,
+  input  [2:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_size,
+  input  [1:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_source,
+  input  [1:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_sink,
+  input  [31:0] auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_data,
+  output        auto_coupler_to_bus_named_subsystem_l2_widget_out_e_valid,
+  output [1:0]  auto_coupler_to_bus_named_subsystem_l2_widget_out_e_bits_sink,
+  input         auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_ready,
+  output        auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_param,
+  output [3:0]  auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_size,
+  output [1:0]  auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_source,
+  output [29:0] auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_data,
+  output        auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_ready,
+  input         auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_param,
+  input  [3:0]  auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_size,
+  input  [1:0]  auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_source,
+  input         auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_sink,
+  input         auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_denied,
+  input  [31:0] auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_data,
+  input         auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_corrupt,
+  output        auto_fixedClockNode_out_1_clock,
+  output        auto_fixedClockNode_out_1_reset,
+  input         auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_5_clock,
+  input         auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_5_reset,
+  input         auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_4_clock,
+  input         auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_4_reset,
+  input         auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_3_clock,
+  input         auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_3_reset,
+  input         auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_2_clock,
+  input         auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_2_reset,
+  input         auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_1_clock,
+  input         auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_1_reset,
+  input         auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_0_clock,
+  input         auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_0_reset,
+  output        auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_1_clock,
+  output        auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_1_reset,
+  output        auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_0_clock,
+  output        auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_0_reset,
+  output        auto_subsystem_sbus_clock_groups_out_1_member_subsystem_fbus_0_clock,
+  output        auto_subsystem_sbus_clock_groups_out_1_member_subsystem_fbus_0_reset,
+  output        auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_1_clock,
+  output        auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_1_reset,
+  output        auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_0_clock,
+  output        auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_0_reset
+);
+  wire  subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_5_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_5_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_4_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_4_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_3_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_3_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_2_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_2_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_1_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_1_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_0_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_out_3_member_subsystem_l2_1_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_out_3_member_subsystem_l2_1_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_out_3_member_subsystem_l2_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_out_3_member_subsystem_l2_0_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_out_2_member_subsystem_fbus_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_out_2_member_subsystem_fbus_0_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_out_1_member_subsystem_cbus_1_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_out_1_member_subsystem_cbus_1_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_out_1_member_subsystem_cbus_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_out_1_member_subsystem_cbus_0_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_out_0_member_subsystem_sbus_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_sbus_clock_groups_auto_out_0_member_subsystem_sbus_0_reset; // @[BusWrapper.scala 40:48]
+  wire  clockGroup_auto_in_member_subsystem_sbus_0_clock; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_in_member_subsystem_sbus_0_reset; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_out_clock; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_out_reset; // @[BusWrapper.scala 41:38]
+  wire  fixedClockNode_auto_in_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_in_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_2_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_2_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_0_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_0_reset; // @[ClockGroup.scala 106:107]
+  wire  system_bus_xbar_clock; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_reset; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_in_a_ready; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_in_a_valid; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_in_a_bits_opcode; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_in_a_bits_param; // @[SystemBus.scala 40:43]
+  wire [3:0] system_bus_xbar_auto_in_a_bits_size; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_in_a_bits_source; // @[SystemBus.scala 40:43]
+  wire [30:0] system_bus_xbar_auto_in_a_bits_address; // @[SystemBus.scala 40:43]
+  wire [3:0] system_bus_xbar_auto_in_a_bits_mask; // @[SystemBus.scala 40:43]
+  wire [31:0] system_bus_xbar_auto_in_a_bits_data; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_in_a_bits_corrupt; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_in_b_ready; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_in_b_valid; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_in_b_bits_param; // @[SystemBus.scala 40:43]
+  wire [30:0] system_bus_xbar_auto_in_b_bits_address; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_in_c_ready; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_in_c_valid; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_in_c_bits_opcode; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_in_c_bits_param; // @[SystemBus.scala 40:43]
+  wire [3:0] system_bus_xbar_auto_in_c_bits_size; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_in_c_bits_source; // @[SystemBus.scala 40:43]
+  wire [30:0] system_bus_xbar_auto_in_c_bits_address; // @[SystemBus.scala 40:43]
+  wire [31:0] system_bus_xbar_auto_in_c_bits_data; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_in_c_bits_corrupt; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_in_d_ready; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_in_d_valid; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_in_d_bits_opcode; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_in_d_bits_param; // @[SystemBus.scala 40:43]
+  wire [3:0] system_bus_xbar_auto_in_d_bits_size; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_in_d_bits_source; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_in_d_bits_sink; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_in_d_bits_denied; // @[SystemBus.scala 40:43]
+  wire [31:0] system_bus_xbar_auto_in_d_bits_data; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_in_d_bits_corrupt; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_in_e_valid; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_in_e_bits_sink; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_1_a_ready; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_1_a_valid; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_out_1_a_bits_opcode; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_out_1_a_bits_param; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_out_1_a_bits_size; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_out_1_a_bits_source; // @[SystemBus.scala 40:43]
+  wire [30:0] system_bus_xbar_auto_out_1_a_bits_address; // @[SystemBus.scala 40:43]
+  wire [3:0] system_bus_xbar_auto_out_1_a_bits_mask; // @[SystemBus.scala 40:43]
+  wire [31:0] system_bus_xbar_auto_out_1_a_bits_data; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_1_a_bits_corrupt; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_1_b_ready; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_1_b_valid; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_out_1_b_bits_param; // @[SystemBus.scala 40:43]
+  wire [30:0] system_bus_xbar_auto_out_1_b_bits_address; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_1_c_ready; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_1_c_valid; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_out_1_c_bits_opcode; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_out_1_c_bits_param; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_out_1_c_bits_size; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_out_1_c_bits_source; // @[SystemBus.scala 40:43]
+  wire [30:0] system_bus_xbar_auto_out_1_c_bits_address; // @[SystemBus.scala 40:43]
+  wire [31:0] system_bus_xbar_auto_out_1_c_bits_data; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_1_c_bits_corrupt; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_1_d_ready; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_1_d_valid; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_out_1_d_bits_opcode; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_out_1_d_bits_param; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_out_1_d_bits_size; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_out_1_d_bits_source; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_out_1_d_bits_sink; // @[SystemBus.scala 40:43]
+  wire [31:0] system_bus_xbar_auto_out_1_d_bits_data; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_1_e_valid; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_out_1_e_bits_sink; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_0_a_ready; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_0_a_valid; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_out_0_a_bits_opcode; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_out_0_a_bits_param; // @[SystemBus.scala 40:43]
+  wire [3:0] system_bus_xbar_auto_out_0_a_bits_size; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_out_0_a_bits_source; // @[SystemBus.scala 40:43]
+  wire [29:0] system_bus_xbar_auto_out_0_a_bits_address; // @[SystemBus.scala 40:43]
+  wire [3:0] system_bus_xbar_auto_out_0_a_bits_mask; // @[SystemBus.scala 40:43]
+  wire [31:0] system_bus_xbar_auto_out_0_a_bits_data; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_0_a_bits_corrupt; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_0_d_ready; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_0_d_valid; // @[SystemBus.scala 40:43]
+  wire [2:0] system_bus_xbar_auto_out_0_d_bits_opcode; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_out_0_d_bits_param; // @[SystemBus.scala 40:43]
+  wire [3:0] system_bus_xbar_auto_out_0_d_bits_size; // @[SystemBus.scala 40:43]
+  wire [1:0] system_bus_xbar_auto_out_0_d_bits_source; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_0_d_bits_sink; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_0_d_bits_denied; // @[SystemBus.scala 40:43]
+  wire [31:0] system_bus_xbar_auto_out_0_d_bits_data; // @[SystemBus.scala 40:43]
+  wire  system_bus_xbar_auto_out_0_d_bits_corrupt; // @[SystemBus.scala 40:43]
+  wire  fixer_clock; // @[FIFOFixer.scala 144:27]
+  wire  fixer_reset; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_a_ready; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_a_valid; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_in_a_bits_opcode; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_in_a_bits_param; // @[FIFOFixer.scala 144:27]
+  wire [3:0] fixer_auto_in_a_bits_size; // @[FIFOFixer.scala 144:27]
+  wire [1:0] fixer_auto_in_a_bits_source; // @[FIFOFixer.scala 144:27]
+  wire [30:0] fixer_auto_in_a_bits_address; // @[FIFOFixer.scala 144:27]
+  wire [3:0] fixer_auto_in_a_bits_mask; // @[FIFOFixer.scala 144:27]
+  wire [31:0] fixer_auto_in_a_bits_data; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_a_bits_corrupt; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_b_ready; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_b_valid; // @[FIFOFixer.scala 144:27]
+  wire [1:0] fixer_auto_in_b_bits_param; // @[FIFOFixer.scala 144:27]
+  wire [30:0] fixer_auto_in_b_bits_address; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_c_ready; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_c_valid; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_in_c_bits_opcode; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_in_c_bits_param; // @[FIFOFixer.scala 144:27]
+  wire [3:0] fixer_auto_in_c_bits_size; // @[FIFOFixer.scala 144:27]
+  wire [1:0] fixer_auto_in_c_bits_source; // @[FIFOFixer.scala 144:27]
+  wire [30:0] fixer_auto_in_c_bits_address; // @[FIFOFixer.scala 144:27]
+  wire [31:0] fixer_auto_in_c_bits_data; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_c_bits_corrupt; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_d_ready; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_d_valid; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_in_d_bits_opcode; // @[FIFOFixer.scala 144:27]
+  wire [1:0] fixer_auto_in_d_bits_param; // @[FIFOFixer.scala 144:27]
+  wire [3:0] fixer_auto_in_d_bits_size; // @[FIFOFixer.scala 144:27]
+  wire [1:0] fixer_auto_in_d_bits_source; // @[FIFOFixer.scala 144:27]
+  wire [1:0] fixer_auto_in_d_bits_sink; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_d_bits_denied; // @[FIFOFixer.scala 144:27]
+  wire [31:0] fixer_auto_in_d_bits_data; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_d_bits_corrupt; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_e_valid; // @[FIFOFixer.scala 144:27]
+  wire [1:0] fixer_auto_in_e_bits_sink; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_a_ready; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_a_valid; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_out_a_bits_opcode; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_out_a_bits_param; // @[FIFOFixer.scala 144:27]
+  wire [3:0] fixer_auto_out_a_bits_size; // @[FIFOFixer.scala 144:27]
+  wire [1:0] fixer_auto_out_a_bits_source; // @[FIFOFixer.scala 144:27]
+  wire [30:0] fixer_auto_out_a_bits_address; // @[FIFOFixer.scala 144:27]
+  wire [3:0] fixer_auto_out_a_bits_mask; // @[FIFOFixer.scala 144:27]
+  wire [31:0] fixer_auto_out_a_bits_data; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_a_bits_corrupt; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_b_ready; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_b_valid; // @[FIFOFixer.scala 144:27]
+  wire [1:0] fixer_auto_out_b_bits_param; // @[FIFOFixer.scala 144:27]
+  wire [30:0] fixer_auto_out_b_bits_address; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_c_ready; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_c_valid; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_out_c_bits_opcode; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_out_c_bits_param; // @[FIFOFixer.scala 144:27]
+  wire [3:0] fixer_auto_out_c_bits_size; // @[FIFOFixer.scala 144:27]
+  wire [1:0] fixer_auto_out_c_bits_source; // @[FIFOFixer.scala 144:27]
+  wire [30:0] fixer_auto_out_c_bits_address; // @[FIFOFixer.scala 144:27]
+  wire [31:0] fixer_auto_out_c_bits_data; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_c_bits_corrupt; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_d_ready; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_d_valid; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_out_d_bits_opcode; // @[FIFOFixer.scala 144:27]
+  wire [1:0] fixer_auto_out_d_bits_param; // @[FIFOFixer.scala 144:27]
+  wire [3:0] fixer_auto_out_d_bits_size; // @[FIFOFixer.scala 144:27]
+  wire [1:0] fixer_auto_out_d_bits_source; // @[FIFOFixer.scala 144:27]
+  wire [1:0] fixer_auto_out_d_bits_sink; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_d_bits_denied; // @[FIFOFixer.scala 144:27]
+  wire [31:0] fixer_auto_out_d_bits_data; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_d_bits_corrupt; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_e_valid; // @[FIFOFixer.scala 144:27]
+  wire [1:0] fixer_auto_out_e_bits_sink; // @[FIFOFixer.scala 144:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [29:0] coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_param; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_sink; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_denied; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [29:0] coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_param; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_sink; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_denied; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_in_b_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_in_b_valid; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_b_bits_param; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_b_bits_address; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_in_c_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_in_c_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_source; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_address; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_sink; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_in_e_valid; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_l2_auto_widget_in_e_bits_sink; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_out_b_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_out_b_valid; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_b_bits_param; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_b_bits_address; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_out_c_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_out_c_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_source; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_address; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_sink; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_l2_auto_widget_out_e_valid; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_l2_auto_widget_out_e_bits_sink; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_master_clock_xing_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_master_clock_xing_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_master_clock_xing_in_b_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_master_clock_xing_in_b_valid; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_from_tile_auto_tl_master_clock_xing_in_b_bits_param; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_from_tile_auto_tl_master_clock_xing_in_b_bits_address; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_master_clock_xing_in_c_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_master_clock_xing_in_c_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_param; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_source; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_address; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_master_clock_xing_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_master_clock_xing_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_param; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_sink; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_denied; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_master_clock_xing_in_e_valid; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_from_tile_auto_tl_master_clock_xing_in_e_bits_sink; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_from_tile_auto_tl_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_from_tile_auto_tl_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_from_tile_auto_tl_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_from_tile_auto_tl_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_from_tile_auto_tl_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_from_tile_auto_tl_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_from_tile_auto_tl_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_out_b_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_out_b_valid; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_from_tile_auto_tl_out_b_bits_param; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_from_tile_auto_tl_out_b_bits_address; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_out_c_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_out_c_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_from_tile_auto_tl_out_c_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_from_tile_auto_tl_out_c_bits_param; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_from_tile_auto_tl_out_c_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_from_tile_auto_tl_out_c_bits_source; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_from_tile_auto_tl_out_c_bits_address; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_from_tile_auto_tl_out_c_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_out_c_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_from_tile_auto_tl_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_from_tile_auto_tl_out_d_bits_param; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_from_tile_auto_tl_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_from_tile_auto_tl_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_from_tile_auto_tl_out_d_bits_sink; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_out_d_bits_denied; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_from_tile_auto_tl_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_out_d_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_from_tile_auto_tl_out_e_valid; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_from_tile_auto_tl_out_e_bits_sink; // @[LazyModule.scala 432:27]
+  ClockGroupAggregator subsystem_sbus_clock_groups ( // @[BusWrapper.scala 40:48]
+    .auto_in_member_subsystem_sbus_5_clock(subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_5_clock),
+    .auto_in_member_subsystem_sbus_5_reset(subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_5_reset),
+    .auto_in_member_subsystem_sbus_4_clock(subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_4_clock),
+    .auto_in_member_subsystem_sbus_4_reset(subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_4_reset),
+    .auto_in_member_subsystem_sbus_3_clock(subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_3_clock),
+    .auto_in_member_subsystem_sbus_3_reset(subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_3_reset),
+    .auto_in_member_subsystem_sbus_2_clock(subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_2_clock),
+    .auto_in_member_subsystem_sbus_2_reset(subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_2_reset),
+    .auto_in_member_subsystem_sbus_1_clock(subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_1_clock),
+    .auto_in_member_subsystem_sbus_1_reset(subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_1_reset),
+    .auto_in_member_subsystem_sbus_0_clock(subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_0_clock),
+    .auto_in_member_subsystem_sbus_0_reset(subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_0_reset),
+    .auto_out_3_member_subsystem_l2_1_clock(subsystem_sbus_clock_groups_auto_out_3_member_subsystem_l2_1_clock),
+    .auto_out_3_member_subsystem_l2_1_reset(subsystem_sbus_clock_groups_auto_out_3_member_subsystem_l2_1_reset),
+    .auto_out_3_member_subsystem_l2_0_clock(subsystem_sbus_clock_groups_auto_out_3_member_subsystem_l2_0_clock),
+    .auto_out_3_member_subsystem_l2_0_reset(subsystem_sbus_clock_groups_auto_out_3_member_subsystem_l2_0_reset),
+    .auto_out_2_member_subsystem_fbus_0_clock(subsystem_sbus_clock_groups_auto_out_2_member_subsystem_fbus_0_clock),
+    .auto_out_2_member_subsystem_fbus_0_reset(subsystem_sbus_clock_groups_auto_out_2_member_subsystem_fbus_0_reset),
+    .auto_out_1_member_subsystem_cbus_1_clock(subsystem_sbus_clock_groups_auto_out_1_member_subsystem_cbus_1_clock),
+    .auto_out_1_member_subsystem_cbus_1_reset(subsystem_sbus_clock_groups_auto_out_1_member_subsystem_cbus_1_reset),
+    .auto_out_1_member_subsystem_cbus_0_clock(subsystem_sbus_clock_groups_auto_out_1_member_subsystem_cbus_0_clock),
+    .auto_out_1_member_subsystem_cbus_0_reset(subsystem_sbus_clock_groups_auto_out_1_member_subsystem_cbus_0_reset),
+    .auto_out_0_member_subsystem_sbus_0_clock(subsystem_sbus_clock_groups_auto_out_0_member_subsystem_sbus_0_clock),
+    .auto_out_0_member_subsystem_sbus_0_reset(subsystem_sbus_clock_groups_auto_out_0_member_subsystem_sbus_0_reset)
+  );
+  ClockGroup clockGroup ( // @[BusWrapper.scala 41:38]
+    .auto_in_member_subsystem_sbus_0_clock(clockGroup_auto_in_member_subsystem_sbus_0_clock),
+    .auto_in_member_subsystem_sbus_0_reset(clockGroup_auto_in_member_subsystem_sbus_0_reset),
+    .auto_out_clock(clockGroup_auto_out_clock),
+    .auto_out_reset(clockGroup_auto_out_reset)
+  );
+  FixedClockBroadcast fixedClockNode ( // @[ClockGroup.scala 106:107]
+    .auto_in_clock(fixedClockNode_auto_in_clock),
+    .auto_in_reset(fixedClockNode_auto_in_reset),
+    .auto_out_2_clock(fixedClockNode_auto_out_2_clock),
+    .auto_out_2_reset(fixedClockNode_auto_out_2_reset),
+    .auto_out_0_clock(fixedClockNode_auto_out_0_clock),
+    .auto_out_0_reset(fixedClockNode_auto_out_0_reset)
+  );
+  TLXbar system_bus_xbar ( // @[SystemBus.scala 40:43]
+    .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_b_ready(system_bus_xbar_auto_in_b_ready),
+    .auto_in_b_valid(system_bus_xbar_auto_in_b_valid),
+    .auto_in_b_bits_param(system_bus_xbar_auto_in_b_bits_param),
+    .auto_in_b_bits_address(system_bus_xbar_auto_in_b_bits_address),
+    .auto_in_c_ready(system_bus_xbar_auto_in_c_ready),
+    .auto_in_c_valid(system_bus_xbar_auto_in_c_valid),
+    .auto_in_c_bits_opcode(system_bus_xbar_auto_in_c_bits_opcode),
+    .auto_in_c_bits_param(system_bus_xbar_auto_in_c_bits_param),
+    .auto_in_c_bits_size(system_bus_xbar_auto_in_c_bits_size),
+    .auto_in_c_bits_source(system_bus_xbar_auto_in_c_bits_source),
+    .auto_in_c_bits_address(system_bus_xbar_auto_in_c_bits_address),
+    .auto_in_c_bits_data(system_bus_xbar_auto_in_c_bits_data),
+    .auto_in_c_bits_corrupt(system_bus_xbar_auto_in_c_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_in_e_valid(system_bus_xbar_auto_in_e_valid),
+    .auto_in_e_bits_sink(system_bus_xbar_auto_in_e_bits_sink),
+    .auto_out_1_a_ready(system_bus_xbar_auto_out_1_a_ready),
+    .auto_out_1_a_valid(system_bus_xbar_auto_out_1_a_valid),
+    .auto_out_1_a_bits_opcode(system_bus_xbar_auto_out_1_a_bits_opcode),
+    .auto_out_1_a_bits_param(system_bus_xbar_auto_out_1_a_bits_param),
+    .auto_out_1_a_bits_size(system_bus_xbar_auto_out_1_a_bits_size),
+    .auto_out_1_a_bits_source(system_bus_xbar_auto_out_1_a_bits_source),
+    .auto_out_1_a_bits_address(system_bus_xbar_auto_out_1_a_bits_address),
+    .auto_out_1_a_bits_mask(system_bus_xbar_auto_out_1_a_bits_mask),
+    .auto_out_1_a_bits_data(system_bus_xbar_auto_out_1_a_bits_data),
+    .auto_out_1_a_bits_corrupt(system_bus_xbar_auto_out_1_a_bits_corrupt),
+    .auto_out_1_b_ready(system_bus_xbar_auto_out_1_b_ready),
+    .auto_out_1_b_valid(system_bus_xbar_auto_out_1_b_valid),
+    .auto_out_1_b_bits_param(system_bus_xbar_auto_out_1_b_bits_param),
+    .auto_out_1_b_bits_address(system_bus_xbar_auto_out_1_b_bits_address),
+    .auto_out_1_c_ready(system_bus_xbar_auto_out_1_c_ready),
+    .auto_out_1_c_valid(system_bus_xbar_auto_out_1_c_valid),
+    .auto_out_1_c_bits_opcode(system_bus_xbar_auto_out_1_c_bits_opcode),
+    .auto_out_1_c_bits_param(system_bus_xbar_auto_out_1_c_bits_param),
+    .auto_out_1_c_bits_size(system_bus_xbar_auto_out_1_c_bits_size),
+    .auto_out_1_c_bits_source(system_bus_xbar_auto_out_1_c_bits_source),
+    .auto_out_1_c_bits_address(system_bus_xbar_auto_out_1_c_bits_address),
+    .auto_out_1_c_bits_data(system_bus_xbar_auto_out_1_c_bits_data),
+    .auto_out_1_c_bits_corrupt(system_bus_xbar_auto_out_1_c_bits_corrupt),
+    .auto_out_1_d_ready(system_bus_xbar_auto_out_1_d_ready),
+    .auto_out_1_d_valid(system_bus_xbar_auto_out_1_d_valid),
+    .auto_out_1_d_bits_opcode(system_bus_xbar_auto_out_1_d_bits_opcode),
+    .auto_out_1_d_bits_param(system_bus_xbar_auto_out_1_d_bits_param),
+    .auto_out_1_d_bits_size(system_bus_xbar_auto_out_1_d_bits_size),
+    .auto_out_1_d_bits_source(system_bus_xbar_auto_out_1_d_bits_source),
+    .auto_out_1_d_bits_sink(system_bus_xbar_auto_out_1_d_bits_sink),
+    .auto_out_1_d_bits_data(system_bus_xbar_auto_out_1_d_bits_data),
+    .auto_out_1_e_valid(system_bus_xbar_auto_out_1_e_valid),
+    .auto_out_1_e_bits_sink(system_bus_xbar_auto_out_1_e_bits_sink),
+    .auto_out_0_a_ready(system_bus_xbar_auto_out_0_a_ready),
+    .auto_out_0_a_valid(system_bus_xbar_auto_out_0_a_valid),
+    .auto_out_0_a_bits_opcode(system_bus_xbar_auto_out_0_a_bits_opcode),
+    .auto_out_0_a_bits_param(system_bus_xbar_auto_out_0_a_bits_param),
+    .auto_out_0_a_bits_size(system_bus_xbar_auto_out_0_a_bits_size),
+    .auto_out_0_a_bits_source(system_bus_xbar_auto_out_0_a_bits_source),
+    .auto_out_0_a_bits_address(system_bus_xbar_auto_out_0_a_bits_address),
+    .auto_out_0_a_bits_mask(system_bus_xbar_auto_out_0_a_bits_mask),
+    .auto_out_0_a_bits_data(system_bus_xbar_auto_out_0_a_bits_data),
+    .auto_out_0_a_bits_corrupt(system_bus_xbar_auto_out_0_a_bits_corrupt),
+    .auto_out_0_d_ready(system_bus_xbar_auto_out_0_d_ready),
+    .auto_out_0_d_valid(system_bus_xbar_auto_out_0_d_valid),
+    .auto_out_0_d_bits_opcode(system_bus_xbar_auto_out_0_d_bits_opcode),
+    .auto_out_0_d_bits_param(system_bus_xbar_auto_out_0_d_bits_param),
+    .auto_out_0_d_bits_size(system_bus_xbar_auto_out_0_d_bits_size),
+    .auto_out_0_d_bits_source(system_bus_xbar_auto_out_0_d_bits_source),
+    .auto_out_0_d_bits_sink(system_bus_xbar_auto_out_0_d_bits_sink),
+    .auto_out_0_d_bits_denied(system_bus_xbar_auto_out_0_d_bits_denied),
+    .auto_out_0_d_bits_data(system_bus_xbar_auto_out_0_d_bits_data),
+    .auto_out_0_d_bits_corrupt(system_bus_xbar_auto_out_0_d_bits_corrupt)
+  );
+  TLFIFOFixer fixer ( // @[FIFOFixer.scala 144:27]
+    .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_b_ready(fixer_auto_in_b_ready),
+    .auto_in_b_valid(fixer_auto_in_b_valid),
+    .auto_in_b_bits_param(fixer_auto_in_b_bits_param),
+    .auto_in_b_bits_address(fixer_auto_in_b_bits_address),
+    .auto_in_c_ready(fixer_auto_in_c_ready),
+    .auto_in_c_valid(fixer_auto_in_c_valid),
+    .auto_in_c_bits_opcode(fixer_auto_in_c_bits_opcode),
+    .auto_in_c_bits_param(fixer_auto_in_c_bits_param),
+    .auto_in_c_bits_size(fixer_auto_in_c_bits_size),
+    .auto_in_c_bits_source(fixer_auto_in_c_bits_source),
+    .auto_in_c_bits_address(fixer_auto_in_c_bits_address),
+    .auto_in_c_bits_data(fixer_auto_in_c_bits_data),
+    .auto_in_c_bits_corrupt(fixer_auto_in_c_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_in_e_valid(fixer_auto_in_e_valid),
+    .auto_in_e_bits_sink(fixer_auto_in_e_bits_sink),
+    .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_b_ready(fixer_auto_out_b_ready),
+    .auto_out_b_valid(fixer_auto_out_b_valid),
+    .auto_out_b_bits_param(fixer_auto_out_b_bits_param),
+    .auto_out_b_bits_address(fixer_auto_out_b_bits_address),
+    .auto_out_c_ready(fixer_auto_out_c_ready),
+    .auto_out_c_valid(fixer_auto_out_c_valid),
+    .auto_out_c_bits_opcode(fixer_auto_out_c_bits_opcode),
+    .auto_out_c_bits_param(fixer_auto_out_c_bits_param),
+    .auto_out_c_bits_size(fixer_auto_out_c_bits_size),
+    .auto_out_c_bits_source(fixer_auto_out_c_bits_source),
+    .auto_out_c_bits_address(fixer_auto_out_c_bits_address),
+    .auto_out_c_bits_data(fixer_auto_out_c_bits_data),
+    .auto_out_c_bits_corrupt(fixer_auto_out_c_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),
+    .auto_out_e_valid(fixer_auto_out_e_valid),
+    .auto_out_e_bits_sink(fixer_auto_out_e_bits_sink)
+  );
+  TLInterconnectCoupler coupler_to_bus_named_subsystem_cbus ( // @[LazyModule.scala 432:27]
+    .auto_widget_in_a_ready(coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_ready),
+    .auto_widget_in_a_valid(coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_valid),
+    .auto_widget_in_a_bits_opcode(coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_opcode),
+    .auto_widget_in_a_bits_param(coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_param),
+    .auto_widget_in_a_bits_size(coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_size),
+    .auto_widget_in_a_bits_source(coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_source),
+    .auto_widget_in_a_bits_address(coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_address),
+    .auto_widget_in_a_bits_mask(coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_mask),
+    .auto_widget_in_a_bits_data(coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_data),
+    .auto_widget_in_a_bits_corrupt(coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_corrupt),
+    .auto_widget_in_d_ready(coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_ready),
+    .auto_widget_in_d_valid(coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_valid),
+    .auto_widget_in_d_bits_opcode(coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_opcode),
+    .auto_widget_in_d_bits_param(coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_param),
+    .auto_widget_in_d_bits_size(coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_size),
+    .auto_widget_in_d_bits_source(coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_source),
+    .auto_widget_in_d_bits_sink(coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_sink),
+    .auto_widget_in_d_bits_denied(coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_denied),
+    .auto_widget_in_d_bits_data(coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_data),
+    .auto_widget_in_d_bits_corrupt(coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_corrupt),
+    .auto_bus_xing_out_a_ready(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_ready),
+    .auto_bus_xing_out_a_valid(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_valid),
+    .auto_bus_xing_out_a_bits_opcode(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_opcode),
+    .auto_bus_xing_out_a_bits_param(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_param),
+    .auto_bus_xing_out_a_bits_size(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_size),
+    .auto_bus_xing_out_a_bits_source(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_source),
+    .auto_bus_xing_out_a_bits_address(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_address),
+    .auto_bus_xing_out_a_bits_mask(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_mask),
+    .auto_bus_xing_out_a_bits_data(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_data),
+    .auto_bus_xing_out_a_bits_corrupt(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_corrupt),
+    .auto_bus_xing_out_d_ready(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_ready),
+    .auto_bus_xing_out_d_valid(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_valid),
+    .auto_bus_xing_out_d_bits_opcode(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_opcode),
+    .auto_bus_xing_out_d_bits_param(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_param),
+    .auto_bus_xing_out_d_bits_size(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_size),
+    .auto_bus_xing_out_d_bits_source(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_source),
+    .auto_bus_xing_out_d_bits_sink(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_sink),
+    .auto_bus_xing_out_d_bits_denied(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_denied),
+    .auto_bus_xing_out_d_bits_data(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_data),
+    .auto_bus_xing_out_d_bits_corrupt(coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_corrupt)
+  );
+  TLInterconnectCoupler_2 coupler_to_bus_named_subsystem_l2 ( // @[LazyModule.scala 432:27]
+    .auto_widget_in_a_ready(coupler_to_bus_named_subsystem_l2_auto_widget_in_a_ready),
+    .auto_widget_in_a_valid(coupler_to_bus_named_subsystem_l2_auto_widget_in_a_valid),
+    .auto_widget_in_a_bits_opcode(coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_opcode),
+    .auto_widget_in_a_bits_param(coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_param),
+    .auto_widget_in_a_bits_size(coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_size),
+    .auto_widget_in_a_bits_source(coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_source),
+    .auto_widget_in_a_bits_address(coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_address),
+    .auto_widget_in_a_bits_mask(coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_mask),
+    .auto_widget_in_a_bits_data(coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_data),
+    .auto_widget_in_a_bits_corrupt(coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_corrupt),
+    .auto_widget_in_b_ready(coupler_to_bus_named_subsystem_l2_auto_widget_in_b_ready),
+    .auto_widget_in_b_valid(coupler_to_bus_named_subsystem_l2_auto_widget_in_b_valid),
+    .auto_widget_in_b_bits_param(coupler_to_bus_named_subsystem_l2_auto_widget_in_b_bits_param),
+    .auto_widget_in_b_bits_address(coupler_to_bus_named_subsystem_l2_auto_widget_in_b_bits_address),
+    .auto_widget_in_c_ready(coupler_to_bus_named_subsystem_l2_auto_widget_in_c_ready),
+    .auto_widget_in_c_valid(coupler_to_bus_named_subsystem_l2_auto_widget_in_c_valid),
+    .auto_widget_in_c_bits_opcode(coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_opcode),
+    .auto_widget_in_c_bits_param(coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_param),
+    .auto_widget_in_c_bits_size(coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_size),
+    .auto_widget_in_c_bits_source(coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_source),
+    .auto_widget_in_c_bits_address(coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_address),
+    .auto_widget_in_c_bits_data(coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_data),
+    .auto_widget_in_c_bits_corrupt(coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_corrupt),
+    .auto_widget_in_d_ready(coupler_to_bus_named_subsystem_l2_auto_widget_in_d_ready),
+    .auto_widget_in_d_valid(coupler_to_bus_named_subsystem_l2_auto_widget_in_d_valid),
+    .auto_widget_in_d_bits_opcode(coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_opcode),
+    .auto_widget_in_d_bits_param(coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_param),
+    .auto_widget_in_d_bits_size(coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_size),
+    .auto_widget_in_d_bits_source(coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_source),
+    .auto_widget_in_d_bits_sink(coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_sink),
+    .auto_widget_in_d_bits_data(coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_data),
+    .auto_widget_in_e_valid(coupler_to_bus_named_subsystem_l2_auto_widget_in_e_valid),
+    .auto_widget_in_e_bits_sink(coupler_to_bus_named_subsystem_l2_auto_widget_in_e_bits_sink),
+    .auto_widget_out_a_ready(coupler_to_bus_named_subsystem_l2_auto_widget_out_a_ready),
+    .auto_widget_out_a_valid(coupler_to_bus_named_subsystem_l2_auto_widget_out_a_valid),
+    .auto_widget_out_a_bits_opcode(coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_opcode),
+    .auto_widget_out_a_bits_param(coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_param),
+    .auto_widget_out_a_bits_size(coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_size),
+    .auto_widget_out_a_bits_source(coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_source),
+    .auto_widget_out_a_bits_address(coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_address),
+    .auto_widget_out_a_bits_mask(coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_mask),
+    .auto_widget_out_a_bits_data(coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_data),
+    .auto_widget_out_a_bits_corrupt(coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_corrupt),
+    .auto_widget_out_b_ready(coupler_to_bus_named_subsystem_l2_auto_widget_out_b_ready),
+    .auto_widget_out_b_valid(coupler_to_bus_named_subsystem_l2_auto_widget_out_b_valid),
+    .auto_widget_out_b_bits_param(coupler_to_bus_named_subsystem_l2_auto_widget_out_b_bits_param),
+    .auto_widget_out_b_bits_address(coupler_to_bus_named_subsystem_l2_auto_widget_out_b_bits_address),
+    .auto_widget_out_c_ready(coupler_to_bus_named_subsystem_l2_auto_widget_out_c_ready),
+    .auto_widget_out_c_valid(coupler_to_bus_named_subsystem_l2_auto_widget_out_c_valid),
+    .auto_widget_out_c_bits_opcode(coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_opcode),
+    .auto_widget_out_c_bits_param(coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_param),
+    .auto_widget_out_c_bits_size(coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_size),
+    .auto_widget_out_c_bits_source(coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_source),
+    .auto_widget_out_c_bits_address(coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_address),
+    .auto_widget_out_c_bits_data(coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_data),
+    .auto_widget_out_c_bits_corrupt(coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_corrupt),
+    .auto_widget_out_d_ready(coupler_to_bus_named_subsystem_l2_auto_widget_out_d_ready),
+    .auto_widget_out_d_valid(coupler_to_bus_named_subsystem_l2_auto_widget_out_d_valid),
+    .auto_widget_out_d_bits_opcode(coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_opcode),
+    .auto_widget_out_d_bits_param(coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_param),
+    .auto_widget_out_d_bits_size(coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_size),
+    .auto_widget_out_d_bits_source(coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_source),
+    .auto_widget_out_d_bits_sink(coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_sink),
+    .auto_widget_out_d_bits_data(coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_data),
+    .auto_widget_out_e_valid(coupler_to_bus_named_subsystem_l2_auto_widget_out_e_valid),
+    .auto_widget_out_e_bits_sink(coupler_to_bus_named_subsystem_l2_auto_widget_out_e_bits_sink)
+  );
+  TLInterconnectCoupler_3 coupler_from_tile ( // @[LazyModule.scala 432:27]
+    .auto_tl_master_clock_xing_in_a_ready(coupler_from_tile_auto_tl_master_clock_xing_in_a_ready),
+    .auto_tl_master_clock_xing_in_a_valid(coupler_from_tile_auto_tl_master_clock_xing_in_a_valid),
+    .auto_tl_master_clock_xing_in_a_bits_opcode(coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_opcode),
+    .auto_tl_master_clock_xing_in_a_bits_param(coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_param),
+    .auto_tl_master_clock_xing_in_a_bits_size(coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_size),
+    .auto_tl_master_clock_xing_in_a_bits_source(coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_source),
+    .auto_tl_master_clock_xing_in_a_bits_address(coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_address),
+    .auto_tl_master_clock_xing_in_a_bits_mask(coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_mask),
+    .auto_tl_master_clock_xing_in_a_bits_data(coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_data),
+    .auto_tl_master_clock_xing_in_a_bits_corrupt(coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_corrupt),
+    .auto_tl_master_clock_xing_in_b_ready(coupler_from_tile_auto_tl_master_clock_xing_in_b_ready),
+    .auto_tl_master_clock_xing_in_b_valid(coupler_from_tile_auto_tl_master_clock_xing_in_b_valid),
+    .auto_tl_master_clock_xing_in_b_bits_param(coupler_from_tile_auto_tl_master_clock_xing_in_b_bits_param),
+    .auto_tl_master_clock_xing_in_b_bits_address(coupler_from_tile_auto_tl_master_clock_xing_in_b_bits_address),
+    .auto_tl_master_clock_xing_in_c_ready(coupler_from_tile_auto_tl_master_clock_xing_in_c_ready),
+    .auto_tl_master_clock_xing_in_c_valid(coupler_from_tile_auto_tl_master_clock_xing_in_c_valid),
+    .auto_tl_master_clock_xing_in_c_bits_opcode(coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_opcode),
+    .auto_tl_master_clock_xing_in_c_bits_param(coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_param),
+    .auto_tl_master_clock_xing_in_c_bits_size(coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_size),
+    .auto_tl_master_clock_xing_in_c_bits_source(coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_source),
+    .auto_tl_master_clock_xing_in_c_bits_address(coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_address),
+    .auto_tl_master_clock_xing_in_c_bits_data(coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_data),
+    .auto_tl_master_clock_xing_in_c_bits_corrupt(coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_corrupt),
+    .auto_tl_master_clock_xing_in_d_ready(coupler_from_tile_auto_tl_master_clock_xing_in_d_ready),
+    .auto_tl_master_clock_xing_in_d_valid(coupler_from_tile_auto_tl_master_clock_xing_in_d_valid),
+    .auto_tl_master_clock_xing_in_d_bits_opcode(coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_opcode),
+    .auto_tl_master_clock_xing_in_d_bits_param(coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_param),
+    .auto_tl_master_clock_xing_in_d_bits_size(coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_size),
+    .auto_tl_master_clock_xing_in_d_bits_source(coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_source),
+    .auto_tl_master_clock_xing_in_d_bits_sink(coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_sink),
+    .auto_tl_master_clock_xing_in_d_bits_denied(coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_denied),
+    .auto_tl_master_clock_xing_in_d_bits_data(coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_data),
+    .auto_tl_master_clock_xing_in_d_bits_corrupt(coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_corrupt),
+    .auto_tl_master_clock_xing_in_e_valid(coupler_from_tile_auto_tl_master_clock_xing_in_e_valid),
+    .auto_tl_master_clock_xing_in_e_bits_sink(coupler_from_tile_auto_tl_master_clock_xing_in_e_bits_sink),
+    .auto_tl_out_a_ready(coupler_from_tile_auto_tl_out_a_ready),
+    .auto_tl_out_a_valid(coupler_from_tile_auto_tl_out_a_valid),
+    .auto_tl_out_a_bits_opcode(coupler_from_tile_auto_tl_out_a_bits_opcode),
+    .auto_tl_out_a_bits_param(coupler_from_tile_auto_tl_out_a_bits_param),
+    .auto_tl_out_a_bits_size(coupler_from_tile_auto_tl_out_a_bits_size),
+    .auto_tl_out_a_bits_source(coupler_from_tile_auto_tl_out_a_bits_source),
+    .auto_tl_out_a_bits_address(coupler_from_tile_auto_tl_out_a_bits_address),
+    .auto_tl_out_a_bits_mask(coupler_from_tile_auto_tl_out_a_bits_mask),
+    .auto_tl_out_a_bits_data(coupler_from_tile_auto_tl_out_a_bits_data),
+    .auto_tl_out_a_bits_corrupt(coupler_from_tile_auto_tl_out_a_bits_corrupt),
+    .auto_tl_out_b_ready(coupler_from_tile_auto_tl_out_b_ready),
+    .auto_tl_out_b_valid(coupler_from_tile_auto_tl_out_b_valid),
+    .auto_tl_out_b_bits_param(coupler_from_tile_auto_tl_out_b_bits_param),
+    .auto_tl_out_b_bits_address(coupler_from_tile_auto_tl_out_b_bits_address),
+    .auto_tl_out_c_ready(coupler_from_tile_auto_tl_out_c_ready),
+    .auto_tl_out_c_valid(coupler_from_tile_auto_tl_out_c_valid),
+    .auto_tl_out_c_bits_opcode(coupler_from_tile_auto_tl_out_c_bits_opcode),
+    .auto_tl_out_c_bits_param(coupler_from_tile_auto_tl_out_c_bits_param),
+    .auto_tl_out_c_bits_size(coupler_from_tile_auto_tl_out_c_bits_size),
+    .auto_tl_out_c_bits_source(coupler_from_tile_auto_tl_out_c_bits_source),
+    .auto_tl_out_c_bits_address(coupler_from_tile_auto_tl_out_c_bits_address),
+    .auto_tl_out_c_bits_data(coupler_from_tile_auto_tl_out_c_bits_data),
+    .auto_tl_out_c_bits_corrupt(coupler_from_tile_auto_tl_out_c_bits_corrupt),
+    .auto_tl_out_d_ready(coupler_from_tile_auto_tl_out_d_ready),
+    .auto_tl_out_d_valid(coupler_from_tile_auto_tl_out_d_valid),
+    .auto_tl_out_d_bits_opcode(coupler_from_tile_auto_tl_out_d_bits_opcode),
+    .auto_tl_out_d_bits_param(coupler_from_tile_auto_tl_out_d_bits_param),
+    .auto_tl_out_d_bits_size(coupler_from_tile_auto_tl_out_d_bits_size),
+    .auto_tl_out_d_bits_source(coupler_from_tile_auto_tl_out_d_bits_source),
+    .auto_tl_out_d_bits_sink(coupler_from_tile_auto_tl_out_d_bits_sink),
+    .auto_tl_out_d_bits_denied(coupler_from_tile_auto_tl_out_d_bits_denied),
+    .auto_tl_out_d_bits_data(coupler_from_tile_auto_tl_out_d_bits_data),
+    .auto_tl_out_d_bits_corrupt(coupler_from_tile_auto_tl_out_d_bits_corrupt),
+    .auto_tl_out_e_valid(coupler_from_tile_auto_tl_out_e_valid),
+    .auto_tl_out_e_bits_sink(coupler_from_tile_auto_tl_out_e_bits_sink)
+  );
+  assign auto_coupler_from_tile_tl_master_clock_xing_in_a_ready = coupler_from_tile_auto_tl_master_clock_xing_in_a_ready
+    ; // @[LazyModule.scala 309:16]
+  assign auto_coupler_from_tile_tl_master_clock_xing_in_b_valid = coupler_from_tile_auto_tl_master_clock_xing_in_b_valid
+    ; // @[LazyModule.scala 309:16]
+  assign auto_coupler_from_tile_tl_master_clock_xing_in_b_bits_param =
+    coupler_from_tile_auto_tl_master_clock_xing_in_b_bits_param; // @[LazyModule.scala 309:16]
+  assign auto_coupler_from_tile_tl_master_clock_xing_in_b_bits_address =
+    coupler_from_tile_auto_tl_master_clock_xing_in_b_bits_address; // @[LazyModule.scala 309:16]
+  assign auto_coupler_from_tile_tl_master_clock_xing_in_c_ready = coupler_from_tile_auto_tl_master_clock_xing_in_c_ready
+    ; // @[LazyModule.scala 309:16]
+  assign auto_coupler_from_tile_tl_master_clock_xing_in_d_valid = coupler_from_tile_auto_tl_master_clock_xing_in_d_valid
+    ; // @[LazyModule.scala 309:16]
+  assign auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_opcode =
+    coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_param =
+    coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_param; // @[LazyModule.scala 309:16]
+  assign auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_size =
+    coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_source =
+    coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_sink =
+    coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_sink; // @[LazyModule.scala 309:16]
+  assign auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_denied =
+    coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_denied; // @[LazyModule.scala 309:16]
+  assign auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_data =
+    coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_corrupt =
+    coupler_from_tile_auto_tl_master_clock_xing_in_d_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_a_valid =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_opcode =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_param =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_size =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_source =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_address =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_mask =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_data =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_corrupt =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_b_ready =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_b_ready; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_c_valid =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_c_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_opcode =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_param =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_size =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_source =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_address =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_data =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_corrupt =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_c_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_d_ready =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_e_valid =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_e_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_l2_widget_out_e_bits_sink =
+    coupler_to_bus_named_subsystem_l2_auto_widget_out_e_bits_sink; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_valid =
+    coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_opcode =
+    coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_param =
+    coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_size =
+    coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_source =
+    coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_address =
+    coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_mask =
+    coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_data =
+    coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_corrupt =
+    coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_ready =
+    coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_1_clock = fixedClockNode_auto_out_2_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_1_reset = fixedClockNode_auto_out_2_reset; // @[LazyModule.scala 311:12]
+  assign auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_1_clock =
+    subsystem_sbus_clock_groups_auto_out_3_member_subsystem_l2_1_clock; // @[LazyModule.scala 311:12]
+  assign auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_1_reset =
+    subsystem_sbus_clock_groups_auto_out_3_member_subsystem_l2_1_reset; // @[LazyModule.scala 311:12]
+  assign auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_0_clock =
+    subsystem_sbus_clock_groups_auto_out_3_member_subsystem_l2_0_clock; // @[LazyModule.scala 311:12]
+  assign auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_0_reset =
+    subsystem_sbus_clock_groups_auto_out_3_member_subsystem_l2_0_reset; // @[LazyModule.scala 311:12]
+  assign auto_subsystem_sbus_clock_groups_out_1_member_subsystem_fbus_0_clock =
+    subsystem_sbus_clock_groups_auto_out_2_member_subsystem_fbus_0_clock; // @[LazyModule.scala 311:12]
+  assign auto_subsystem_sbus_clock_groups_out_1_member_subsystem_fbus_0_reset =
+    subsystem_sbus_clock_groups_auto_out_2_member_subsystem_fbus_0_reset; // @[LazyModule.scala 311:12]
+  assign auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_1_clock =
+    subsystem_sbus_clock_groups_auto_out_1_member_subsystem_cbus_1_clock; // @[LazyModule.scala 311:12]
+  assign auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_1_reset =
+    subsystem_sbus_clock_groups_auto_out_1_member_subsystem_cbus_1_reset; // @[LazyModule.scala 311:12]
+  assign auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_0_clock =
+    subsystem_sbus_clock_groups_auto_out_1_member_subsystem_cbus_0_clock; // @[LazyModule.scala 311:12]
+  assign auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_0_reset =
+    subsystem_sbus_clock_groups_auto_out_1_member_subsystem_cbus_0_reset; // @[LazyModule.scala 311:12]
+  assign subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_5_clock =
+    auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_5_clock; // @[LazyModule.scala 309:16]
+  assign subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_5_reset =
+    auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_5_reset; // @[LazyModule.scala 309:16]
+  assign subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_4_clock =
+    auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_4_clock; // @[LazyModule.scala 309:16]
+  assign subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_4_reset =
+    auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_4_reset; // @[LazyModule.scala 309:16]
+  assign subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_3_clock =
+    auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_3_clock; // @[LazyModule.scala 309:16]
+  assign subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_3_reset =
+    auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_3_reset; // @[LazyModule.scala 309:16]
+  assign subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_2_clock =
+    auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_2_clock; // @[LazyModule.scala 309:16]
+  assign subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_2_reset =
+    auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_2_reset; // @[LazyModule.scala 309:16]
+  assign subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_1_clock =
+    auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_1_clock; // @[LazyModule.scala 309:16]
+  assign subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_1_reset =
+    auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_1_reset; // @[LazyModule.scala 309:16]
+  assign subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_0_clock =
+    auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_0_clock; // @[LazyModule.scala 309:16]
+  assign subsystem_sbus_clock_groups_auto_in_member_subsystem_sbus_0_reset =
+    auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_0_reset; // @[LazyModule.scala 309:16]
+  assign clockGroup_auto_in_member_subsystem_sbus_0_clock =
+    subsystem_sbus_clock_groups_auto_out_0_member_subsystem_sbus_0_clock; // @[LazyModule.scala 298:16]
+  assign clockGroup_auto_in_member_subsystem_sbus_0_reset =
+    subsystem_sbus_clock_groups_auto_out_0_member_subsystem_sbus_0_reset; // @[LazyModule.scala 298:16]
+  assign fixedClockNode_auto_in_clock = clockGroup_auto_out_clock; // @[LazyModule.scala 298:16]
+  assign fixedClockNode_auto_in_reset = clockGroup_auto_out_reset; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign system_bus_xbar_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_a_valid = fixer_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_a_bits_opcode = fixer_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_a_bits_param = fixer_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_a_bits_size = fixer_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_a_bits_source = fixer_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_a_bits_address = fixer_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_a_bits_mask = fixer_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_a_bits_data = fixer_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_a_bits_corrupt = fixer_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_b_ready = fixer_auto_out_b_ready; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_c_valid = fixer_auto_out_c_valid; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_c_bits_opcode = fixer_auto_out_c_bits_opcode; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_c_bits_param = fixer_auto_out_c_bits_param; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_c_bits_size = fixer_auto_out_c_bits_size; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_c_bits_source = fixer_auto_out_c_bits_source; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_c_bits_address = fixer_auto_out_c_bits_address; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_c_bits_data = fixer_auto_out_c_bits_data; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_c_bits_corrupt = fixer_auto_out_c_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_d_ready = fixer_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_e_valid = fixer_auto_out_e_valid; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_in_e_bits_sink = fixer_auto_out_e_bits_sink; // @[LazyModule.scala 296:16]
+  assign system_bus_xbar_auto_out_1_a_ready = coupler_to_bus_named_subsystem_l2_auto_widget_in_a_ready; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_1_b_valid = coupler_to_bus_named_subsystem_l2_auto_widget_in_b_valid; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_1_b_bits_param = coupler_to_bus_named_subsystem_l2_auto_widget_in_b_bits_param; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_1_b_bits_address = coupler_to_bus_named_subsystem_l2_auto_widget_in_b_bits_address; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_1_c_ready = coupler_to_bus_named_subsystem_l2_auto_widget_in_c_ready; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_1_d_valid = coupler_to_bus_named_subsystem_l2_auto_widget_in_d_valid; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_1_d_bits_opcode = coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_1_d_bits_param = coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_1_d_bits_size = coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_1_d_bits_source = coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_1_d_bits_sink = coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_1_d_bits_data = coupler_to_bus_named_subsystem_l2_auto_widget_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_0_a_ready = coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_ready; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_0_d_valid = coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_valid; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_0_d_bits_opcode = coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_0_d_bits_param = coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_0_d_bits_size = coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_0_d_bits_source = coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_0_d_bits_sink = coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_0_d_bits_denied = coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_denied; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_0_d_bits_data = coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign system_bus_xbar_auto_out_0_d_bits_corrupt = coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign fixer_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign fixer_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign fixer_auto_in_a_valid = coupler_from_tile_auto_tl_out_a_valid; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_opcode = coupler_from_tile_auto_tl_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_param = coupler_from_tile_auto_tl_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_size = coupler_from_tile_auto_tl_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_source = coupler_from_tile_auto_tl_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_address = coupler_from_tile_auto_tl_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_mask = coupler_from_tile_auto_tl_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_data = coupler_from_tile_auto_tl_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_corrupt = coupler_from_tile_auto_tl_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_b_ready = coupler_from_tile_auto_tl_out_b_ready; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_c_valid = coupler_from_tile_auto_tl_out_c_valid; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_c_bits_opcode = coupler_from_tile_auto_tl_out_c_bits_opcode; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_c_bits_param = coupler_from_tile_auto_tl_out_c_bits_param; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_c_bits_size = coupler_from_tile_auto_tl_out_c_bits_size; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_c_bits_source = coupler_from_tile_auto_tl_out_c_bits_source; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_c_bits_address = coupler_from_tile_auto_tl_out_c_bits_address; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_c_bits_data = coupler_from_tile_auto_tl_out_c_bits_data; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_c_bits_corrupt = coupler_from_tile_auto_tl_out_c_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_d_ready = coupler_from_tile_auto_tl_out_d_ready; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_e_valid = coupler_from_tile_auto_tl_out_e_valid; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_e_bits_sink = coupler_from_tile_auto_tl_out_e_bits_sink; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_a_ready = system_bus_xbar_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_b_valid = system_bus_xbar_auto_in_b_valid; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_b_bits_param = system_bus_xbar_auto_in_b_bits_param; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_b_bits_address = system_bus_xbar_auto_in_b_bits_address; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_c_ready = system_bus_xbar_auto_in_c_ready; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_d_valid = system_bus_xbar_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_d_bits_opcode = system_bus_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_d_bits_param = system_bus_xbar_auto_in_d_bits_param; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_d_bits_size = system_bus_xbar_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_d_bits_source = system_bus_xbar_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_d_bits_sink = system_bus_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_d_bits_denied = system_bus_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_d_bits_data = system_bus_xbar_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_d_bits_corrupt = system_bus_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_valid = system_bus_xbar_auto_out_0_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_opcode = system_bus_xbar_auto_out_0_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_param = system_bus_xbar_auto_out_0_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_size = system_bus_xbar_auto_out_0_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_source = system_bus_xbar_auto_out_0_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_address = system_bus_xbar_auto_out_0_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_mask = system_bus_xbar_auto_out_0_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_data = system_bus_xbar_auto_out_0_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_cbus_auto_widget_in_a_bits_corrupt = system_bus_xbar_auto_out_0_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_cbus_auto_widget_in_d_ready = system_bus_xbar_auto_out_0_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_a_ready =
+    auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_valid =
+    auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_opcode =
+    auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_param =
+    auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_param; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_size =
+    auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_source =
+    auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_sink =
+    auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_sink; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_denied =
+    auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_denied; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_data =
+    auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_cbus_auto_bus_xing_out_d_bits_corrupt =
+    auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_a_valid = system_bus_xbar_auto_out_1_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_opcode = system_bus_xbar_auto_out_1_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_param = system_bus_xbar_auto_out_1_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_size = system_bus_xbar_auto_out_1_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_source = system_bus_xbar_auto_out_1_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_address = system_bus_xbar_auto_out_1_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_mask = system_bus_xbar_auto_out_1_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_data = system_bus_xbar_auto_out_1_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_a_bits_corrupt = system_bus_xbar_auto_out_1_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_b_ready = system_bus_xbar_auto_out_1_b_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_c_valid = system_bus_xbar_auto_out_1_c_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_opcode = system_bus_xbar_auto_out_1_c_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_param = system_bus_xbar_auto_out_1_c_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_size = system_bus_xbar_auto_out_1_c_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_source = system_bus_xbar_auto_out_1_c_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_address = system_bus_xbar_auto_out_1_c_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_data = system_bus_xbar_auto_out_1_c_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_c_bits_corrupt = system_bus_xbar_auto_out_1_c_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_d_ready = system_bus_xbar_auto_out_1_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_e_valid = system_bus_xbar_auto_out_1_e_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_in_e_bits_sink = system_bus_xbar_auto_out_1_e_bits_sink; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_out_a_ready =
+    auto_coupler_to_bus_named_subsystem_l2_widget_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_out_b_valid =
+    auto_coupler_to_bus_named_subsystem_l2_widget_out_b_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_out_b_bits_param =
+    auto_coupler_to_bus_named_subsystem_l2_widget_out_b_bits_param; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_out_b_bits_address =
+    auto_coupler_to_bus_named_subsystem_l2_widget_out_b_bits_address; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_out_c_ready =
+    auto_coupler_to_bus_named_subsystem_l2_widget_out_c_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_out_d_valid =
+    auto_coupler_to_bus_named_subsystem_l2_widget_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_opcode =
+    auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_param =
+    auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_param; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_size =
+    auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_source =
+    auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_sink =
+    auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_sink; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_l2_auto_widget_out_d_bits_data =
+    auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_a_valid = auto_coupler_from_tile_tl_master_clock_xing_in_a_valid
+    ; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_opcode =
+    auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_param =
+    auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_size =
+    auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_source =
+    auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_address =
+    auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_mask =
+    auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_data =
+    auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_a_bits_corrupt =
+    auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_b_ready = auto_coupler_from_tile_tl_master_clock_xing_in_b_ready
+    ; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_c_valid = auto_coupler_from_tile_tl_master_clock_xing_in_c_valid
+    ; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_opcode =
+    auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_opcode; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_param =
+    auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_param; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_size =
+    auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_size; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_source =
+    auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_source; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_address =
+    auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_address; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_data =
+    auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_data; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_c_bits_corrupt =
+    auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_d_ready = auto_coupler_from_tile_tl_master_clock_xing_in_d_ready
+    ; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_e_valid = auto_coupler_from_tile_tl_master_clock_xing_in_e_valid
+    ; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_master_clock_xing_in_e_bits_sink =
+    auto_coupler_from_tile_tl_master_clock_xing_in_e_bits_sink; // @[LazyModule.scala 309:16]
+  assign coupler_from_tile_auto_tl_out_a_ready = fixer_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign coupler_from_tile_auto_tl_out_b_valid = fixer_auto_in_b_valid; // @[LazyModule.scala 296:16]
+  assign coupler_from_tile_auto_tl_out_b_bits_param = fixer_auto_in_b_bits_param; // @[LazyModule.scala 296:16]
+  assign coupler_from_tile_auto_tl_out_b_bits_address = fixer_auto_in_b_bits_address; // @[LazyModule.scala 296:16]
+  assign coupler_from_tile_auto_tl_out_c_ready = fixer_auto_in_c_ready; // @[LazyModule.scala 296:16]
+  assign coupler_from_tile_auto_tl_out_d_valid = fixer_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign coupler_from_tile_auto_tl_out_d_bits_opcode = fixer_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign coupler_from_tile_auto_tl_out_d_bits_param = fixer_auto_in_d_bits_param; // @[LazyModule.scala 296:16]
+  assign coupler_from_tile_auto_tl_out_d_bits_size = fixer_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign coupler_from_tile_auto_tl_out_d_bits_source = fixer_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign coupler_from_tile_auto_tl_out_d_bits_sink = fixer_auto_in_d_bits_sink; // @[LazyModule.scala 296:16]
+  assign coupler_from_tile_auto_tl_out_d_bits_denied = fixer_auto_in_d_bits_denied; // @[LazyModule.scala 296:16]
+  assign coupler_from_tile_auto_tl_out_d_bits_data = fixer_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign coupler_from_tile_auto_tl_out_d_bits_corrupt = fixer_auto_in_d_bits_corrupt; // @[LazyModule.scala 296:16]
+endmodule
+module ClockGroupAggregator_1(
+  input   auto_in_member_subsystem_pbus_0_clock,
+  input   auto_in_member_subsystem_pbus_0_reset,
+  output  auto_out_member_subsystem_pbus_0_clock,
+  output  auto_out_member_subsystem_pbus_0_reset
+);
+  assign auto_out_member_subsystem_pbus_0_clock = auto_in_member_subsystem_pbus_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_member_subsystem_pbus_0_reset = auto_in_member_subsystem_pbus_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module ClockGroup_1(
+  input   auto_in_member_subsystem_pbus_0_clock,
+  input   auto_in_member_subsystem_pbus_0_reset,
+  output  auto_out_clock,
+  output  auto_out_reset
+);
+  assign auto_out_clock = auto_in_member_subsystem_pbus_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_reset = auto_in_member_subsystem_pbus_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module FixedClockBroadcast_1(
+  input   auto_in_clock,
+  input   auto_in_reset,
+  output  auto_out_14_clock,
+  output  auto_out_14_reset,
+  output  auto_out_13_clock,
+  output  auto_out_13_reset,
+  output  auto_out_12_clock,
+  output  auto_out_12_reset,
+  output  auto_out_11_clock,
+  output  auto_out_11_reset,
+  output  auto_out_10_clock,
+  output  auto_out_10_reset,
+  output  auto_out_9_clock,
+  output  auto_out_9_reset,
+  output  auto_out_8_clock,
+  output  auto_out_8_reset,
+  output  auto_out_7_clock,
+  output  auto_out_7_reset,
+  output  auto_out_6_clock,
+  output  auto_out_6_reset,
+  output  auto_out_5_clock,
+  output  auto_out_5_reset,
+  output  auto_out_4_clock,
+  output  auto_out_4_reset,
+  output  auto_out_3_clock,
+  output  auto_out_3_reset,
+  output  auto_out_2_clock,
+  output  auto_out_2_reset,
+  output  auto_out_1_clock,
+  output  auto_out_1_reset,
+  output  auto_out_0_clock,
+  output  auto_out_0_reset
+);
+  assign auto_out_14_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_14_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_13_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_13_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_12_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_12_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_11_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_11_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_10_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_10_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_9_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_9_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_8_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_8_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_7_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_7_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_6_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_6_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_5_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_5_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_4_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_4_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_2(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [29:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [29:0] _GEN_71 = {{24'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [29:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 30'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [29:0] _T_45 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_48 = $signed(_T_46) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_50 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_51 = {1'b0,$signed(_T_50)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_53 = $signed(_T_51) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_54 = $signed(_T_53) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_55 = io_in_a_bits_address ^ 30'h10016000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_56 = {1'b0,$signed(_T_55)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_58 = $signed(_T_56) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_59 = $signed(_T_58) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_60 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_61 = {1'b0,$signed(_T_60)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_63 = $signed(_T_61) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_64 = $signed(_T_63) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_65 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_66 = {1'b0,$signed(_T_65)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_68 = $signed(_T_66) & -31'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_69 = $signed(_T_68) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_70 = io_in_a_bits_address ^ 30'h10026000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_71 = {1'b0,$signed(_T_70)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_73 = $signed(_T_71) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_74 = $signed(_T_73) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_75 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_76 = {1'b0,$signed(_T_75)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_78 = $signed(_T_76) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_79 = $signed(_T_78) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_80 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_83 = $signed(_T_81) & -31'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_84 = $signed(_T_83) == 31'sh0; // @[Parameters.scala 137:67]
+  wire  _T_90 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79; // @[Parameters.scala 671:42]
+  wire  _T_91 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84; // @[Parameters.scala 671:42]
+  wire  _T_101 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_102 = _source_ok_T & _T_101; // @[Mux.scala 27:73]
+  wire  _T_160 = _T_102 & _T_91; // @[Monitor.scala 83:78]
+  wire  _T_174 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_178 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_179 = _T_178 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_183 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_187 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_332 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_345 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_360 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_410 = _T_360 & _T_91; // @[Parameters.scala 670:56]
+  wire  _T_421 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_425 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_433 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_489 = _T_360 & _T_90; // @[Parameters.scala 670:56]
+  wire  _T_499 = source_ok & _T_489; // @[Monitor.scala 115:71]
+  wire  _T_517 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_597 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_598 = io_in_a_bits_mask & _T_597; // @[Monitor.scala 127:31]
+  wire  _T_599 = _T_598 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_603 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_674 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_682 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_753 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_761 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_832 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_844 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_848 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_852 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_868 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_896 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_925 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_942 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_960 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [29:0] address; // @[Monitor.scala 388:22]
+  wire  _T_990 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_991 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_995 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_999 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_1003 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_1007 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_1014 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_1015 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_1023 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_1027 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_1041 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_1044 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_1046 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_1048 = ~_T_1046[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_1052 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_1054 = ~_T_848; // @[Monitor.scala 671:74]
+  wire  _T_1055 = io_in_d_valid & d_first_1 & ~_T_848; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_1054 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_1054 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_1041 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_1065 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_1067 = _T_1065[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_1072 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_1073 = io_in_d_bits_opcode == _GEN_32 | _T_1072; // @[Monitor.scala 685:77]
+  wire  _T_1077 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_1084 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_1085 = io_in_d_bits_opcode == _GEN_48 | _T_1084; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_1089 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_1099 = _T_1052 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_1054; // @[Monitor.scala 694:116]
+  wire  _T_1101 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_1110 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_1136 = io_in_d_valid & d_first_2 & _T_848; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_848 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_848 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_1144 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_1154 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_1174 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_160 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_160) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_174 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_174) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_179 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_179) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_160 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_160) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_174 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_174) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_332 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_332) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_179 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_179) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_410 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_410) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_421 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_499 & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~_T_499) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_421 & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~_T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_499 & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~_T_499) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_421 & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~_T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_674 & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~_T_674) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_682 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_682 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_753 & (io_in_a_valid & _T_682 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset & ~_T_753) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_682 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_761 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_761 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_832 & (io_in_a_valid & _T_761 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset & ~_T_832) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_761 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_761 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_844 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_844) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_848 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_848 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_852 & (io_in_d_valid & _T_848 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_848 & _T_2 & ~_T_852) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_868 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_852 & (io_in_d_valid & _T_868 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2 & ~_T_852) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_896 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_852 & (io_in_d_valid & _T_896 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2 & ~_T_852) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_925 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_925 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_942 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_942 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_960 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_960 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_991 & (_T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990 & ~reset & ~_T_991) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_995 & (_T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990 & ~reset & ~_T_995) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_999 & (_T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990 & ~reset & ~_T_999) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1003 & (_T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990 & ~reset & ~_T_1003) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1007 & (_T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990 & ~reset & ~_T_1007) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1015 & (_T_1014 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1014 & _T_2 & ~_T_1015) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1023 & (_T_1014 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1014 & _T_2 & ~_T_1023) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1027 & (_T_1014 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1014 & _T_2 & ~_T_1027) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1048 & (_T_1044 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1044 & ~reset & ~_T_1048) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1067 & (_T_1055 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1055 & _T_2 & ~_T_1067) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1073 & (_T_1055 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1055 & same_cycle_resp & _T_2 & ~_T_1073) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1077 & (_T_1055 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1055 & same_cycle_resp & _T_2 & ~_T_1077) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1085 & (_T_1055 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1055 & ~same_cycle_resp & _T_2 & ~_T_1085) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1089 & (_T_1055 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1055 & ~same_cycle_resp & _T_2 & ~_T_1089) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1101 & (_T_1099 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1099 & _T_2 & ~_T_1101) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1110 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1110) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1144[0] & (_T_1136 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1136 & _T_2 & ~_T_1144[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1154 & (_T_1136 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1136 & _T_2 & ~_T_1154) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1174 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1174) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFIFOFixer_1(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [29:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  TLMonitor_2 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[FIFOFixer.scala 88:33]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[FIFOFixer.scala 87:33]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = auto_out_a_ready; // @[FIFOFixer.scala 88:33]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLXbar_1(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input         auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Xbar.scala 228:69]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[Xbar.scala 323:53]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_3(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [29:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [29:0] _GEN_71 = {{24'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [29:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 30'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [29:0] _T_45 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_48 = $signed(_T_46) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_50 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_51 = {1'b0,$signed(_T_50)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_53 = $signed(_T_51) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_54 = $signed(_T_53) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_55 = io_in_a_bits_address ^ 30'h10016000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_56 = {1'b0,$signed(_T_55)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_58 = $signed(_T_56) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_59 = $signed(_T_58) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_60 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_61 = {1'b0,$signed(_T_60)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_63 = $signed(_T_61) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_64 = $signed(_T_63) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_65 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_66 = {1'b0,$signed(_T_65)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_68 = $signed(_T_66) & -31'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_69 = $signed(_T_68) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_70 = io_in_a_bits_address ^ 30'h10026000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_71 = {1'b0,$signed(_T_70)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_73 = $signed(_T_71) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_74 = $signed(_T_73) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_75 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_76 = {1'b0,$signed(_T_75)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_78 = $signed(_T_76) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_79 = $signed(_T_78) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_80 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_83 = $signed(_T_81) & -31'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_84 = $signed(_T_83) == 31'sh0; // @[Parameters.scala 137:67]
+  wire  _T_90 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79; // @[Parameters.scala 671:42]
+  wire  _T_91 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84; // @[Parameters.scala 671:42]
+  wire  _T_101 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_102 = _source_ok_T & _T_101; // @[Mux.scala 27:73]
+  wire  _T_160 = _T_102 & _T_91; // @[Monitor.scala 83:78]
+  wire  _T_174 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_178 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_179 = _T_178 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_183 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_187 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_332 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_345 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_360 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_410 = _T_360 & _T_91; // @[Parameters.scala 670:56]
+  wire  _T_421 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_425 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_433 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_489 = _T_360 & _T_90; // @[Parameters.scala 670:56]
+  wire  _T_499 = source_ok & _T_489; // @[Monitor.scala 115:71]
+  wire  _T_517 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_597 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_598 = io_in_a_bits_mask & _T_597; // @[Monitor.scala 127:31]
+  wire  _T_599 = _T_598 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_603 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_674 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_682 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_753 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_761 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_832 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_844 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_848 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_852 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_868 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_896 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_925 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_942 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_960 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [29:0] address; // @[Monitor.scala 388:22]
+  wire  _T_990 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_991 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_995 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_999 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_1003 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_1007 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_1014 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_1015 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_1023 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_1027 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_1041 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_1044 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_1046 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_1048 = ~_T_1046[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_1052 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_1054 = ~_T_848; // @[Monitor.scala 671:74]
+  wire  _T_1055 = io_in_d_valid & d_first_1 & ~_T_848; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_1054 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_1054 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_1041 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_1065 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_1067 = _T_1065[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_1072 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_1073 = io_in_d_bits_opcode == _GEN_32 | _T_1072; // @[Monitor.scala 685:77]
+  wire  _T_1077 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_1084 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_1085 = io_in_d_bits_opcode == _GEN_48 | _T_1084; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_1089 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_1099 = _T_1052 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_1054; // @[Monitor.scala 694:116]
+  wire  _T_1101 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_1110 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_1136 = io_in_d_valid & d_first_2 & _T_848; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_848 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_848 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_1144 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_1154 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_1174 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_160 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_160) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_174 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_174) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_179 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_179) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_160 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_160) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_174 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_174) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_332 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_332) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_179 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_179) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_410 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_410) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_421 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_499 & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~_T_499) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_421 & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~_T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_499 & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~_T_499) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_421 & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~_T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_674 & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~_T_674) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_682 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_682 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_753 & (io_in_a_valid & _T_682 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset & ~_T_753) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_682 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_761 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_761 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_832 & (io_in_a_valid & _T_761 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset & ~_T_832) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_761 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_761 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_844 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_844) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_848 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_848 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_852 & (io_in_d_valid & _T_848 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_848 & _T_2 & ~_T_852) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_868 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_852 & (io_in_d_valid & _T_868 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2 & ~_T_852) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_896 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_852 & (io_in_d_valid & _T_896 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2 & ~_T_852) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_925 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_925 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_942 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_942 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_960 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_960 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_991 & (_T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990 & ~reset & ~_T_991) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_995 & (_T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990 & ~reset & ~_T_995) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_999 & (_T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990 & ~reset & ~_T_999) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1003 & (_T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990 & ~reset & ~_T_1003) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1007 & (_T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990 & ~reset & ~_T_1007) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1015 & (_T_1014 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1014 & _T_2 & ~_T_1015) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1023 & (_T_1014 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1014 & _T_2 & ~_T_1023) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1027 & (_T_1014 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1014 & _T_2 & ~_T_1027) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1048 & (_T_1044 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1044 & ~reset & ~_T_1048) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1067 & (_T_1055 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1055 & _T_2 & ~_T_1067) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1073 & (_T_1055 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1055 & same_cycle_resp & _T_2 & ~_T_1073) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1077 & (_T_1055 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1055 & same_cycle_resp & _T_2 & ~_T_1077) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1085 & (_T_1055 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1055 & ~same_cycle_resp & _T_2 & ~_T_1085) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1089 & (_T_1055 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1055 & ~same_cycle_resp & _T_2 & ~_T_1089) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1101 & (_T_1099 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1099 & _T_2 & ~_T_1101) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1110 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1110) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1144[0] & (_T_1136 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1136 & _T_2 & ~_T_1144[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1154 & (_T_1136 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1136 & _T_2 & ~_T_1154) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1174 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1174) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLXbar_2(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_14_a_ready,
+  output        auto_out_14_a_valid,
+  output [2:0]  auto_out_14_a_bits_opcode,
+  output [2:0]  auto_out_14_a_bits_param,
+  output [2:0]  auto_out_14_a_bits_size,
+  output [1:0]  auto_out_14_a_bits_source,
+  output [28:0] auto_out_14_a_bits_address,
+  output [3:0]  auto_out_14_a_bits_mask,
+  output [31:0] auto_out_14_a_bits_data,
+  output        auto_out_14_a_bits_corrupt,
+  output        auto_out_14_d_ready,
+  input         auto_out_14_d_valid,
+  input  [2:0]  auto_out_14_d_bits_opcode,
+  input  [2:0]  auto_out_14_d_bits_size,
+  input  [1:0]  auto_out_14_d_bits_source,
+  input  [31:0] auto_out_14_d_bits_data,
+  input         auto_out_13_a_ready,
+  output        auto_out_13_a_valid,
+  output [2:0]  auto_out_13_a_bits_opcode,
+  output [2:0]  auto_out_13_a_bits_param,
+  output [2:0]  auto_out_13_a_bits_size,
+  output [1:0]  auto_out_13_a_bits_source,
+  output [28:0] auto_out_13_a_bits_address,
+  output [3:0]  auto_out_13_a_bits_mask,
+  output [31:0] auto_out_13_a_bits_data,
+  output        auto_out_13_a_bits_corrupt,
+  output        auto_out_13_d_ready,
+  input         auto_out_13_d_valid,
+  input  [2:0]  auto_out_13_d_bits_opcode,
+  input  [2:0]  auto_out_13_d_bits_size,
+  input  [1:0]  auto_out_13_d_bits_source,
+  input  [31:0] auto_out_13_d_bits_data,
+  input         auto_out_12_a_ready,
+  output        auto_out_12_a_valid,
+  output [2:0]  auto_out_12_a_bits_opcode,
+  output [2:0]  auto_out_12_a_bits_param,
+  output [2:0]  auto_out_12_a_bits_size,
+  output [1:0]  auto_out_12_a_bits_source,
+  output [28:0] auto_out_12_a_bits_address,
+  output [3:0]  auto_out_12_a_bits_mask,
+  output [31:0] auto_out_12_a_bits_data,
+  output        auto_out_12_a_bits_corrupt,
+  output        auto_out_12_d_ready,
+  input         auto_out_12_d_valid,
+  input  [2:0]  auto_out_12_d_bits_opcode,
+  input  [2:0]  auto_out_12_d_bits_size,
+  input  [1:0]  auto_out_12_d_bits_source,
+  input  [31:0] auto_out_12_d_bits_data,
+  input         auto_out_11_a_ready,
+  output        auto_out_11_a_valid,
+  output [2:0]  auto_out_11_a_bits_opcode,
+  output [2:0]  auto_out_11_a_bits_param,
+  output [2:0]  auto_out_11_a_bits_size,
+  output [1:0]  auto_out_11_a_bits_source,
+  output [28:0] auto_out_11_a_bits_address,
+  output [3:0]  auto_out_11_a_bits_mask,
+  output [31:0] auto_out_11_a_bits_data,
+  output        auto_out_11_a_bits_corrupt,
+  output        auto_out_11_d_ready,
+  input         auto_out_11_d_valid,
+  input  [2:0]  auto_out_11_d_bits_opcode,
+  input  [2:0]  auto_out_11_d_bits_size,
+  input  [1:0]  auto_out_11_d_bits_source,
+  input  [31:0] auto_out_11_d_bits_data,
+  input         auto_out_10_a_ready,
+  output        auto_out_10_a_valid,
+  output [2:0]  auto_out_10_a_bits_opcode,
+  output [2:0]  auto_out_10_a_bits_param,
+  output [2:0]  auto_out_10_a_bits_size,
+  output [1:0]  auto_out_10_a_bits_source,
+  output [28:0] auto_out_10_a_bits_address,
+  output [3:0]  auto_out_10_a_bits_mask,
+  output [31:0] auto_out_10_a_bits_data,
+  output        auto_out_10_a_bits_corrupt,
+  output        auto_out_10_d_ready,
+  input         auto_out_10_d_valid,
+  input  [2:0]  auto_out_10_d_bits_opcode,
+  input  [2:0]  auto_out_10_d_bits_size,
+  input  [1:0]  auto_out_10_d_bits_source,
+  input  [31:0] auto_out_10_d_bits_data,
+  input         auto_out_9_a_ready,
+  output        auto_out_9_a_valid,
+  output [2:0]  auto_out_9_a_bits_opcode,
+  output [2:0]  auto_out_9_a_bits_param,
+  output [2:0]  auto_out_9_a_bits_size,
+  output [1:0]  auto_out_9_a_bits_source,
+  output [28:0] auto_out_9_a_bits_address,
+  output [3:0]  auto_out_9_a_bits_mask,
+  output [31:0] auto_out_9_a_bits_data,
+  output        auto_out_9_a_bits_corrupt,
+  output        auto_out_9_d_ready,
+  input         auto_out_9_d_valid,
+  input  [2:0]  auto_out_9_d_bits_opcode,
+  input  [2:0]  auto_out_9_d_bits_size,
+  input  [1:0]  auto_out_9_d_bits_source,
+  input  [31:0] auto_out_9_d_bits_data,
+  input         auto_out_8_a_ready,
+  output        auto_out_8_a_valid,
+  output [2:0]  auto_out_8_a_bits_opcode,
+  output [2:0]  auto_out_8_a_bits_param,
+  output [2:0]  auto_out_8_a_bits_size,
+  output [1:0]  auto_out_8_a_bits_source,
+  output [28:0] auto_out_8_a_bits_address,
+  output [3:0]  auto_out_8_a_bits_mask,
+  output [31:0] auto_out_8_a_bits_data,
+  output        auto_out_8_a_bits_corrupt,
+  output        auto_out_8_d_ready,
+  input         auto_out_8_d_valid,
+  input  [2:0]  auto_out_8_d_bits_opcode,
+  input  [2:0]  auto_out_8_d_bits_size,
+  input  [1:0]  auto_out_8_d_bits_source,
+  input  [31:0] auto_out_8_d_bits_data,
+  input         auto_out_7_a_ready,
+  output        auto_out_7_a_valid,
+  output [2:0]  auto_out_7_a_bits_opcode,
+  output [2:0]  auto_out_7_a_bits_param,
+  output [2:0]  auto_out_7_a_bits_size,
+  output [1:0]  auto_out_7_a_bits_source,
+  output [28:0] auto_out_7_a_bits_address,
+  output [3:0]  auto_out_7_a_bits_mask,
+  output [31:0] auto_out_7_a_bits_data,
+  output        auto_out_7_a_bits_corrupt,
+  output        auto_out_7_d_ready,
+  input         auto_out_7_d_valid,
+  input  [2:0]  auto_out_7_d_bits_opcode,
+  input  [2:0]  auto_out_7_d_bits_size,
+  input  [1:0]  auto_out_7_d_bits_source,
+  input  [31:0] auto_out_7_d_bits_data,
+  input         auto_out_6_a_ready,
+  output        auto_out_6_a_valid,
+  output [2:0]  auto_out_6_a_bits_opcode,
+  output [2:0]  auto_out_6_a_bits_param,
+  output [2:0]  auto_out_6_a_bits_size,
+  output [1:0]  auto_out_6_a_bits_source,
+  output [29:0] auto_out_6_a_bits_address,
+  output [3:0]  auto_out_6_a_bits_mask,
+  output        auto_out_6_a_bits_corrupt,
+  output        auto_out_6_d_ready,
+  input         auto_out_6_d_valid,
+  input  [2:0]  auto_out_6_d_bits_size,
+  input  [1:0]  auto_out_6_d_bits_source,
+  input  [31:0] auto_out_6_d_bits_data,
+  input         auto_out_5_a_ready,
+  output        auto_out_5_a_valid,
+  output [2:0]  auto_out_5_a_bits_opcode,
+  output [2:0]  auto_out_5_a_bits_param,
+  output [2:0]  auto_out_5_a_bits_size,
+  output [1:0]  auto_out_5_a_bits_source,
+  output [28:0] auto_out_5_a_bits_address,
+  output [3:0]  auto_out_5_a_bits_mask,
+  output [31:0] auto_out_5_a_bits_data,
+  output        auto_out_5_a_bits_corrupt,
+  output        auto_out_5_d_ready,
+  input         auto_out_5_d_valid,
+  input  [2:0]  auto_out_5_d_bits_opcode,
+  input  [2:0]  auto_out_5_d_bits_size,
+  input  [1:0]  auto_out_5_d_bits_source,
+  input  [31:0] auto_out_5_d_bits_data,
+  input         auto_out_4_a_ready,
+  output        auto_out_4_a_valid,
+  output [2:0]  auto_out_4_a_bits_opcode,
+  output [2:0]  auto_out_4_a_bits_param,
+  output [2:0]  auto_out_4_a_bits_size,
+  output [1:0]  auto_out_4_a_bits_source,
+  output [28:0] auto_out_4_a_bits_address,
+  output [3:0]  auto_out_4_a_bits_mask,
+  output [31:0] auto_out_4_a_bits_data,
+  output        auto_out_4_a_bits_corrupt,
+  output        auto_out_4_d_ready,
+  input         auto_out_4_d_valid,
+  input  [2:0]  auto_out_4_d_bits_opcode,
+  input  [2:0]  auto_out_4_d_bits_size,
+  input  [1:0]  auto_out_4_d_bits_source,
+  input  [31:0] auto_out_4_d_bits_data,
+  input         auto_out_3_a_ready,
+  output        auto_out_3_a_valid,
+  output [2:0]  auto_out_3_a_bits_opcode,
+  output [2:0]  auto_out_3_a_bits_param,
+  output [2:0]  auto_out_3_a_bits_size,
+  output [1:0]  auto_out_3_a_bits_source,
+  output [28:0] auto_out_3_a_bits_address,
+  output [3:0]  auto_out_3_a_bits_mask,
+  output [31:0] auto_out_3_a_bits_data,
+  output        auto_out_3_a_bits_corrupt,
+  output        auto_out_3_d_ready,
+  input         auto_out_3_d_valid,
+  input  [2:0]  auto_out_3_d_bits_opcode,
+  input  [2:0]  auto_out_3_d_bits_size,
+  input  [1:0]  auto_out_3_d_bits_source,
+  input  [31:0] auto_out_3_d_bits_data,
+  input         auto_out_2_a_ready,
+  output        auto_out_2_a_valid,
+  output [2:0]  auto_out_2_a_bits_opcode,
+  output [2:0]  auto_out_2_a_bits_param,
+  output [2:0]  auto_out_2_a_bits_size,
+  output [1:0]  auto_out_2_a_bits_source,
+  output [28:0] auto_out_2_a_bits_address,
+  output [3:0]  auto_out_2_a_bits_mask,
+  output [31:0] auto_out_2_a_bits_data,
+  output        auto_out_2_a_bits_corrupt,
+  output        auto_out_2_d_ready,
+  input         auto_out_2_d_valid,
+  input  [2:0]  auto_out_2_d_bits_opcode,
+  input  [2:0]  auto_out_2_d_bits_size,
+  input  [1:0]  auto_out_2_d_bits_source,
+  input  [31:0] auto_out_2_d_bits_data,
+  input         auto_out_1_a_ready,
+  output        auto_out_1_a_valid,
+  output [2:0]  auto_out_1_a_bits_opcode,
+  output [2:0]  auto_out_1_a_bits_param,
+  output [2:0]  auto_out_1_a_bits_size,
+  output [1:0]  auto_out_1_a_bits_source,
+  output [28:0] auto_out_1_a_bits_address,
+  output [3:0]  auto_out_1_a_bits_mask,
+  output [31:0] auto_out_1_a_bits_data,
+  output        auto_out_1_a_bits_corrupt,
+  output        auto_out_1_d_ready,
+  input         auto_out_1_d_valid,
+  input  [2:0]  auto_out_1_d_bits_opcode,
+  input  [2:0]  auto_out_1_d_bits_size,
+  input  [1:0]  auto_out_1_d_bits_source,
+  input  [31:0] auto_out_1_d_bits_data,
+  input         auto_out_0_a_ready,
+  output        auto_out_0_a_valid,
+  output [2:0]  auto_out_0_a_bits_opcode,
+  output [2:0]  auto_out_0_a_bits_param,
+  output [2:0]  auto_out_0_a_bits_size,
+  output [1:0]  auto_out_0_a_bits_source,
+  output [28:0] auto_out_0_a_bits_address,
+  output [3:0]  auto_out_0_a_bits_mask,
+  output [31:0] auto_out_0_a_bits_data,
+  output        auto_out_0_a_bits_corrupt,
+  output        auto_out_0_d_ready,
+  input         auto_out_0_d_valid,
+  input  [2:0]  auto_out_0_d_bits_opcode,
+  input  [2:0]  auto_out_0_d_bits_size,
+  input  [1:0]  auto_out_0_d_bits_source,
+  input  [31:0] auto_out_0_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [29:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  reg [3:0] beatsLeft; // @[Arbiter.scala 87:30]
+  wire  idle = beatsLeft == 4'h0; // @[Arbiter.scala 88:28]
+  wire [6:0] readys_lo = {auto_out_6_d_valid,auto_out_5_d_valid,auto_out_4_d_valid,auto_out_3_d_valid,auto_out_2_d_valid
+    ,auto_out_1_d_valid,auto_out_0_d_valid}; // @[Cat.scala 31:58]
+  wire [14:0] readys_valid = {auto_out_14_d_valid,auto_out_13_d_valid,auto_out_12_d_valid,auto_out_11_d_valid,
+    auto_out_10_d_valid,auto_out_9_d_valid,auto_out_8_d_valid,auto_out_7_d_valid,readys_lo}; // @[Cat.scala 31:58]
+  reg [14:0] readys_mask; // @[Arbiter.scala 23:23]
+  wire [14:0] _readys_filter_T = ~readys_mask; // @[Arbiter.scala 24:30]
+  wire [14:0] _readys_filter_T_1 = readys_valid & _readys_filter_T; // @[Arbiter.scala 24:28]
+  wire [29:0] readys_filter = {_readys_filter_T_1,auto_out_14_d_valid,auto_out_13_d_valid,auto_out_12_d_valid,
+    auto_out_11_d_valid,auto_out_10_d_valid,auto_out_9_d_valid,auto_out_8_d_valid,auto_out_7_d_valid,readys_lo}; // @[Cat.scala 31:58]
+  wire [29:0] _GEN_1 = {{1'd0}, readys_filter[29:1]}; // @[package.scala 253:43]
+  wire [29:0] _readys_unready_T_1 = readys_filter | _GEN_1; // @[package.scala 253:43]
+  wire [29:0] _GEN_2 = {{2'd0}, _readys_unready_T_1[29:2]}; // @[package.scala 253:43]
+  wire [29:0] _readys_unready_T_3 = _readys_unready_T_1 | _GEN_2; // @[package.scala 253:43]
+  wire [29:0] _GEN_3 = {{4'd0}, _readys_unready_T_3[29:4]}; // @[package.scala 253:43]
+  wire [29:0] _readys_unready_T_5 = _readys_unready_T_3 | _GEN_3; // @[package.scala 253:43]
+  wire [29:0] _GEN_4 = {{8'd0}, _readys_unready_T_5[29:8]}; // @[package.scala 253:43]
+  wire [29:0] _readys_unready_T_7 = _readys_unready_T_5 | _GEN_4; // @[package.scala 253:43]
+  wire [29:0] _readys_unready_T_10 = {readys_mask, 15'h0}; // @[Arbiter.scala 25:66]
+  wire [29:0] _GEN_5 = {{1'd0}, _readys_unready_T_7[29:1]}; // @[Arbiter.scala 25:58]
+  wire [29:0] readys_unready = _GEN_5 | _readys_unready_T_10; // @[Arbiter.scala 25:58]
+  wire [14:0] _readys_readys_T_2 = readys_unready[29:15] & readys_unready[14:0]; // @[Arbiter.scala 26:39]
+  wire [14:0] readys_readys = ~_readys_readys_T_2; // @[Arbiter.scala 26:18]
+  wire  readys_0 = readys_readys[0]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_0 = readys_0 & auto_out_0_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_0; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_0 = idle ? earlyWinner_0 : state_0; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_244 = muxStateEarly_0 ? auto_out_0_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire  readys_1 = readys_readys[1]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_1 = readys_1 & auto_out_1_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_1; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_1 = idle ? earlyWinner_1 : state_1; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_245 = muxStateEarly_1 ? auto_out_1_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_259 = _T_244 | _T_245; // @[Mux.scala 27:73]
+  wire  readys_2 = readys_readys[2]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_2 = readys_2 & auto_out_2_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_2; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_2 = idle ? earlyWinner_2 : state_2; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_246 = muxStateEarly_2 ? auto_out_2_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_260 = _T_259 | _T_246; // @[Mux.scala 27:73]
+  wire  readys_3 = readys_readys[3]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_3 = readys_3 & auto_out_3_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_3; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_3 = idle ? earlyWinner_3 : state_3; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_247 = muxStateEarly_3 ? auto_out_3_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_261 = _T_260 | _T_247; // @[Mux.scala 27:73]
+  wire  readys_4 = readys_readys[4]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_4 = readys_4 & auto_out_4_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_4; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_4 = idle ? earlyWinner_4 : state_4; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_248 = muxStateEarly_4 ? auto_out_4_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_262 = _T_261 | _T_248; // @[Mux.scala 27:73]
+  wire  readys_5 = readys_readys[5]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_5 = readys_5 & auto_out_5_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_5; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_5 = idle ? earlyWinner_5 : state_5; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_249 = muxStateEarly_5 ? auto_out_5_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_263 = _T_262 | _T_249; // @[Mux.scala 27:73]
+  wire  readys_6 = readys_readys[6]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_6 = readys_6 & auto_out_6_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_6; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_6 = idle ? earlyWinner_6 : state_6; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_250 = muxStateEarly_6 ? auto_out_6_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_264 = _T_263 | _T_250; // @[Mux.scala 27:73]
+  wire  readys_7 = readys_readys[7]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_7 = readys_7 & auto_out_7_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_7; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_7 = idle ? earlyWinner_7 : state_7; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_251 = muxStateEarly_7 ? auto_out_7_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_265 = _T_264 | _T_251; // @[Mux.scala 27:73]
+  wire  readys_8 = readys_readys[8]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_8 = readys_8 & auto_out_8_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_8; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_8 = idle ? earlyWinner_8 : state_8; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_252 = muxStateEarly_8 ? auto_out_8_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_266 = _T_265 | _T_252; // @[Mux.scala 27:73]
+  wire  readys_9 = readys_readys[9]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_9 = readys_9 & auto_out_9_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_9; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_9 = idle ? earlyWinner_9 : state_9; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_253 = muxStateEarly_9 ? auto_out_9_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_267 = _T_266 | _T_253; // @[Mux.scala 27:73]
+  wire  readys_10 = readys_readys[10]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_10 = readys_10 & auto_out_10_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_10; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_10 = idle ? earlyWinner_10 : state_10; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_254 = muxStateEarly_10 ? auto_out_10_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_268 = _T_267 | _T_254; // @[Mux.scala 27:73]
+  wire  readys_11 = readys_readys[11]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_11 = readys_11 & auto_out_11_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_11; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_11 = idle ? earlyWinner_11 : state_11; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_255 = muxStateEarly_11 ? auto_out_11_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_269 = _T_268 | _T_255; // @[Mux.scala 27:73]
+  wire  readys_12 = readys_readys[12]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_12 = readys_12 & auto_out_12_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_12; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_12 = idle ? earlyWinner_12 : state_12; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_256 = muxStateEarly_12 ? auto_out_12_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_270 = _T_269 | _T_256; // @[Mux.scala 27:73]
+  wire  readys_13 = readys_readys[13]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_13 = readys_13 & auto_out_13_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_13; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_13 = idle ? earlyWinner_13 : state_13; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_257 = muxStateEarly_13 ? auto_out_13_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_271 = _T_270 | _T_257; // @[Mux.scala 27:73]
+  wire  readys_14 = readys_readys[14]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_14 = readys_14 & auto_out_14_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_14; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_14 = idle ? earlyWinner_14 : state_14; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_258 = muxStateEarly_14 ? auto_out_14_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [29:0] _requestAIO_T = auto_in_a_bits_address ^ 30'h13000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_1 = {1'b0,$signed(_requestAIO_T)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_3 = $signed(_requestAIO_T_1) & 31'sh20077000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_0 = $signed(_requestAIO_T_3) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_5 = auto_in_a_bits_address ^ 30'h23000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_6 = {1'b0,$signed(_requestAIO_T_5)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_8 = $signed(_requestAIO_T_6) & 31'sh20077000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_1 = $signed(_requestAIO_T_8) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_10 = auto_in_a_bits_address ^ 30'h33000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_11 = {1'b0,$signed(_requestAIO_T_10)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_13 = $signed(_requestAIO_T_11) & 31'sh20077000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_2 = $signed(_requestAIO_T_13) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_15 = auto_in_a_bits_address ^ 30'h43000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_16 = {1'b0,$signed(_requestAIO_T_15)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_18 = $signed(_requestAIO_T_16) & 31'sh20077000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_3 = $signed(_requestAIO_T_18) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_20 = auto_in_a_bits_address ^ 30'h53000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_21 = {1'b0,$signed(_requestAIO_T_20)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_23 = $signed(_requestAIO_T_21) & 31'sh20077000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_4 = $signed(_requestAIO_T_23) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_25 = auto_in_a_bits_address ^ 30'h14000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_26 = {1'b0,$signed(_requestAIO_T_25)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_28 = $signed(_requestAIO_T_26) & 31'sh20077000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_5 = $signed(_requestAIO_T_28) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_30 = auto_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_31 = {1'b0,$signed(_requestAIO_T_30)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_33 = $signed(_requestAIO_T_31) & 31'sh20000000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_6 = $signed(_requestAIO_T_33) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_35 = auto_in_a_bits_address ^ 30'h34000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_36 = {1'b0,$signed(_requestAIO_T_35)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_38 = $signed(_requestAIO_T_36) & 31'sh20077000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_7 = $signed(_requestAIO_T_38) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_40 = auto_in_a_bits_address ^ 30'h24000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_41 = {1'b0,$signed(_requestAIO_T_40)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_43 = $signed(_requestAIO_T_41) & 31'sh20077000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_8 = $signed(_requestAIO_T_43) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_45 = auto_in_a_bits_address ^ 30'h12000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_46 = {1'b0,$signed(_requestAIO_T_45)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_48 = $signed(_requestAIO_T_46) & 31'sh20077000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_9 = $signed(_requestAIO_T_48) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_50 = auto_in_a_bits_address ^ 30'h15000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_51 = {1'b0,$signed(_requestAIO_T_50)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_53 = $signed(_requestAIO_T_51) & 31'sh20077000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_10 = $signed(_requestAIO_T_53) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_55 = auto_in_a_bits_address ^ 30'h25000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_56 = {1'b0,$signed(_requestAIO_T_55)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_58 = $signed(_requestAIO_T_56) & 31'sh20077000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_11 = $signed(_requestAIO_T_58) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_60 = auto_in_a_bits_address ^ 30'h35000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_61 = {1'b0,$signed(_requestAIO_T_60)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_63 = $signed(_requestAIO_T_61) & 31'sh20077000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_12 = $signed(_requestAIO_T_63) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_65 = auto_in_a_bits_address ^ 30'h16000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_66 = {1'b0,$signed(_requestAIO_T_65)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_68 = $signed(_requestAIO_T_66) & 31'sh20077000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_13 = $signed(_requestAIO_T_68) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_70 = auto_in_a_bits_address ^ 30'h26000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_71 = {1'b0,$signed(_requestAIO_T_70)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_73 = $signed(_requestAIO_T_71) & 31'sh20077000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_14 = $signed(_requestAIO_T_73) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [12:0] _beatsDO_decode_T_1 = 13'h3f << auto_out_0_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_3 = ~_beatsDO_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode = _beatsDO_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata = auto_out_0_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_0 = beatsDO_opdata ? beatsDO_decode : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _beatsDO_decode_T_5 = 13'h3f << auto_out_1_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_7 = ~_beatsDO_decode_T_5[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_1 = _beatsDO_decode_T_7[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_1 = auto_out_1_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_1 = beatsDO_opdata_1 ? beatsDO_decode_1 : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _beatsDO_decode_T_9 = 13'h3f << auto_out_2_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_11 = ~_beatsDO_decode_T_9[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_2 = _beatsDO_decode_T_11[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_2 = auto_out_2_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_2 = beatsDO_opdata_2 ? beatsDO_decode_2 : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _beatsDO_decode_T_13 = 13'h3f << auto_out_3_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_15 = ~_beatsDO_decode_T_13[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_3 = _beatsDO_decode_T_15[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_3 = auto_out_3_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_3 = beatsDO_opdata_3 ? beatsDO_decode_3 : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _beatsDO_decode_T_17 = 13'h3f << auto_out_4_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_19 = ~_beatsDO_decode_T_17[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_4 = _beatsDO_decode_T_19[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_4 = auto_out_4_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_4 = beatsDO_opdata_4 ? beatsDO_decode_4 : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _beatsDO_decode_T_21 = 13'h3f << auto_out_5_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_23 = ~_beatsDO_decode_T_21[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_5 = _beatsDO_decode_T_23[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_5 = auto_out_5_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_5 = beatsDO_opdata_5 ? beatsDO_decode_5 : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _beatsDO_decode_T_25 = 13'h3f << auto_out_6_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_27 = ~_beatsDO_decode_T_25[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_6 = _beatsDO_decode_T_27[5:2]; // @[Edges.scala 219:59]
+  wire [12:0] _beatsDO_decode_T_29 = 13'h3f << auto_out_7_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_31 = ~_beatsDO_decode_T_29[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_7 = _beatsDO_decode_T_31[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_7 = auto_out_7_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_7 = beatsDO_opdata_7 ? beatsDO_decode_7 : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _beatsDO_decode_T_33 = 13'h3f << auto_out_8_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_35 = ~_beatsDO_decode_T_33[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_8 = _beatsDO_decode_T_35[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_8 = auto_out_8_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_8 = beatsDO_opdata_8 ? beatsDO_decode_8 : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _beatsDO_decode_T_37 = 13'h3f << auto_out_9_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_39 = ~_beatsDO_decode_T_37[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_9 = _beatsDO_decode_T_39[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_9 = auto_out_9_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_9 = beatsDO_opdata_9 ? beatsDO_decode_9 : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _beatsDO_decode_T_41 = 13'h3f << auto_out_10_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_43 = ~_beatsDO_decode_T_41[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_10 = _beatsDO_decode_T_43[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_10 = auto_out_10_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_10 = beatsDO_opdata_10 ? beatsDO_decode_10 : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _beatsDO_decode_T_45 = 13'h3f << auto_out_11_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_47 = ~_beatsDO_decode_T_45[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_11 = _beatsDO_decode_T_47[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_11 = auto_out_11_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_11 = beatsDO_opdata_11 ? beatsDO_decode_11 : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _beatsDO_decode_T_49 = 13'h3f << auto_out_12_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_51 = ~_beatsDO_decode_T_49[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_12 = _beatsDO_decode_T_51[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_12 = auto_out_12_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_12 = beatsDO_opdata_12 ? beatsDO_decode_12 : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _beatsDO_decode_T_53 = 13'h3f << auto_out_13_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_55 = ~_beatsDO_decode_T_53[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_13 = _beatsDO_decode_T_55[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_13 = auto_out_13_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_13 = beatsDO_opdata_13 ? beatsDO_decode_13 : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _beatsDO_decode_T_57 = 13'h3f << auto_out_14_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_59 = ~_beatsDO_decode_T_57[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_14 = _beatsDO_decode_T_59[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_14 = auto_out_14_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_14 = beatsDO_opdata_14 ? beatsDO_decode_14 : 4'h0; // @[Edges.scala 220:14]
+  wire  latch = idle & auto_in_d_ready; // @[Arbiter.scala 89:24]
+  wire  _readys_T_3 = ~reset; // @[Arbiter.scala 22:12]
+  wire [14:0] _readys_mask_T = readys_readys & readys_valid; // @[Arbiter.scala 28:29]
+  wire [15:0] _readys_mask_T_1 = {_readys_mask_T, 1'h0}; // @[package.scala 244:48]
+  wire [14:0] _readys_mask_T_3 = _readys_mask_T | _readys_mask_T_1[14:0]; // @[package.scala 244:43]
+  wire [16:0] _readys_mask_T_4 = {_readys_mask_T_3, 2'h0}; // @[package.scala 244:48]
+  wire [14:0] _readys_mask_T_6 = _readys_mask_T_3 | _readys_mask_T_4[14:0]; // @[package.scala 244:43]
+  wire [18:0] _readys_mask_T_7 = {_readys_mask_T_6, 4'h0}; // @[package.scala 244:48]
+  wire [14:0] _readys_mask_T_9 = _readys_mask_T_6 | _readys_mask_T_7[14:0]; // @[package.scala 244:43]
+  wire [22:0] _readys_mask_T_10 = {_readys_mask_T_9, 8'h0}; // @[package.scala 244:48]
+  wire [14:0] _readys_mask_T_12 = _readys_mask_T_9 | _readys_mask_T_10[14:0]; // @[package.scala 244:43]
+  wire  prefixOR_2 = earlyWinner_0 | earlyWinner_1; // @[Arbiter.scala 104:53]
+  wire  prefixOR_3 = prefixOR_2 | earlyWinner_2; // @[Arbiter.scala 104:53]
+  wire  prefixOR_4 = prefixOR_3 | earlyWinner_3; // @[Arbiter.scala 104:53]
+  wire  prefixOR_5 = prefixOR_4 | earlyWinner_4; // @[Arbiter.scala 104:53]
+  wire  prefixOR_6 = prefixOR_5 | earlyWinner_5; // @[Arbiter.scala 104:53]
+  wire  prefixOR_7 = prefixOR_6 | earlyWinner_6; // @[Arbiter.scala 104:53]
+  wire  prefixOR_8 = prefixOR_7 | earlyWinner_7; // @[Arbiter.scala 104:53]
+  wire  prefixOR_9 = prefixOR_8 | earlyWinner_8; // @[Arbiter.scala 104:53]
+  wire  prefixOR_10 = prefixOR_9 | earlyWinner_9; // @[Arbiter.scala 104:53]
+  wire  prefixOR_11 = prefixOR_10 | earlyWinner_10; // @[Arbiter.scala 104:53]
+  wire  prefixOR_12 = prefixOR_11 | earlyWinner_11; // @[Arbiter.scala 104:53]
+  wire  prefixOR_13 = prefixOR_12 | earlyWinner_12; // @[Arbiter.scala 104:53]
+  wire  prefixOR_14 = prefixOR_13 | earlyWinner_13; // @[Arbiter.scala 104:53]
+  wire  _prefixOR_T = prefixOR_14 | earlyWinner_14; // @[Arbiter.scala 104:53]
+  wire  _T_26 = ~prefixOR_8 | ~earlyWinner_8; // @[Arbiter.scala 105:64]
+  wire  _T_29 = ~prefixOR_9 | ~earlyWinner_9; // @[Arbiter.scala 105:64]
+  wire  _T_32 = ~prefixOR_10 | ~earlyWinner_10; // @[Arbiter.scala 105:64]
+  wire  _T_54 = (~earlyWinner_0 | ~earlyWinner_1) & (~prefixOR_2 | ~earlyWinner_2) & (~prefixOR_3 | ~earlyWinner_3) & (~
+    prefixOR_4 | ~earlyWinner_4) & (~prefixOR_5 | ~earlyWinner_5) & (~prefixOR_6 | ~earlyWinner_6) & (~prefixOR_7 | ~
+    earlyWinner_7) & _T_26 & _T_29 & _T_32; // @[Arbiter.scala 105:82]
+  wire  _T_75 = auto_out_0_d_valid | auto_out_1_d_valid | auto_out_2_d_valid | auto_out_3_d_valid | auto_out_4_d_valid
+     | auto_out_5_d_valid | auto_out_6_d_valid | auto_out_7_d_valid | auto_out_8_d_valid | auto_out_9_d_valid |
+    auto_out_10_d_valid | auto_out_11_d_valid | auto_out_12_d_valid | auto_out_13_d_valid | auto_out_14_d_valid; // @[Arbiter.scala 107:36]
+  wire  _T_76 = ~(auto_out_0_d_valid | auto_out_1_d_valid | auto_out_2_d_valid | auto_out_3_d_valid | auto_out_4_d_valid
+     | auto_out_5_d_valid | auto_out_6_d_valid | auto_out_7_d_valid | auto_out_8_d_valid | auto_out_9_d_valid |
+    auto_out_10_d_valid | auto_out_11_d_valid | auto_out_12_d_valid | auto_out_13_d_valid | auto_out_14_d_valid); // @[Arbiter.scala 107:15]
+  wire [3:0] maskedBeats_0 = earlyWinner_0 ? beatsDO_0 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_1 = earlyWinner_1 ? beatsDO_1 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_2 = earlyWinner_2 ? beatsDO_2 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_3 = earlyWinner_3 ? beatsDO_3 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_4 = earlyWinner_4 ? beatsDO_4 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_5 = earlyWinner_5 ? beatsDO_5 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_6 = earlyWinner_6 ? beatsDO_decode_6 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_7 = earlyWinner_7 ? beatsDO_7 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_8 = earlyWinner_8 ? beatsDO_8 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_9 = earlyWinner_9 ? beatsDO_9 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_10 = earlyWinner_10 ? beatsDO_10 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_11 = earlyWinner_11 ? beatsDO_11 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_12 = earlyWinner_12 ? beatsDO_12 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_13 = earlyWinner_13 ? beatsDO_13 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_14 = earlyWinner_14 ? beatsDO_14 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] _initBeats_T = maskedBeats_0 | maskedBeats_1; // @[Arbiter.scala 112:44]
+  wire [3:0] _initBeats_T_1 = _initBeats_T | maskedBeats_2; // @[Arbiter.scala 112:44]
+  wire [3:0] _initBeats_T_2 = _initBeats_T_1 | maskedBeats_3; // @[Arbiter.scala 112:44]
+  wire [3:0] _initBeats_T_3 = _initBeats_T_2 | maskedBeats_4; // @[Arbiter.scala 112:44]
+  wire [3:0] _initBeats_T_4 = _initBeats_T_3 | maskedBeats_5; // @[Arbiter.scala 112:44]
+  wire [3:0] _initBeats_T_5 = _initBeats_T_4 | maskedBeats_6; // @[Arbiter.scala 112:44]
+  wire [3:0] _initBeats_T_6 = _initBeats_T_5 | maskedBeats_7; // @[Arbiter.scala 112:44]
+  wire [3:0] _initBeats_T_7 = _initBeats_T_6 | maskedBeats_8; // @[Arbiter.scala 112:44]
+  wire [3:0] _initBeats_T_8 = _initBeats_T_7 | maskedBeats_9; // @[Arbiter.scala 112:44]
+  wire [3:0] _initBeats_T_9 = _initBeats_T_8 | maskedBeats_10; // @[Arbiter.scala 112:44]
+  wire [3:0] _initBeats_T_10 = _initBeats_T_9 | maskedBeats_11; // @[Arbiter.scala 112:44]
+  wire [3:0] _initBeats_T_11 = _initBeats_T_10 | maskedBeats_12; // @[Arbiter.scala 112:44]
+  wire [3:0] _initBeats_T_12 = _initBeats_T_11 | maskedBeats_13; // @[Arbiter.scala 112:44]
+  wire [3:0] initBeats = _initBeats_T_12 | maskedBeats_14; // @[Arbiter.scala 112:44]
+  wire  _sink_ACancel_earlyValid_T_42 = state_0 & auto_out_0_d_valid | state_1 & auto_out_1_d_valid | state_2 &
+    auto_out_2_d_valid | state_3 & auto_out_3_d_valid | state_4 & auto_out_4_d_valid | state_5 & auto_out_5_d_valid |
+    state_6 & auto_out_6_d_valid | state_7 & auto_out_7_d_valid | state_8 & auto_out_8_d_valid | state_9 &
+    auto_out_9_d_valid | state_10 & auto_out_10_d_valid | state_11 & auto_out_11_d_valid | state_12 &
+    auto_out_12_d_valid | state_13 & auto_out_13_d_valid | state_14 & auto_out_14_d_valid; // @[Mux.scala 27:73]
+  wire  sink_ACancel_31_earlyValid = idle ? _T_75 : _sink_ACancel_earlyValid_T_42; // @[Arbiter.scala 125:29]
+  wire  _beatsLeft_T_2 = auto_in_d_ready & sink_ACancel_31_earlyValid; // @[ReadyValidCancel.scala 49:33]
+  wire [3:0] _GEN_6 = {{3'd0}, _beatsLeft_T_2}; // @[Arbiter.scala 113:52]
+  wire [3:0] _beatsLeft_T_4 = beatsLeft - _GEN_6; // @[Arbiter.scala 113:52]
+  wire  allowed_0 = idle ? readys_0 : state_0; // @[Arbiter.scala 121:24]
+  wire  allowed_1 = idle ? readys_1 : state_1; // @[Arbiter.scala 121:24]
+  wire  allowed_2 = idle ? readys_2 : state_2; // @[Arbiter.scala 121:24]
+  wire  allowed_3 = idle ? readys_3 : state_3; // @[Arbiter.scala 121:24]
+  wire  allowed_4 = idle ? readys_4 : state_4; // @[Arbiter.scala 121:24]
+  wire  allowed_5 = idle ? readys_5 : state_5; // @[Arbiter.scala 121:24]
+  wire  allowed_6 = idle ? readys_6 : state_6; // @[Arbiter.scala 121:24]
+  wire  allowed_7 = idle ? readys_7 : state_7; // @[Arbiter.scala 121:24]
+  wire  allowed_8 = idle ? readys_8 : state_8; // @[Arbiter.scala 121:24]
+  wire  allowed_9 = idle ? readys_9 : state_9; // @[Arbiter.scala 121:24]
+  wire  allowed_10 = idle ? readys_10 : state_10; // @[Arbiter.scala 121:24]
+  wire  allowed_11 = idle ? readys_11 : state_11; // @[Arbiter.scala 121:24]
+  wire  allowed_12 = idle ? readys_12 : state_12; // @[Arbiter.scala 121:24]
+  wire  allowed_13 = idle ? readys_13 : state_13; // @[Arbiter.scala 121:24]
+  wire  allowed_14 = idle ? readys_14 : state_14; // @[Arbiter.scala 121:24]
+  wire [31:0] _T_157 = muxStateEarly_0 ? auto_out_0_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_158 = muxStateEarly_1 ? auto_out_1_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_159 = muxStateEarly_2 ? auto_out_2_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_160 = muxStateEarly_3 ? auto_out_3_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_161 = muxStateEarly_4 ? auto_out_4_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_162 = muxStateEarly_5 ? auto_out_5_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_163 = muxStateEarly_6 ? auto_out_6_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_164 = muxStateEarly_7 ? auto_out_7_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_165 = muxStateEarly_8 ? auto_out_8_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_166 = muxStateEarly_9 ? auto_out_9_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_167 = muxStateEarly_10 ? auto_out_10_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_168 = muxStateEarly_11 ? auto_out_11_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_169 = muxStateEarly_12 ? auto_out_12_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_170 = muxStateEarly_13 ? auto_out_13_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_171 = muxStateEarly_14 ? auto_out_14_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_172 = _T_157 | _T_158; // @[Mux.scala 27:73]
+  wire [31:0] _T_173 = _T_172 | _T_159; // @[Mux.scala 27:73]
+  wire [31:0] _T_174 = _T_173 | _T_160; // @[Mux.scala 27:73]
+  wire [31:0] _T_175 = _T_174 | _T_161; // @[Mux.scala 27:73]
+  wire [31:0] _T_176 = _T_175 | _T_162; // @[Mux.scala 27:73]
+  wire [31:0] _T_177 = _T_176 | _T_163; // @[Mux.scala 27:73]
+  wire [31:0] _T_178 = _T_177 | _T_164; // @[Mux.scala 27:73]
+  wire [31:0] _T_179 = _T_178 | _T_165; // @[Mux.scala 27:73]
+  wire [31:0] _T_180 = _T_179 | _T_166; // @[Mux.scala 27:73]
+  wire [31:0] _T_181 = _T_180 | _T_167; // @[Mux.scala 27:73]
+  wire [31:0] _T_182 = _T_181 | _T_168; // @[Mux.scala 27:73]
+  wire [31:0] _T_183 = _T_182 | _T_169; // @[Mux.scala 27:73]
+  wire [31:0] _T_184 = _T_183 | _T_170; // @[Mux.scala 27:73]
+  wire [2:0] _T_273 = muxStateEarly_0 ? auto_out_0_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_274 = muxStateEarly_1 ? auto_out_1_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_275 = muxStateEarly_2 ? auto_out_2_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_276 = muxStateEarly_3 ? auto_out_3_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_277 = muxStateEarly_4 ? auto_out_4_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_278 = muxStateEarly_5 ? auto_out_5_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_279 = muxStateEarly_6 ? auto_out_6_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_280 = muxStateEarly_7 ? auto_out_7_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_281 = muxStateEarly_8 ? auto_out_8_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_282 = muxStateEarly_9 ? auto_out_9_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_283 = muxStateEarly_10 ? auto_out_10_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_284 = muxStateEarly_11 ? auto_out_11_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_285 = muxStateEarly_12 ? auto_out_12_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_286 = muxStateEarly_13 ? auto_out_13_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_287 = muxStateEarly_14 ? auto_out_14_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_288 = _T_273 | _T_274; // @[Mux.scala 27:73]
+  wire [2:0] _T_289 = _T_288 | _T_275; // @[Mux.scala 27:73]
+  wire [2:0] _T_290 = _T_289 | _T_276; // @[Mux.scala 27:73]
+  wire [2:0] _T_291 = _T_290 | _T_277; // @[Mux.scala 27:73]
+  wire [2:0] _T_292 = _T_291 | _T_278; // @[Mux.scala 27:73]
+  wire [2:0] _T_293 = _T_292 | _T_279; // @[Mux.scala 27:73]
+  wire [2:0] _T_294 = _T_293 | _T_280; // @[Mux.scala 27:73]
+  wire [2:0] _T_295 = _T_294 | _T_281; // @[Mux.scala 27:73]
+  wire [2:0] _T_296 = _T_295 | _T_282; // @[Mux.scala 27:73]
+  wire [2:0] _T_297 = _T_296 | _T_283; // @[Mux.scala 27:73]
+  wire [2:0] _T_298 = _T_297 | _T_284; // @[Mux.scala 27:73]
+  wire [2:0] _T_299 = _T_298 | _T_285; // @[Mux.scala 27:73]
+  wire [2:0] _T_300 = _T_299 | _T_286; // @[Mux.scala 27:73]
+  wire [2:0] _T_331 = muxStateEarly_0 ? auto_out_0_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_332 = muxStateEarly_1 ? auto_out_1_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_333 = muxStateEarly_2 ? auto_out_2_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_334 = muxStateEarly_3 ? auto_out_3_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_335 = muxStateEarly_4 ? auto_out_4_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_336 = muxStateEarly_5 ? auto_out_5_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_337 = muxStateEarly_6 ? 3'h1 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_338 = muxStateEarly_7 ? auto_out_7_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_339 = muxStateEarly_8 ? auto_out_8_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_340 = muxStateEarly_9 ? auto_out_9_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_341 = muxStateEarly_10 ? auto_out_10_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_342 = muxStateEarly_11 ? auto_out_11_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_343 = muxStateEarly_12 ? auto_out_12_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_344 = muxStateEarly_13 ? auto_out_13_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_345 = muxStateEarly_14 ? auto_out_14_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_346 = _T_331 | _T_332; // @[Mux.scala 27:73]
+  wire [2:0] _T_347 = _T_346 | _T_333; // @[Mux.scala 27:73]
+  wire [2:0] _T_348 = _T_347 | _T_334; // @[Mux.scala 27:73]
+  wire [2:0] _T_349 = _T_348 | _T_335; // @[Mux.scala 27:73]
+  wire [2:0] _T_350 = _T_349 | _T_336; // @[Mux.scala 27:73]
+  wire [2:0] _T_351 = _T_350 | _T_337; // @[Mux.scala 27:73]
+  wire [2:0] _T_352 = _T_351 | _T_338; // @[Mux.scala 27:73]
+  wire [2:0] _T_353 = _T_352 | _T_339; // @[Mux.scala 27:73]
+  wire [2:0] _T_354 = _T_353 | _T_340; // @[Mux.scala 27:73]
+  wire [2:0] _T_355 = _T_354 | _T_341; // @[Mux.scala 27:73]
+  wire [2:0] _T_356 = _T_355 | _T_342; // @[Mux.scala 27:73]
+  wire [2:0] _T_357 = _T_356 | _T_343; // @[Mux.scala 27:73]
+  wire [2:0] _T_358 = _T_357 | _T_344; // @[Mux.scala 27:73]
+  TLMonitor_3 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = requestAIO_0_0 & auto_out_0_a_ready | requestAIO_0_1 & auto_out_1_a_ready | requestAIO_0_2 &
+    auto_out_2_a_ready | requestAIO_0_3 & auto_out_3_a_ready | requestAIO_0_4 & auto_out_4_a_ready | requestAIO_0_5 &
+    auto_out_5_a_ready | requestAIO_0_6 & auto_out_6_a_ready | requestAIO_0_7 & auto_out_7_a_ready | requestAIO_0_8 &
+    auto_out_8_a_ready | requestAIO_0_9 & auto_out_9_a_ready | requestAIO_0_10 & auto_out_10_a_ready | requestAIO_0_11
+     & auto_out_11_a_ready | requestAIO_0_12 & auto_out_12_a_ready | requestAIO_0_13 & auto_out_13_a_ready |
+    requestAIO_0_14 & auto_out_14_a_ready; // @[Mux.scala 27:73]
+  assign auto_in_d_valid = idle ? _T_75 : _sink_ACancel_earlyValid_T_42; // @[Arbiter.scala 125:29]
+  assign auto_in_d_bits_opcode = _T_358 | _T_345; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_size = _T_300 | _T_287; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_source = _T_271 | _T_258; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_data = _T_184 | _T_171; // @[Mux.scala 27:73]
+  assign auto_out_14_a_valid = auto_in_a_valid & requestAIO_0_14; // @[Xbar.scala 428:50]
+  assign auto_out_14_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_14_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_14_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_14_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_14_a_bits_address = auto_in_a_bits_address[28:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_14_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_14_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_14_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_14_d_ready = auto_in_d_ready & allowed_14; // @[Arbiter.scala 123:31]
+  assign auto_out_13_a_valid = auto_in_a_valid & requestAIO_0_13; // @[Xbar.scala 428:50]
+  assign auto_out_13_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_13_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_13_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_13_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_13_a_bits_address = auto_in_a_bits_address[28:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_13_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_13_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_13_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_13_d_ready = auto_in_d_ready & allowed_13; // @[Arbiter.scala 123:31]
+  assign auto_out_12_a_valid = auto_in_a_valid & requestAIO_0_12; // @[Xbar.scala 428:50]
+  assign auto_out_12_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_12_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_12_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_12_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_12_a_bits_address = auto_in_a_bits_address[28:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_12_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_12_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_12_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_12_d_ready = auto_in_d_ready & allowed_12; // @[Arbiter.scala 123:31]
+  assign auto_out_11_a_valid = auto_in_a_valid & requestAIO_0_11; // @[Xbar.scala 428:50]
+  assign auto_out_11_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_11_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_11_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_11_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_11_a_bits_address = auto_in_a_bits_address[28:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_11_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_11_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_11_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_11_d_ready = auto_in_d_ready & allowed_11; // @[Arbiter.scala 123:31]
+  assign auto_out_10_a_valid = auto_in_a_valid & requestAIO_0_10; // @[Xbar.scala 428:50]
+  assign auto_out_10_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_10_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_10_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_10_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_10_a_bits_address = auto_in_a_bits_address[28:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_10_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_10_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_10_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_10_d_ready = auto_in_d_ready & allowed_10; // @[Arbiter.scala 123:31]
+  assign auto_out_9_a_valid = auto_in_a_valid & requestAIO_0_9; // @[Xbar.scala 428:50]
+  assign auto_out_9_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_9_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_9_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_9_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_9_a_bits_address = auto_in_a_bits_address[28:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_9_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_9_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_9_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_9_d_ready = auto_in_d_ready & allowed_9; // @[Arbiter.scala 123:31]
+  assign auto_out_8_a_valid = auto_in_a_valid & requestAIO_0_8; // @[Xbar.scala 428:50]
+  assign auto_out_8_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_8_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_8_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_8_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_8_a_bits_address = auto_in_a_bits_address[28:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_8_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_8_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_8_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_8_d_ready = auto_in_d_ready & allowed_8; // @[Arbiter.scala 123:31]
+  assign auto_out_7_a_valid = auto_in_a_valid & requestAIO_0_7; // @[Xbar.scala 428:50]
+  assign auto_out_7_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_7_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_7_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_7_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_7_a_bits_address = auto_in_a_bits_address[28:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_7_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_7_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_7_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_7_d_ready = auto_in_d_ready & allowed_7; // @[Arbiter.scala 123:31]
+  assign auto_out_6_a_valid = auto_in_a_valid & requestAIO_0_6; // @[Xbar.scala 428:50]
+  assign auto_out_6_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_6_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_6_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_6_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_6_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_6_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_6_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_6_d_ready = auto_in_d_ready & allowed_6; // @[Arbiter.scala 123:31]
+  assign auto_out_5_a_valid = auto_in_a_valid & requestAIO_0_5; // @[Xbar.scala 428:50]
+  assign auto_out_5_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_5_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_5_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_5_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_5_a_bits_address = auto_in_a_bits_address[28:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_5_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_5_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_5_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_5_d_ready = auto_in_d_ready & allowed_5; // @[Arbiter.scala 123:31]
+  assign auto_out_4_a_valid = auto_in_a_valid & requestAIO_0_4; // @[Xbar.scala 428:50]
+  assign auto_out_4_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_4_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_4_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_4_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_4_a_bits_address = auto_in_a_bits_address[28:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_4_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_4_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_4_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_4_d_ready = auto_in_d_ready & allowed_4; // @[Arbiter.scala 123:31]
+  assign auto_out_3_a_valid = auto_in_a_valid & requestAIO_0_3; // @[Xbar.scala 428:50]
+  assign auto_out_3_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_3_a_bits_address = auto_in_a_bits_address[28:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_3_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_d_ready = auto_in_d_ready & allowed_3; // @[Arbiter.scala 123:31]
+  assign auto_out_2_a_valid = auto_in_a_valid & requestAIO_0_2; // @[Xbar.scala 428:50]
+  assign auto_out_2_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_2_a_bits_address = auto_in_a_bits_address[28:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_2_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_d_ready = auto_in_d_ready & allowed_2; // @[Arbiter.scala 123:31]
+  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[Xbar.scala 428:50]
+  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_1_a_bits_address = auto_in_a_bits_address[28:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_1_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_d_ready = auto_in_d_ready & allowed_1; // @[Arbiter.scala 123:31]
+  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[Xbar.scala 428:50]
+  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_0_a_bits_address = auto_in_a_bits_address[28:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_0_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_d_ready = auto_in_d_ready & allowed_0; // @[Arbiter.scala 123:31]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = requestAIO_0_0 & auto_out_0_a_ready | requestAIO_0_1 & auto_out_1_a_ready |
+    requestAIO_0_2 & auto_out_2_a_ready | requestAIO_0_3 & auto_out_3_a_ready | requestAIO_0_4 & auto_out_4_a_ready |
+    requestAIO_0_5 & auto_out_5_a_ready | requestAIO_0_6 & auto_out_6_a_ready | requestAIO_0_7 & auto_out_7_a_ready |
+    requestAIO_0_8 & auto_out_8_a_ready | requestAIO_0_9 & auto_out_9_a_ready | requestAIO_0_10 & auto_out_10_a_ready |
+    requestAIO_0_11 & auto_out_11_a_ready | requestAIO_0_12 & auto_out_12_a_ready | requestAIO_0_13 &
+    auto_out_13_a_ready | requestAIO_0_14 & auto_out_14_a_ready; // @[Mux.scala 27:73]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = idle ? _T_75 : _sink_ACancel_earlyValid_T_42; // @[Arbiter.scala 125:29]
+  assign monitor_io_in_d_bits_opcode = _T_358 | _T_345; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_size = _T_300 | _T_287; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_source = _T_271 | _T_258; // @[Mux.scala 27:73]
+  always @(posedge clock) begin
+    if (reset) begin // @[Arbiter.scala 87:30]
+      beatsLeft <= 4'h0; // @[Arbiter.scala 87:30]
+    end else if (latch) begin // @[Arbiter.scala 113:23]
+      beatsLeft <= initBeats;
+    end else begin
+      beatsLeft <= _beatsLeft_T_4;
+    end
+    if (reset) begin // @[Arbiter.scala 23:23]
+      readys_mask <= 15'h7fff; // @[Arbiter.scala 23:23]
+    end else if (latch & |readys_valid) begin // @[Arbiter.scala 27:32]
+      readys_mask <= _readys_mask_T_12; // @[Arbiter.scala 28:12]
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_0 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_0 <= earlyWinner_0;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_1 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_1 <= earlyWinner_1;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_2 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_2 <= earlyWinner_2;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_3 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_3 <= earlyWinner_3;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_4 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_4 <= earlyWinner_4;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_5 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_5 <= earlyWinner_5;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_6 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_6 <= earlyWinner_6;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_7 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_7 <= earlyWinner_7;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_8 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_8 <= earlyWinner_8;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_9 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_9 <= earlyWinner_9;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_10 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_10 <= earlyWinner_10;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_11 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_11 <= earlyWinner_11;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_12 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_12 <= earlyWinner_12;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_13 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_13 <= earlyWinner_13;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_14 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_14 <= earlyWinner_14;
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_54 & (~prefixOR_11 | ~earlyWinner_11) & (~prefixOR_12 | ~earlyWinner_12) & (~prefixOR_13 | ~
+          earlyWinner_13) & (~prefixOR_14 | ~earlyWinner_14)) & _readys_T_3) begin
+          $fatal; // @[Arbiter.scala 105:13]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_readys_T_3 & ~(_T_54 & (~prefixOR_11 | ~earlyWinner_11) & (~prefixOR_12 | ~earlyWinner_12) & (~prefixOR_13
+           | ~earlyWinner_13) & (~prefixOR_14 | ~earlyWinner_14))) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:105 assert((prefixOR zip earlyWinner) map { case (p,w) => !p || !w } reduce {_ && _})\n"
+            ); // @[Arbiter.scala 105:13]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(auto_out_0_d_valid | auto_out_1_d_valid | auto_out_2_d_valid | auto_out_3_d_valid | auto_out_4_d_valid
+           | auto_out_5_d_valid | auto_out_6_d_valid | auto_out_7_d_valid | auto_out_8_d_valid | auto_out_9_d_valid |
+          auto_out_10_d_valid | auto_out_11_d_valid | auto_out_12_d_valid | auto_out_13_d_valid | auto_out_14_d_valid)
+           | _prefixOR_T) & _readys_T_3) begin
+          $fatal; // @[Arbiter.scala 107:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_readys_T_3 & ~(~(auto_out_0_d_valid | auto_out_1_d_valid | auto_out_2_d_valid | auto_out_3_d_valid |
+          auto_out_4_d_valid | auto_out_5_d_valid | auto_out_6_d_valid | auto_out_7_d_valid | auto_out_8_d_valid |
+          auto_out_9_d_valid | auto_out_10_d_valid | auto_out_11_d_valid | auto_out_12_d_valid | auto_out_13_d_valid |
+          auto_out_14_d_valid) | _prefixOR_T)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:107 assert (!earlyValids.reduce(_||_) || earlyWinner.reduce(_||_))\n"
+            ); // @[Arbiter.scala 107:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_76 | _T_75) & _readys_T_3) begin
+          $fatal; // @[Arbiter.scala 108:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_readys_T_3 & ~(_T_76 | _T_75)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:108 assert (!validQuals .reduce(_||_) || validQuals .reduce(_||_))\n"
+            ); // @[Arbiter.scala 108:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  beatsLeft = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  readys_mask = _RAND_1[14:0];
+  _RAND_2 = {1{`RANDOM}};
+  state_0 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  state_1 = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  state_2 = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  state_3 = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  state_4 = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  state_5 = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  state_6 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  state_7 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  state_8 = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  state_9 = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  state_10 = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  state_11 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  state_12 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  state_13 = _RAND_15[0:0];
+  _RAND_16 = {1{`RANDOM}};
+  state_14 = _RAND_16[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLMonitor_4(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [29:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source,
+  input         io_in_d_bits_sink,
+  input         io_in_d_bits_denied,
+  input         io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [29:0] _GEN_71 = {{24'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [29:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 30'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [29:0] _T_45 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_48 = $signed(_T_46) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_50 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_51 = {1'b0,$signed(_T_50)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_53 = $signed(_T_51) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_54 = $signed(_T_53) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_55 = io_in_a_bits_address ^ 30'h10016000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_56 = {1'b0,$signed(_T_55)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_58 = $signed(_T_56) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_59 = $signed(_T_58) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_60 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_61 = {1'b0,$signed(_T_60)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_63 = $signed(_T_61) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_64 = $signed(_T_63) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_65 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_66 = {1'b0,$signed(_T_65)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_68 = $signed(_T_66) & -31'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_69 = $signed(_T_68) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_70 = io_in_a_bits_address ^ 30'h10026000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_71 = {1'b0,$signed(_T_70)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_73 = $signed(_T_71) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_74 = $signed(_T_73) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_75 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_76 = {1'b0,$signed(_T_75)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_78 = $signed(_T_76) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_79 = $signed(_T_78) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_80 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_83 = $signed(_T_81) & -31'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_84 = $signed(_T_83) == 31'sh0; // @[Parameters.scala 137:67]
+  wire  _T_90 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79; // @[Parameters.scala 671:42]
+  wire  _T_91 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84; // @[Parameters.scala 671:42]
+  wire  _T_101 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_102 = _source_ok_T & _T_101; // @[Mux.scala 27:73]
+  wire  _T_160 = _T_102 & _T_91; // @[Monitor.scala 83:78]
+  wire  _T_174 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_178 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_179 = _T_178 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_183 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_187 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_332 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_345 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_360 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_410 = _T_360 & _T_91; // @[Parameters.scala 670:56]
+  wire  _T_421 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_425 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_433 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_489 = _T_360 & _T_90; // @[Parameters.scala 670:56]
+  wire  _T_499 = source_ok & _T_489; // @[Monitor.scala 115:71]
+  wire  _T_517 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_597 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_598 = io_in_a_bits_mask & _T_597; // @[Monitor.scala 127:31]
+  wire  _T_599 = _T_598 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_603 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_674 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_682 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_753 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_761 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_832 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_844 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_848 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_852 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_856 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_860 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_864 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_868 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_879 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_883 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_896 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_916 = _T_864 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_925 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_942 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_960 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [29:0] address; // @[Monitor.scala 388:22]
+  wire  _T_990 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_991 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_995 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_999 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_1003 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_1007 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  reg  sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_1014 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_1015 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_1019 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_1023 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_1027 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_1031 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_1035 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_1041 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_1044 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_1046 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_1048 = ~_T_1046[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_1052 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_1054 = ~_T_848; // @[Monitor.scala 671:74]
+  wire  _T_1055 = io_in_d_valid & d_first_1 & ~_T_848; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_848 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 671:90 672:22]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_1054 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_1054 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_1041 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_1065 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_1067 = _T_1065[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_1072 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_1073 = io_in_d_bits_opcode == _GEN_32 | _T_1072; // @[Monitor.scala 685:77]
+  wire  _T_1077 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_1084 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_1085 = io_in_d_bits_opcode == _GEN_48 | _T_1084; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_1089 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_1099 = _T_1052 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_1054; // @[Monitor.scala 694:116]
+  wire  _T_1101 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set_wo_ready = _GEN_15[2:0];
+  wire [2:0] d_clr_wo_ready = _GEN_21[2:0];
+  wire  _T_1108 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_1117 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_1143 = io_in_d_valid & d_first_2 & _T_848; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_848 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_848 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_1151 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_1161 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_1186 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_160 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_160) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_174 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_174) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_179 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_179) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_160 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_160) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_174 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_174) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_332 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_332) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_179 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_179) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_410 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_410) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_421 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_499 & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~_T_499) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_421 & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~_T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_499 & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~_T_499) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_421 & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~_T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_674 & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~_T_674) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_682 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_682 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_753 & (io_in_a_valid & _T_682 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset & ~_T_753) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_682 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_682 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_761 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_761 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_832 & (io_in_a_valid & _T_761 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset & ~_T_832) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_761 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_761 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_761 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_844 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_844) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_848 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_848 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_852 & (io_in_d_valid & _T_848 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_848 & _T_2 & ~_T_852) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_856 & (io_in_d_valid & _T_848 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_848 & _T_2 & ~_T_856) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_860 & (io_in_d_valid & _T_848 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_848 & _T_2 & ~_T_860) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_864 & (io_in_d_valid & _T_848 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_848 & _T_2 & ~_T_864) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_868 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_852 & (io_in_d_valid & _T_868 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2 & ~_T_852) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_879 & (io_in_d_valid & _T_868 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2 & ~_T_879) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_883 & (io_in_d_valid & _T_868 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2 & ~_T_883) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_860 & (io_in_d_valid & _T_868 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2 & ~_T_860) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_864 & (io_in_d_valid & _T_868 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_868 & _T_2 & ~_T_864) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_896 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_852 & (io_in_d_valid & _T_896 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2 & ~_T_852) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_879 & (io_in_d_valid & _T_896 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2 & ~_T_879) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_883 & (io_in_d_valid & _T_896 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2 & ~_T_883) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_916 & (io_in_d_valid & _T_896 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2 & ~_T_916) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_864 & (io_in_d_valid & _T_896 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_896 & _T_2 & ~_T_864) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_925 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_925 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_856 & (io_in_d_valid & _T_925 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_925 & _T_2 & ~_T_856) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_860 & (io_in_d_valid & _T_925 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_925 & _T_2 & ~_T_860) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_864 & (io_in_d_valid & _T_925 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_925 & _T_2 & ~_T_864) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_942 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_942 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_856 & (io_in_d_valid & _T_942 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_942 & _T_2 & ~_T_856) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_916 & (io_in_d_valid & _T_942 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_942 & _T_2 & ~_T_916) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_864 & (io_in_d_valid & _T_942 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_942 & _T_2 & ~_T_864) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_960 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_960 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_856 & (io_in_d_valid & _T_960 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_960 & _T_2 & ~_T_856) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_860 & (io_in_d_valid & _T_960 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_960 & _T_2 & ~_T_860) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_864 & (io_in_d_valid & _T_960 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_960 & _T_2 & ~_T_864) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_991 & (_T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990 & ~reset & ~_T_991) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_995 & (_T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990 & ~reset & ~_T_995) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_999 & (_T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990 & ~reset & ~_T_999) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1003 & (_T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990 & ~reset & ~_T_1003) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1007 & (_T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_990 & ~reset & ~_T_1007) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1015 & (_T_1014 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1014 & _T_2 & ~_T_1015) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1019 & (_T_1014 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1014 & _T_2 & ~_T_1019) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1023 & (_T_1014 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1014 & _T_2 & ~_T_1023) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1027 & (_T_1014 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1014 & _T_2 & ~_T_1027) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1031 & (_T_1014 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1014 & _T_2 & ~_T_1031) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1035 & (_T_1014 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1014 & _T_2 & ~_T_1035) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1048 & (_T_1044 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1044 & ~reset & ~_T_1048) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1067 & (_T_1055 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1055 & _T_2 & ~_T_1067) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1073 & (_T_1055 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1055 & same_cycle_resp & _T_2 & ~_T_1073) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1077 & (_T_1055 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1055 & same_cycle_resp & _T_2 & ~_T_1077) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1085 & (_T_1055 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1055 & ~same_cycle_resp & _T_2 & ~_T_1085) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1089 & (_T_1055 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1055 & ~same_cycle_resp & _T_2 & ~_T_1089) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1101 & (_T_1099 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1099 & _T_2 & ~_T_1101) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1108 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_1108) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1117 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1117) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1151[0] & (_T_1143 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1143 & _T_2 & ~_T_1151[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1161 & (_T_1143 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1143 & _T_2 & ~_T_1161) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1186 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1186) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  param_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  size_1 = _RAND_9[2:0];
+  _RAND_10 = {1{`RANDOM}};
+  source_1 = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  sink = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  denied = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  inflight = _RAND_13[2:0];
+  _RAND_14 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_14[11:0];
+  _RAND_15 = {1{`RANDOM}};
+  inflight_sizes = _RAND_15[11:0];
+  _RAND_16 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_16[3:0];
+  _RAND_17 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_17[3:0];
+  _RAND_18 = {1{`RANDOM}};
+  watchdog = _RAND_18[31:0];
+  _RAND_19 = {1{`RANDOM}};
+  inflight_1 = _RAND_19[2:0];
+  _RAND_20 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_20[11:0];
+  _RAND_21 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_21[3:0];
+  _RAND_22 = {1{`RANDOM}};
+  watchdog_1 = _RAND_22[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Queue(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [2:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input  [29:0] io_enq_bits_address,
+  input  [3:0]  io_enq_bits_mask,
+  input  [31:0] io_enq_bits_data,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [2:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [29:0] io_deq_bits_address,
+  output [3:0]  io_deq_bits_mask,
+  output [31:0] io_deq_bits_data,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+`endif // RANDOMIZE_REG_INIT
+  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] ram_param [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] ram_size [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_source [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [29:0] ram_address [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [29:0] ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [29:0] ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_mask [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [31:0] ram_data [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_corrupt [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  value; // @[Counter.scala 62:40]
+  reg  value_1; // @[Counter.scala 62:40]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  ptr_match = value == value_1; // @[Decoupled.scala 263:33]
+  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 264:25]
+  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 265:24]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_opcode_io_deq_bits_MPORT_addr = value_1;
+  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
+  assign ram_opcode_MPORT_addr = value;
+  assign ram_opcode_MPORT_mask = 1'h1;
+  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_param_io_deq_bits_MPORT_addr = value_1;
+  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_param_MPORT_data = io_enq_bits_param;
+  assign ram_param_MPORT_addr = value;
+  assign ram_param_MPORT_mask = 1'h1;
+  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_size_io_deq_bits_MPORT_addr = value_1;
+  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_size_MPORT_data = io_enq_bits_size;
+  assign ram_size_MPORT_addr = value;
+  assign ram_size_MPORT_mask = 1'h1;
+  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_source_io_deq_bits_MPORT_addr = value_1;
+  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_source_MPORT_data = io_enq_bits_source;
+  assign ram_source_MPORT_addr = value;
+  assign ram_source_MPORT_mask = 1'h1;
+  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_address_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_address_io_deq_bits_MPORT_addr = value_1;
+  assign ram_address_io_deq_bits_MPORT_data = ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_address_MPORT_data = io_enq_bits_address;
+  assign ram_address_MPORT_addr = value;
+  assign ram_address_MPORT_mask = 1'h1;
+  assign ram_address_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_mask_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_mask_io_deq_bits_MPORT_addr = value_1;
+  assign ram_mask_io_deq_bits_MPORT_data = ram_mask[ram_mask_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_mask_MPORT_data = io_enq_bits_mask;
+  assign ram_mask_MPORT_addr = value;
+  assign ram_mask_MPORT_mask = 1'h1;
+  assign ram_mask_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_data_io_deq_bits_MPORT_addr = value_1;
+  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_data_MPORT_data = io_enq_bits_data;
+  assign ram_data_MPORT_addr = value;
+  assign ram_data_MPORT_mask = 1'h1;
+  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_corrupt_io_deq_bits_MPORT_addr = value_1;
+  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_corrupt_MPORT_data = io_enq_bits_corrupt;
+  assign ram_corrupt_MPORT_addr = value;
+  assign ram_corrupt_MPORT_mask = 1'h1;
+  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_address = ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_mask = ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
+      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
+      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
+      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
+      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_address_MPORT_en & ram_address_MPORT_mask) begin
+      ram_address[ram_address_MPORT_addr] <= ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_mask_MPORT_en & ram_mask_MPORT_mask) begin
+      ram_mask[ram_mask_MPORT_addr] <= ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
+      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
+      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_enq) begin // @[Decoupled.scala 272:16]
+      value <= value + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value_1 <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_deq) begin // @[Decoupled.scala 276:16]
+      value_1 <= value_1 + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_opcode[initvar] = _RAND_0[2:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_param[initvar] = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_size[initvar] = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_source[initvar] = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_address[initvar] = _RAND_4[29:0];
+  _RAND_5 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_mask[initvar] = _RAND_5[3:0];
+  _RAND_6 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_data[initvar] = _RAND_6[31:0];
+  _RAND_7 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_corrupt[initvar] = _RAND_7[0:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  value = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  value_1 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  maybe_full = _RAND_10[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Queue_1(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [1:0]  io_enq_bits_param,
+  input  [2:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input         io_enq_bits_sink,
+  input         io_enq_bits_denied,
+  input  [31:0] io_enq_bits_data,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [1:0]  io_deq_bits_param,
+  output [2:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output        io_deq_bits_sink,
+  output        io_deq_bits_denied,
+  output [31:0] io_deq_bits_data,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+`endif // RANDOMIZE_REG_INIT
+  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_param [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] ram_size [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_source [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_sink [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_sink_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_sink_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_sink_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_sink_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_sink_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_sink_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_denied [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_denied_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_denied_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_denied_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_denied_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_denied_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_denied_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_denied_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [31:0] ram_data [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_corrupt [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  value; // @[Counter.scala 62:40]
+  reg  value_1; // @[Counter.scala 62:40]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  ptr_match = value == value_1; // @[Decoupled.scala 263:33]
+  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 264:25]
+  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 265:24]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_opcode_io_deq_bits_MPORT_addr = value_1;
+  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
+  assign ram_opcode_MPORT_addr = value;
+  assign ram_opcode_MPORT_mask = 1'h1;
+  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_param_io_deq_bits_MPORT_addr = value_1;
+  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_param_MPORT_data = io_enq_bits_param;
+  assign ram_param_MPORT_addr = value;
+  assign ram_param_MPORT_mask = 1'h1;
+  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_size_io_deq_bits_MPORT_addr = value_1;
+  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_size_MPORT_data = io_enq_bits_size;
+  assign ram_size_MPORT_addr = value;
+  assign ram_size_MPORT_mask = 1'h1;
+  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_source_io_deq_bits_MPORT_addr = value_1;
+  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_source_MPORT_data = io_enq_bits_source;
+  assign ram_source_MPORT_addr = value;
+  assign ram_source_MPORT_mask = 1'h1;
+  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_sink_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_sink_io_deq_bits_MPORT_addr = value_1;
+  assign ram_sink_io_deq_bits_MPORT_data = ram_sink[ram_sink_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_sink_MPORT_data = io_enq_bits_sink;
+  assign ram_sink_MPORT_addr = value;
+  assign ram_sink_MPORT_mask = 1'h1;
+  assign ram_sink_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_denied_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_denied_io_deq_bits_MPORT_addr = value_1;
+  assign ram_denied_io_deq_bits_MPORT_data = ram_denied[ram_denied_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_denied_MPORT_data = io_enq_bits_denied;
+  assign ram_denied_MPORT_addr = value;
+  assign ram_denied_MPORT_mask = 1'h1;
+  assign ram_denied_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_data_io_deq_bits_MPORT_addr = value_1;
+  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_data_MPORT_data = io_enq_bits_data;
+  assign ram_data_MPORT_addr = value;
+  assign ram_data_MPORT_mask = 1'h1;
+  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_corrupt_io_deq_bits_MPORT_addr = value_1;
+  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_corrupt_MPORT_data = io_enq_bits_corrupt;
+  assign ram_corrupt_MPORT_addr = value;
+  assign ram_corrupt_MPORT_mask = 1'h1;
+  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_sink = ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_denied = ram_denied_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
+      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
+      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
+      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
+      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_sink_MPORT_en & ram_sink_MPORT_mask) begin
+      ram_sink[ram_sink_MPORT_addr] <= ram_sink_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_denied_MPORT_en & ram_denied_MPORT_mask) begin
+      ram_denied[ram_denied_MPORT_addr] <= ram_denied_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
+      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
+      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_enq) begin // @[Decoupled.scala 272:16]
+      value <= value + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value_1 <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_deq) begin // @[Decoupled.scala 276:16]
+      value_1 <= value_1 + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_opcode[initvar] = _RAND_0[2:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_param[initvar] = _RAND_1[1:0];
+  _RAND_2 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_size[initvar] = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_source[initvar] = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_sink[initvar] = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_denied[initvar] = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_data[initvar] = _RAND_6[31:0];
+  _RAND_7 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_corrupt[initvar] = _RAND_7[0:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  value = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  value_1 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  maybe_full = _RAND_10[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLBuffer(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [29:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  bundleOut_0_a_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_a_q_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire [29:0] bundleOut_0_a_q_io_enq_bits_address; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_enq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleOut_0_a_q_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_a_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire [29:0] bundleOut_0_a_q_io_deq_bits_address; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_deq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleOut_0_a_q_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_sink; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_denied; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleIn_0_d_q_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_sink; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_denied; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleIn_0_d_q_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  TLMonitor_4 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
+  );
+  Queue bundleOut_0_a_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleOut_0_a_q_clock),
+    .reset(bundleOut_0_a_q_reset),
+    .io_enq_ready(bundleOut_0_a_q_io_enq_ready),
+    .io_enq_valid(bundleOut_0_a_q_io_enq_valid),
+    .io_enq_bits_opcode(bundleOut_0_a_q_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleOut_0_a_q_io_enq_bits_param),
+    .io_enq_bits_size(bundleOut_0_a_q_io_enq_bits_size),
+    .io_enq_bits_source(bundleOut_0_a_q_io_enq_bits_source),
+    .io_enq_bits_address(bundleOut_0_a_q_io_enq_bits_address),
+    .io_enq_bits_mask(bundleOut_0_a_q_io_enq_bits_mask),
+    .io_enq_bits_data(bundleOut_0_a_q_io_enq_bits_data),
+    .io_enq_bits_corrupt(bundleOut_0_a_q_io_enq_bits_corrupt),
+    .io_deq_ready(bundleOut_0_a_q_io_deq_ready),
+    .io_deq_valid(bundleOut_0_a_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleOut_0_a_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleOut_0_a_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleOut_0_a_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleOut_0_a_q_io_deq_bits_source),
+    .io_deq_bits_address(bundleOut_0_a_q_io_deq_bits_address),
+    .io_deq_bits_mask(bundleOut_0_a_q_io_deq_bits_mask),
+    .io_deq_bits_data(bundleOut_0_a_q_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleOut_0_a_q_io_deq_bits_corrupt)
+  );
+  Queue_1 bundleIn_0_d_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleIn_0_d_q_clock),
+    .reset(bundleIn_0_d_q_reset),
+    .io_enq_ready(bundleIn_0_d_q_io_enq_ready),
+    .io_enq_valid(bundleIn_0_d_q_io_enq_valid),
+    .io_enq_bits_opcode(bundleIn_0_d_q_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleIn_0_d_q_io_enq_bits_param),
+    .io_enq_bits_size(bundleIn_0_d_q_io_enq_bits_size),
+    .io_enq_bits_source(bundleIn_0_d_q_io_enq_bits_source),
+    .io_enq_bits_sink(bundleIn_0_d_q_io_enq_bits_sink),
+    .io_enq_bits_denied(bundleIn_0_d_q_io_enq_bits_denied),
+    .io_enq_bits_data(bundleIn_0_d_q_io_enq_bits_data),
+    .io_enq_bits_corrupt(bundleIn_0_d_q_io_enq_bits_corrupt),
+    .io_deq_ready(bundleIn_0_d_q_io_deq_ready),
+    .io_deq_valid(bundleIn_0_d_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleIn_0_d_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleIn_0_d_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleIn_0_d_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleIn_0_d_q_io_deq_bits_source),
+    .io_deq_bits_sink(bundleIn_0_d_q_io_deq_bits_sink),
+    .io_deq_bits_denied(bundleIn_0_d_q_io_deq_bits_denied),
+    .io_deq_bits_data(bundleIn_0_d_q_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleIn_0_d_q_io_deq_bits_corrupt)
+  );
+  assign auto_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign auto_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_param = bundleIn_0_d_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_sink = bundleIn_0_d_q_io_deq_bits_sink; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_denied = bundleIn_0_d_q_io_deq_bits_denied; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_data = bundleIn_0_d_q_io_deq_bits_data; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_corrupt = bundleIn_0_d_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_out_a_valid = bundleOut_0_a_q_io_deq_valid; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_opcode = bundleOut_0_a_q_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_param = bundleOut_0_a_q_io_deq_bits_param; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_size = bundleOut_0_a_q_io_deq_bits_size; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_source = bundleOut_0_a_q_io_deq_bits_source; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_address = bundleOut_0_a_q_io_deq_bits_address; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_mask = bundleOut_0_a_q_io_deq_bits_mask; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_data = bundleOut_0_a_q_io_deq_bits_data; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_corrupt = bundleOut_0_a_q_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_d_ready = bundleIn_0_d_q_io_enq_ready; // @[Nodes.scala 1207:84 Decoupled.scala 365:17]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_param = bundleIn_0_d_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_sink = bundleIn_0_d_q_io_deq_bits_sink; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_denied = bundleIn_0_d_q_io_deq_bits_denied; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_corrupt = bundleIn_0_d_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign bundleOut_0_a_q_clock = clock;
+  assign bundleOut_0_a_q_reset = reset;
+  assign bundleOut_0_a_q_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_clock = clock;
+  assign bundleIn_0_d_q_reset = reset;
+  assign bundleIn_0_d_q_io_enq_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_param = 2'h0; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_sink = 1'h0; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_denied = 1'h0; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_corrupt = 1'h0; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_deq_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_5(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [29:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source,
+  input         io_in_d_bits_sink,
+  input         io_in_d_bits_denied,
+  input         io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [29:0] _GEN_71 = {{24'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [29:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 30'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [29:0] _T_45 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_48 = $signed(_T_46) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_50 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_51 = {1'b0,$signed(_T_50)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_53 = $signed(_T_51) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_54 = $signed(_T_53) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_55 = io_in_a_bits_address ^ 30'h10016000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_56 = {1'b0,$signed(_T_55)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_58 = $signed(_T_56) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_59 = $signed(_T_58) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_60 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_61 = {1'b0,$signed(_T_60)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_63 = $signed(_T_61) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_64 = $signed(_T_63) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_65 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_66 = {1'b0,$signed(_T_65)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_68 = $signed(_T_66) & -31'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_69 = $signed(_T_68) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_70 = io_in_a_bits_address ^ 30'h10026000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_71 = {1'b0,$signed(_T_70)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_73 = $signed(_T_71) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_74 = $signed(_T_73) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_75 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_76 = {1'b0,$signed(_T_75)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_78 = $signed(_T_76) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_79 = $signed(_T_78) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_80 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_83 = $signed(_T_81) & -31'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_84 = $signed(_T_83) == 31'sh0; // @[Parameters.scala 137:67]
+  wire  _T_90 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79; // @[Parameters.scala 671:42]
+  wire  _T_91 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84; // @[Parameters.scala 671:42]
+  wire  _T_101 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_102 = _source_ok_T & _T_101; // @[Mux.scala 27:73]
+  wire  _T_160 = _T_102 & _T_91; // @[Monitor.scala 83:78]
+  wire  _T_174 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_178 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_179 = _T_178 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_183 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_187 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_332 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_345 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_360 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_410 = _T_360 & _T_91; // @[Parameters.scala 670:56]
+  wire  _T_421 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_425 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_433 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_489 = _T_360 & _T_90; // @[Parameters.scala 670:56]
+  wire  _T_499 = source_ok & _T_489; // @[Monitor.scala 115:71]
+  wire  _T_517 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_597 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_598 = io_in_a_bits_mask & _T_597; // @[Monitor.scala 127:31]
+  wire  _T_599 = _T_598 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_603 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_615 = io_in_a_bits_size <= 3'h2; // @[Parameters.scala 92:42]
+  wire  _T_659 = _T_615 & _T_90; // @[Parameters.scala 670:56]
+  wire  _T_669 = source_ok & _T_659; // @[Monitor.scala 131:74]
+  wire  _T_679 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_687 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_763 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_771 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_842 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_854 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_858 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_862 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_866 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_870 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_874 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_878 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_889 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_893 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_906 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_926 = _T_874 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_935 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_952 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_970 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [29:0] address; // @[Monitor.scala 388:22]
+  wire  _T_1000 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_1001 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_1005 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_1009 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_1013 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_1017 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  reg  sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_1024 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_1025 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_1029 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_1033 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_1037 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_1041 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_1045 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_1051 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_1054 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_1056 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_1058 = ~_T_1056[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_1062 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_1064 = ~_T_858; // @[Monitor.scala 671:74]
+  wire  _T_1065 = io_in_d_valid & d_first_1 & ~_T_858; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_858 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 671:90 672:22]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_1064 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_1064 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_1051 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_1075 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_1077 = _T_1075[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_1082 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_1083 = io_in_d_bits_opcode == _GEN_32 | _T_1082; // @[Monitor.scala 685:77]
+  wire  _T_1087 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_1094 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_1095 = io_in_d_bits_opcode == _GEN_48 | _T_1094; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_1099 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_1109 = _T_1062 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_1064; // @[Monitor.scala 694:116]
+  wire  _T_1111 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set_wo_ready = _GEN_15[2:0];
+  wire [2:0] d_clr_wo_ready = _GEN_21[2:0];
+  wire  _T_1118 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_1127 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_1153 = io_in_d_valid & d_first_2 & _T_858; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_858 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_858 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_1161 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_1171 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_1196 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_160 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_160) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_174 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_174) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_179 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_179) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_160 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_160) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_174 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_174) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_332 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_332) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_179 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_179) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_410 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_410) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_421 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_499 & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~_T_499) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_421 & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~_T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_499 & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~_T_499) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_421 & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~_T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_669 & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~_T_669) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_679 & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~_T_679) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_669 & (io_in_a_valid & _T_687 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_687 & ~reset & ~_T_669) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_687 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_687 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_687 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_687 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_763 & (io_in_a_valid & _T_687 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_687 & ~reset & ~_T_763) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_687 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_687 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_771 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_771 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_771 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_771 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_771 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_771 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_842 & (io_in_a_valid & _T_771 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_771 & ~reset & ~_T_842) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_771 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_771 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_771 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_771 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_854 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_854) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_858 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_858 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_862 & (io_in_d_valid & _T_858 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_858 & _T_2 & ~_T_862) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_866 & (io_in_d_valid & _T_858 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_858 & _T_2 & ~_T_866) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_870 & (io_in_d_valid & _T_858 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_858 & _T_2 & ~_T_870) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_874 & (io_in_d_valid & _T_858 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_858 & _T_2 & ~_T_874) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_878 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_862 & (io_in_d_valid & _T_878 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2 & ~_T_862) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_889 & (io_in_d_valid & _T_878 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2 & ~_T_889) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_893 & (io_in_d_valid & _T_878 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2 & ~_T_893) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_870 & (io_in_d_valid & _T_878 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2 & ~_T_870) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_874 & (io_in_d_valid & _T_878 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2 & ~_T_874) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_906 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_862 & (io_in_d_valid & _T_906 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2 & ~_T_862) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_889 & (io_in_d_valid & _T_906 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2 & ~_T_889) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_893 & (io_in_d_valid & _T_906 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2 & ~_T_893) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_926 & (io_in_d_valid & _T_906 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2 & ~_T_926) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_874 & (io_in_d_valid & _T_906 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2 & ~_T_874) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_935 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_935 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_866 & (io_in_d_valid & _T_935 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_935 & _T_2 & ~_T_866) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_870 & (io_in_d_valid & _T_935 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_935 & _T_2 & ~_T_870) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_874 & (io_in_d_valid & _T_935 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_935 & _T_2 & ~_T_874) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_952 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_952 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_866 & (io_in_d_valid & _T_952 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_952 & _T_2 & ~_T_866) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_926 & (io_in_d_valid & _T_952 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_952 & _T_2 & ~_T_926) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_874 & (io_in_d_valid & _T_952 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_952 & _T_2 & ~_T_874) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_970 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_970 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_866 & (io_in_d_valid & _T_970 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_970 & _T_2 & ~_T_866) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_870 & (io_in_d_valid & _T_970 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_970 & _T_2 & ~_T_870) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_874 & (io_in_d_valid & _T_970 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_970 & _T_2 & ~_T_874) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1001 & (_T_1000 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1000 & ~reset & ~_T_1001) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1005 & (_T_1000 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1000 & ~reset & ~_T_1005) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1009 & (_T_1000 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1000 & ~reset & ~_T_1009) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1013 & (_T_1000 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1000 & ~reset & ~_T_1013) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1017 & (_T_1000 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1000 & ~reset & ~_T_1017) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1025 & (_T_1024 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1024 & _T_2 & ~_T_1025) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1029 & (_T_1024 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1024 & _T_2 & ~_T_1029) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1033 & (_T_1024 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1024 & _T_2 & ~_T_1033) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1037 & (_T_1024 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1024 & _T_2 & ~_T_1037) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1041 & (_T_1024 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1024 & _T_2 & ~_T_1041) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1045 & (_T_1024 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1024 & _T_2 & ~_T_1045) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1058 & (_T_1054 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1054 & ~reset & ~_T_1058) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1077 & (_T_1065 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1065 & _T_2 & ~_T_1077) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1083 & (_T_1065 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1065 & same_cycle_resp & _T_2 & ~_T_1083) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1087 & (_T_1065 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1065 & same_cycle_resp & _T_2 & ~_T_1087) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1095 & (_T_1065 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1065 & ~same_cycle_resp & _T_2 & ~_T_1095) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1099 & (_T_1065 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1065 & ~same_cycle_resp & _T_2 & ~_T_1099) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1111 & (_T_1109 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1109 & _T_2 & ~_T_1111) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1118 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_1118) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1127 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1127) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1161[0] & (_T_1153 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1153 & _T_2 & ~_T_1161[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1171 & (_T_1153 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1153 & _T_2 & ~_T_1171) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1196 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1196) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  param_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  size_1 = _RAND_9[2:0];
+  _RAND_10 = {1{`RANDOM}};
+  source_1 = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  sink = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  denied = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  inflight = _RAND_13[2:0];
+  _RAND_14 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_14[11:0];
+  _RAND_15 = {1{`RANDOM}};
+  inflight_sizes = _RAND_15[11:0];
+  _RAND_16 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_16[3:0];
+  _RAND_17 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_17[3:0];
+  _RAND_18 = {1{`RANDOM}};
+  watchdog = _RAND_18[31:0];
+  _RAND_19 = {1{`RANDOM}};
+  inflight_1 = _RAND_19[2:0];
+  _RAND_20 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_20[11:0];
+  _RAND_21 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_21[3:0];
+  _RAND_22 = {1{`RANDOM}};
+  watchdog_1 = _RAND_22[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLAtomicAutomata(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input         auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [29:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  reg [1:0] cam_s_0_state; // @[AtomicAutomata.scala 76:28]
+  reg [2:0] cam_a_0_bits_opcode; // @[AtomicAutomata.scala 77:24]
+  reg [2:0] cam_a_0_bits_param; // @[AtomicAutomata.scala 77:24]
+  reg [2:0] cam_a_0_bits_size; // @[AtomicAutomata.scala 77:24]
+  reg [1:0] cam_a_0_bits_source; // @[AtomicAutomata.scala 77:24]
+  reg [29:0] cam_a_0_bits_address; // @[AtomicAutomata.scala 77:24]
+  reg [3:0] cam_a_0_bits_mask; // @[AtomicAutomata.scala 77:24]
+  reg [31:0] cam_a_0_bits_data; // @[AtomicAutomata.scala 77:24]
+  reg  cam_a_0_bits_corrupt; // @[AtomicAutomata.scala 77:24]
+  reg [3:0] cam_a_0_lut; // @[AtomicAutomata.scala 77:24]
+  reg [31:0] cam_d_0_data; // @[AtomicAutomata.scala 78:24]
+  reg  cam_d_0_denied; // @[AtomicAutomata.scala 78:24]
+  reg  cam_d_0_corrupt; // @[AtomicAutomata.scala 78:24]
+  wire  cam_free_0 = cam_s_0_state == 2'h0; // @[AtomicAutomata.scala 80:44]
+  wire  cam_amo_0 = cam_s_0_state == 2'h2; // @[AtomicAutomata.scala 81:44]
+  wire  cam_abusy_0 = cam_s_0_state == 2'h3 | cam_amo_0; // @[AtomicAutomata.scala 82:57]
+  wire  cam_dmatch_0 = cam_s_0_state != 2'h0; // @[AtomicAutomata.scala 83:49]
+  wire  a_isLogical = auto_in_a_bits_opcode == 3'h3; // @[AtomicAutomata.scala 90:47]
+  wire  a_isArithmetic = auto_in_a_bits_opcode == 3'h2; // @[AtomicAutomata.scala 91:47]
+  wire  _a_isSupported_T = a_isArithmetic ? 1'h0 : 1'h1; // @[AtomicAutomata.scala 92:63]
+  wire  a_isSupported = a_isLogical ? 1'h0 : _a_isSupported_T; // @[AtomicAutomata.scala 92:32]
+  wire [1:0] indexes_0 = {cam_a_0_bits_data[0],cam_d_0_data[0]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_1 = {cam_a_0_bits_data[1],cam_d_0_data[1]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_2 = {cam_a_0_bits_data[2],cam_d_0_data[2]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_3 = {cam_a_0_bits_data[3],cam_d_0_data[3]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_4 = {cam_a_0_bits_data[4],cam_d_0_data[4]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_5 = {cam_a_0_bits_data[5],cam_d_0_data[5]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_6 = {cam_a_0_bits_data[6],cam_d_0_data[6]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_7 = {cam_a_0_bits_data[7],cam_d_0_data[7]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_8 = {cam_a_0_bits_data[8],cam_d_0_data[8]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_9 = {cam_a_0_bits_data[9],cam_d_0_data[9]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_10 = {cam_a_0_bits_data[10],cam_d_0_data[10]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_11 = {cam_a_0_bits_data[11],cam_d_0_data[11]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_12 = {cam_a_0_bits_data[12],cam_d_0_data[12]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_13 = {cam_a_0_bits_data[13],cam_d_0_data[13]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_14 = {cam_a_0_bits_data[14],cam_d_0_data[14]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_15 = {cam_a_0_bits_data[15],cam_d_0_data[15]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_16 = {cam_a_0_bits_data[16],cam_d_0_data[16]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_17 = {cam_a_0_bits_data[17],cam_d_0_data[17]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_18 = {cam_a_0_bits_data[18],cam_d_0_data[18]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_19 = {cam_a_0_bits_data[19],cam_d_0_data[19]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_20 = {cam_a_0_bits_data[20],cam_d_0_data[20]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_21 = {cam_a_0_bits_data[21],cam_d_0_data[21]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_22 = {cam_a_0_bits_data[22],cam_d_0_data[22]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_23 = {cam_a_0_bits_data[23],cam_d_0_data[23]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_24 = {cam_a_0_bits_data[24],cam_d_0_data[24]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_25 = {cam_a_0_bits_data[25],cam_d_0_data[25]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_26 = {cam_a_0_bits_data[26],cam_d_0_data[26]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_27 = {cam_a_0_bits_data[27],cam_d_0_data[27]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_28 = {cam_a_0_bits_data[28],cam_d_0_data[28]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_29 = {cam_a_0_bits_data[29],cam_d_0_data[29]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_30 = {cam_a_0_bits_data[30],cam_d_0_data[30]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_31 = {cam_a_0_bits_data[31],cam_d_0_data[31]}; // @[Cat.scala 31:58]
+  wire [3:0] _logic_out_T = cam_a_0_lut >> indexes_0; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_2 = cam_a_0_lut >> indexes_1; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_4 = cam_a_0_lut >> indexes_2; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_6 = cam_a_0_lut >> indexes_3; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_8 = cam_a_0_lut >> indexes_4; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_10 = cam_a_0_lut >> indexes_5; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_12 = cam_a_0_lut >> indexes_6; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_14 = cam_a_0_lut >> indexes_7; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_16 = cam_a_0_lut >> indexes_8; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_18 = cam_a_0_lut >> indexes_9; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_20 = cam_a_0_lut >> indexes_10; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_22 = cam_a_0_lut >> indexes_11; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_24 = cam_a_0_lut >> indexes_12; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_26 = cam_a_0_lut >> indexes_13; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_28 = cam_a_0_lut >> indexes_14; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_30 = cam_a_0_lut >> indexes_15; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_32 = cam_a_0_lut >> indexes_16; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_34 = cam_a_0_lut >> indexes_17; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_36 = cam_a_0_lut >> indexes_18; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_38 = cam_a_0_lut >> indexes_19; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_40 = cam_a_0_lut >> indexes_20; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_42 = cam_a_0_lut >> indexes_21; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_44 = cam_a_0_lut >> indexes_22; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_46 = cam_a_0_lut >> indexes_23; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_48 = cam_a_0_lut >> indexes_24; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_50 = cam_a_0_lut >> indexes_25; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_52 = cam_a_0_lut >> indexes_26; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_54 = cam_a_0_lut >> indexes_27; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_56 = cam_a_0_lut >> indexes_28; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_58 = cam_a_0_lut >> indexes_29; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_60 = cam_a_0_lut >> indexes_30; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_62 = cam_a_0_lut >> indexes_31; // @[AtomicAutomata.scala 114:57]
+  wire [7:0] logic_out_lo_lo = {_logic_out_T_14[0],_logic_out_T_12[0],_logic_out_T_10[0],_logic_out_T_8[0],
+    _logic_out_T_6[0],_logic_out_T_4[0],_logic_out_T_2[0],_logic_out_T[0]}; // @[Cat.scala 31:58]
+  wire [15:0] logic_out_lo = {_logic_out_T_30[0],_logic_out_T_28[0],_logic_out_T_26[0],_logic_out_T_24[0],
+    _logic_out_T_22[0],_logic_out_T_20[0],_logic_out_T_18[0],_logic_out_T_16[0],logic_out_lo_lo}; // @[Cat.scala 31:58]
+  wire [7:0] logic_out_hi_lo = {_logic_out_T_46[0],_logic_out_T_44[0],_logic_out_T_42[0],_logic_out_T_40[0],
+    _logic_out_T_38[0],_logic_out_T_36[0],_logic_out_T_34[0],_logic_out_T_32[0]}; // @[Cat.scala 31:58]
+  wire [31:0] logic_out = {_logic_out_T_62[0],_logic_out_T_60[0],_logic_out_T_58[0],_logic_out_T_56[0],_logic_out_T_54[0
+    ],_logic_out_T_52[0],_logic_out_T_50[0],_logic_out_T_48[0],logic_out_hi_lo,logic_out_lo}; // @[Cat.scala 31:58]
+  wire  unsigned_ = cam_a_0_bits_param[1]; // @[AtomicAutomata.scala 117:42]
+  wire  take_max = cam_a_0_bits_param[0]; // @[AtomicAutomata.scala 118:42]
+  wire  adder = cam_a_0_bits_param[2]; // @[AtomicAutomata.scala 119:39]
+  wire [3:0] _signSel_T = ~cam_a_0_bits_mask; // @[AtomicAutomata.scala 121:25]
+  wire [3:0] _GEN_39 = {{1'd0}, cam_a_0_bits_mask[3:1]}; // @[AtomicAutomata.scala 121:31]
+  wire [3:0] _signSel_T_2 = _signSel_T | _GEN_39; // @[AtomicAutomata.scala 121:31]
+  wire [3:0] signSel = ~_signSel_T_2; // @[AtomicAutomata.scala 121:23]
+  wire [3:0] signbits_a = {cam_a_0_bits_data[31],cam_a_0_bits_data[23],cam_a_0_bits_data[15],cam_a_0_bits_data[7]}; // @[Cat.scala 31:58]
+  wire [3:0] signbits_d = {cam_d_0_data[31],cam_d_0_data[23],cam_d_0_data[15],cam_d_0_data[7]}; // @[Cat.scala 31:58]
+  wire [3:0] _signbit_a_T = signbits_a & signSel; // @[AtomicAutomata.scala 125:38]
+  wire [4:0] _signbit_a_T_1 = {_signbit_a_T, 1'h0}; // @[AtomicAutomata.scala 125:49]
+  wire [3:0] signbit_a = _signbit_a_T_1[3:0]; // @[AtomicAutomata.scala 125:54]
+  wire [3:0] _signbit_d_T = signbits_d & signSel; // @[AtomicAutomata.scala 126:38]
+  wire [4:0] _signbit_d_T_1 = {_signbit_d_T, 1'h0}; // @[AtomicAutomata.scala 126:49]
+  wire [3:0] signbit_d = _signbit_d_T_1[3:0]; // @[AtomicAutomata.scala 126:54]
+  wire [4:0] _signext_a_T = {signbit_a, 1'h0}; // @[package.scala 244:48]
+  wire [3:0] _signext_a_T_2 = signbit_a | _signext_a_T[3:0]; // @[package.scala 244:43]
+  wire [5:0] _signext_a_T_3 = {_signext_a_T_2, 2'h0}; // @[package.scala 244:48]
+  wire [3:0] _signext_a_T_5 = _signext_a_T_2 | _signext_a_T_3[3:0]; // @[package.scala 244:43]
+  wire [7:0] _signext_a_T_12 = _signext_a_T_5[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _signext_a_T_14 = _signext_a_T_5[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _signext_a_T_16 = _signext_a_T_5[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _signext_a_T_18 = _signext_a_T_5[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] signext_a = {_signext_a_T_18,_signext_a_T_16,_signext_a_T_14,_signext_a_T_12}; // @[Cat.scala 31:58]
+  wire [4:0] _signext_d_T = {signbit_d, 1'h0}; // @[package.scala 244:48]
+  wire [3:0] _signext_d_T_2 = signbit_d | _signext_d_T[3:0]; // @[package.scala 244:43]
+  wire [5:0] _signext_d_T_3 = {_signext_d_T_2, 2'h0}; // @[package.scala 244:48]
+  wire [3:0] _signext_d_T_5 = _signext_d_T_2 | _signext_d_T_3[3:0]; // @[package.scala 244:43]
+  wire [7:0] _signext_d_T_12 = _signext_d_T_5[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _signext_d_T_14 = _signext_d_T_5[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _signext_d_T_16 = _signext_d_T_5[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _signext_d_T_18 = _signext_d_T_5[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] signext_d = {_signext_d_T_18,_signext_d_T_16,_signext_d_T_14,_signext_d_T_12}; // @[Cat.scala 31:58]
+  wire [7:0] _wide_mask_T_5 = cam_a_0_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _wide_mask_T_7 = cam_a_0_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _wide_mask_T_9 = cam_a_0_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _wide_mask_T_11 = cam_a_0_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] wide_mask = {_wide_mask_T_11,_wide_mask_T_9,_wide_mask_T_7,_wide_mask_T_5}; // @[Cat.scala 31:58]
+  wire [31:0] _a_a_ext_T = cam_a_0_bits_data & wide_mask; // @[AtomicAutomata.scala 131:28]
+  wire [31:0] a_a_ext = _a_a_ext_T | signext_a; // @[AtomicAutomata.scala 131:41]
+  wire [31:0] _a_d_ext_T = cam_d_0_data & wide_mask; // @[AtomicAutomata.scala 132:28]
+  wire [31:0] a_d_ext = _a_d_ext_T | signext_d; // @[AtomicAutomata.scala 132:41]
+  wire [31:0] _a_d_inv_T = ~a_d_ext; // @[AtomicAutomata.scala 133:43]
+  wire [31:0] a_d_inv = adder ? a_d_ext : _a_d_inv_T; // @[AtomicAutomata.scala 133:26]
+  wire [31:0] adder_out = a_a_ext + a_d_inv; // @[AtomicAutomata.scala 134:33]
+  wire  a_bigger_uneq = unsigned_ == a_a_ext[31]; // @[AtomicAutomata.scala 136:38]
+  wire  a_bigger = a_a_ext[31] == a_d_ext[31] ? ~adder_out[31] : a_bigger_uneq; // @[AtomicAutomata.scala 137:27]
+  wire  pick_a = take_max == a_bigger; // @[AtomicAutomata.scala 138:31]
+  wire [31:0] _arith_out_T = pick_a ? cam_a_0_bits_data : cam_d_0_data; // @[AtomicAutomata.scala 139:50]
+  wire [31:0] arith_out = adder ? adder_out : _arith_out_T; // @[AtomicAutomata.scala 139:28]
+  wire [31:0] amo_data = cam_a_0_bits_opcode[0] ? logic_out : arith_out; // @[AtomicAutomata.scala 145:14]
+  wire  a_allow = ~cam_abusy_0 & (a_isSupported | cam_free_0); // @[AtomicAutomata.scala 149:35]
+  reg [3:0] beatsLeft; // @[Arbiter.scala 87:30]
+  wire  idle = beatsLeft == 4'h0; // @[Arbiter.scala 88:28]
+  wire  source_i_valid = auto_in_a_valid & a_allow; // @[AtomicAutomata.scala 151:38]
+  wire [1:0] _readys_T = {source_i_valid,cam_amo_0}; // @[Cat.scala 31:58]
+  wire [2:0] _readys_T_1 = {_readys_T, 1'h0}; // @[package.scala 244:48]
+  wire [1:0] _readys_T_3 = _readys_T | _readys_T_1[1:0]; // @[package.scala 244:43]
+  wire [2:0] _readys_T_5 = {_readys_T_3, 1'h0}; // @[Arbiter.scala 16:78]
+  wire [1:0] _readys_T_7 = ~_readys_T_5[1:0]; // @[Arbiter.scala 16:61]
+  wire  readys_1 = _readys_T_7[1]; // @[Arbiter.scala 95:86]
+  reg  state_1; // @[Arbiter.scala 116:26]
+  wire  allowed_1 = idle ? readys_1 : state_1; // @[Arbiter.scala 121:24]
+  wire  out_1_ready = auto_out_a_ready & allowed_1; // @[Arbiter.scala 123:31]
+  wire  _T = ~a_isSupported; // @[AtomicAutomata.scala 153:15]
+  wire [2:0] source_i_bits_opcode = ~a_isSupported ? 3'h4 : auto_in_a_bits_opcode; // @[AtomicAutomata.scala 152:24 153:31 154:32]
+  wire [2:0] source_i_bits_param = ~a_isSupported ? 3'h0 : auto_in_a_bits_param; // @[AtomicAutomata.scala 152:24 153:31 155:32]
+  wire  source_c_bits_a_corrupt = cam_a_0_bits_corrupt | cam_d_0_corrupt; // @[AtomicAutomata.scala 166:45]
+  wire  source_c_bits_a_mask_sizeOH_shiftAmount = cam_a_0_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _source_c_bits_a_mask_sizeOH_T_1 = 2'h1 << source_c_bits_a_mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] source_c_bits_a_mask_sizeOH = _source_c_bits_a_mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _source_c_bits_a_mask_T = cam_a_0_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  source_c_bits_a_mask_size = source_c_bits_a_mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  source_c_bits_a_mask_bit = cam_a_0_bits_address[1]; // @[Misc.scala 209:26]
+  wire  source_c_bits_a_mask_nbit = ~source_c_bits_a_mask_bit; // @[Misc.scala 210:20]
+  wire  source_c_bits_a_mask_acc = _source_c_bits_a_mask_T | source_c_bits_a_mask_size & source_c_bits_a_mask_nbit; // @[Misc.scala 214:29]
+  wire  source_c_bits_a_mask_acc_1 = _source_c_bits_a_mask_T | source_c_bits_a_mask_size & source_c_bits_a_mask_bit; // @[Misc.scala 214:29]
+  wire  source_c_bits_a_mask_size_1 = source_c_bits_a_mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  source_c_bits_a_mask_bit_1 = cam_a_0_bits_address[0]; // @[Misc.scala 209:26]
+  wire  source_c_bits_a_mask_nbit_1 = ~source_c_bits_a_mask_bit_1; // @[Misc.scala 210:20]
+  wire  source_c_bits_a_mask_eq_2 = source_c_bits_a_mask_nbit & source_c_bits_a_mask_nbit_1; // @[Misc.scala 213:27]
+  wire  source_c_bits_a_mask_acc_2 = source_c_bits_a_mask_acc | source_c_bits_a_mask_size_1 & source_c_bits_a_mask_eq_2; // @[Misc.scala 214:29]
+  wire  source_c_bits_a_mask_eq_3 = source_c_bits_a_mask_nbit & source_c_bits_a_mask_bit_1; // @[Misc.scala 213:27]
+  wire  source_c_bits_a_mask_acc_3 = source_c_bits_a_mask_acc | source_c_bits_a_mask_size_1 & source_c_bits_a_mask_eq_3; // @[Misc.scala 214:29]
+  wire  source_c_bits_a_mask_eq_4 = source_c_bits_a_mask_bit & source_c_bits_a_mask_nbit_1; // @[Misc.scala 213:27]
+  wire  source_c_bits_a_mask_acc_4 = source_c_bits_a_mask_acc_1 | source_c_bits_a_mask_size_1 &
+    source_c_bits_a_mask_eq_4; // @[Misc.scala 214:29]
+  wire  source_c_bits_a_mask_eq_5 = source_c_bits_a_mask_bit & source_c_bits_a_mask_bit_1; // @[Misc.scala 213:27]
+  wire  source_c_bits_a_mask_acc_5 = source_c_bits_a_mask_acc_1 | source_c_bits_a_mask_size_1 &
+    source_c_bits_a_mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] source_c_bits_a_mask = {source_c_bits_a_mask_acc_5,source_c_bits_a_mask_acc_4,source_c_bits_a_mask_acc_3,
+    source_c_bits_a_mask_acc_2}; // @[Cat.scala 31:58]
+  wire [12:0] _decode_T_1 = 13'h3f << auto_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] _decode_T_3 = ~_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] decode = _decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  opdata = ~auto_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  wire  latch = idle & auto_out_a_ready; // @[Arbiter.scala 89:24]
+  wire  readys_0 = _readys_T_7[0]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_0 = readys_0 & cam_amo_0; // @[Arbiter.scala 97:79]
+  wire  earlyWinner_1 = readys_1 & source_i_valid; // @[Arbiter.scala 97:79]
+  wire  _prefixOR_T = earlyWinner_0 | earlyWinner_1; // @[Arbiter.scala 104:53]
+  wire  _T_10 = ~reset; // @[Arbiter.scala 105:13]
+  wire  _T_12 = cam_amo_0 | source_i_valid; // @[Arbiter.scala 107:36]
+  wire  _T_13 = ~(cam_amo_0 | source_i_valid); // @[Arbiter.scala 107:15]
+  reg  state_0; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_0 = idle ? earlyWinner_0 : state_0; // @[Arbiter.scala 117:30]
+  wire  muxStateEarly_1 = idle ? earlyWinner_1 : state_1; // @[Arbiter.scala 117:30]
+  wire  _sink_ACancel_earlyValid_T_3 = state_0 & cam_amo_0 | state_1 & source_i_valid; // @[Mux.scala 27:73]
+  wire  sink_ACancel_earlyValid = idle ? _T_12 : _sink_ACancel_earlyValid_T_3; // @[Arbiter.scala 125:29]
+  wire  _beatsLeft_T_2 = auto_out_a_ready & sink_ACancel_earlyValid; // @[ReadyValidCancel.scala 49:33]
+  wire [3:0] _GEN_40 = {{3'd0}, _beatsLeft_T_2}; // @[Arbiter.scala 113:52]
+  wire [3:0] _beatsLeft_T_4 = beatsLeft - _GEN_40; // @[Arbiter.scala 113:52]
+  wire  allowed_0 = idle ? readys_0 : state_0; // @[Arbiter.scala 121:24]
+  wire  out_ready = auto_out_a_ready & allowed_0; // @[Arbiter.scala 123:31]
+  wire [31:0] _T_29 = muxStateEarly_0 ? amo_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_30 = muxStateEarly_1 ? auto_in_a_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_32 = muxStateEarly_0 ? source_c_bits_a_mask : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_33 = muxStateEarly_1 ? auto_in_a_bits_mask : 4'h0; // @[Mux.scala 27:73]
+  wire [29:0] _T_35 = muxStateEarly_0 ? cam_a_0_bits_address : 30'h0; // @[Mux.scala 27:73]
+  wire [29:0] _T_36 = muxStateEarly_1 ? auto_in_a_bits_address : 30'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_38 = muxStateEarly_0 ? cam_a_0_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_39 = muxStateEarly_1 ? auto_in_a_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_41 = muxStateEarly_0 ? cam_a_0_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_42 = muxStateEarly_1 ? auto_in_a_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire  _T_50 = out_1_ready & source_i_valid; // @[Decoupled.scala 50:35]
+  wire [2:0] _GEN_41 = {{1'd0}, auto_in_a_bits_param[1:0]}; // @[Mux.scala 81:61]
+  wire [3:0] _cam_a_0_lut_T_2 = 3'h1 == _GEN_41 ? 4'he : 4'h8; // @[Mux.scala 81:58]
+  wire [1:0] _GEN_12 = cam_free_0 ? 2'h3 : cam_s_0_state; // @[AtomicAutomata.scala 187:23 188:23 76:28]
+  wire [1:0] _GEN_23 = _T_50 & _T ? _GEN_12 : cam_s_0_state; // @[AtomicAutomata.scala 174:50 76:28]
+  wire  _T_53 = out_ready & cam_amo_0; // @[Decoupled.scala 50:35]
+  wire [1:0] _GEN_24 = cam_amo_0 ? 2'h1 : _GEN_23; // @[AtomicAutomata.scala 196:23 197:23]
+  wire [1:0] _GEN_25 = _T_53 ? _GEN_24 : _GEN_23; // @[AtomicAutomata.scala 194:32]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  wire  d_ackd = auto_out_d_bits_opcode == 3'h1; // @[AtomicAutomata.scala 213:40]
+  wire  d_cam_sel_raw_0 = cam_a_0_bits_source == auto_out_d_bits_source; // @[AtomicAutomata.scala 204:53]
+  wire  d_cam_sel_match_0 = d_cam_sel_raw_0 & cam_dmatch_0; // @[AtomicAutomata.scala 205:83]
+  wire  d_drop = d_first & d_ackd & d_cam_sel_match_0; // @[AtomicAutomata.scala 232:40]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | d_drop; // @[AtomicAutomata.scala 236:35]
+  wire  _d_first_T = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_ack = auto_out_d_bits_opcode == 3'h0; // @[AtomicAutomata.scala 214:40]
+  wire  d_replace = d_first & d_ack & d_cam_sel_match_0; // @[AtomicAutomata.scala 233:42]
+  TLMonitor_5 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = out_1_ready & a_allow; // @[AtomicAutomata.scala 150:38]
+  assign auto_in_d_valid = auto_out_d_valid & ~d_drop; // @[AtomicAutomata.scala 235:35]
+  assign auto_in_d_bits_opcode = d_replace ? 3'h1 : auto_out_d_bits_opcode; // @[AtomicAutomata.scala 238:19 239:26 240:28]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_denied = d_replace ? cam_d_0_denied | auto_out_d_bits_denied : auto_out_d_bits_denied; // @[AtomicAutomata.scala 238:19 239:26 243:29]
+  assign auto_in_d_bits_data = d_replace ? cam_d_0_data : auto_out_d_bits_data; // @[AtomicAutomata.scala 238:19 239:26 241:26]
+  assign auto_in_d_bits_corrupt = d_replace ? cam_d_0_corrupt | auto_out_d_bits_denied : auto_out_d_bits_corrupt; // @[AtomicAutomata.scala 238:19 239:26 242:29]
+  assign auto_out_a_valid = idle ? _T_12 : _sink_ACancel_earlyValid_T_3; // @[Arbiter.scala 125:29]
+  assign auto_out_a_bits_opcode = muxStateEarly_1 ? source_i_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_param = muxStateEarly_1 ? source_i_bits_param : 3'h0; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_size = _T_41 | _T_42; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_source = _T_38 | _T_39; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_address = _T_35 | _T_36; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_mask = _T_32 | _T_33; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_data = _T_29 | _T_30; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_corrupt = muxStateEarly_0 & source_c_bits_a_corrupt | muxStateEarly_1 & auto_in_a_bits_corrupt; // @[Mux.scala 27:73]
+  assign auto_out_d_ready = auto_in_d_ready | d_drop; // @[AtomicAutomata.scala 236:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = out_1_ready & a_allow; // @[AtomicAutomata.scala 150:38]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~d_drop; // @[AtomicAutomata.scala 235:35]
+  assign monitor_io_in_d_bits_opcode = d_replace ? 3'h1 : auto_out_d_bits_opcode; // @[AtomicAutomata.scala 238:19 239:26 240:28]
+  assign monitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_denied = d_replace ? cam_d_0_denied | auto_out_d_bits_denied : auto_out_d_bits_denied; // @[AtomicAutomata.scala 238:19 239:26 243:29]
+  assign monitor_io_in_d_bits_corrupt = d_replace ? cam_d_0_corrupt | auto_out_d_bits_denied : auto_out_d_bits_corrupt; // @[AtomicAutomata.scala 238:19 239:26 242:29]
+  always @(posedge clock) begin
+    if (reset) begin // @[AtomicAutomata.scala 76:28]
+      cam_s_0_state <= 2'h0; // @[AtomicAutomata.scala 76:28]
+    end else if (_d_first_T & d_first) begin // @[AtomicAutomata.scala 216:40]
+      if (d_cam_sel_match_0) begin // @[AtomicAutomata.scala 225:23]
+        if (d_ackd) begin // @[AtomicAutomata.scala 227:29]
+          cam_s_0_state <= 2'h2;
+        end else begin
+          cam_s_0_state <= 2'h0;
+        end
+      end else begin
+        cam_s_0_state <= _GEN_25;
+      end
+    end else begin
+      cam_s_0_state <= _GEN_25;
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_opcode <= auto_in_a_bits_opcode; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_param <= auto_in_a_bits_param; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_size <= auto_in_a_bits_size; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_source <= auto_in_a_bits_source; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_address <= auto_in_a_bits_address; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_mask <= auto_in_a_bits_mask; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_data <= auto_in_a_bits_data; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_corrupt <= auto_in_a_bits_corrupt; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        if (3'h3 == _GEN_41) begin // @[Mux.scala 81:58]
+          cam_a_0_lut <= 4'hc;
+        end else if (3'h0 == _GEN_41) begin // @[Mux.scala 81:58]
+          cam_a_0_lut <= 4'h6;
+        end else begin
+          cam_a_0_lut <= _cam_a_0_lut_T_2;
+        end
+      end
+    end
+    if (_d_first_T & d_first) begin // @[AtomicAutomata.scala 216:40]
+      if (d_cam_sel_match_0 & d_ackd) begin // @[AtomicAutomata.scala 218:33]
+        cam_d_0_data <= auto_out_d_bits_data; // @[AtomicAutomata.scala 219:22]
+      end
+    end
+    if (_d_first_T & d_first) begin // @[AtomicAutomata.scala 216:40]
+      if (d_cam_sel_match_0 & d_ackd) begin // @[AtomicAutomata.scala 218:33]
+        cam_d_0_denied <= auto_out_d_bits_denied; // @[AtomicAutomata.scala 220:24]
+      end
+    end
+    if (_d_first_T & d_first) begin // @[AtomicAutomata.scala 216:40]
+      if (d_cam_sel_match_0 & d_ackd) begin // @[AtomicAutomata.scala 218:33]
+        cam_d_0_corrupt <= auto_out_d_bits_corrupt; // @[AtomicAutomata.scala 221:25]
+      end
+    end
+    if (reset) begin // @[Arbiter.scala 87:30]
+      beatsLeft <= 4'h0; // @[Arbiter.scala 87:30]
+    end else if (latch) begin // @[Arbiter.scala 113:23]
+      if (earlyWinner_1) begin // @[Arbiter.scala 111:73]
+        if (opdata) begin // @[Edges.scala 220:14]
+          beatsLeft <= decode;
+        end else begin
+          beatsLeft <= 4'h0;
+        end
+      end else begin
+        beatsLeft <= 4'h0;
+      end
+    end else begin
+      beatsLeft <= _beatsLeft_T_4;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_1 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_1 <= earlyWinner_1;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_0 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_0 <= earlyWinner_0;
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~earlyWinner_0 | ~earlyWinner_1) & ~reset) begin
+          $fatal; // @[Arbiter.scala 105:13]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~(~earlyWinner_0 | ~earlyWinner_1)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:105 assert((prefixOR zip earlyWinner) map { case (p,w) => !p || !w } reduce {_ && _})\n"
+            ); // @[Arbiter.scala 105:13]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(cam_amo_0 | source_i_valid) | _prefixOR_T) & _T_10) begin
+          $fatal; // @[Arbiter.scala 107:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_10 & ~(~(cam_amo_0 | source_i_valid) | _prefixOR_T)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:107 assert (!earlyValids.reduce(_||_) || earlyWinner.reduce(_||_))\n"
+            ); // @[Arbiter.scala 107:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_13 | _T_12) & _T_10) begin
+          $fatal; // @[Arbiter.scala 108:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_10 & ~(_T_13 | _T_12)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:108 assert (!validQuals .reduce(_||_) || validQuals .reduce(_||_))\n"
+            ); // @[Arbiter.scala 108:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  cam_s_0_state = _RAND_0[1:0];
+  _RAND_1 = {1{`RANDOM}};
+  cam_a_0_bits_opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  cam_a_0_bits_param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  cam_a_0_bits_size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  cam_a_0_bits_source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  cam_a_0_bits_address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  cam_a_0_bits_mask = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  cam_a_0_bits_data = _RAND_7[31:0];
+  _RAND_8 = {1{`RANDOM}};
+  cam_a_0_bits_corrupt = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  cam_a_0_lut = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  cam_d_0_data = _RAND_10[31:0];
+  _RAND_11 = {1{`RANDOM}};
+  cam_d_0_denied = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  cam_d_0_corrupt = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  beatsLeft = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  state_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  state_0 = _RAND_15[0:0];
+  _RAND_16 = {1{`RANDOM}};
+  d_first_counter = _RAND_16[3:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLMonitor_6(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [29:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source,
+  input         io_in_d_bits_sink,
+  input         io_in_d_bits_denied,
+  input         io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [29:0] _GEN_71 = {{24'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [29:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 30'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [29:0] _T_45 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_48 = $signed(_T_46) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_50 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_51 = {1'b0,$signed(_T_50)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_53 = $signed(_T_51) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_54 = $signed(_T_53) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_55 = io_in_a_bits_address ^ 30'h10016000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_56 = {1'b0,$signed(_T_55)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_58 = $signed(_T_56) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_59 = $signed(_T_58) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_60 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_61 = {1'b0,$signed(_T_60)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_63 = $signed(_T_61) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_64 = $signed(_T_63) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_65 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_66 = {1'b0,$signed(_T_65)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_68 = $signed(_T_66) & -31'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_69 = $signed(_T_68) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_70 = io_in_a_bits_address ^ 30'h10026000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_71 = {1'b0,$signed(_T_70)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_73 = $signed(_T_71) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_74 = $signed(_T_73) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_75 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_76 = {1'b0,$signed(_T_75)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_78 = $signed(_T_76) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_79 = $signed(_T_78) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_80 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_83 = $signed(_T_81) & -31'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_84 = $signed(_T_83) == 31'sh0; // @[Parameters.scala 137:67]
+  wire  _T_90 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79; // @[Parameters.scala 671:42]
+  wire  _T_91 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84; // @[Parameters.scala 671:42]
+  wire  _T_101 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_102 = _source_ok_T & _T_101; // @[Mux.scala 27:73]
+  wire  _T_160 = _T_102 & _T_91; // @[Monitor.scala 83:78]
+  wire  _T_174 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_178 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_179 = _T_178 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_183 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_187 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_332 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_345 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_360 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_410 = _T_360 & _T_91; // @[Parameters.scala 670:56]
+  wire  _T_421 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_425 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_433 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_489 = _T_360 & _T_90; // @[Parameters.scala 670:56]
+  wire  _T_499 = source_ok & _T_489; // @[Monitor.scala 115:71]
+  wire  _T_517 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_597 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_598 = io_in_a_bits_mask & _T_597; // @[Monitor.scala 127:31]
+  wire  _T_599 = _T_598 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_603 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_615 = io_in_a_bits_size <= 3'h2; // @[Parameters.scala 92:42]
+  wire  _T_659 = _T_615 & _T_90; // @[Parameters.scala 670:56]
+  wire  _T_669 = source_ok & _T_659; // @[Monitor.scala 131:74]
+  wire  _T_679 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_687 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_763 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_771 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_842 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_854 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_858 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_862 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_866 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_870 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_874 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_878 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_889 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_893 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_906 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_926 = _T_874 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_935 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_952 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_970 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [29:0] address; // @[Monitor.scala 388:22]
+  wire  _T_1000 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_1001 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_1005 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_1009 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_1013 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_1017 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  reg  sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_1024 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_1025 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_1029 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_1033 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_1037 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_1041 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_1045 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_1051 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_1054 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_1056 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_1058 = ~_T_1056[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_1062 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_1064 = ~_T_858; // @[Monitor.scala 671:74]
+  wire  _T_1065 = io_in_d_valid & d_first_1 & ~_T_858; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_858 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 671:90 672:22]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_1064 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_1064 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_1051 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_1075 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_1077 = _T_1075[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_1082 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_1083 = io_in_d_bits_opcode == _GEN_32 | _T_1082; // @[Monitor.scala 685:77]
+  wire  _T_1087 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_1094 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_1095 = io_in_d_bits_opcode == _GEN_48 | _T_1094; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_1099 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_1109 = _T_1062 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_1064; // @[Monitor.scala 694:116]
+  wire  _T_1111 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set_wo_ready = _GEN_15[2:0];
+  wire [2:0] d_clr_wo_ready = _GEN_21[2:0];
+  wire  _T_1118 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_1127 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_1153 = io_in_d_valid & d_first_2 & _T_858; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_858 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_858 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_1161 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_1171 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_1196 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_160 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_160) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_174 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_174) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_179 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_179) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_160 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_160) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_174 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_174) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_332 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_332) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_179 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_179) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_187 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_187 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_410 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_410) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_421 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_499 & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~_T_499) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_421 & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~_T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_433 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_433 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_499 & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~_T_499) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_421 & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~_T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (io_in_a_valid & _T_517 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_517 & ~reset & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_669 & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~_T_669) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_679 & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~_T_679) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_603 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_603 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_669 & (io_in_a_valid & _T_687 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_687 & ~reset & ~_T_669) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_687 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_687 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_687 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_687 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_763 & (io_in_a_valid & _T_687 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_687 & ~reset & ~_T_763) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_687 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_687 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_771 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_771 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_771 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_771 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_771 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_771 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_842 & (io_in_a_valid & _T_771 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_771 & ~reset & ~_T_842) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_425 & (io_in_a_valid & _T_771 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_771 & ~reset & ~_T_425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_771 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_771 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_854 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_854) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_858 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_858 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_862 & (io_in_d_valid & _T_858 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_858 & _T_2 & ~_T_862) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_866 & (io_in_d_valid & _T_858 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_858 & _T_2 & ~_T_866) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_870 & (io_in_d_valid & _T_858 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_858 & _T_2 & ~_T_870) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_874 & (io_in_d_valid & _T_858 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_858 & _T_2 & ~_T_874) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_878 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_862 & (io_in_d_valid & _T_878 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2 & ~_T_862) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_889 & (io_in_d_valid & _T_878 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2 & ~_T_889) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_893 & (io_in_d_valid & _T_878 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2 & ~_T_893) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_870 & (io_in_d_valid & _T_878 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2 & ~_T_870) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_874 & (io_in_d_valid & _T_878 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_878 & _T_2 & ~_T_874) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_906 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_862 & (io_in_d_valid & _T_906 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2 & ~_T_862) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_889 & (io_in_d_valid & _T_906 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2 & ~_T_889) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_893 & (io_in_d_valid & _T_906 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2 & ~_T_893) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_926 & (io_in_d_valid & _T_906 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2 & ~_T_926) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_874 & (io_in_d_valid & _T_906 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_906 & _T_2 & ~_T_874) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_935 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_935 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_866 & (io_in_d_valid & _T_935 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_935 & _T_2 & ~_T_866) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_870 & (io_in_d_valid & _T_935 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_935 & _T_2 & ~_T_870) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_874 & (io_in_d_valid & _T_935 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_935 & _T_2 & ~_T_874) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_952 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_952 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_866 & (io_in_d_valid & _T_952 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_952 & _T_2 & ~_T_866) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_926 & (io_in_d_valid & _T_952 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_952 & _T_2 & ~_T_926) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_874 & (io_in_d_valid & _T_952 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_952 & _T_2 & ~_T_874) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_970 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_970 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_866 & (io_in_d_valid & _T_970 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_970 & _T_2 & ~_T_866) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_870 & (io_in_d_valid & _T_970 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_970 & _T_2 & ~_T_870) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_874 & (io_in_d_valid & _T_970 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_970 & _T_2 & ~_T_874) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1001 & (_T_1000 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1000 & ~reset & ~_T_1001) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1005 & (_T_1000 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1000 & ~reset & ~_T_1005) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1009 & (_T_1000 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1000 & ~reset & ~_T_1009) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1013 & (_T_1000 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1000 & ~reset & ~_T_1013) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1017 & (_T_1000 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1000 & ~reset & ~_T_1017) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1025 & (_T_1024 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1024 & _T_2 & ~_T_1025) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1029 & (_T_1024 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1024 & _T_2 & ~_T_1029) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1033 & (_T_1024 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1024 & _T_2 & ~_T_1033) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1037 & (_T_1024 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1024 & _T_2 & ~_T_1037) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1041 & (_T_1024 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1024 & _T_2 & ~_T_1041) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1045 & (_T_1024 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1024 & _T_2 & ~_T_1045) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1058 & (_T_1054 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1054 & ~reset & ~_T_1058) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1077 & (_T_1065 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1065 & _T_2 & ~_T_1077) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1083 & (_T_1065 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1065 & same_cycle_resp & _T_2 & ~_T_1083) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1087 & (_T_1065 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1065 & same_cycle_resp & _T_2 & ~_T_1087) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1095 & (_T_1065 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1065 & ~same_cycle_resp & _T_2 & ~_T_1095) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1099 & (_T_1065 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1065 & ~same_cycle_resp & _T_2 & ~_T_1099) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1111 & (_T_1109 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1109 & _T_2 & ~_T_1111) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1118 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_1118) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1127 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1127) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1161[0] & (_T_1153 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1153 & _T_2 & ~_T_1161[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1171 & (_T_1153 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1153 & _T_2 & ~_T_1171) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1196 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1196) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:44)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  param_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  size_1 = _RAND_9[2:0];
+  _RAND_10 = {1{`RANDOM}};
+  source_1 = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  sink = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  denied = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  inflight = _RAND_13[2:0];
+  _RAND_14 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_14[11:0];
+  _RAND_15 = {1{`RANDOM}};
+  inflight_sizes = _RAND_15[11:0];
+  _RAND_16 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_16[3:0];
+  _RAND_17 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_17[3:0];
+  _RAND_18 = {1{`RANDOM}};
+  watchdog = _RAND_18[31:0];
+  _RAND_19 = {1{`RANDOM}};
+  inflight_1 = _RAND_19[2:0];
+  _RAND_20 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_20[11:0];
+  _RAND_21 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_21[3:0];
+  _RAND_22 = {1{`RANDOM}};
+  watchdog_1 = _RAND_22[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLBuffer_1(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input         auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [29:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  bundleOut_0_a_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_a_q_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire [29:0] bundleOut_0_a_q_io_enq_bits_address; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_enq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleOut_0_a_q_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_a_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire [29:0] bundleOut_0_a_q_io_deq_bits_address; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_deq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleOut_0_a_q_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_sink; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_denied; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleIn_0_d_q_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_sink; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_denied; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleIn_0_d_q_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  TLMonitor_6 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
+  );
+  Queue bundleOut_0_a_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleOut_0_a_q_clock),
+    .reset(bundleOut_0_a_q_reset),
+    .io_enq_ready(bundleOut_0_a_q_io_enq_ready),
+    .io_enq_valid(bundleOut_0_a_q_io_enq_valid),
+    .io_enq_bits_opcode(bundleOut_0_a_q_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleOut_0_a_q_io_enq_bits_param),
+    .io_enq_bits_size(bundleOut_0_a_q_io_enq_bits_size),
+    .io_enq_bits_source(bundleOut_0_a_q_io_enq_bits_source),
+    .io_enq_bits_address(bundleOut_0_a_q_io_enq_bits_address),
+    .io_enq_bits_mask(bundleOut_0_a_q_io_enq_bits_mask),
+    .io_enq_bits_data(bundleOut_0_a_q_io_enq_bits_data),
+    .io_enq_bits_corrupt(bundleOut_0_a_q_io_enq_bits_corrupt),
+    .io_deq_ready(bundleOut_0_a_q_io_deq_ready),
+    .io_deq_valid(bundleOut_0_a_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleOut_0_a_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleOut_0_a_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleOut_0_a_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleOut_0_a_q_io_deq_bits_source),
+    .io_deq_bits_address(bundleOut_0_a_q_io_deq_bits_address),
+    .io_deq_bits_mask(bundleOut_0_a_q_io_deq_bits_mask),
+    .io_deq_bits_data(bundleOut_0_a_q_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleOut_0_a_q_io_deq_bits_corrupt)
+  );
+  Queue_1 bundleIn_0_d_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleIn_0_d_q_clock),
+    .reset(bundleIn_0_d_q_reset),
+    .io_enq_ready(bundleIn_0_d_q_io_enq_ready),
+    .io_enq_valid(bundleIn_0_d_q_io_enq_valid),
+    .io_enq_bits_opcode(bundleIn_0_d_q_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleIn_0_d_q_io_enq_bits_param),
+    .io_enq_bits_size(bundleIn_0_d_q_io_enq_bits_size),
+    .io_enq_bits_source(bundleIn_0_d_q_io_enq_bits_source),
+    .io_enq_bits_sink(bundleIn_0_d_q_io_enq_bits_sink),
+    .io_enq_bits_denied(bundleIn_0_d_q_io_enq_bits_denied),
+    .io_enq_bits_data(bundleIn_0_d_q_io_enq_bits_data),
+    .io_enq_bits_corrupt(bundleIn_0_d_q_io_enq_bits_corrupt),
+    .io_deq_ready(bundleIn_0_d_q_io_deq_ready),
+    .io_deq_valid(bundleIn_0_d_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleIn_0_d_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleIn_0_d_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleIn_0_d_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleIn_0_d_q_io_deq_bits_source),
+    .io_deq_bits_sink(bundleIn_0_d_q_io_deq_bits_sink),
+    .io_deq_bits_denied(bundleIn_0_d_q_io_deq_bits_denied),
+    .io_deq_bits_data(bundleIn_0_d_q_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleIn_0_d_q_io_deq_bits_corrupt)
+  );
+  assign auto_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign auto_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_param = bundleIn_0_d_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_sink = bundleIn_0_d_q_io_deq_bits_sink; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_denied = bundleIn_0_d_q_io_deq_bits_denied; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_data = bundleIn_0_d_q_io_deq_bits_data; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_corrupt = bundleIn_0_d_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_out_a_valid = bundleOut_0_a_q_io_deq_valid; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_opcode = bundleOut_0_a_q_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_param = bundleOut_0_a_q_io_deq_bits_param; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_size = bundleOut_0_a_q_io_deq_bits_size; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_source = bundleOut_0_a_q_io_deq_bits_source; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_address = bundleOut_0_a_q_io_deq_bits_address; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_mask = bundleOut_0_a_q_io_deq_bits_mask; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_data = bundleOut_0_a_q_io_deq_bits_data; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_corrupt = bundleOut_0_a_q_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_d_ready = bundleIn_0_d_q_io_enq_ready; // @[Nodes.scala 1207:84 Decoupled.scala 365:17]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_param = bundleIn_0_d_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_sink = bundleIn_0_d_q_io_deq_bits_sink; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_denied = bundleIn_0_d_q_io_deq_bits_denied; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_corrupt = bundleIn_0_d_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign bundleOut_0_a_q_clock = clock;
+  assign bundleOut_0_a_q_reset = reset;
+  assign bundleOut_0_a_q_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_clock = clock;
+  assign bundleIn_0_d_q_reset = reset;
+  assign bundleIn_0_d_q_io_enq_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_deq_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_7(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{23'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_45 = io_in_a_bits_address ^ 29'h10013000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_48 = $signed(_T_46) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Repeater(
+  input         clock,
+  input         reset,
+  input         io_repeat,
+  output        io_full,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [2:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input  [28:0] io_enq_bits_address,
+  input  [3:0]  io_enq_bits_mask,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [2:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [28:0] io_deq_bits_address,
+  output [3:0]  io_deq_bits_mask,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  reg  full; // @[Repeater.scala 19:21]
+  reg [2:0] saved_opcode; // @[Repeater.scala 20:18]
+  reg [2:0] saved_param; // @[Repeater.scala 20:18]
+  reg [2:0] saved_size; // @[Repeater.scala 20:18]
+  reg [1:0] saved_source; // @[Repeater.scala 20:18]
+  reg [28:0] saved_address; // @[Repeater.scala 20:18]
+  reg [3:0] saved_mask; // @[Repeater.scala 20:18]
+  reg  saved_corrupt; // @[Repeater.scala 20:18]
+  wire  _T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  _GEN_0 = _T & io_repeat | full; // @[Repeater.scala 19:21 28:{38,45}]
+  wire  _T_2 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign io_full = full; // @[Repeater.scala 26:11]
+  assign io_enq_ready = io_deq_ready & ~full; // @[Repeater.scala 24:32]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 23:32]
+  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 25:21]
+  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 25:21]
+  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 25:21]
+  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 25:21]
+  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 25:21]
+  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 25:21]
+  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 25:21]
+  always @(posedge clock) begin
+    if (reset) begin // @[Repeater.scala 19:21]
+      full <= 1'h0; // @[Repeater.scala 19:21]
+    end else if (_T_2 & ~io_repeat) begin // @[Repeater.scala 29:38]
+      full <= 1'h0; // @[Repeater.scala 29:45]
+    end else begin
+      full <= _GEN_0;
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_opcode <= io_enq_bits_opcode; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_param <= io_enq_bits_param; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_size <= io_enq_bits_size; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_source <= io_enq_bits_source; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_address <= io_enq_bits_address; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_mask <= io_enq_bits_mask; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_corrupt <= io_enq_bits_corrupt; // @[Repeater.scala 28:62]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  saved_opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  saved_param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  saved_size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  saved_source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  saved_address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  saved_mask = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  saved_corrupt = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [28:0] _GEN_11 = {{23'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_7 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_4(
+  input         clock,
+  input         reset,
+  input         auto_control_xing_out_a_ready,
+  output        auto_control_xing_out_a_valid,
+  output [2:0]  auto_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_control_xing_out_a_bits_param,
+  output [1:0]  auto_control_xing_out_a_bits_size,
+  output [6:0]  auto_control_xing_out_a_bits_source,
+  output [28:0] auto_control_xing_out_a_bits_address,
+  output [3:0]  auto_control_xing_out_a_bits_mask,
+  output [31:0] auto_control_xing_out_a_bits_data,
+  output        auto_control_xing_out_a_bits_corrupt,
+  output        auto_control_xing_out_d_ready,
+  input         auto_control_xing_out_d_valid,
+  input  [2:0]  auto_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_control_xing_out_d_bits_size,
+  input  [6:0]  auto_control_xing_out_d_bits_source,
+  input  [31:0] auto_control_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [28:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_8(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{23'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_45 = io_in_a_bits_address ^ 29'h10023000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_48 = $signed(_T_46) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_1(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [28:0] _GEN_11 = {{23'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_8 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_5(
+  input         clock,
+  input         reset,
+  input         auto_control_xing_out_a_ready,
+  output        auto_control_xing_out_a_valid,
+  output [2:0]  auto_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_control_xing_out_a_bits_param,
+  output [1:0]  auto_control_xing_out_a_bits_size,
+  output [6:0]  auto_control_xing_out_a_bits_source,
+  output [28:0] auto_control_xing_out_a_bits_address,
+  output [3:0]  auto_control_xing_out_a_bits_mask,
+  output [31:0] auto_control_xing_out_a_bits_data,
+  output        auto_control_xing_out_a_bits_corrupt,
+  output        auto_control_xing_out_d_ready,
+  input         auto_control_xing_out_d_valid,
+  input  [2:0]  auto_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_control_xing_out_d_bits_size,
+  input  [6:0]  auto_control_xing_out_d_bits_source,
+  input  [31:0] auto_control_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [28:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_1 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_9(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{23'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_45 = io_in_a_bits_address ^ 29'h10033000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_48 = $signed(_T_46) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_2(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [28:0] _GEN_11 = {{23'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_9 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_6(
+  input         clock,
+  input         reset,
+  input         auto_control_xing_out_a_ready,
+  output        auto_control_xing_out_a_valid,
+  output [2:0]  auto_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_control_xing_out_a_bits_param,
+  output [1:0]  auto_control_xing_out_a_bits_size,
+  output [6:0]  auto_control_xing_out_a_bits_source,
+  output [28:0] auto_control_xing_out_a_bits_address,
+  output [3:0]  auto_control_xing_out_a_bits_mask,
+  output [31:0] auto_control_xing_out_a_bits_data,
+  output        auto_control_xing_out_a_bits_corrupt,
+  output        auto_control_xing_out_d_ready,
+  input         auto_control_xing_out_d_valid,
+  input  [2:0]  auto_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_control_xing_out_d_bits_size,
+  input  [6:0]  auto_control_xing_out_d_bits_source,
+  input  [31:0] auto_control_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [28:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_2 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_10(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{23'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_45 = io_in_a_bits_address ^ 29'h10043000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_48 = $signed(_T_46) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_3(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [28:0] _GEN_11 = {{23'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_10 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_7(
+  input         clock,
+  input         reset,
+  input         auto_control_xing_out_a_ready,
+  output        auto_control_xing_out_a_valid,
+  output [2:0]  auto_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_control_xing_out_a_bits_param,
+  output [1:0]  auto_control_xing_out_a_bits_size,
+  output [6:0]  auto_control_xing_out_a_bits_source,
+  output [28:0] auto_control_xing_out_a_bits_address,
+  output [3:0]  auto_control_xing_out_a_bits_mask,
+  output [31:0] auto_control_xing_out_a_bits_data,
+  output        auto_control_xing_out_a_bits_corrupt,
+  output        auto_control_xing_out_d_ready,
+  input         auto_control_xing_out_d_valid,
+  input  [2:0]  auto_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_control_xing_out_d_bits_size,
+  input  [6:0]  auto_control_xing_out_d_bits_source,
+  input  [31:0] auto_control_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [28:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_3 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_11(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{23'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_45 = io_in_a_bits_address ^ 29'h10053000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_48 = $signed(_T_46) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at UART.scala:268:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at UART.scala:268:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_4(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [28:0] _GEN_11 = {{23'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_11 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_8(
+  input         clock,
+  input         reset,
+  input         auto_control_xing_out_a_ready,
+  output        auto_control_xing_out_a_valid,
+  output [2:0]  auto_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_control_xing_out_a_bits_param,
+  output [1:0]  auto_control_xing_out_a_bits_size,
+  output [6:0]  auto_control_xing_out_a_bits_source,
+  output [28:0] auto_control_xing_out_a_bits_address,
+  output [3:0]  auto_control_xing_out_a_bits_mask,
+  output [31:0] auto_control_xing_out_a_bits_data,
+  output        auto_control_xing_out_a_bits_corrupt,
+  output        auto_control_xing_out_d_ready,
+  input         auto_control_xing_out_d_valid,
+  input  [2:0]  auto_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_control_xing_out_d_bits_size,
+  input  [6:0]  auto_control_xing_out_d_bits_source,
+  input  [31:0] auto_control_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [28:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_4 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_12(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{23'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_45 = io_in_a_bits_address ^ 29'h10014000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_48 = $signed(_T_46) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:118:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SPI.scala:118:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_5(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [28:0] _GEN_11 = {{23'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_12 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_9(
+  input         clock,
+  input         reset,
+  input         auto_control_xing_out_a_ready,
+  output        auto_control_xing_out_a_valid,
+  output [2:0]  auto_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_control_xing_out_a_bits_param,
+  output [1:0]  auto_control_xing_out_a_bits_size,
+  output [6:0]  auto_control_xing_out_a_bits_source,
+  output [28:0] auto_control_xing_out_a_bits_address,
+  output [3:0]  auto_control_xing_out_a_bits_mask,
+  output [31:0] auto_control_xing_out_a_bits_data,
+  output        auto_control_xing_out_a_bits_corrupt,
+  output        auto_control_xing_out_d_ready,
+  input         auto_control_xing_out_d_valid,
+  input  [2:0]  auto_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_control_xing_out_d_bits_size,
+  input  [6:0]  auto_control_xing_out_d_bits_source,
+  input  [31:0] auto_control_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [28:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_5 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_13(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [29:0] io_in_a_bits_address,
+  input         io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [29:0] _GEN_71 = {{24'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [29:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 30'h0; // @[Edges.scala 20:24]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [29:0] _T_45 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_48 = $signed(_T_46) & -31'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 31'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire  _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = ~(~io_in_a_bits_mask); // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_260 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire  _T_299 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_328 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_336 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_365 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_373 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_402 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg [5:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [5:0] a_first_counter1 = a_first_counter - 6'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 6'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [29:0] address; // @[Monitor.scala 388:22]
+  wire  _T_560 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_561 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_565 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_569 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_573 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_577 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] d_first_beats1_decode = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  reg [5:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [5:0] d_first_counter1 = d_first_counter - 6'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 6'h0; // @[Edges.scala 230:25]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_584 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_593 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_597 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [5:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [5:0] a_first_counter1_1 = a_first_counter_1 - 6'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 6'h0; // @[Edges.scala 230:25]
+  reg [5:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [5:0] d_first_counter1_1 = d_first_counter_1 - 6'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 6'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_611 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_614 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_616 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_618 = ~_T_616[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_622 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_611 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_635 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_637 = _T_635[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_642 = 3'h1 == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_643 = 3'h1 == _GEN_32 | _T_642; // @[Monitor.scala 685:77]
+  wire  _T_647 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_654 = 3'h1 == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_655 = 3'h1 == _GEN_48 | _T_654; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_659 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_667 = _T_622 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2; // @[Monitor.scala 694:65]
+  wire  _T_671 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_680 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 6'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 6'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 6'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= d_first_beats1_decode;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 6'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 6'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 6'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= d_first_beats1_decode;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_94 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & _T_94) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_94 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & _T_94) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_260 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_260 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_260 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_328 & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & ~_T_328) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_94 & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & _T_94) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_365 & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & ~_T_365) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_94 & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & _T_94) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_94 & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & _T_94) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:131:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_561 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_561) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_565 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_565) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_569 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_569) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_573 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_573) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_577 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_577) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_593 & (_T_584 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_584 & _T_2 & ~_T_593) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:131:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_597 & (_T_584 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_584 & _T_2 & ~_T_597) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:131:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_618 & (_T_614 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_614 & ~reset & ~_T_618) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_637 & (_T_622 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & _T_2 & ~_T_637) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:131:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_622 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & same_cycle_resp & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:131:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_647 & (_T_622 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & same_cycle_resp & _T_2 & ~_T_647) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:131:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_655 & (_T_622 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & ~same_cycle_resp & _T_2 & ~_T_655) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:131:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_659 & (_T_622 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & ~same_cycle_resp & _T_2 & ~_T_659) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:131:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_671 & (_T_667 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_667 & _T_2 & ~_T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_680 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_680) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SPI.scala:131:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[5:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[5:0];
+  _RAND_7 = {1{`RANDOM}};
+  size_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  source_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  inflight = _RAND_9[2:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_10[11:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_sizes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_12[5:0];
+  _RAND_13 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_13[5:0];
+  _RAND_14 = {1{`RANDOM}};
+  watchdog = _RAND_14[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Repeater_6(
+  input         clock,
+  input         reset,
+  input         io_repeat,
+  output        io_full,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [2:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input  [29:0] io_enq_bits_address,
+  input         io_enq_bits_mask,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [2:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [29:0] io_deq_bits_address,
+  output        io_deq_bits_mask,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  reg  full; // @[Repeater.scala 19:21]
+  reg [2:0] saved_opcode; // @[Repeater.scala 20:18]
+  reg [2:0] saved_param; // @[Repeater.scala 20:18]
+  reg [2:0] saved_size; // @[Repeater.scala 20:18]
+  reg [1:0] saved_source; // @[Repeater.scala 20:18]
+  reg [29:0] saved_address; // @[Repeater.scala 20:18]
+  reg  saved_mask; // @[Repeater.scala 20:18]
+  reg  saved_corrupt; // @[Repeater.scala 20:18]
+  wire  _T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  _GEN_0 = _T & io_repeat | full; // @[Repeater.scala 19:21 28:{38,45}]
+  wire  _T_2 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign io_full = full; // @[Repeater.scala 26:11]
+  assign io_enq_ready = io_deq_ready & ~full; // @[Repeater.scala 24:32]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 23:32]
+  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 25:21]
+  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 25:21]
+  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 25:21]
+  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 25:21]
+  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 25:21]
+  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 25:21]
+  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 25:21]
+  always @(posedge clock) begin
+    if (reset) begin // @[Repeater.scala 19:21]
+      full <= 1'h0; // @[Repeater.scala 19:21]
+    end else if (_T_2 & ~io_repeat) begin // @[Repeater.scala 29:38]
+      full <= 1'h0; // @[Repeater.scala 29:45]
+    end else begin
+      full <= _GEN_0;
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_opcode <= io_enq_bits_opcode; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_param <= io_enq_bits_param; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_size <= io_enq_bits_size; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_source <= io_enq_bits_source; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_address <= io_enq_bits_address; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_mask <= io_enq_bits_mask; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_corrupt <= io_enq_bits_corrupt; // @[Repeater.scala 28:62]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  saved_opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  saved_param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  saved_size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  saved_source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  saved_address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  saved_mask = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  saved_corrupt = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_6(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input         auto_in_a_bits_mask,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [7:0]  auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output        auto_out_a_bits_size,
+  output [8:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output        auto_out_a_bits_mask,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input         auto_out_d_bits_size,
+  input  [8:0]  auto_out_d_bits_source,
+  input  [7:0]  auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [29:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [29:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [29:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [5:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [5:0] dFragnum = auto_out_d_bits_source[5:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 6'h0; // @[Fragmenter.scala 193:29]
+  wire [1:0] _dsizeOH1_T_1 = 2'h1 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire  dsizeOH1 = ~_dsizeOH1_T_1[0]; // @[package.scala 234:46]
+  wire [5:0] _GEN_7 = {{5'd0}, dsizeOH1}; // @[Fragmenter.scala 202:50]
+  wire [5:0] _T_1 = dFragnum & _GEN_7; // @[Fragmenter.scala 202:50]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire [5:0] dFirst_acknum = dFragnum | _GEN_7; // @[Fragmenter.scala 203:45]
+  wire [6:0] _dFirst_size_T_2 = {dFirst_acknum, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,dFirst_acknum}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_10 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_10 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  _T_7 = auto_in_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [5:0] _acknum_T_1 = acknum - 6'h1; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h0 ? 3'h0 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [7:0] _aFragOH1_T_1 = 8'h1 << aFrag; // @[package.scala 234:77]
+  wire  aFragOH1 = ~_aFragOH1_T_1[0]; // @[package.scala 234:46]
+  reg [5:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 6'h0; // @[Fragmenter.scala 292:29]
+  wire [5:0] _old_gennum1_T_2 = gennum - 6'h1; // @[Fragmenter.scala 293:79]
+  wire [5:0] old_gennum1 = aFirst ? aOrigOH1 : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [5:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [5:0] _GEN_11 = {{5'd0}, aFragOH1}; // @[Fragmenter.scala 294:41]
+  wire [5:0] _new_gennum_T_2 = _new_gennum_T | _GEN_11; // @[Fragmenter.scala 294:41]
+  wire [5:0] new_gennum = ~_new_gennum_T_2; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = old_gennum1 | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_11; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_3; // @[Fragmenter.scala 304:51]
+  wire [29:0] _GEN_14 = {{24'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_13 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater_6 repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[8:7]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_14; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full | auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[8:7]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = new_gennum != 6'h0; // @[Fragmenter.scala 302:53]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 6'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFirst_acknum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[6]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 6'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~auto_out_d_valid | _T_1 == 6'h0) & ~reset) begin
+          $fatal; // @[Fragmenter.scala 202:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~(~auto_out_d_valid | _T_1 == 6'h0)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:202 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"
+            ); // @[Fragmenter.scala 202:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[5:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[5:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLMonitor_14(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [29:0] io_in_a_bits_address,
+  input         io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [29:0] _GEN_71 = {{24'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [29:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 30'h0; // @[Edges.scala 20:24]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [29:0] _T_45 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_48 = $signed(_T_46) & -31'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 31'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire  _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = ~(~io_in_a_bits_mask); // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_260 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire  _T_299 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_328 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_336 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_365 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_373 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_402 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg [5:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [5:0] a_first_counter1 = a_first_counter - 6'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 6'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [29:0] address; // @[Monitor.scala 388:22]
+  wire  _T_560 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_561 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_565 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_569 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_573 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_577 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] d_first_beats1_decode = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  reg [5:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [5:0] d_first_counter1 = d_first_counter - 6'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 6'h0; // @[Edges.scala 230:25]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_584 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_593 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_597 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [5:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [5:0] a_first_counter1_1 = a_first_counter_1 - 6'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 6'h0; // @[Edges.scala 230:25]
+  reg [5:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [5:0] d_first_counter1_1 = d_first_counter_1 - 6'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 6'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_611 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_614 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_616 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_618 = ~_T_616[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_622 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_21 = io_in_d_valid & d_first_1 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 671:90 672:22]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_611 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_635 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_637 = _T_635[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_642 = 3'h1 == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_643 = 3'h1 == _GEN_32 | _T_642; // @[Monitor.scala 685:77]
+  wire  _T_647 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_654 = 3'h1 == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_655 = 3'h1 == _GEN_48 | _T_654; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_659 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_667 = _T_622 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2; // @[Monitor.scala 694:65]
+  wire  _T_671 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set_wo_ready = _GEN_15[2:0];
+  wire [2:0] d_clr_wo_ready = _GEN_21[2:0];
+  wire  _T_678 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_687 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 6'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 6'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 6'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= d_first_beats1_decode;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 6'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 6'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 6'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= d_first_beats1_decode;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_94 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & _T_94) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_94 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & _T_94) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_260 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_260 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_260 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_328 & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & ~_T_328) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_94 & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & _T_94) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_365 & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & ~_T_365) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_94 & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & _T_94) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_94 & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & _T_94) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:132:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_561 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_561) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_565 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_565) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_569 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_569) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_573 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_573) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_577 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_577) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_593 & (_T_584 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_584 & _T_2 & ~_T_593) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:132:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_597 & (_T_584 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_584 & _T_2 & ~_T_597) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:132:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_618 & (_T_614 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_614 & ~reset & ~_T_618) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_637 & (_T_622 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & _T_2 & ~_T_637) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:132:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_622 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & same_cycle_resp & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:132:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_647 & (_T_622 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & same_cycle_resp & _T_2 & ~_T_647) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:132:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_655 & (_T_622 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & ~same_cycle_resp & _T_2 & ~_T_655) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:132:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_659 & (_T_622 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & ~same_cycle_resp & _T_2 & ~_T_659) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:132:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_671 & (_T_667 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_667 & _T_2 & ~_T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_678 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_678) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at SPI.scala:132:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_687 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_687) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SPI.scala:132:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[5:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[5:0];
+  _RAND_7 = {1{`RANDOM}};
+  size_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  source_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  inflight = _RAND_9[2:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_10[11:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_sizes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_12[5:0];
+  _RAND_13 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_13[5:0];
+  _RAND_14 = {1{`RANDOM}};
+  watchdog = _RAND_14[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Queue_4(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [2:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input  [29:0] io_enq_bits_address,
+  input         io_enq_bits_mask,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [2:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [29:0] io_deq_bits_address,
+  output        io_deq_bits_mask,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+`endif // RANDOMIZE_REG_INIT
+  reg [2:0] ram_opcode [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] ram_param [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] ram_size [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_size_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_source [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_source_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [29:0] ram_address [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_address_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [29:0] ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [29:0] ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_address_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_mask [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_mask_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_mask_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_corrupt [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_corrupt_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] value; // @[Counter.scala 62:40]
+  reg [2:0] value_1; // @[Counter.scala 62:40]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  ptr_match = value == value_1; // @[Decoupled.scala 263:33]
+  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 264:25]
+  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 265:24]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  wire [2:0] _value_T_1 = value + 3'h1; // @[Counter.scala 78:24]
+  wire [2:0] _value_T_3 = value_1 + 3'h1; // @[Counter.scala 78:24]
+  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_opcode_io_deq_bits_MPORT_addr = value_1;
+  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
+  assign ram_opcode_MPORT_addr = value;
+  assign ram_opcode_MPORT_mask = 1'h1;
+  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_param_io_deq_bits_MPORT_addr = value_1;
+  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_param_MPORT_data = io_enq_bits_param;
+  assign ram_param_MPORT_addr = value;
+  assign ram_param_MPORT_mask = 1'h1;
+  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_size_io_deq_bits_MPORT_addr = value_1;
+  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_size_MPORT_data = io_enq_bits_size;
+  assign ram_size_MPORT_addr = value;
+  assign ram_size_MPORT_mask = 1'h1;
+  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_source_io_deq_bits_MPORT_addr = value_1;
+  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_source_MPORT_data = io_enq_bits_source;
+  assign ram_source_MPORT_addr = value;
+  assign ram_source_MPORT_mask = 1'h1;
+  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_address_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_address_io_deq_bits_MPORT_addr = value_1;
+  assign ram_address_io_deq_bits_MPORT_data = ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_address_MPORT_data = io_enq_bits_address;
+  assign ram_address_MPORT_addr = value;
+  assign ram_address_MPORT_mask = 1'h1;
+  assign ram_address_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_mask_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_mask_io_deq_bits_MPORT_addr = value_1;
+  assign ram_mask_io_deq_bits_MPORT_data = ram_mask[ram_mask_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_mask_MPORT_data = io_enq_bits_mask;
+  assign ram_mask_MPORT_addr = value;
+  assign ram_mask_MPORT_mask = 1'h1;
+  assign ram_mask_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_corrupt_io_deq_bits_MPORT_addr = value_1;
+  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_corrupt_MPORT_data = io_enq_bits_corrupt;
+  assign ram_corrupt_MPORT_addr = value;
+  assign ram_corrupt_MPORT_mask = 1'h1;
+  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_address = ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_mask = ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
+      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
+      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
+      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
+      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_address_MPORT_en & ram_address_MPORT_mask) begin
+      ram_address[ram_address_MPORT_addr] <= ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_mask_MPORT_en & ram_mask_MPORT_mask) begin
+      ram_mask[ram_mask_MPORT_addr] <= ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
+      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value <= 3'h0; // @[Counter.scala 62:40]
+    end else if (do_enq) begin // @[Decoupled.scala 272:16]
+      value <= _value_T_1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value_1 <= 3'h0; // @[Counter.scala 62:40]
+    end else if (do_deq) begin // @[Decoupled.scala 276:16]
+      value_1 <= _value_T_3; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram_opcode[initvar] = _RAND_0[2:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram_param[initvar] = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram_size[initvar] = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram_source[initvar] = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram_address[initvar] = _RAND_4[29:0];
+  _RAND_5 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram_mask[initvar] = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram_corrupt[initvar] = _RAND_6[0:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  value = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  value_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  maybe_full = _RAND_9[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLBuffer_2(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input         auto_in_a_bits_mask,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [7:0]  auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output        auto_out_a_bits_mask,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input  [7:0]  auto_out_d_bits_data
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [29:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  bundleOut_0_a_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_a_q_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire [29:0] bundleOut_0_a_q_io_enq_bits_address; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_bits_mask; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_a_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire [29:0] bundleOut_0_a_q_io_deq_bits_address; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_bits_mask; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  TLMonitor_14 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Queue_4 bundleOut_0_a_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleOut_0_a_q_clock),
+    .reset(bundleOut_0_a_q_reset),
+    .io_enq_ready(bundleOut_0_a_q_io_enq_ready),
+    .io_enq_valid(bundleOut_0_a_q_io_enq_valid),
+    .io_enq_bits_opcode(bundleOut_0_a_q_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleOut_0_a_q_io_enq_bits_param),
+    .io_enq_bits_size(bundleOut_0_a_q_io_enq_bits_size),
+    .io_enq_bits_source(bundleOut_0_a_q_io_enq_bits_source),
+    .io_enq_bits_address(bundleOut_0_a_q_io_enq_bits_address),
+    .io_enq_bits_mask(bundleOut_0_a_q_io_enq_bits_mask),
+    .io_enq_bits_corrupt(bundleOut_0_a_q_io_enq_bits_corrupt),
+    .io_deq_ready(bundleOut_0_a_q_io_deq_ready),
+    .io_deq_valid(bundleOut_0_a_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleOut_0_a_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleOut_0_a_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleOut_0_a_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleOut_0_a_q_io_deq_bits_source),
+    .io_deq_bits_address(bundleOut_0_a_q_io_deq_bits_address),
+    .io_deq_bits_mask(bundleOut_0_a_q_io_deq_bits_mask),
+    .io_deq_bits_corrupt(bundleOut_0_a_q_io_deq_bits_corrupt)
+  );
+  assign auto_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = bundleOut_0_a_q_io_deq_valid; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_opcode = bundleOut_0_a_q_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_param = bundleOut_0_a_q_io_deq_bits_param; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_size = bundleOut_0_a_q_io_deq_bits_size; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_source = bundleOut_0_a_q_io_deq_bits_source; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_address = bundleOut_0_a_q_io_deq_bits_address; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_mask = bundleOut_0_a_q_io_deq_bits_mask; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_corrupt = bundleOut_0_a_q_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleOut_0_a_q_clock = clock;
+  assign bundleOut_0_a_q_reset = reset;
+  assign bundleOut_0_a_q_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_15(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [29:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [29:0] _GEN_71 = {{24'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [29:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 30'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [29:0] _T_45 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_48 = $signed(_T_46) & -31'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 31'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_260 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_293 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_294 = io_in_a_bits_mask & _T_293; // @[Monitor.scala 127:31]
+  wire  _T_295 = _T_294 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_299 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_328 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_336 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_365 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_373 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_402 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [29:0] address; // @[Monitor.scala 388:22]
+  wire  _T_560 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_561 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_565 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_569 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_573 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_577 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_584 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_593 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_597 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_611 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_614 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_616 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_618 = ~_T_616[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_622 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_21 = io_in_d_valid & d_first_1 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 671:90 672:22]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_611 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_635 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_637 = _T_635[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_642 = 3'h1 == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_643 = 3'h1 == _GEN_32 | _T_642; // @[Monitor.scala 685:77]
+  wire  _T_647 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_654 = 3'h1 == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_655 = 3'h1 == _GEN_48 | _T_654; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_659 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_667 = _T_622 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2; // @[Monitor.scala 694:65]
+  wire  _T_671 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set_wo_ready = _GEN_15[2:0];
+  wire [2:0] d_clr_wo_ready = _GEN_21[2:0];
+  wire  _T_678 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_687 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 4'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= d_first_beats1_decode;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 4'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= d_first_beats1_decode;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_260 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_260 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_260 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_295 & (io_in_a_valid & _T_260 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset & ~_T_295) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_328 & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & ~_T_328) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_365 & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & ~_T_365) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:133:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_561 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_561) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_565 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_565) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_569 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_569) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_573 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_573) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_577 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_577) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_593 & (_T_584 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_584 & _T_2 & ~_T_593) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:133:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_597 & (_T_584 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_584 & _T_2 & ~_T_597) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:133:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_618 & (_T_614 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_614 & ~reset & ~_T_618) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_637 & (_T_622 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & _T_2 & ~_T_637) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:133:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_622 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & same_cycle_resp & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:133:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_647 & (_T_622 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & same_cycle_resp & _T_2 & ~_T_647) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:133:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_655 & (_T_622 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & ~same_cycle_resp & _T_2 & ~_T_655) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:133:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_659 & (_T_622 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & ~same_cycle_resp & _T_2 & ~_T_659) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:133:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_671 & (_T_667 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_667 & _T_2 & ~_T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_678 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_678) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at SPI.scala:133:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_687 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_687) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SPI.scala:133:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  size_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  source_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  inflight = _RAND_9[2:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_10[11:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_sizes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_12[3:0];
+  _RAND_13 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  watchdog = _RAND_14[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Repeater_7(
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [2:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input  [29:0] io_enq_bits_address,
+  input  [3:0]  io_enq_bits_mask,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [2:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [29:0] io_deq_bits_address,
+  output [3:0]  io_deq_bits_mask,
+  output        io_deq_bits_corrupt
+);
+  assign io_enq_ready = io_deq_ready; // @[Repeater.scala 24:32]
+  assign io_deq_valid = io_enq_valid; // @[Repeater.scala 23:32]
+  assign io_deq_bits_opcode = io_enq_bits_opcode; // @[Repeater.scala 25:21]
+  assign io_deq_bits_param = io_enq_bits_param; // @[Repeater.scala 25:21]
+  assign io_deq_bits_size = io_enq_bits_size; // @[Repeater.scala 25:21]
+  assign io_deq_bits_source = io_enq_bits_source; // @[Repeater.scala 25:21]
+  assign io_deq_bits_address = io_enq_bits_address; // @[Repeater.scala 25:21]
+  assign io_deq_bits_mask = io_enq_bits_mask; // @[Repeater.scala 25:21]
+  assign io_deq_bits_corrupt = io_enq_bits_corrupt; // @[Repeater.scala 25:21]
+endmodule
+module TLWidthWidget_3(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output        auto_out_a_bits_mask,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input  [7:0]  auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [29:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeated_repeater_io_enq_ready; // @[Repeater.scala 35:26]
+  wire  repeated_repeater_io_enq_valid; // @[Repeater.scala 35:26]
+  wire [2:0] repeated_repeater_io_enq_bits_opcode; // @[Repeater.scala 35:26]
+  wire [2:0] repeated_repeater_io_enq_bits_param; // @[Repeater.scala 35:26]
+  wire [2:0] repeated_repeater_io_enq_bits_size; // @[Repeater.scala 35:26]
+  wire [1:0] repeated_repeater_io_enq_bits_source; // @[Repeater.scala 35:26]
+  wire [29:0] repeated_repeater_io_enq_bits_address; // @[Repeater.scala 35:26]
+  wire [3:0] repeated_repeater_io_enq_bits_mask; // @[Repeater.scala 35:26]
+  wire  repeated_repeater_io_enq_bits_corrupt; // @[Repeater.scala 35:26]
+  wire  repeated_repeater_io_deq_ready; // @[Repeater.scala 35:26]
+  wire  repeated_repeater_io_deq_valid; // @[Repeater.scala 35:26]
+  wire [2:0] repeated_repeater_io_deq_bits_opcode; // @[Repeater.scala 35:26]
+  wire [2:0] repeated_repeater_io_deq_bits_param; // @[Repeater.scala 35:26]
+  wire [2:0] repeated_repeater_io_deq_bits_size; // @[Repeater.scala 35:26]
+  wire [1:0] repeated_repeater_io_deq_bits_source; // @[Repeater.scala 35:26]
+  wire [29:0] repeated_repeater_io_deq_bits_address; // @[Repeater.scala 35:26]
+  wire [3:0] repeated_repeater_io_deq_bits_mask; // @[Repeater.scala 35:26]
+  wire  repeated_repeater_io_deq_bits_corrupt; // @[Repeater.scala 35:26]
+  wire [29:0] cated_bits_address = repeated_repeater_io_deq_bits_address; // @[WidthWidget.scala 155:25 156:15]
+  wire [1:0] repeat_sel = cated_bits_address[1:0]; // @[WidthWidget.scala 110:39]
+  wire [3:0] cated_bits_mask = repeated_repeater_io_deq_bits_mask; // @[WidthWidget.scala 155:25 156:15]
+  wire  repeat_bundleOut_0_a_bits_mask_mux_0 = cated_bits_mask[0]; // @[WidthWidget.scala 122:55]
+  wire  repeat_bundleOut_0_a_bits_mask_mux_1 = cated_bits_mask[1]; // @[WidthWidget.scala 122:55]
+  wire  repeat_bundleOut_0_a_bits_mask_mux_2 = cated_bits_mask[2]; // @[WidthWidget.scala 122:55]
+  wire  repeat_bundleOut_0_a_bits_mask_mux_3 = cated_bits_mask[3]; // @[WidthWidget.scala 122:55]
+  wire  _GEN_3 = 2'h1 == repeat_sel ? repeat_bundleOut_0_a_bits_mask_mux_1 : repeat_bundleOut_0_a_bits_mask_mux_0; // @[WidthWidget.scala 134:{53,53}]
+  wire  _GEN_4 = 2'h2 == repeat_sel ? repeat_bundleOut_0_a_bits_mask_mux_2 : _GEN_3; // @[WidthWidget.scala 134:{53,53}]
+  wire [8:0] _limit_T_1 = 9'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] limit = ~_limit_T_1[1:0]; // @[package.scala 234:46]
+  reg [1:0] count; // @[WidthWidget.scala 34:27]
+  wire  last = count == limit; // @[WidthWidget.scala 36:26]
+  wire [1:0] _enable_T_1 = count & limit; // @[WidthWidget.scala 37:63]
+  wire  enable_0 = ~(|_enable_T_1); // @[WidthWidget.scala 37:47]
+  wire [1:0] _enable_T_3 = count ^ 2'h1; // @[WidthWidget.scala 37:56]
+  wire [1:0] _enable_T_4 = _enable_T_3 & limit; // @[WidthWidget.scala 37:63]
+  wire  enable_1 = ~(|_enable_T_4); // @[WidthWidget.scala 37:47]
+  wire [1:0] _enable_T_6 = count ^ 2'h2; // @[WidthWidget.scala 37:56]
+  wire [1:0] _enable_T_7 = _enable_T_6 & limit; // @[WidthWidget.scala 37:63]
+  wire  enable_2 = ~(|_enable_T_7); // @[WidthWidget.scala 37:47]
+  wire  _bundleOut_0_d_ready_T = ~last; // @[WidthWidget.scala 70:32]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | ~last; // @[WidthWidget.scala 70:29]
+  wire  _T = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [1:0] _count_T_1 = count + 2'h1; // @[WidthWidget.scala 44:24]
+  reg  bundleIn_0_d_bits_data_rdata_written_once; // @[WidthWidget.scala 56:41]
+  wire  bundleIn_0_d_bits_data_masked_enable_0 = enable_0 | ~bundleIn_0_d_bits_data_rdata_written_once; // @[WidthWidget.scala 57:42]
+  wire  bundleIn_0_d_bits_data_masked_enable_1 = enable_1 | ~bundleIn_0_d_bits_data_rdata_written_once; // @[WidthWidget.scala 57:42]
+  wire  bundleIn_0_d_bits_data_masked_enable_2 = enable_2 | ~bundleIn_0_d_bits_data_rdata_written_once; // @[WidthWidget.scala 57:42]
+  reg [7:0] bundleIn_0_d_bits_data_rdata_0; // @[WidthWidget.scala 60:24]
+  reg [7:0] bundleIn_0_d_bits_data_rdata_1; // @[WidthWidget.scala 60:24]
+  reg [7:0] bundleIn_0_d_bits_data_rdata_2; // @[WidthWidget.scala 60:24]
+  wire [7:0] bundleIn_0_d_bits_data_mdata_0 = bundleIn_0_d_bits_data_masked_enable_0 ? auto_out_d_bits_data :
+    bundleIn_0_d_bits_data_rdata_0; // @[WidthWidget.scala 62:88]
+  wire [7:0] bundleIn_0_d_bits_data_mdata_1 = bundleIn_0_d_bits_data_masked_enable_1 ? auto_out_d_bits_data :
+    bundleIn_0_d_bits_data_rdata_1; // @[WidthWidget.scala 62:88]
+  wire [7:0] bundleIn_0_d_bits_data_mdata_2 = bundleIn_0_d_bits_data_masked_enable_2 ? auto_out_d_bits_data :
+    bundleIn_0_d_bits_data_rdata_2; // @[WidthWidget.scala 62:88]
+  wire  _GEN_10 = _T & _bundleOut_0_d_ready_T | bundleIn_0_d_bits_data_rdata_written_once; // @[WidthWidget.scala 63:35 64:30 56:41]
+  wire [15:0] bundleIn_0_d_bits_data_lo = {bundleIn_0_d_bits_data_mdata_1,bundleIn_0_d_bits_data_mdata_0}; // @[Cat.scala 31:58]
+  wire [15:0] bundleIn_0_d_bits_data_hi = {auto_out_d_bits_data,bundleIn_0_d_bits_data_mdata_2}; // @[Cat.scala 31:58]
+  TLMonitor_15 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater_7 repeated_repeater ( // @[Repeater.scala 35:26]
+    .io_enq_ready(repeated_repeater_io_enq_ready),
+    .io_enq_valid(repeated_repeater_io_enq_valid),
+    .io_enq_bits_opcode(repeated_repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(repeated_repeater_io_enq_bits_param),
+    .io_enq_bits_size(repeated_repeater_io_enq_bits_size),
+    .io_enq_bits_source(repeated_repeater_io_enq_bits_source),
+    .io_enq_bits_address(repeated_repeater_io_enq_bits_address),
+    .io_enq_bits_mask(repeated_repeater_io_enq_bits_mask),
+    .io_enq_bits_corrupt(repeated_repeater_io_enq_bits_corrupt),
+    .io_deq_ready(repeated_repeater_io_deq_ready),
+    .io_deq_valid(repeated_repeater_io_deq_valid),
+    .io_deq_bits_opcode(repeated_repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(repeated_repeater_io_deq_bits_param),
+    .io_deq_bits_size(repeated_repeater_io_deq_bits_size),
+    .io_deq_bits_source(repeated_repeater_io_deq_bits_source),
+    .io_deq_bits_address(repeated_repeater_io_deq_bits_address),
+    .io_deq_bits_mask(repeated_repeater_io_deq_bits_mask),
+    .io_deq_bits_corrupt(repeated_repeater_io_deq_bits_corrupt)
+  );
+  assign auto_in_a_ready = repeated_repeater_io_enq_ready; // @[Nodes.scala 1210:84 Repeater.scala 37:21]
+  assign auto_in_d_valid = auto_out_d_valid & last; // @[WidthWidget.scala 71:29]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = {bundleIn_0_d_bits_data_hi,bundleIn_0_d_bits_data_lo}; // @[Cat.scala 31:58]
+  assign auto_out_a_valid = repeated_repeater_io_deq_valid; // @[WidthWidget.scala 155:25 156:15]
+  assign auto_out_a_bits_opcode = repeated_repeater_io_deq_bits_opcode; // @[WidthWidget.scala 155:25 156:15]
+  assign auto_out_a_bits_param = repeated_repeater_io_deq_bits_param; // @[WidthWidget.scala 155:25 156:15]
+  assign auto_out_a_bits_size = repeated_repeater_io_deq_bits_size; // @[WidthWidget.scala 155:25 156:15]
+  assign auto_out_a_bits_source = repeated_repeater_io_deq_bits_source; // @[WidthWidget.scala 155:25 156:15]
+  assign auto_out_a_bits_address = repeated_repeater_io_deq_bits_address; // @[WidthWidget.scala 155:25 156:15]
+  assign auto_out_a_bits_mask = 2'h3 == repeat_sel ? repeat_bundleOut_0_a_bits_mask_mux_3 : _GEN_4; // @[WidthWidget.scala 134:{53,53}]
+  assign auto_out_a_bits_corrupt = repeated_repeater_io_deq_bits_corrupt; // @[WidthWidget.scala 155:25 156:15]
+  assign auto_out_d_ready = auto_in_d_ready | ~last; // @[WidthWidget.scala 70:29]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeated_repeater_io_enq_ready; // @[Nodes.scala 1210:84 Repeater.scala 37:21]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & last; // @[WidthWidget.scala 71:29]
+  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign repeated_repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[WidthWidget.scala 34:27]
+      count <= 2'h0; // @[WidthWidget.scala 34:27]
+    end else if (_T) begin // @[WidthWidget.scala 43:24]
+      if (last) begin // @[WidthWidget.scala 46:21]
+        count <= 2'h0; // @[WidthWidget.scala 47:17]
+      end else begin
+        count <= _count_T_1; // @[WidthWidget.scala 44:15]
+      end
+    end
+    if (reset) begin // @[WidthWidget.scala 56:41]
+      bundleIn_0_d_bits_data_rdata_written_once <= 1'h0; // @[WidthWidget.scala 56:41]
+    end else begin
+      bundleIn_0_d_bits_data_rdata_written_once <= _GEN_10;
+    end
+    if (_T & _bundleOut_0_d_ready_T) begin // @[WidthWidget.scala 63:35]
+      if (bundleIn_0_d_bits_data_masked_enable_0) begin // @[WidthWidget.scala 62:88]
+        bundleIn_0_d_bits_data_rdata_0 <= auto_out_d_bits_data;
+      end
+    end
+    if (_T & _bundleOut_0_d_ready_T) begin // @[WidthWidget.scala 63:35]
+      if (bundleIn_0_d_bits_data_masked_enable_1) begin // @[WidthWidget.scala 62:88]
+        bundleIn_0_d_bits_data_rdata_1 <= auto_out_d_bits_data;
+      end
+    end
+    if (_T & _bundleOut_0_d_ready_T) begin // @[WidthWidget.scala 63:35]
+      if (bundleIn_0_d_bits_data_masked_enable_2) begin // @[WidthWidget.scala 62:88]
+        bundleIn_0_d_bits_data_rdata_2 <= auto_out_d_bits_data;
+      end
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  count = _RAND_0[1:0];
+  _RAND_1 = {1{`RANDOM}};
+  bundleIn_0_d_bits_data_rdata_written_once = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  bundleIn_0_d_bits_data_rdata_0 = _RAND_2[7:0];
+  _RAND_3 = {1{`RANDOM}};
+  bundleIn_0_d_bits_data_rdata_1 = _RAND_3[7:0];
+  _RAND_4 = {1{`RANDOM}};
+  bundleIn_0_d_bits_data_rdata_2 = _RAND_4[7:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_10(
+  input         clock,
+  input         reset,
+  input         auto_mem_xing_out_a_ready,
+  output        auto_mem_xing_out_a_valid,
+  output [2:0]  auto_mem_xing_out_a_bits_opcode,
+  output [2:0]  auto_mem_xing_out_a_bits_param,
+  output        auto_mem_xing_out_a_bits_size,
+  output [8:0]  auto_mem_xing_out_a_bits_source,
+  output [29:0] auto_mem_xing_out_a_bits_address,
+  output        auto_mem_xing_out_a_bits_mask,
+  output        auto_mem_xing_out_a_bits_corrupt,
+  output        auto_mem_xing_out_d_ready,
+  input         auto_mem_xing_out_d_valid,
+  input         auto_mem_xing_out_d_bits_size,
+  input  [8:0]  auto_mem_xing_out_d_bits_source,
+  input  [7:0]  auto_mem_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [29:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [29:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [7:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [8:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [29:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [8:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [7:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  buffer_clock; // @[Buffer.scala 68:28]
+  wire  buffer_reset; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [29:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [7:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [29:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [7:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  widget_clock; // @[WidthWidget.scala 219:28]
+  wire  widget_reset; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_a_bits_source; // @[WidthWidget.scala 219:28]
+  wire [29:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_d_bits_source; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_a_bits_source; // @[WidthWidget.scala 219:28]
+  wire [29:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_bits_mask; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_d_bits_source; // @[WidthWidget.scala 219:28]
+  wire [7:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 219:28]
+  TLFragmenter_6 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_2 buffer ( // @[Buffer.scala 68:28]
+    .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 219:28]
+    .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)
+  );
+  assign auto_mem_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = widget_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = widget_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = widget_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = widget_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = widget_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_a_ready = auto_mem_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_mem_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_mem_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_mem_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_mem_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_clock = clock;
+  assign buffer_reset = reset;
+  assign buffer_auto_in_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign widget_clock = clock;
+  assign widget_reset = reset;
+  assign widget_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign widget_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign widget_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign widget_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign widget_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+endmodule
+module TLMonitor_16(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{23'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_45 = io_in_a_bits_address ^ 29'h10034000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_48 = $signed(_T_46) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:65:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SPI.scala:65:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_7(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [28:0] _GEN_11 = {{23'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_16 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_11(
+  input         clock,
+  input         reset,
+  input         auto_control_xing_out_a_ready,
+  output        auto_control_xing_out_a_valid,
+  output [2:0]  auto_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_control_xing_out_a_bits_param,
+  output [1:0]  auto_control_xing_out_a_bits_size,
+  output [6:0]  auto_control_xing_out_a_bits_source,
+  output [28:0] auto_control_xing_out_a_bits_address,
+  output [3:0]  auto_control_xing_out_a_bits_mask,
+  output [31:0] auto_control_xing_out_a_bits_data,
+  output        auto_control_xing_out_a_bits_corrupt,
+  output        auto_control_xing_out_d_ready,
+  input         auto_control_xing_out_d_valid,
+  input  [2:0]  auto_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_control_xing_out_d_bits_size,
+  input  [6:0]  auto_control_xing_out_d_bits_source,
+  input  [31:0] auto_control_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [28:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_7 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_17(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{23'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_45 = io_in_a_bits_address ^ 29'h10024000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_48 = $signed(_T_46) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:61:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SPI.scala:61:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_8(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [28:0] _GEN_11 = {{23'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_17 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_12(
+  input         clock,
+  input         reset,
+  input         auto_control_xing_out_a_ready,
+  output        auto_control_xing_out_a_valid,
+  output [2:0]  auto_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_control_xing_out_a_bits_param,
+  output [1:0]  auto_control_xing_out_a_bits_size,
+  output [6:0]  auto_control_xing_out_a_bits_source,
+  output [28:0] auto_control_xing_out_a_bits_address,
+  output [3:0]  auto_control_xing_out_a_bits_mask,
+  output [31:0] auto_control_xing_out_a_bits_data,
+  output        auto_control_xing_out_a_bits_corrupt,
+  output        auto_control_xing_out_d_ready,
+  input         auto_control_xing_out_d_valid,
+  input  [2:0]  auto_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_control_xing_out_d_bits_size,
+  input  [6:0]  auto_control_xing_out_d_bits_source,
+  input  [31:0] auto_control_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [28:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_8 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_18(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{23'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_45 = io_in_a_bits_address ^ 29'h10012000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_48 = $signed(_T_46) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at GPIO.scala:307:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at GPIO.scala:307:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_9(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [28:0] _GEN_11 = {{23'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_18 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_13(
+  input         clock,
+  input         reset,
+  input         auto_control_xing_out_a_ready,
+  output        auto_control_xing_out_a_valid,
+  output [2:0]  auto_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_control_xing_out_a_bits_param,
+  output [1:0]  auto_control_xing_out_a_bits_size,
+  output [6:0]  auto_control_xing_out_a_bits_source,
+  output [28:0] auto_control_xing_out_a_bits_address,
+  output [3:0]  auto_control_xing_out_a_bits_mask,
+  output [31:0] auto_control_xing_out_a_bits_data,
+  output        auto_control_xing_out_a_bits_corrupt,
+  output        auto_control_xing_out_d_ready,
+  input         auto_control_xing_out_d_valid,
+  input  [2:0]  auto_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_control_xing_out_d_bits_size,
+  input  [6:0]  auto_control_xing_out_d_bits_source,
+  input  [31:0] auto_control_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [28:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_9 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_19(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{23'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_45 = io_in_a_bits_address ^ 29'h10015000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_48 = $signed(_T_46) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_10(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [28:0] _GEN_11 = {{23'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_19 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_14(
+  input         clock,
+  input         reset,
+  input         auto_control_xing_out_a_ready,
+  output        auto_control_xing_out_a_valid,
+  output [2:0]  auto_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_control_xing_out_a_bits_param,
+  output [1:0]  auto_control_xing_out_a_bits_size,
+  output [6:0]  auto_control_xing_out_a_bits_source,
+  output [28:0] auto_control_xing_out_a_bits_address,
+  output [3:0]  auto_control_xing_out_a_bits_mask,
+  output [31:0] auto_control_xing_out_a_bits_data,
+  output        auto_control_xing_out_a_bits_corrupt,
+  output        auto_control_xing_out_d_ready,
+  input         auto_control_xing_out_d_valid,
+  input  [2:0]  auto_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_control_xing_out_d_bits_size,
+  input  [6:0]  auto_control_xing_out_d_bits_source,
+  input  [31:0] auto_control_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [28:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_10 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_20(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{23'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_45 = io_in_a_bits_address ^ 29'h10025000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_48 = $signed(_T_46) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_11(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [28:0] _GEN_11 = {{23'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_20 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_15(
+  input         clock,
+  input         reset,
+  input         auto_control_xing_out_a_ready,
+  output        auto_control_xing_out_a_valid,
+  output [2:0]  auto_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_control_xing_out_a_bits_param,
+  output [1:0]  auto_control_xing_out_a_bits_size,
+  output [6:0]  auto_control_xing_out_a_bits_source,
+  output [28:0] auto_control_xing_out_a_bits_address,
+  output [3:0]  auto_control_xing_out_a_bits_mask,
+  output [31:0] auto_control_xing_out_a_bits_data,
+  output        auto_control_xing_out_a_bits_corrupt,
+  output        auto_control_xing_out_d_ready,
+  input         auto_control_xing_out_d_valid,
+  input  [2:0]  auto_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_control_xing_out_d_bits_size,
+  input  [6:0]  auto_control_xing_out_d_bits_source,
+  input  [31:0] auto_control_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [28:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_11 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_21(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{23'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_45 = io_in_a_bits_address ^ 29'h10035000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_48 = $signed(_T_46) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PWM.scala:160:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PWM.scala:160:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_12(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [28:0] _GEN_11 = {{23'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_21 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_16(
+  input         clock,
+  input         reset,
+  input         auto_control_xing_out_a_ready,
+  output        auto_control_xing_out_a_valid,
+  output [2:0]  auto_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_control_xing_out_a_bits_param,
+  output [1:0]  auto_control_xing_out_a_bits_size,
+  output [6:0]  auto_control_xing_out_a_bits_source,
+  output [28:0] auto_control_xing_out_a_bits_address,
+  output [3:0]  auto_control_xing_out_a_bits_mask,
+  output [31:0] auto_control_xing_out_a_bits_data,
+  output        auto_control_xing_out_a_bits_corrupt,
+  output        auto_control_xing_out_d_ready,
+  input         auto_control_xing_out_d_valid,
+  input  [2:0]  auto_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_control_xing_out_d_bits_size,
+  input  [6:0]  auto_control_xing_out_d_bits_source,
+  input  [31:0] auto_control_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [28:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_12 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_22(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{23'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_45 = io_in_a_bits_address ^ 29'h10016000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_48 = $signed(_T_46) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_13(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [28:0] _GEN_11 = {{23'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_22 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_17(
+  input         clock,
+  input         reset,
+  input         auto_control_xing_out_a_ready,
+  output        auto_control_xing_out_a_valid,
+  output [2:0]  auto_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_control_xing_out_a_bits_param,
+  output [1:0]  auto_control_xing_out_a_bits_size,
+  output [6:0]  auto_control_xing_out_a_bits_source,
+  output [28:0] auto_control_xing_out_a_bits_address,
+  output [3:0]  auto_control_xing_out_a_bits_mask,
+  output [31:0] auto_control_xing_out_a_bits_data,
+  output        auto_control_xing_out_a_bits_corrupt,
+  output        auto_control_xing_out_d_ready,
+  input         auto_control_xing_out_d_valid,
+  input  [2:0]  auto_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_control_xing_out_d_bits_size,
+  input  [6:0]  auto_control_xing_out_d_bits_source,
+  input  [31:0] auto_control_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [28:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_13 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_23(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{23'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_45 = io_in_a_bits_address ^ 29'h10026000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_48 = $signed(_T_46) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at I2C.scala:622:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at I2C.scala:622:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_14(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [28:0] _GEN_11 = {{23'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_23 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_18(
+  input         clock,
+  input         reset,
+  input         auto_control_xing_out_a_ready,
+  output        auto_control_xing_out_a_valid,
+  output [2:0]  auto_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_control_xing_out_a_bits_param,
+  output [1:0]  auto_control_xing_out_a_bits_size,
+  output [6:0]  auto_control_xing_out_a_bits_source,
+  output [28:0] auto_control_xing_out_a_bits_address,
+  output [3:0]  auto_control_xing_out_a_bits_mask,
+  output [31:0] auto_control_xing_out_a_bits_data,
+  output        auto_control_xing_out_a_bits_corrupt,
+  output        auto_control_xing_out_d_ready,
+  input         auto_control_xing_out_d_valid,
+  input  [2:0]  auto_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_control_xing_out_d_bits_size,
+  input  [6:0]  auto_control_xing_out_d_bits_source,
+  input  [31:0] auto_control_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [28:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_14 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module PeripheryBus(
+  input         auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready,
+  output        auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param,
+  output [1:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size,
+  output [6:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source,
+  output [28:0] auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data,
+  output        auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready,
+  input         auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source,
+  input  [31:0] auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data,
+  input         auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready,
+  output        auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param,
+  output [1:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size,
+  output [6:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source,
+  output [28:0] auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data,
+  output        auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready,
+  input         auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source,
+  input  [31:0] auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data,
+  input         auto_coupler_to_device_named_pwm_2_control_xing_out_a_ready,
+  output        auto_coupler_to_device_named_pwm_2_control_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_param,
+  output [1:0]  auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_size,
+  output [6:0]  auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_source,
+  output [28:0] auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_data,
+  output        auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_pwm_2_control_xing_out_d_ready,
+  input         auto_coupler_to_device_named_pwm_2_control_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_source,
+  input  [31:0] auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_data,
+  input         auto_coupler_to_device_named_pwm_1_control_xing_out_a_ready,
+  output        auto_coupler_to_device_named_pwm_1_control_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_param,
+  output [1:0]  auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_size,
+  output [6:0]  auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_source,
+  output [28:0] auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_data,
+  output        auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_pwm_1_control_xing_out_d_ready,
+  input         auto_coupler_to_device_named_pwm_1_control_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_source,
+  input  [31:0] auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_data,
+  input         auto_coupler_to_device_named_pwm_0_control_xing_out_a_ready,
+  output        auto_coupler_to_device_named_pwm_0_control_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_param,
+  output [1:0]  auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_size,
+  output [6:0]  auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_source,
+  output [28:0] auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_data,
+  output        auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_pwm_0_control_xing_out_d_ready,
+  input         auto_coupler_to_device_named_pwm_0_control_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_source,
+  input  [31:0] auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_data,
+  input         auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready,
+  output        auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param,
+  output [1:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size,
+  output [6:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source,
+  output [28:0] auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data,
+  output        auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready,
+  input         auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source,
+  input  [31:0] auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data,
+  input         auto_coupler_to_device_named_spi_0_control_xing_out_a_ready,
+  output        auto_coupler_to_device_named_spi_0_control_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param,
+  output [1:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size,
+  output [6:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source,
+  output [28:0] auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data,
+  output        auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_spi_0_control_xing_out_d_ready,
+  input         auto_coupler_to_device_named_spi_0_control_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source,
+  input  [31:0] auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data,
+  input         auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_ready,
+  output        auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_param,
+  output [1:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_size,
+  output [6:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_source,
+  output [28:0] auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_data,
+  output        auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_ready,
+  input         auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_source,
+  input  [31:0] auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_data,
+  input         auto_coupler_to_device_named_qspi_0_mem_xing_out_a_ready,
+  output        auto_coupler_to_device_named_qspi_0_mem_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_param,
+  output        auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_size,
+  output [8:0]  auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_source,
+  output [29:0] auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_address,
+  output        auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_mask,
+  output        auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_qspi_0_mem_xing_out_d_ready,
+  input         auto_coupler_to_device_named_qspi_0_mem_xing_out_d_valid,
+  input         auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_size,
+  input  [8:0]  auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_source,
+  input  [7:0]  auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_data,
+  input         auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready,
+  output        auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param,
+  output [1:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size,
+  output [6:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source,
+  output [28:0] auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data,
+  output        auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready,
+  input         auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source,
+  input  [31:0] auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data,
+  input         auto_coupler_to_device_named_uart_4_control_xing_out_a_ready,
+  output        auto_coupler_to_device_named_uart_4_control_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_param,
+  output [1:0]  auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_size,
+  output [6:0]  auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_source,
+  output [28:0] auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_data,
+  output        auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_uart_4_control_xing_out_d_ready,
+  input         auto_coupler_to_device_named_uart_4_control_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_source,
+  input  [31:0] auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_data,
+  input         auto_coupler_to_device_named_uart_3_control_xing_out_a_ready,
+  output        auto_coupler_to_device_named_uart_3_control_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_param,
+  output [1:0]  auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_size,
+  output [6:0]  auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_source,
+  output [28:0] auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_data,
+  output        auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_uart_3_control_xing_out_d_ready,
+  input         auto_coupler_to_device_named_uart_3_control_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_source,
+  input  [31:0] auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_data,
+  input         auto_coupler_to_device_named_uart_2_control_xing_out_a_ready,
+  output        auto_coupler_to_device_named_uart_2_control_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_param,
+  output [1:0]  auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_size,
+  output [6:0]  auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_source,
+  output [28:0] auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_data,
+  output        auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_uart_2_control_xing_out_d_ready,
+  input         auto_coupler_to_device_named_uart_2_control_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_source,
+  input  [31:0] auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_data,
+  input         auto_coupler_to_device_named_uart_1_control_xing_out_a_ready,
+  output        auto_coupler_to_device_named_uart_1_control_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_param,
+  output [1:0]  auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_size,
+  output [6:0]  auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_source,
+  output [28:0] auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_data,
+  output        auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_uart_1_control_xing_out_d_ready,
+  input         auto_coupler_to_device_named_uart_1_control_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_source,
+  input  [31:0] auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_data,
+  input         auto_coupler_to_device_named_uart_0_control_xing_out_a_ready,
+  output        auto_coupler_to_device_named_uart_0_control_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_param,
+  output [1:0]  auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_size,
+  output [6:0]  auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_source,
+  output [28:0] auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_data,
+  output        auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_uart_0_control_xing_out_d_ready,
+  input         auto_coupler_to_device_named_uart_0_control_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_source,
+  input  [31:0] auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_data,
+  output        auto_fixedClockNode_out_13_clock,
+  output        auto_fixedClockNode_out_13_reset,
+  output        auto_fixedClockNode_out_12_clock,
+  output        auto_fixedClockNode_out_12_reset,
+  output        auto_fixedClockNode_out_11_clock,
+  output        auto_fixedClockNode_out_11_reset,
+  output        auto_fixedClockNode_out_10_clock,
+  output        auto_fixedClockNode_out_10_reset,
+  output        auto_fixedClockNode_out_9_clock,
+  output        auto_fixedClockNode_out_9_reset,
+  output        auto_fixedClockNode_out_8_clock,
+  output        auto_fixedClockNode_out_8_reset,
+  output        auto_fixedClockNode_out_7_clock,
+  output        auto_fixedClockNode_out_7_reset,
+  output        auto_fixedClockNode_out_6_clock,
+  output        auto_fixedClockNode_out_6_reset,
+  output        auto_fixedClockNode_out_5_clock,
+  output        auto_fixedClockNode_out_5_reset,
+  output        auto_fixedClockNode_out_4_clock,
+  output        auto_fixedClockNode_out_4_reset,
+  output        auto_fixedClockNode_out_3_clock,
+  output        auto_fixedClockNode_out_3_reset,
+  output        auto_fixedClockNode_out_2_clock,
+  output        auto_fixedClockNode_out_2_reset,
+  output        auto_fixedClockNode_out_1_clock,
+  output        auto_fixedClockNode_out_1_reset,
+  output        auto_fixedClockNode_out_0_clock,
+  output        auto_fixedClockNode_out_0_reset,
+  input         auto_subsystem_pbus_clock_groups_in_member_subsystem_pbus_0_clock,
+  input         auto_subsystem_pbus_clock_groups_in_member_subsystem_pbus_0_reset,
+  output        auto_bus_xing_in_a_ready,
+  input         auto_bus_xing_in_a_valid,
+  input  [2:0]  auto_bus_xing_in_a_bits_opcode,
+  input  [2:0]  auto_bus_xing_in_a_bits_param,
+  input  [2:0]  auto_bus_xing_in_a_bits_size,
+  input  [1:0]  auto_bus_xing_in_a_bits_source,
+  input  [29:0] auto_bus_xing_in_a_bits_address,
+  input  [3:0]  auto_bus_xing_in_a_bits_mask,
+  input  [31:0] auto_bus_xing_in_a_bits_data,
+  input         auto_bus_xing_in_a_bits_corrupt,
+  input         auto_bus_xing_in_d_ready,
+  output        auto_bus_xing_in_d_valid,
+  output [2:0]  auto_bus_xing_in_d_bits_opcode,
+  output [1:0]  auto_bus_xing_in_d_bits_param,
+  output [2:0]  auto_bus_xing_in_d_bits_size,
+  output [1:0]  auto_bus_xing_in_d_bits_source,
+  output        auto_bus_xing_in_d_bits_sink,
+  output        auto_bus_xing_in_d_bits_denied,
+  output [31:0] auto_bus_xing_in_d_bits_data,
+  output        auto_bus_xing_in_d_bits_corrupt
+);
+  wire  subsystem_pbus_clock_groups_auto_in_member_subsystem_pbus_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_pbus_clock_groups_auto_in_member_subsystem_pbus_0_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_pbus_clock_groups_auto_out_member_subsystem_pbus_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_pbus_clock_groups_auto_out_member_subsystem_pbus_0_reset; // @[BusWrapper.scala 40:48]
+  wire  clockGroup_auto_in_member_subsystem_pbus_0_clock; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_in_member_subsystem_pbus_0_reset; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_out_clock; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_out_reset; // @[BusWrapper.scala 41:38]
+  wire  fixedClockNode_auto_in_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_in_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_14_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_14_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_13_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_13_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_12_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_12_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_11_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_11_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_10_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_10_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_9_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_9_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_8_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_8_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_7_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_7_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_6_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_6_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_5_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_5_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_4_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_4_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_3_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_3_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_2_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_2_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_1_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_1_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_0_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_0_reset; // @[ClockGroup.scala 106:107]
+  wire  fixer_clock; // @[PeripheryBus.scala 47:33]
+  wire  fixer_reset; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_in_a_ready; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_in_a_valid; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_in_a_bits_opcode; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_in_a_bits_param; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_in_a_bits_size; // @[PeripheryBus.scala 47:33]
+  wire [1:0] fixer_auto_in_a_bits_source; // @[PeripheryBus.scala 47:33]
+  wire [29:0] fixer_auto_in_a_bits_address; // @[PeripheryBus.scala 47:33]
+  wire [3:0] fixer_auto_in_a_bits_mask; // @[PeripheryBus.scala 47:33]
+  wire [31:0] fixer_auto_in_a_bits_data; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_in_d_ready; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_in_d_valid; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_in_d_bits_opcode; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_in_d_bits_size; // @[PeripheryBus.scala 47:33]
+  wire [1:0] fixer_auto_in_d_bits_source; // @[PeripheryBus.scala 47:33]
+  wire [31:0] fixer_auto_in_d_bits_data; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_out_a_ready; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_out_a_valid; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_out_a_bits_opcode; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_out_a_bits_param; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_out_a_bits_size; // @[PeripheryBus.scala 47:33]
+  wire [1:0] fixer_auto_out_a_bits_source; // @[PeripheryBus.scala 47:33]
+  wire [29:0] fixer_auto_out_a_bits_address; // @[PeripheryBus.scala 47:33]
+  wire [3:0] fixer_auto_out_a_bits_mask; // @[PeripheryBus.scala 47:33]
+  wire [31:0] fixer_auto_out_a_bits_data; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_out_a_bits_corrupt; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_out_d_ready; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_out_d_valid; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_out_d_bits_opcode; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_out_d_bits_size; // @[PeripheryBus.scala 47:33]
+  wire [1:0] fixer_auto_out_d_bits_source; // @[PeripheryBus.scala 47:33]
+  wire [31:0] fixer_auto_out_d_bits_data; // @[PeripheryBus.scala 47:33]
+  wire  in_xbar_auto_in_a_ready; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_in_a_valid; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 49:29]
+  wire [1:0] in_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 49:29]
+  wire [29:0] in_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 49:29]
+  wire [3:0] in_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 49:29]
+  wire [31:0] in_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_in_d_ready; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_in_d_valid; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 49:29]
+  wire [1:0] in_xbar_auto_in_d_bits_param; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 49:29]
+  wire [1:0] in_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_in_d_bits_sink; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_in_d_bits_denied; // @[PeripheryBus.scala 49:29]
+  wire [31:0] in_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_a_ready; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_a_valid; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_out_a_bits_opcode; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_out_a_bits_param; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_out_a_bits_size; // @[PeripheryBus.scala 49:29]
+  wire [1:0] in_xbar_auto_out_a_bits_source; // @[PeripheryBus.scala 49:29]
+  wire [29:0] in_xbar_auto_out_a_bits_address; // @[PeripheryBus.scala 49:29]
+  wire [3:0] in_xbar_auto_out_a_bits_mask; // @[PeripheryBus.scala 49:29]
+  wire [31:0] in_xbar_auto_out_a_bits_data; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_a_bits_corrupt; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_d_ready; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_d_valid; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_out_d_bits_opcode; // @[PeripheryBus.scala 49:29]
+  wire [1:0] in_xbar_auto_out_d_bits_param; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_out_d_bits_size; // @[PeripheryBus.scala 49:29]
+  wire [1:0] in_xbar_auto_out_d_bits_source; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_d_bits_sink; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_d_bits_denied; // @[PeripheryBus.scala 49:29]
+  wire [31:0] in_xbar_auto_out_d_bits_data; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_d_bits_corrupt; // @[PeripheryBus.scala 49:29]
+  wire  out_xbar_clock; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_reset; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_in_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_in_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [29:0] out_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_in_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_in_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_14_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_14_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_14_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_14_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_14_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_14_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [28:0] out_xbar_auto_out_14_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_14_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_14_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_14_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_14_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_14_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_14_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_14_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_14_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_14_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_13_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_13_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_13_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_13_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_13_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_13_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [28:0] out_xbar_auto_out_13_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_13_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_13_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_13_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_13_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_13_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_13_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_13_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_13_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_13_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_12_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_12_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_12_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_12_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_12_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_12_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [28:0] out_xbar_auto_out_12_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_12_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_12_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_12_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_12_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_12_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_12_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_12_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_12_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_12_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_11_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_11_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_11_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_11_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_11_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_11_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [28:0] out_xbar_auto_out_11_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_11_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_11_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_11_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_11_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_11_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_11_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_11_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_11_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_11_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_10_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_10_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_10_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_10_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_10_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_10_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [28:0] out_xbar_auto_out_10_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_10_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_10_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_10_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_10_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_10_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_10_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_10_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_10_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_10_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_9_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_9_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_9_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_9_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_9_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_9_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [28:0] out_xbar_auto_out_9_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_9_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_9_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_9_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_9_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_9_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_9_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_9_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_9_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_9_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_8_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_8_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_8_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_8_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_8_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_8_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [28:0] out_xbar_auto_out_8_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_8_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_8_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_8_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_8_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_8_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_8_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_8_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_8_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_8_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_7_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_7_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_7_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_7_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_7_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_7_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [28:0] out_xbar_auto_out_7_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_7_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_7_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_7_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_7_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_7_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_7_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_7_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_7_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_7_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_6_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_6_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_6_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_6_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_6_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_6_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [29:0] out_xbar_auto_out_6_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_6_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_6_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_6_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_6_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_6_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_6_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_6_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_5_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_5_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_5_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_5_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_5_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_5_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [28:0] out_xbar_auto_out_5_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_5_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_5_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_5_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_5_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_5_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_5_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_5_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_5_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_5_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_4_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_4_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_4_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_4_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_4_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_4_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [28:0] out_xbar_auto_out_4_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_4_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_4_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_4_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_4_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_4_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_4_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_4_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_4_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_4_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_3_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_3_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_3_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_3_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_3_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_3_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [28:0] out_xbar_auto_out_3_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_3_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_3_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_3_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_3_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_3_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_3_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_3_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_3_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_3_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_2_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_2_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_2_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_2_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_2_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_2_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [28:0] out_xbar_auto_out_2_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_2_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_2_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_2_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_2_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_2_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_2_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_2_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_2_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_2_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_1_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_1_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_1_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_1_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_1_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_1_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [28:0] out_xbar_auto_out_1_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_1_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_1_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_1_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_1_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_1_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_1_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_1_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_1_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_1_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_0_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_0_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_0_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_0_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_0_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_0_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [28:0] out_xbar_auto_out_0_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_0_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_0_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_0_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_0_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_0_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_0_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_0_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_0_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_0_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  buffer_clock; // @[Buffer.scala 68:28]
+  wire  buffer_reset; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [29:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [29:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  atomics_clock; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_reset; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_a_ready; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_a_valid; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_in_a_bits_opcode; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_in_a_bits_param; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_in_a_bits_size; // @[AtomicAutomata.scala 283:29]
+  wire [1:0] atomics_auto_in_a_bits_source; // @[AtomicAutomata.scala 283:29]
+  wire [29:0] atomics_auto_in_a_bits_address; // @[AtomicAutomata.scala 283:29]
+  wire [3:0] atomics_auto_in_a_bits_mask; // @[AtomicAutomata.scala 283:29]
+  wire [31:0] atomics_auto_in_a_bits_data; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_a_bits_corrupt; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_d_ready; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_d_valid; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_in_d_bits_opcode; // @[AtomicAutomata.scala 283:29]
+  wire [1:0] atomics_auto_in_d_bits_param; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_in_d_bits_size; // @[AtomicAutomata.scala 283:29]
+  wire [1:0] atomics_auto_in_d_bits_source; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_d_bits_sink; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_d_bits_denied; // @[AtomicAutomata.scala 283:29]
+  wire [31:0] atomics_auto_in_d_bits_data; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_d_bits_corrupt; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_a_ready; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_a_valid; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_out_a_bits_opcode; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_out_a_bits_param; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_out_a_bits_size; // @[AtomicAutomata.scala 283:29]
+  wire [1:0] atomics_auto_out_a_bits_source; // @[AtomicAutomata.scala 283:29]
+  wire [29:0] atomics_auto_out_a_bits_address; // @[AtomicAutomata.scala 283:29]
+  wire [3:0] atomics_auto_out_a_bits_mask; // @[AtomicAutomata.scala 283:29]
+  wire [31:0] atomics_auto_out_a_bits_data; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_a_bits_corrupt; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_d_ready; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_d_valid; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_out_d_bits_opcode; // @[AtomicAutomata.scala 283:29]
+  wire [1:0] atomics_auto_out_d_bits_param; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_out_d_bits_size; // @[AtomicAutomata.scala 283:29]
+  wire [1:0] atomics_auto_out_d_bits_source; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_d_bits_sink; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_d_bits_denied; // @[AtomicAutomata.scala 283:29]
+  wire [31:0] atomics_auto_out_d_bits_data; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_d_bits_corrupt; // @[AtomicAutomata.scala 283:29]
+  wire  buffer_1_clock; // @[Buffer.scala 68:28]
+  wire  buffer_1_reset; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [29:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_1_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_in_d_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_bits_denied; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [29:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_1_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_out_d_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_bits_denied; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  coupler_to_device_named_uart_0_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_0_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_uart_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_0_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_0_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_0_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_0_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_0_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_0_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_uart_0_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_uart_0_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_0_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_0_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_0_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_0_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_1_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_1_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_1_auto_control_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_1_auto_control_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_1_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_1_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_uart_1_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_1_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_1_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_1_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_1_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_1_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_1_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_1_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_uart_1_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_uart_1_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_1_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_1_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_1_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_1_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_1_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_1_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_1_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_1_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_2_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_2_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_2_auto_control_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_2_auto_control_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_2_auto_control_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_2_auto_control_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_2_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_2_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_uart_2_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_2_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_2_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_2_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_2_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_2_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_2_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_2_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_uart_2_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_uart_2_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_2_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_2_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_2_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_2_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_2_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_2_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_2_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_2_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_3_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_3_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_3_auto_control_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_3_auto_control_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_3_auto_control_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_3_auto_control_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_3_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_3_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_uart_3_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_3_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_3_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_3_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_3_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_3_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_3_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_3_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_uart_3_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_uart_3_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_3_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_3_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_3_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_3_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_3_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_3_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_3_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_3_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_4_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_4_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_4_auto_control_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_4_auto_control_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_4_auto_control_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_4_auto_control_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_4_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_4_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_uart_4_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_4_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_4_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_4_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_4_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_4_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_4_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_4_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_uart_4_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_uart_4_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_4_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_4_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_4_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_uart_4_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_4_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_uart_4_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_uart_4_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_uart_4_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_qspi_0_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_qspi_0_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_qspi_0_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_qspi_0_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_qspi_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_qspi_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_1_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_1_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [8:0] coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [29:0] coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_1_auto_mem_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_1_auto_mem_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_1_auto_mem_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [8:0] coupler_to_device_named_qspi_0_1_auto_mem_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [7:0] coupler_to_device_named_qspi_0_1_auto_mem_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_1_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_1_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [29:0] coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_1_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_0_1_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_0_1_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_qspi_0_1_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_qspi_0_1_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_spi_0_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_spi_0_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_spi_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_spi_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_spi_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_spi_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_spi_0_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_spi_0_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_spi_0_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_spi_0_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_spi_0_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_spi_0_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_spi_0_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_spi_0_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_spi_0_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_spi_0_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_spi_0_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_spi_0_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_spi_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_spi_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_spi_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_spi_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_gpio_0_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_gpio_0_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_gpio_0_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_gpio_0_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_gpio_0_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_gpio_0_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_gpio_0_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_gpio_0_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_gpio_0_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_gpio_0_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_gpio_0_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_gpio_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_gpio_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_gpio_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_0_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_0_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_pwm_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_pwm_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_pwm_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_0_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_0_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_0_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_0_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_0_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_pwm_0_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_pwm_0_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_pwm_0_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_pwm_0_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_0_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_0_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_0_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_pwm_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_pwm_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_1_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_1_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_1_auto_control_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_1_auto_control_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_1_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_pwm_1_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_pwm_1_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_pwm_1_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_1_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_1_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_1_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_1_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_1_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_pwm_1_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_pwm_1_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_pwm_1_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_pwm_1_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_1_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_1_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_1_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_1_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_1_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_pwm_1_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_pwm_1_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_2_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_2_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_2_auto_control_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_2_auto_control_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_2_auto_control_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_2_auto_control_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_2_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_pwm_2_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_pwm_2_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_pwm_2_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_2_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_2_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_2_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_2_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_2_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_pwm_2_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_pwm_2_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_pwm_2_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_pwm_2_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_2_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_2_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_pwm_2_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_2_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_pwm_2_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_pwm_2_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_pwm_2_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_0_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_0_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_0_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_0_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_i2c_0_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_i2c_0_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_i2c_0_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_i2c_0_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_0_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_0_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_0_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_i2c_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_i2c_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_1_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_1_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_1_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_1_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_i2c_1_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_device_named_i2c_1_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_i2c_1_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_i2c_1_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_1_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_1_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_i2c_1_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_i2c_1_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_device_named_i2c_1_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_i2c_1_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  ClockGroupAggregator_1 subsystem_pbus_clock_groups ( // @[BusWrapper.scala 40:48]
+    .auto_in_member_subsystem_pbus_0_clock(subsystem_pbus_clock_groups_auto_in_member_subsystem_pbus_0_clock),
+    .auto_in_member_subsystem_pbus_0_reset(subsystem_pbus_clock_groups_auto_in_member_subsystem_pbus_0_reset),
+    .auto_out_member_subsystem_pbus_0_clock(subsystem_pbus_clock_groups_auto_out_member_subsystem_pbus_0_clock),
+    .auto_out_member_subsystem_pbus_0_reset(subsystem_pbus_clock_groups_auto_out_member_subsystem_pbus_0_reset)
+  );
+  ClockGroup_1 clockGroup ( // @[BusWrapper.scala 41:38]
+    .auto_in_member_subsystem_pbus_0_clock(clockGroup_auto_in_member_subsystem_pbus_0_clock),
+    .auto_in_member_subsystem_pbus_0_reset(clockGroup_auto_in_member_subsystem_pbus_0_reset),
+    .auto_out_clock(clockGroup_auto_out_clock),
+    .auto_out_reset(clockGroup_auto_out_reset)
+  );
+  FixedClockBroadcast_1 fixedClockNode ( // @[ClockGroup.scala 106:107]
+    .auto_in_clock(fixedClockNode_auto_in_clock),
+    .auto_in_reset(fixedClockNode_auto_in_reset),
+    .auto_out_14_clock(fixedClockNode_auto_out_14_clock),
+    .auto_out_14_reset(fixedClockNode_auto_out_14_reset),
+    .auto_out_13_clock(fixedClockNode_auto_out_13_clock),
+    .auto_out_13_reset(fixedClockNode_auto_out_13_reset),
+    .auto_out_12_clock(fixedClockNode_auto_out_12_clock),
+    .auto_out_12_reset(fixedClockNode_auto_out_12_reset),
+    .auto_out_11_clock(fixedClockNode_auto_out_11_clock),
+    .auto_out_11_reset(fixedClockNode_auto_out_11_reset),
+    .auto_out_10_clock(fixedClockNode_auto_out_10_clock),
+    .auto_out_10_reset(fixedClockNode_auto_out_10_reset),
+    .auto_out_9_clock(fixedClockNode_auto_out_9_clock),
+    .auto_out_9_reset(fixedClockNode_auto_out_9_reset),
+    .auto_out_8_clock(fixedClockNode_auto_out_8_clock),
+    .auto_out_8_reset(fixedClockNode_auto_out_8_reset),
+    .auto_out_7_clock(fixedClockNode_auto_out_7_clock),
+    .auto_out_7_reset(fixedClockNode_auto_out_7_reset),
+    .auto_out_6_clock(fixedClockNode_auto_out_6_clock),
+    .auto_out_6_reset(fixedClockNode_auto_out_6_reset),
+    .auto_out_5_clock(fixedClockNode_auto_out_5_clock),
+    .auto_out_5_reset(fixedClockNode_auto_out_5_reset),
+    .auto_out_4_clock(fixedClockNode_auto_out_4_clock),
+    .auto_out_4_reset(fixedClockNode_auto_out_4_reset),
+    .auto_out_3_clock(fixedClockNode_auto_out_3_clock),
+    .auto_out_3_reset(fixedClockNode_auto_out_3_reset),
+    .auto_out_2_clock(fixedClockNode_auto_out_2_clock),
+    .auto_out_2_reset(fixedClockNode_auto_out_2_reset),
+    .auto_out_1_clock(fixedClockNode_auto_out_1_clock),
+    .auto_out_1_reset(fixedClockNode_auto_out_1_reset),
+    .auto_out_0_clock(fixedClockNode_auto_out_0_clock),
+    .auto_out_0_reset(fixedClockNode_auto_out_0_reset)
+  );
+  TLFIFOFixer_1 fixer ( // @[PeripheryBus.scala 47:33]
+    .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_size(fixer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fixer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fixer_auto_in_d_bits_data),
+    .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_size(fixer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fixer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fixer_auto_out_d_bits_data)
+  );
+  TLXbar_1 in_xbar ( // @[PeripheryBus.scala 49:29]
+    .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 50:30]
+    .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_size(out_xbar_auto_in_d_bits_size),
+    .auto_in_d_bits_source(out_xbar_auto_in_d_bits_source),
+    .auto_in_d_bits_data(out_xbar_auto_in_d_bits_data),
+    .auto_out_14_a_ready(out_xbar_auto_out_14_a_ready),
+    .auto_out_14_a_valid(out_xbar_auto_out_14_a_valid),
+    .auto_out_14_a_bits_opcode(out_xbar_auto_out_14_a_bits_opcode),
+    .auto_out_14_a_bits_param(out_xbar_auto_out_14_a_bits_param),
+    .auto_out_14_a_bits_size(out_xbar_auto_out_14_a_bits_size),
+    .auto_out_14_a_bits_source(out_xbar_auto_out_14_a_bits_source),
+    .auto_out_14_a_bits_address(out_xbar_auto_out_14_a_bits_address),
+    .auto_out_14_a_bits_mask(out_xbar_auto_out_14_a_bits_mask),
+    .auto_out_14_a_bits_data(out_xbar_auto_out_14_a_bits_data),
+    .auto_out_14_a_bits_corrupt(out_xbar_auto_out_14_a_bits_corrupt),
+    .auto_out_14_d_ready(out_xbar_auto_out_14_d_ready),
+    .auto_out_14_d_valid(out_xbar_auto_out_14_d_valid),
+    .auto_out_14_d_bits_opcode(out_xbar_auto_out_14_d_bits_opcode),
+    .auto_out_14_d_bits_size(out_xbar_auto_out_14_d_bits_size),
+    .auto_out_14_d_bits_source(out_xbar_auto_out_14_d_bits_source),
+    .auto_out_14_d_bits_data(out_xbar_auto_out_14_d_bits_data),
+    .auto_out_13_a_ready(out_xbar_auto_out_13_a_ready),
+    .auto_out_13_a_valid(out_xbar_auto_out_13_a_valid),
+    .auto_out_13_a_bits_opcode(out_xbar_auto_out_13_a_bits_opcode),
+    .auto_out_13_a_bits_param(out_xbar_auto_out_13_a_bits_param),
+    .auto_out_13_a_bits_size(out_xbar_auto_out_13_a_bits_size),
+    .auto_out_13_a_bits_source(out_xbar_auto_out_13_a_bits_source),
+    .auto_out_13_a_bits_address(out_xbar_auto_out_13_a_bits_address),
+    .auto_out_13_a_bits_mask(out_xbar_auto_out_13_a_bits_mask),
+    .auto_out_13_a_bits_data(out_xbar_auto_out_13_a_bits_data),
+    .auto_out_13_a_bits_corrupt(out_xbar_auto_out_13_a_bits_corrupt),
+    .auto_out_13_d_ready(out_xbar_auto_out_13_d_ready),
+    .auto_out_13_d_valid(out_xbar_auto_out_13_d_valid),
+    .auto_out_13_d_bits_opcode(out_xbar_auto_out_13_d_bits_opcode),
+    .auto_out_13_d_bits_size(out_xbar_auto_out_13_d_bits_size),
+    .auto_out_13_d_bits_source(out_xbar_auto_out_13_d_bits_source),
+    .auto_out_13_d_bits_data(out_xbar_auto_out_13_d_bits_data),
+    .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_data(out_xbar_auto_out_7_a_bits_data),
+    .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_opcode(out_xbar_auto_out_7_d_bits_opcode),
+    .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_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_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_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_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_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_data(out_xbar_auto_out_0_d_bits_data)
+  );
+  TLBuffer buffer ( // @[Buffer.scala 68:28]
+    .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_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)
+  );
+  TLAtomicAutomata atomics ( // @[AtomicAutomata.scala 283:29]
+    .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 68:28]
+    .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)
+  );
+  TLInterconnectCoupler_4 coupler_to_device_named_uart_0 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_uart_0_clock),
+    .reset(coupler_to_device_named_uart_0_reset),
+    .auto_control_xing_out_a_ready(coupler_to_device_named_uart_0_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_device_named_uart_0_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_device_named_uart_0_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_device_named_uart_0_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_uart_0_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_device_named_uart_0_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_device_named_uart_0_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_device_named_uart_0_auto_control_xing_out_d_bits_data),
+    .auto_tl_in_a_ready(coupler_to_device_named_uart_0_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_uart_0_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_uart_0_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_uart_0_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_uart_0_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_uart_0_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_uart_0_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_uart_0_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_device_named_uart_0_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_device_named_uart_0_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_device_named_uart_0_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_uart_0_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_device_named_uart_0_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_uart_0_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_uart_0_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_uart_0_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_5 coupler_to_device_named_uart_1 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_uart_1_clock),
+    .reset(coupler_to_device_named_uart_1_reset),
+    .auto_control_xing_out_a_ready(coupler_to_device_named_uart_1_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_device_named_uart_1_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_device_named_uart_1_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_device_named_uart_1_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_uart_1_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_device_named_uart_1_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_device_named_uart_1_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_device_named_uart_1_auto_control_xing_out_d_bits_data),
+    .auto_tl_in_a_ready(coupler_to_device_named_uart_1_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_uart_1_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_uart_1_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_uart_1_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_uart_1_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_uart_1_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_uart_1_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_uart_1_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_device_named_uart_1_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_device_named_uart_1_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_device_named_uart_1_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_uart_1_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_device_named_uart_1_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_uart_1_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_uart_1_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_uart_1_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_6 coupler_to_device_named_uart_2 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_uart_2_clock),
+    .reset(coupler_to_device_named_uart_2_reset),
+    .auto_control_xing_out_a_ready(coupler_to_device_named_uart_2_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_device_named_uart_2_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_device_named_uart_2_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_device_named_uart_2_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_uart_2_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_device_named_uart_2_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_device_named_uart_2_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_device_named_uart_2_auto_control_xing_out_d_bits_data),
+    .auto_tl_in_a_ready(coupler_to_device_named_uart_2_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_uart_2_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_uart_2_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_uart_2_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_uart_2_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_uart_2_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_uart_2_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_uart_2_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_device_named_uart_2_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_device_named_uart_2_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_device_named_uart_2_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_uart_2_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_device_named_uart_2_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_uart_2_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_uart_2_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_uart_2_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_7 coupler_to_device_named_uart_3 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_uart_3_clock),
+    .reset(coupler_to_device_named_uart_3_reset),
+    .auto_control_xing_out_a_ready(coupler_to_device_named_uart_3_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_device_named_uart_3_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_device_named_uart_3_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_device_named_uart_3_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_uart_3_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_device_named_uart_3_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_device_named_uart_3_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_device_named_uart_3_auto_control_xing_out_d_bits_data),
+    .auto_tl_in_a_ready(coupler_to_device_named_uart_3_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_uart_3_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_uart_3_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_uart_3_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_uart_3_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_uart_3_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_uart_3_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_uart_3_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_device_named_uart_3_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_device_named_uart_3_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_device_named_uart_3_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_uart_3_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_device_named_uart_3_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_uart_3_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_uart_3_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_uart_3_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_8 coupler_to_device_named_uart_4 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_uart_4_clock),
+    .reset(coupler_to_device_named_uart_4_reset),
+    .auto_control_xing_out_a_ready(coupler_to_device_named_uart_4_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_device_named_uart_4_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_device_named_uart_4_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_device_named_uart_4_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_uart_4_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_device_named_uart_4_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_device_named_uart_4_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_device_named_uart_4_auto_control_xing_out_d_bits_data),
+    .auto_tl_in_a_ready(coupler_to_device_named_uart_4_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_uart_4_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_uart_4_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_uart_4_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_uart_4_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_uart_4_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_uart_4_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_uart_4_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_device_named_uart_4_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_device_named_uart_4_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_device_named_uart_4_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_uart_4_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_device_named_uart_4_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_uart_4_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_uart_4_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_uart_4_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_9 coupler_to_device_named_qspi_0 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_qspi_0_clock),
+    .reset(coupler_to_device_named_qspi_0_reset),
+    .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),
+    .auto_tl_in_a_ready(coupler_to_device_named_qspi_0_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_qspi_0_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_qspi_0_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_qspi_0_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_qspi_0_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_qspi_0_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_qspi_0_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_qspi_0_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_device_named_qspi_0_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_device_named_qspi_0_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_device_named_qspi_0_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_qspi_0_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_device_named_qspi_0_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_qspi_0_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_qspi_0_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_qspi_0_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_10 coupler_to_device_named_qspi_0_1 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_qspi_0_1_clock),
+    .reset(coupler_to_device_named_qspi_0_1_reset),
+    .auto_mem_xing_out_a_ready(coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_ready),
+    .auto_mem_xing_out_a_valid(coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_valid),
+    .auto_mem_xing_out_a_bits_opcode(coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_opcode),
+    .auto_mem_xing_out_a_bits_param(coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_param),
+    .auto_mem_xing_out_a_bits_size(coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_size),
+    .auto_mem_xing_out_a_bits_source(coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_source),
+    .auto_mem_xing_out_a_bits_address(coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_address),
+    .auto_mem_xing_out_a_bits_mask(coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_mask),
+    .auto_mem_xing_out_a_bits_corrupt(coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_corrupt),
+    .auto_mem_xing_out_d_ready(coupler_to_device_named_qspi_0_1_auto_mem_xing_out_d_ready),
+    .auto_mem_xing_out_d_valid(coupler_to_device_named_qspi_0_1_auto_mem_xing_out_d_valid),
+    .auto_mem_xing_out_d_bits_size(coupler_to_device_named_qspi_0_1_auto_mem_xing_out_d_bits_size),
+    .auto_mem_xing_out_d_bits_source(coupler_to_device_named_qspi_0_1_auto_mem_xing_out_d_bits_source),
+    .auto_mem_xing_out_d_bits_data(coupler_to_device_named_qspi_0_1_auto_mem_xing_out_d_bits_data),
+    .auto_tl_in_a_ready(coupler_to_device_named_qspi_0_1_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_qspi_0_1_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_corrupt(coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_device_named_qspi_0_1_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_qspi_0_1_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_qspi_0_1_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_qspi_0_1_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_qspi_0_1_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_11 coupler_to_device_named_qspi_ram_0 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_qspi_ram_0_clock),
+    .reset(coupler_to_device_named_qspi_ram_0_reset),
+    .auto_control_xing_out_a_ready(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_data),
+    .auto_tl_in_a_ready(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_device_named_qspi_ram_0_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_qspi_ram_0_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_12 coupler_to_device_named_spi_0 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_spi_0_clock),
+    .reset(coupler_to_device_named_spi_0_reset),
+    .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),
+    .auto_tl_in_a_ready(coupler_to_device_named_spi_0_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_spi_0_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_spi_0_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_spi_0_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_spi_0_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_spi_0_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_spi_0_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_spi_0_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_device_named_spi_0_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_device_named_spi_0_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_device_named_spi_0_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_spi_0_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_device_named_spi_0_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_spi_0_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_spi_0_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_spi_0_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_13 coupler_to_device_named_gpio_0 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_gpio_0_clock),
+    .reset(coupler_to_device_named_gpio_0_reset),
+    .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),
+    .auto_tl_in_a_ready(coupler_to_device_named_gpio_0_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_gpio_0_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_gpio_0_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_gpio_0_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_gpio_0_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_gpio_0_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_gpio_0_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_gpio_0_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_device_named_gpio_0_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_device_named_gpio_0_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_device_named_gpio_0_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_gpio_0_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_device_named_gpio_0_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_gpio_0_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_gpio_0_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_gpio_0_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_14 coupler_to_device_named_pwm_0 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_pwm_0_clock),
+    .reset(coupler_to_device_named_pwm_0_reset),
+    .auto_control_xing_out_a_ready(coupler_to_device_named_pwm_0_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_device_named_pwm_0_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_device_named_pwm_0_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_device_named_pwm_0_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_pwm_0_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_device_named_pwm_0_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_device_named_pwm_0_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_device_named_pwm_0_auto_control_xing_out_d_bits_data),
+    .auto_tl_in_a_ready(coupler_to_device_named_pwm_0_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_pwm_0_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_pwm_0_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_pwm_0_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_pwm_0_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_pwm_0_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_pwm_0_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_pwm_0_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_device_named_pwm_0_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_device_named_pwm_0_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_device_named_pwm_0_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_pwm_0_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_device_named_pwm_0_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_pwm_0_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_pwm_0_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_pwm_0_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_15 coupler_to_device_named_pwm_1 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_pwm_1_clock),
+    .reset(coupler_to_device_named_pwm_1_reset),
+    .auto_control_xing_out_a_ready(coupler_to_device_named_pwm_1_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_device_named_pwm_1_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_device_named_pwm_1_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_device_named_pwm_1_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_pwm_1_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_device_named_pwm_1_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_device_named_pwm_1_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_device_named_pwm_1_auto_control_xing_out_d_bits_data),
+    .auto_tl_in_a_ready(coupler_to_device_named_pwm_1_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_pwm_1_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_pwm_1_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_pwm_1_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_pwm_1_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_pwm_1_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_pwm_1_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_pwm_1_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_device_named_pwm_1_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_device_named_pwm_1_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_device_named_pwm_1_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_pwm_1_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_device_named_pwm_1_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_pwm_1_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_pwm_1_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_pwm_1_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_16 coupler_to_device_named_pwm_2 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_pwm_2_clock),
+    .reset(coupler_to_device_named_pwm_2_reset),
+    .auto_control_xing_out_a_ready(coupler_to_device_named_pwm_2_auto_control_xing_out_a_ready),
+    .auto_control_xing_out_a_valid(coupler_to_device_named_pwm_2_auto_control_xing_out_a_valid),
+    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_opcode),
+    .auto_control_xing_out_a_bits_param(coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_param),
+    .auto_control_xing_out_a_bits_size(coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_size),
+    .auto_control_xing_out_a_bits_source(coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_source),
+    .auto_control_xing_out_a_bits_address(coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_address),
+    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_mask),
+    .auto_control_xing_out_a_bits_data(coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_data),
+    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_corrupt),
+    .auto_control_xing_out_d_ready(coupler_to_device_named_pwm_2_auto_control_xing_out_d_ready),
+    .auto_control_xing_out_d_valid(coupler_to_device_named_pwm_2_auto_control_xing_out_d_valid),
+    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_pwm_2_auto_control_xing_out_d_bits_opcode),
+    .auto_control_xing_out_d_bits_size(coupler_to_device_named_pwm_2_auto_control_xing_out_d_bits_size),
+    .auto_control_xing_out_d_bits_source(coupler_to_device_named_pwm_2_auto_control_xing_out_d_bits_source),
+    .auto_control_xing_out_d_bits_data(coupler_to_device_named_pwm_2_auto_control_xing_out_d_bits_data),
+    .auto_tl_in_a_ready(coupler_to_device_named_pwm_2_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_pwm_2_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_pwm_2_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_pwm_2_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_pwm_2_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_pwm_2_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_pwm_2_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_pwm_2_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_device_named_pwm_2_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_device_named_pwm_2_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_device_named_pwm_2_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_pwm_2_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_device_named_pwm_2_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_pwm_2_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_pwm_2_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_pwm_2_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_17 coupler_to_device_named_i2c_0 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_i2c_0_clock),
+    .reset(coupler_to_device_named_i2c_0_reset),
+    .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),
+    .auto_tl_in_a_ready(coupler_to_device_named_i2c_0_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_i2c_0_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_i2c_0_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_i2c_0_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_i2c_0_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_i2c_0_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_i2c_0_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_i2c_0_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_device_named_i2c_0_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_device_named_i2c_0_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_device_named_i2c_0_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_i2c_0_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_device_named_i2c_0_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_i2c_0_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_i2c_0_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_i2c_0_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_18 coupler_to_device_named_i2c_1 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_i2c_1_clock),
+    .reset(coupler_to_device_named_i2c_1_reset),
+    .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),
+    .auto_tl_in_a_ready(coupler_to_device_named_i2c_1_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_i2c_1_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_i2c_1_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_i2c_1_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_i2c_1_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_i2c_1_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_i2c_1_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_i2c_1_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_device_named_i2c_1_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_device_named_i2c_1_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_device_named_i2c_1_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_i2c_1_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_device_named_i2c_1_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_i2c_1_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_i2c_1_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_i2c_1_auto_tl_in_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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  assign auto_coupler_to_device_named_pwm_2_control_xing_out_a_valid =
+    coupler_to_device_named_pwm_2_auto_control_xing_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_opcode =
+    coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_param =
+    coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_size =
+    coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_source =
+    coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_address =
+    coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_mask =
+    coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_data =
+    coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_corrupt =
+    coupler_to_device_named_pwm_2_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_2_control_xing_out_d_ready =
+    coupler_to_device_named_pwm_2_auto_control_xing_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_1_control_xing_out_a_valid =
+    coupler_to_device_named_pwm_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_opcode =
+    coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_param =
+    coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_size =
+    coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_source =
+    coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_address =
+    coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_mask =
+    coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_data =
+    coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_corrupt =
+    coupler_to_device_named_pwm_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_1_control_xing_out_d_ready =
+    coupler_to_device_named_pwm_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_0_control_xing_out_a_valid =
+    coupler_to_device_named_pwm_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_opcode =
+    coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_param =
+    coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_size =
+    coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_source =
+    coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_address =
+    coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_mask =
+    coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_data =
+    coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_corrupt =
+    coupler_to_device_named_pwm_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_pwm_0_control_xing_out_d_ready =
+    coupler_to_device_named_pwm_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_valid =
+    coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_opcode =
+    coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_param =
+    coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_size =
+    coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_source =
+    coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_address =
+    coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_mask =
+    coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_data =
+    coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_corrupt =
+    coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_ready =
+    coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_0_mem_xing_out_a_valid =
+    coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_opcode =
+    coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_param =
+    coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_size =
+    coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_source =
+    coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_address =
+    coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_mask =
+    coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_corrupt =
+    coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_0_mem_xing_out_d_ready =
+    coupler_to_device_named_qspi_0_1_auto_mem_xing_out_d_ready; // @[LazyModule.scala 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  assign auto_coupler_to_device_named_uart_4_control_xing_out_a_valid =
+    coupler_to_device_named_uart_4_auto_control_xing_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_opcode =
+    coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_param =
+    coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_size =
+    coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_source =
+    coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_address =
+    coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_mask =
+    coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_data =
+    coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_corrupt =
+    coupler_to_device_named_uart_4_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_4_control_xing_out_d_ready =
+    coupler_to_device_named_uart_4_auto_control_xing_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_3_control_xing_out_a_valid =
+    coupler_to_device_named_uart_3_auto_control_xing_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_opcode =
+    coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_param =
+    coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_size =
+    coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_source =
+    coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_address =
+    coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_mask =
+    coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_data =
+    coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_corrupt =
+    coupler_to_device_named_uart_3_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_3_control_xing_out_d_ready =
+    coupler_to_device_named_uart_3_auto_control_xing_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_2_control_xing_out_a_valid =
+    coupler_to_device_named_uart_2_auto_control_xing_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_opcode =
+    coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_param =
+    coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_size =
+    coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_source =
+    coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_address =
+    coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_mask =
+    coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_data =
+    coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_corrupt =
+    coupler_to_device_named_uart_2_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_2_control_xing_out_d_ready =
+    coupler_to_device_named_uart_2_auto_control_xing_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_1_control_xing_out_a_valid =
+    coupler_to_device_named_uart_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_opcode =
+    coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_param =
+    coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_size =
+    coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_source =
+    coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_address =
+    coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_mask =
+    coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_data =
+    coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_corrupt =
+    coupler_to_device_named_uart_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_1_control_xing_out_d_ready =
+    coupler_to_device_named_uart_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_0_control_xing_out_a_valid =
+    coupler_to_device_named_uart_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_opcode =
+    coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_param =
+    coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_size =
+    coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_source =
+    coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_address =
+    coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_mask =
+    coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_data =
+    coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_corrupt =
+    coupler_to_device_named_uart_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_uart_0_control_xing_out_d_ready =
+    coupler_to_device_named_uart_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_13_clock = fixedClockNode_auto_out_14_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_13_reset = fixedClockNode_auto_out_14_reset; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_12_clock = fixedClockNode_auto_out_13_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_12_reset = fixedClockNode_auto_out_13_reset; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_11_clock = fixedClockNode_auto_out_12_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_11_reset = fixedClockNode_auto_out_12_reset; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_10_clock = fixedClockNode_auto_out_11_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_10_reset = fixedClockNode_auto_out_11_reset; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_9_clock = fixedClockNode_auto_out_10_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_9_reset = fixedClockNode_auto_out_10_reset; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_8_clock = fixedClockNode_auto_out_9_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_8_reset = fixedClockNode_auto_out_9_reset; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_7_clock = fixedClockNode_auto_out_8_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_7_reset = fixedClockNode_auto_out_8_reset; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_6_clock = fixedClockNode_auto_out_7_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_6_reset = fixedClockNode_auto_out_7_reset; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_5_clock = fixedClockNode_auto_out_6_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_5_reset = fixedClockNode_auto_out_6_reset; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_4_clock = fixedClockNode_auto_out_5_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_4_reset = fixedClockNode_auto_out_5_reset; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_3_clock = fixedClockNode_auto_out_4_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_3_reset = fixedClockNode_auto_out_4_reset; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_2_clock = fixedClockNode_auto_out_3_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_2_reset = fixedClockNode_auto_out_3_reset; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_1_clock = fixedClockNode_auto_out_2_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_1_reset = fixedClockNode_auto_out_2_reset; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_0_clock = fixedClockNode_auto_out_1_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_0_reset = fixedClockNode_auto_out_1_reset; // @[LazyModule.scala 311:12]
+  assign auto_bus_xing_in_a_ready = buffer_1_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_valid = buffer_1_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_opcode = buffer_1_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_param = buffer_1_auto_in_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_sink = buffer_1_auto_in_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_denied = buffer_1_auto_in_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_corrupt = buffer_1_auto_in_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign subsystem_pbus_clock_groups_auto_in_member_subsystem_pbus_0_clock =
+    auto_subsystem_pbus_clock_groups_in_member_subsystem_pbus_0_clock; // @[LazyModule.scala 309:16]
+  assign subsystem_pbus_clock_groups_auto_in_member_subsystem_pbus_0_reset =
+    auto_subsystem_pbus_clock_groups_in_member_subsystem_pbus_0_reset; // @[LazyModule.scala 309:16]
+  assign clockGroup_auto_in_member_subsystem_pbus_0_clock =
+    subsystem_pbus_clock_groups_auto_out_member_subsystem_pbus_0_clock; // @[LazyModule.scala 298:16]
+  assign clockGroup_auto_in_member_subsystem_pbus_0_reset =
+    subsystem_pbus_clock_groups_auto_out_member_subsystem_pbus_0_reset; // @[LazyModule.scala 298:16]
+  assign fixedClockNode_auto_in_clock = clockGroup_auto_out_clock; // @[LazyModule.scala 298:16]
+  assign fixedClockNode_auto_in_reset = clockGroup_auto_out_reset; // @[LazyModule.scala 298:16]
+  assign fixer_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign fixer_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign fixer_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_a_ready = out_xbar_auto_in_a_ready; // @[LazyModule.scala 298:16]
+  assign fixer_auto_out_d_valid = out_xbar_auto_in_d_valid; // @[LazyModule.scala 298:16]
+  assign fixer_auto_out_d_bits_opcode = out_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign fixer_auto_out_d_bits_size = out_xbar_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign fixer_auto_out_d_bits_source = out_xbar_auto_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign fixer_auto_out_d_bits_data = out_xbar_auto_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_in_a_valid = buffer_1_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_data = buffer_1_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_d_ready = buffer_1_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_out_a_ready = atomics_auto_in_a_ready; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_valid = atomics_auto_in_d_valid; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_opcode = atomics_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_param = atomics_auto_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_size = atomics_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_source = atomics_auto_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_sink = atomics_auto_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_denied = atomics_auto_in_d_bits_denied; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_data = atomics_auto_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_corrupt = atomics_auto_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign out_xbar_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign out_xbar_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign out_xbar_auto_in_a_valid = fixer_auto_out_a_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_opcode = fixer_auto_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_param = fixer_auto_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_size = fixer_auto_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_source = fixer_auto_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_address = fixer_auto_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_mask = fixer_auto_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_data = fixer_auto_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_corrupt = fixer_auto_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_d_ready = fixer_auto_out_d_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_14_a_ready = coupler_to_device_named_i2c_1_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_14_d_valid = coupler_to_device_named_i2c_1_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_14_d_bits_opcode = coupler_to_device_named_i2c_1_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_14_d_bits_size = coupler_to_device_named_i2c_1_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_14_d_bits_source = coupler_to_device_named_i2c_1_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_14_d_bits_data = coupler_to_device_named_i2c_1_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_13_a_ready = coupler_to_device_named_i2c_0_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_13_d_valid = coupler_to_device_named_i2c_0_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_13_d_bits_opcode = coupler_to_device_named_i2c_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_13_d_bits_size = coupler_to_device_named_i2c_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_13_d_bits_source = coupler_to_device_named_i2c_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_13_d_bits_data = coupler_to_device_named_i2c_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_12_a_ready = coupler_to_device_named_pwm_2_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_12_d_valid = coupler_to_device_named_pwm_2_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_12_d_bits_opcode = coupler_to_device_named_pwm_2_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_12_d_bits_size = coupler_to_device_named_pwm_2_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_12_d_bits_source = coupler_to_device_named_pwm_2_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_12_d_bits_data = coupler_to_device_named_pwm_2_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_11_a_ready = coupler_to_device_named_pwm_1_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_11_d_valid = coupler_to_device_named_pwm_1_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_11_d_bits_opcode = coupler_to_device_named_pwm_1_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_11_d_bits_size = coupler_to_device_named_pwm_1_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_11_d_bits_source = coupler_to_device_named_pwm_1_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_11_d_bits_data = coupler_to_device_named_pwm_1_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_10_a_ready = coupler_to_device_named_pwm_0_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_10_d_valid = coupler_to_device_named_pwm_0_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_10_d_bits_opcode = coupler_to_device_named_pwm_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_10_d_bits_size = coupler_to_device_named_pwm_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_10_d_bits_source = coupler_to_device_named_pwm_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_10_d_bits_data = coupler_to_device_named_pwm_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_9_a_ready = coupler_to_device_named_gpio_0_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_9_d_valid = coupler_to_device_named_gpio_0_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_9_d_bits_opcode = coupler_to_device_named_gpio_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_9_d_bits_size = coupler_to_device_named_gpio_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_9_d_bits_source = coupler_to_device_named_gpio_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_9_d_bits_data = coupler_to_device_named_gpio_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_8_a_ready = coupler_to_device_named_spi_0_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_8_d_valid = coupler_to_device_named_spi_0_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_8_d_bits_opcode = coupler_to_device_named_spi_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_8_d_bits_size = coupler_to_device_named_spi_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_8_d_bits_source = coupler_to_device_named_spi_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_8_d_bits_data = coupler_to_device_named_spi_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_7_a_ready = coupler_to_device_named_qspi_ram_0_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_7_d_valid = coupler_to_device_named_qspi_ram_0_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_7_d_bits_opcode = coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_7_d_bits_size = coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_7_d_bits_source = coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_7_d_bits_data = coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_6_a_ready = coupler_to_device_named_qspi_0_1_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_6_d_valid = coupler_to_device_named_qspi_0_1_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_6_d_bits_size = coupler_to_device_named_qspi_0_1_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_6_d_bits_source = coupler_to_device_named_qspi_0_1_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_6_d_bits_data = coupler_to_device_named_qspi_0_1_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_a_ready = coupler_to_device_named_qspi_0_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_d_valid = coupler_to_device_named_qspi_0_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_d_bits_opcode = coupler_to_device_named_qspi_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_d_bits_size = coupler_to_device_named_qspi_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_d_bits_source = coupler_to_device_named_qspi_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_d_bits_data = coupler_to_device_named_qspi_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_4_a_ready = coupler_to_device_named_uart_4_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_4_d_valid = coupler_to_device_named_uart_4_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_4_d_bits_opcode = coupler_to_device_named_uart_4_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_4_d_bits_size = coupler_to_device_named_uart_4_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_4_d_bits_source = coupler_to_device_named_uart_4_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_4_d_bits_data = coupler_to_device_named_uart_4_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_3_a_ready = coupler_to_device_named_uart_3_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_3_d_valid = coupler_to_device_named_uart_3_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_3_d_bits_opcode = coupler_to_device_named_uart_3_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_3_d_bits_size = coupler_to_device_named_uart_3_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_3_d_bits_source = coupler_to_device_named_uart_3_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_3_d_bits_data = coupler_to_device_named_uart_3_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_2_a_ready = coupler_to_device_named_uart_2_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_2_d_valid = coupler_to_device_named_uart_2_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_2_d_bits_opcode = coupler_to_device_named_uart_2_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_2_d_bits_size = coupler_to_device_named_uart_2_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_2_d_bits_source = coupler_to_device_named_uart_2_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_2_d_bits_data = coupler_to_device_named_uart_2_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_a_ready = coupler_to_device_named_uart_1_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_d_valid = coupler_to_device_named_uart_1_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_d_bits_opcode = coupler_to_device_named_uart_1_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_d_bits_size = coupler_to_device_named_uart_1_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_d_bits_source = coupler_to_device_named_uart_1_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_d_bits_data = coupler_to_device_named_uart_1_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_a_ready = coupler_to_device_named_uart_0_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_d_valid = coupler_to_device_named_uart_0_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_d_bits_opcode = coupler_to_device_named_uart_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_d_bits_size = coupler_to_device_named_uart_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_d_bits_source = coupler_to_device_named_uart_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_d_bits_data = coupler_to_device_named_uart_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign buffer_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_in_a_valid = atomics_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_opcode = atomics_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_param = atomics_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_size = atomics_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_source = atomics_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_address = atomics_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_mask = atomics_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_data = atomics_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_corrupt = atomics_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_d_ready = atomics_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_a_ready = fixer_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = fixer_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = fixer_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_size = fixer_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = fixer_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = fixer_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign atomics_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign atomics_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign atomics_auto_in_a_valid = in_xbar_auto_out_a_valid; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_opcode = in_xbar_auto_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_param = in_xbar_auto_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_size = in_xbar_auto_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_source = in_xbar_auto_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_address = in_xbar_auto_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_mask = in_xbar_auto_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_data = in_xbar_auto_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_corrupt = in_xbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_d_ready = in_xbar_auto_out_d_ready; // @[LazyModule.scala 298:16]
+  assign atomics_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign buffer_1_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_1_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_1_auto_in_a_valid = auto_bus_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_opcode = auto_bus_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_param = auto_bus_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_size = auto_bus_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_source = auto_bus_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_address = auto_bus_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_mask = auto_bus_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_data = auto_bus_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_corrupt = auto_bus_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_d_ready = auto_bus_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_out_a_ready = in_xbar_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_valid = in_xbar_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_opcode = in_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_param = in_xbar_auto_in_d_bits_param; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_size = in_xbar_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_source = in_xbar_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_sink = in_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_denied = in_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_data = in_xbar_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_corrupt = in_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign coupler_to_device_named_uart_0_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_uart_0_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_uart_0_auto_control_xing_out_a_ready =
+    auto_coupler_to_device_named_uart_0_control_xing_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_0_auto_control_xing_out_d_valid =
+    auto_coupler_to_device_named_uart_0_control_xing_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_0_auto_control_xing_out_d_bits_opcode =
+    auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_0_auto_control_xing_out_d_bits_size =
+    auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_0_auto_control_xing_out_d_bits_source =
+    auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_0_auto_control_xing_out_d_bits_data =
+    auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_0_auto_tl_in_a_valid = out_xbar_auto_out_0_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_0_auto_tl_in_a_bits_opcode = out_xbar_auto_out_0_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_0_auto_tl_in_a_bits_param = out_xbar_auto_out_0_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_0_auto_tl_in_a_bits_size = out_xbar_auto_out_0_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_0_auto_tl_in_a_bits_source = out_xbar_auto_out_0_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_0_auto_tl_in_a_bits_address = out_xbar_auto_out_0_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_0_auto_tl_in_a_bits_mask = out_xbar_auto_out_0_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_0_auto_tl_in_a_bits_data = out_xbar_auto_out_0_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_0_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_0_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_0_auto_tl_in_d_ready = out_xbar_auto_out_0_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_1_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_uart_1_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_uart_1_auto_control_xing_out_a_ready =
+    auto_coupler_to_device_named_uart_1_control_xing_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_1_auto_control_xing_out_d_valid =
+    auto_coupler_to_device_named_uart_1_control_xing_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_1_auto_control_xing_out_d_bits_opcode =
+    auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_1_auto_control_xing_out_d_bits_size =
+    auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_1_auto_control_xing_out_d_bits_source =
+    auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_1_auto_control_xing_out_d_bits_data =
+    auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_1_auto_tl_in_a_valid = out_xbar_auto_out_1_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_1_auto_tl_in_a_bits_opcode = out_xbar_auto_out_1_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_1_auto_tl_in_a_bits_param = out_xbar_auto_out_1_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_1_auto_tl_in_a_bits_size = out_xbar_auto_out_1_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_1_auto_tl_in_a_bits_source = out_xbar_auto_out_1_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_1_auto_tl_in_a_bits_address = out_xbar_auto_out_1_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_1_auto_tl_in_a_bits_mask = out_xbar_auto_out_1_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_1_auto_tl_in_a_bits_data = out_xbar_auto_out_1_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_1_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_1_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_1_auto_tl_in_d_ready = out_xbar_auto_out_1_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_2_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_uart_2_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_uart_2_auto_control_xing_out_a_ready =
+    auto_coupler_to_device_named_uart_2_control_xing_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_2_auto_control_xing_out_d_valid =
+    auto_coupler_to_device_named_uart_2_control_xing_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_2_auto_control_xing_out_d_bits_opcode =
+    auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_2_auto_control_xing_out_d_bits_size =
+    auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_2_auto_control_xing_out_d_bits_source =
+    auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_2_auto_control_xing_out_d_bits_data =
+    auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_2_auto_tl_in_a_valid = out_xbar_auto_out_2_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_2_auto_tl_in_a_bits_opcode = out_xbar_auto_out_2_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_2_auto_tl_in_a_bits_param = out_xbar_auto_out_2_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_2_auto_tl_in_a_bits_size = out_xbar_auto_out_2_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_2_auto_tl_in_a_bits_source = out_xbar_auto_out_2_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_2_auto_tl_in_a_bits_address = out_xbar_auto_out_2_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_2_auto_tl_in_a_bits_mask = out_xbar_auto_out_2_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_2_auto_tl_in_a_bits_data = out_xbar_auto_out_2_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_2_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_2_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_2_auto_tl_in_d_ready = out_xbar_auto_out_2_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_3_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_uart_3_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_uart_3_auto_control_xing_out_a_ready =
+    auto_coupler_to_device_named_uart_3_control_xing_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_3_auto_control_xing_out_d_valid =
+    auto_coupler_to_device_named_uart_3_control_xing_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_3_auto_control_xing_out_d_bits_opcode =
+    auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_3_auto_control_xing_out_d_bits_size =
+    auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_3_auto_control_xing_out_d_bits_source =
+    auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_3_auto_control_xing_out_d_bits_data =
+    auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_3_auto_tl_in_a_valid = out_xbar_auto_out_3_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_3_auto_tl_in_a_bits_opcode = out_xbar_auto_out_3_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_3_auto_tl_in_a_bits_param = out_xbar_auto_out_3_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_3_auto_tl_in_a_bits_size = out_xbar_auto_out_3_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_3_auto_tl_in_a_bits_source = out_xbar_auto_out_3_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_3_auto_tl_in_a_bits_address = out_xbar_auto_out_3_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_3_auto_tl_in_a_bits_mask = out_xbar_auto_out_3_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_3_auto_tl_in_a_bits_data = out_xbar_auto_out_3_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_3_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_3_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_3_auto_tl_in_d_ready = out_xbar_auto_out_3_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_4_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_uart_4_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_uart_4_auto_control_xing_out_a_ready =
+    auto_coupler_to_device_named_uart_4_control_xing_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_4_auto_control_xing_out_d_valid =
+    auto_coupler_to_device_named_uart_4_control_xing_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_4_auto_control_xing_out_d_bits_opcode =
+    auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_4_auto_control_xing_out_d_bits_size =
+    auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_4_auto_control_xing_out_d_bits_source =
+    auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_4_auto_control_xing_out_d_bits_data =
+    auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_uart_4_auto_tl_in_a_valid = out_xbar_auto_out_4_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_4_auto_tl_in_a_bits_opcode = out_xbar_auto_out_4_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_4_auto_tl_in_a_bits_param = out_xbar_auto_out_4_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_4_auto_tl_in_a_bits_size = out_xbar_auto_out_4_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_4_auto_tl_in_a_bits_source = out_xbar_auto_out_4_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_4_auto_tl_in_a_bits_address = out_xbar_auto_out_4_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_4_auto_tl_in_a_bits_mask = out_xbar_auto_out_4_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_4_auto_tl_in_a_bits_data = out_xbar_auto_out_4_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_4_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_4_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_uart_4_auto_tl_in_d_ready = out_xbar_auto_out_4_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_qspi_0_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  assign coupler_to_device_named_qspi_0_auto_tl_in_a_valid = out_xbar_auto_out_5_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_auto_tl_in_a_bits_opcode = out_xbar_auto_out_5_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_auto_tl_in_a_bits_param = out_xbar_auto_out_5_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_auto_tl_in_a_bits_size = out_xbar_auto_out_5_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_auto_tl_in_a_bits_source = out_xbar_auto_out_5_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_auto_tl_in_a_bits_address = out_xbar_auto_out_5_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_auto_tl_in_a_bits_mask = out_xbar_auto_out_5_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_auto_tl_in_a_bits_data = out_xbar_auto_out_5_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_5_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_auto_tl_in_d_ready = out_xbar_auto_out_5_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_1_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_qspi_0_1_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_qspi_0_1_auto_mem_xing_out_a_ready =
+    auto_coupler_to_device_named_qspi_0_mem_xing_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_0_1_auto_mem_xing_out_d_valid =
+    auto_coupler_to_device_named_qspi_0_mem_xing_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_0_1_auto_mem_xing_out_d_bits_size =
+    auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_0_1_auto_mem_xing_out_d_bits_source =
+    auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_0_1_auto_mem_xing_out_d_bits_data =
+    auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_0_1_auto_tl_in_a_valid = out_xbar_auto_out_6_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_opcode = out_xbar_auto_out_6_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_param = out_xbar_auto_out_6_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_size = out_xbar_auto_out_6_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_source = out_xbar_auto_out_6_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_address = out_xbar_auto_out_6_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_mask = out_xbar_auto_out_6_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_1_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_6_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_0_1_auto_tl_in_d_ready = out_xbar_auto_out_6_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_qspi_ram_0_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_control_xing_out_a_ready =
+    auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_valid =
+    auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_opcode =
+    auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_size =
+    auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_source =
+    auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_ram_0_auto_control_xing_out_d_bits_data =
+    auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_valid = out_xbar_auto_out_7_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_opcode = out_xbar_auto_out_7_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_param = out_xbar_auto_out_7_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_size = out_xbar_auto_out_7_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_source = out_xbar_auto_out_7_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_address = out_xbar_auto_out_7_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_mask = out_xbar_auto_out_7_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_data = out_xbar_auto_out_7_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_7_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_d_ready = out_xbar_auto_out_7_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_spi_0_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_spi_0_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  assign coupler_to_device_named_spi_0_auto_tl_in_a_valid = out_xbar_auto_out_8_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_spi_0_auto_tl_in_a_bits_opcode = out_xbar_auto_out_8_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_spi_0_auto_tl_in_a_bits_param = out_xbar_auto_out_8_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_spi_0_auto_tl_in_a_bits_size = out_xbar_auto_out_8_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_spi_0_auto_tl_in_a_bits_source = out_xbar_auto_out_8_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_spi_0_auto_tl_in_a_bits_address = out_xbar_auto_out_8_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_spi_0_auto_tl_in_a_bits_mask = out_xbar_auto_out_8_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_spi_0_auto_tl_in_a_bits_data = out_xbar_auto_out_8_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_spi_0_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_8_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_spi_0_auto_tl_in_d_ready = out_xbar_auto_out_8_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_gpio_0_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_gpio_0_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  assign coupler_to_device_named_gpio_0_auto_tl_in_a_valid = out_xbar_auto_out_9_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_gpio_0_auto_tl_in_a_bits_opcode = out_xbar_auto_out_9_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_gpio_0_auto_tl_in_a_bits_param = out_xbar_auto_out_9_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_gpio_0_auto_tl_in_a_bits_size = out_xbar_auto_out_9_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_gpio_0_auto_tl_in_a_bits_source = out_xbar_auto_out_9_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_gpio_0_auto_tl_in_a_bits_address = out_xbar_auto_out_9_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_gpio_0_auto_tl_in_a_bits_mask = out_xbar_auto_out_9_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_gpio_0_auto_tl_in_a_bits_data = out_xbar_auto_out_9_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_gpio_0_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_9_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_gpio_0_auto_tl_in_d_ready = out_xbar_auto_out_9_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_0_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_pwm_0_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_pwm_0_auto_control_xing_out_a_ready =
+    auto_coupler_to_device_named_pwm_0_control_xing_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_0_auto_control_xing_out_d_valid =
+    auto_coupler_to_device_named_pwm_0_control_xing_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_0_auto_control_xing_out_d_bits_opcode =
+    auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_0_auto_control_xing_out_d_bits_size =
+    auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_0_auto_control_xing_out_d_bits_source =
+    auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_0_auto_control_xing_out_d_bits_data =
+    auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_0_auto_tl_in_a_valid = out_xbar_auto_out_10_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_0_auto_tl_in_a_bits_opcode = out_xbar_auto_out_10_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_0_auto_tl_in_a_bits_param = out_xbar_auto_out_10_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_0_auto_tl_in_a_bits_size = out_xbar_auto_out_10_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_0_auto_tl_in_a_bits_source = out_xbar_auto_out_10_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_0_auto_tl_in_a_bits_address = out_xbar_auto_out_10_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_0_auto_tl_in_a_bits_mask = out_xbar_auto_out_10_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_0_auto_tl_in_a_bits_data = out_xbar_auto_out_10_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_0_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_10_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_0_auto_tl_in_d_ready = out_xbar_auto_out_10_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_1_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_pwm_1_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_pwm_1_auto_control_xing_out_a_ready =
+    auto_coupler_to_device_named_pwm_1_control_xing_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_1_auto_control_xing_out_d_valid =
+    auto_coupler_to_device_named_pwm_1_control_xing_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_1_auto_control_xing_out_d_bits_opcode =
+    auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_1_auto_control_xing_out_d_bits_size =
+    auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_1_auto_control_xing_out_d_bits_source =
+    auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_1_auto_control_xing_out_d_bits_data =
+    auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_1_auto_tl_in_a_valid = out_xbar_auto_out_11_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_1_auto_tl_in_a_bits_opcode = out_xbar_auto_out_11_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_1_auto_tl_in_a_bits_param = out_xbar_auto_out_11_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_1_auto_tl_in_a_bits_size = out_xbar_auto_out_11_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_1_auto_tl_in_a_bits_source = out_xbar_auto_out_11_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_1_auto_tl_in_a_bits_address = out_xbar_auto_out_11_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_1_auto_tl_in_a_bits_mask = out_xbar_auto_out_11_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_1_auto_tl_in_a_bits_data = out_xbar_auto_out_11_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_1_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_11_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_1_auto_tl_in_d_ready = out_xbar_auto_out_11_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_2_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_pwm_2_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_pwm_2_auto_control_xing_out_a_ready =
+    auto_coupler_to_device_named_pwm_2_control_xing_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_2_auto_control_xing_out_d_valid =
+    auto_coupler_to_device_named_pwm_2_control_xing_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_2_auto_control_xing_out_d_bits_opcode =
+    auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_2_auto_control_xing_out_d_bits_size =
+    auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_2_auto_control_xing_out_d_bits_source =
+    auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_2_auto_control_xing_out_d_bits_data =
+    auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_pwm_2_auto_tl_in_a_valid = out_xbar_auto_out_12_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_2_auto_tl_in_a_bits_opcode = out_xbar_auto_out_12_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_2_auto_tl_in_a_bits_param = out_xbar_auto_out_12_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_2_auto_tl_in_a_bits_size = out_xbar_auto_out_12_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_2_auto_tl_in_a_bits_source = out_xbar_auto_out_12_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_2_auto_tl_in_a_bits_address = out_xbar_auto_out_12_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_2_auto_tl_in_a_bits_mask = out_xbar_auto_out_12_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_2_auto_tl_in_a_bits_data = out_xbar_auto_out_12_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_2_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_12_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_pwm_2_auto_tl_in_d_ready = out_xbar_auto_out_12_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_0_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_i2c_0_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  assign coupler_to_device_named_i2c_0_auto_tl_in_a_valid = out_xbar_auto_out_13_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_0_auto_tl_in_a_bits_opcode = out_xbar_auto_out_13_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_0_auto_tl_in_a_bits_param = out_xbar_auto_out_13_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_0_auto_tl_in_a_bits_size = out_xbar_auto_out_13_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_0_auto_tl_in_a_bits_source = out_xbar_auto_out_13_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_0_auto_tl_in_a_bits_address = out_xbar_auto_out_13_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_0_auto_tl_in_a_bits_mask = out_xbar_auto_out_13_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_0_auto_tl_in_a_bits_data = out_xbar_auto_out_13_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_0_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_13_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_0_auto_tl_in_d_ready = out_xbar_auto_out_13_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_1_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_i2c_1_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  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 311:12]
+  assign coupler_to_device_named_i2c_1_auto_tl_in_a_valid = out_xbar_auto_out_14_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_1_auto_tl_in_a_bits_opcode = out_xbar_auto_out_14_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_1_auto_tl_in_a_bits_param = out_xbar_auto_out_14_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_1_auto_tl_in_a_bits_size = out_xbar_auto_out_14_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_1_auto_tl_in_a_bits_source = out_xbar_auto_out_14_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_1_auto_tl_in_a_bits_address = out_xbar_auto_out_14_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_1_auto_tl_in_a_bits_mask = out_xbar_auto_out_14_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_1_auto_tl_in_a_bits_data = out_xbar_auto_out_14_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_1_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_14_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_i2c_1_auto_tl_in_d_ready = out_xbar_auto_out_14_d_ready; // @[LazyModule.scala 298:16]
+endmodule
+module ClockGroupAggregator_2(
+  input   auto_in_member_subsystem_fbus_0_clock,
+  input   auto_in_member_subsystem_fbus_0_reset,
+  output  auto_out_member_subsystem_fbus_0_clock,
+  output  auto_out_member_subsystem_fbus_0_reset
+);
+  assign auto_out_member_subsystem_fbus_0_clock = auto_in_member_subsystem_fbus_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_member_subsystem_fbus_0_reset = auto_in_member_subsystem_fbus_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module ClockGroup_2(
+  input   auto_in_member_subsystem_fbus_0_clock,
+  input   auto_in_member_subsystem_fbus_0_reset,
+  output  auto_out_clock,
+  output  auto_out_reset
+);
+  assign auto_out_clock = auto_in_member_subsystem_fbus_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_reset = auto_in_member_subsystem_fbus_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module FixedClockBroadcast_2(
+  input   auto_in_clock,
+  input   auto_in_reset,
+  output  auto_out_clock,
+  output  auto_out_reset
+);
+  assign auto_out_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module FrontBus(
+  input   auto_subsystem_fbus_clock_groups_in_member_subsystem_fbus_0_clock,
+  input   auto_subsystem_fbus_clock_groups_in_member_subsystem_fbus_0_reset
+);
+  wire  subsystem_fbus_clock_groups_auto_in_member_subsystem_fbus_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_fbus_clock_groups_auto_in_member_subsystem_fbus_0_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_fbus_clock_groups_auto_out_member_subsystem_fbus_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_fbus_clock_groups_auto_out_member_subsystem_fbus_0_reset; // @[BusWrapper.scala 40:48]
+  wire  clockGroup_auto_in_member_subsystem_fbus_0_clock; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_in_member_subsystem_fbus_0_reset; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_out_clock; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_out_reset; // @[BusWrapper.scala 41:38]
+  wire  fixedClockNode_auto_in_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_in_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_reset; // @[ClockGroup.scala 106:107]
+  ClockGroupAggregator_2 subsystem_fbus_clock_groups ( // @[BusWrapper.scala 40:48]
+    .auto_in_member_subsystem_fbus_0_clock(subsystem_fbus_clock_groups_auto_in_member_subsystem_fbus_0_clock),
+    .auto_in_member_subsystem_fbus_0_reset(subsystem_fbus_clock_groups_auto_in_member_subsystem_fbus_0_reset),
+    .auto_out_member_subsystem_fbus_0_clock(subsystem_fbus_clock_groups_auto_out_member_subsystem_fbus_0_clock),
+    .auto_out_member_subsystem_fbus_0_reset(subsystem_fbus_clock_groups_auto_out_member_subsystem_fbus_0_reset)
+  );
+  ClockGroup_2 clockGroup ( // @[BusWrapper.scala 41:38]
+    .auto_in_member_subsystem_fbus_0_clock(clockGroup_auto_in_member_subsystem_fbus_0_clock),
+    .auto_in_member_subsystem_fbus_0_reset(clockGroup_auto_in_member_subsystem_fbus_0_reset),
+    .auto_out_clock(clockGroup_auto_out_clock),
+    .auto_out_reset(clockGroup_auto_out_reset)
+  );
+  FixedClockBroadcast_2 fixedClockNode ( // @[ClockGroup.scala 106:107]
+    .auto_in_clock(fixedClockNode_auto_in_clock),
+    .auto_in_reset(fixedClockNode_auto_in_reset),
+    .auto_out_clock(fixedClockNode_auto_out_clock),
+    .auto_out_reset(fixedClockNode_auto_out_reset)
+  );
+  assign subsystem_fbus_clock_groups_auto_in_member_subsystem_fbus_0_clock =
+    auto_subsystem_fbus_clock_groups_in_member_subsystem_fbus_0_clock; // @[LazyModule.scala 309:16]
+  assign subsystem_fbus_clock_groups_auto_in_member_subsystem_fbus_0_reset =
+    auto_subsystem_fbus_clock_groups_in_member_subsystem_fbus_0_reset; // @[LazyModule.scala 309:16]
+  assign clockGroup_auto_in_member_subsystem_fbus_0_clock =
+    subsystem_fbus_clock_groups_auto_out_member_subsystem_fbus_0_clock; // @[LazyModule.scala 298:16]
+  assign clockGroup_auto_in_member_subsystem_fbus_0_reset =
+    subsystem_fbus_clock_groups_auto_out_member_subsystem_fbus_0_reset; // @[LazyModule.scala 298:16]
+  assign fixedClockNode_auto_in_clock = clockGroup_auto_out_clock; // @[LazyModule.scala 298:16]
+  assign fixedClockNode_auto_in_reset = clockGroup_auto_out_reset; // @[LazyModule.scala 298:16]
+endmodule
+module ClockGroupAggregator_3(
+  input   auto_in_member_subsystem_cbus_1_clock,
+  input   auto_in_member_subsystem_cbus_1_reset,
+  input   auto_in_member_subsystem_cbus_0_clock,
+  input   auto_in_member_subsystem_cbus_0_reset,
+  output  auto_out_1_member_subsystem_pbus_0_clock,
+  output  auto_out_1_member_subsystem_pbus_0_reset,
+  output  auto_out_0_member_subsystem_cbus_0_clock,
+  output  auto_out_0_member_subsystem_cbus_0_reset
+);
+  assign auto_out_1_member_subsystem_pbus_0_clock = auto_in_member_subsystem_cbus_1_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_member_subsystem_pbus_0_reset = auto_in_member_subsystem_cbus_1_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_member_subsystem_cbus_0_clock = auto_in_member_subsystem_cbus_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_member_subsystem_cbus_0_reset = auto_in_member_subsystem_cbus_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module ClockGroup_3(
+  input   auto_in_member_subsystem_cbus_0_clock,
+  input   auto_in_member_subsystem_cbus_0_reset,
+  output  auto_out_clock,
+  output  auto_out_reset
+);
+  assign auto_out_clock = auto_in_member_subsystem_cbus_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_reset = auto_in_member_subsystem_cbus_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module FixedClockBroadcast_3(
+  input   auto_in_clock,
+  input   auto_in_reset,
+  output  auto_out_3_clock,
+  output  auto_out_3_reset,
+  output  auto_out_1_clock,
+  output  auto_out_1_reset,
+  output  auto_out_0_clock,
+  output  auto_out_0_reset
+);
+  assign auto_out_3_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_clock = auto_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_reset = auto_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_24(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [3:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [29:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [3:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source,
+  input         io_in_d_bits_sink,
+  input         io_in_d_bits_denied,
+  input         io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [26:0] _is_aligned_mask_T_1 = 27'hfff << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask = ~_is_aligned_mask_T_1[11:0]; // @[package.scala 234:46]
+  wire [29:0] _GEN_71 = {{18'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [29:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 30'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 4'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire [30:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire  _T_35 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire  _T_42 = _T_35 & source_ok; // @[Parameters.scala 1160:30]
+  wire [30:0] _T_48 = $signed(_T_7) & -31'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_50 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_51 = {1'b0,$signed(_T_50)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_53 = $signed(_T_51) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_54 = $signed(_T_53) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_55 = io_in_a_bits_address ^ 30'h10000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_56 = {1'b0,$signed(_T_55)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_58 = $signed(_T_56) & -31'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_59 = $signed(_T_58) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_60 = io_in_a_bits_address ^ 30'h2000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_61 = {1'b0,$signed(_T_60)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_63 = $signed(_T_61) & -31'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_64 = $signed(_T_63) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_65 = io_in_a_bits_address ^ 30'h8000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_66 = {1'b0,$signed(_T_65)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_68 = $signed(_T_66) & -31'sh4000; // @[Parameters.scala 137:52]
+  wire  _T_69 = $signed(_T_68) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_70 = io_in_a_bits_address ^ 30'hc000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_71 = {1'b0,$signed(_T_70)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_73 = $signed(_T_71) & -31'sh4000000; // @[Parameters.scala 137:52]
+  wire  _T_74 = $signed(_T_73) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_75 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_76 = {1'b0,$signed(_T_75)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_78 = $signed(_T_76) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_79 = $signed(_T_78) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_80 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_83 = $signed(_T_81) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_84 = $signed(_T_83) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_85 = io_in_a_bits_address ^ 30'h10016000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_88 = $signed(_T_86) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_89 = $signed(_T_88) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_90 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_93 = $signed(_T_91) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_94 = $signed(_T_93) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_95 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_98 = $signed(_T_96) & -31'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_99 = $signed(_T_98) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_100 = io_in_a_bits_address ^ 30'h10026000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_103 = $signed(_T_101) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_104 = $signed(_T_103) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_105 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_108 = $signed(_T_106) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_109 = $signed(_T_108) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_110 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_113 = $signed(_T_111) & -31'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_114 = $signed(_T_113) == 31'sh0; // @[Parameters.scala 137:67]
+  wire  _T_127 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109
+     | _T_114; // @[Parameters.scala 671:42]
+  wire  _T_137 = 4'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_138 = _source_ok_T & _T_137; // @[Mux.scala 27:73]
+  wire  _T_230 = _T_35 & _T_127; // @[Parameters.scala 670:56]
+  wire  _T_232 = _T_138 & _T_230; // @[Monitor.scala 83:78]
+  wire  _T_246 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_250 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_251 = _T_250 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_255 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_259 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_476 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_489 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_512 = _T_35 & _T_54; // @[Parameters.scala 670:56]
+  wire  _T_514 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 92:42]
+  wire  _T_593 = _T_49 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109 |
+    _T_114; // @[Parameters.scala 671:42]
+  wire  _T_594 = _T_514 & _T_593; // @[Parameters.scala 670:56]
+  wire  _T_596 = _T_512 | _T_594; // @[Parameters.scala 672:30]
+  wire  _T_606 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_610 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_618 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_707 = _T_49 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109; // @[Parameters.scala 671:42]
+  wire  _T_708 = _T_514 & _T_707; // @[Parameters.scala 670:56]
+  wire  _T_723 = _T_512 | _T_708; // @[Parameters.scala 672:30]
+  wire  _T_725 = _T_42 & _T_723; // @[Monitor.scala 115:71]
+  wire  _T_743 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_864 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_865 = io_in_a_bits_mask & _T_864; // @[Monitor.scala 127:31]
+  wire  _T_866 = _T_865 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_870 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_882 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 92:42]
+  wire  _T_931 = _T_54 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109; // @[Parameters.scala 671:42]
+  wire  _T_932 = _T_882 & _T_931; // @[Parameters.scala 670:56]
+  wire  _T_972 = _T_42 & _T_932; // @[Monitor.scala 131:74]
+  wire  _T_982 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_990 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_1102 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_1110 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_1212 = _T_42 & _T_512; // @[Monitor.scala 147:68]
+  wire  _T_1222 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_1234 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_1238 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_1242 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 312:27]
+  wire  _T_1246 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_1250 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_1254 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_1258 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_1269 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_1273 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_1286 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_1306 = _T_1254 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_1315 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_1332 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_1350 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [9:0] a_first_beats1_decode = is_aligned_mask[11:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [9:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1 = a_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [3:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [29:0] address; // @[Monitor.scala 388:22]
+  wire  _T_1380 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_1381 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_1385 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_1389 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_1393 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_1397 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [26:0] _d_first_beats1_decode_T_1 = 27'hfff << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [9:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1 = d_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [3:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  reg  sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_1404 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_1405 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_1409 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_1413 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_1417 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_1421 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_1425 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [23:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [9:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1_1 = a_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  reg [9:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_1 = d_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [4:0] _a_size_lookup_T = {io_in_d_bits_source, 3'h0}; // @[Monitor.scala 638:65]
+  wire [23:0] _a_size_lookup_T_1 = inflight_sizes >> _a_size_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _a_size_lookup_T_5 = 16'h100 - 16'h1; // @[Monitor.scala 609:57]
+  wire [23:0] _GEN_75 = {{8'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_75; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[23:1]}; // @[Monitor.scala 638:144]
+  wire  _T_1431 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_1434 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [4:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [4:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 5'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_77 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_77}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [4:0] _a_sizes_set_T = {io_in_a_bits_source, 3'h0}; // @[Monitor.scala 657:77]
+  wire [4:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 5'h0; // @[Monitor.scala 652:72 655:28]
+  wire [35:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [35:0] _a_sizes_set_T_1 = _GEN_2 << _a_sizes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_1436 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_1438 = ~_T_1436[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [35:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 36'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_1442 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_1444 = ~_T_1238; // @[Monitor.scala 671:74]
+  wire  _T_1445 = io_in_d_valid & d_first_1 & ~_T_1238; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [46:0] _GEN_4 = {{31'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 678:74]
+  wire [46:0] _d_sizes_clr_T_5 = _GEN_4 << _a_size_lookup_T; // @[Monitor.scala 678:74]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_1444 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_1444 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire [46:0] _GEN_24 = _d_first_T & d_first_1 & _T_1444 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 678:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_1431 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_1455 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_1457 = _T_1455[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_1462 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_1463 = io_in_d_bits_opcode == _GEN_32 | _T_1462; // @[Monitor.scala 685:77]
+  wire  _T_1467 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_1474 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_1475 = io_in_d_bits_opcode == _GEN_48 | _T_1474; // @[Monitor.scala 689:72]
+  wire [7:0] a_size_lookup = _a_size_lookup_T_7[7:0];
+  wire [7:0] _GEN_79 = {{4'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_1479 = _GEN_79 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_1489 = _T_1442 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_1444; // @[Monitor.scala 694:116]
+  wire  _T_1491 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [23:0] a_sizes_set = _GEN_20[23:0];
+  wire [23:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [23:0] d_sizes_clr = _GEN_24[23:0];
+  wire [23:0] _inflight_sizes_T_1 = ~d_sizes_clr; // @[Monitor.scala 704:56]
+  wire [23:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_sizes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_1500 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [23:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [9:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_2 = d_first_counter_2 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 10'h0; // @[Edges.scala 230:25]
+  wire [23:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_size_lookup_T; // @[Monitor.scala 747:42]
+  wire [23:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_75; // @[Monitor.scala 747:93]
+  wire [23:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[23:1]}; // @[Monitor.scala 747:146]
+  wire  _T_1526 = io_in_d_valid & d_first_2 & _T_1238; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_1238 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_69 = _d_first_T & d_first_2 & _T_1238 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 786:21]
+  wire [2:0] _T_1534 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [7:0] c_size_lookup = _c_size_lookup_T_7[7:0];
+  wire  _T_1544 = _GEN_79 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [23:0] d_sizes_clr_1 = _GEN_69[23:0];
+  wire [23:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
+  wire [23:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_1564 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 10'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 10'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 24'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 24'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_232 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_232) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_246 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_251 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_251) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_232 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_232) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_246 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_476 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_476) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_251 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_251) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_42 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_42) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_596 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_596) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_606 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_606) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_725 & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~_T_725) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_606 & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~_T_606) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_725 & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~_T_725) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_606 & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~_T_606) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_866 & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~_T_866) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_972 & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~_T_972) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_982 & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~_T_982) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_972 & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~_T_972) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1102 & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~_T_1102) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1212 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_1212) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1222 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_1222) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1234 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_1234) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1242 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1242) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1254 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1254) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1242 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1242) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1269 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1269) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1273 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1273) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1242 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1242) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1269 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1269) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1273 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1273) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1306 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1306) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1315 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1315 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1315 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1315 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1315 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1315 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1332 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1332 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1332 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1332 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1306 & (io_in_d_valid & _T_1332 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1332 & _T_2 & ~_T_1306) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1350 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1350 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1350 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1350 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1350 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1350 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1381 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1381) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1385 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1389 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1389) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1393 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1393) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1397 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1405 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1409 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1409) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1413 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1413) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1417 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1417) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1421 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1425 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1438 & (_T_1434 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1434 & ~reset & ~_T_1438) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1457 & (_T_1445 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & _T_2 & ~_T_1457) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1463 & (_T_1445 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & same_cycle_resp & _T_2 & ~_T_1463) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1467 & (_T_1445 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & same_cycle_resp & _T_2 & ~_T_1467) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1475 & (_T_1445 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & ~same_cycle_resp & _T_2 & ~_T_1475) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1479 & (_T_1445 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & ~same_cycle_resp & _T_2 & ~_T_1479) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1491 & (_T_1489 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1489 & _T_2 & ~_T_1491) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1500 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1500) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1534[0] & (_T_1526 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1526 & _T_2 & ~_T_1534[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1544 & (_T_1526 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1526 & _T_2 & ~_T_1544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1564 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1564) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:54:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[9:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[9:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  param_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  size_1 = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  source_1 = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  sink = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  denied = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  inflight = _RAND_13[2:0];
+  _RAND_14 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_14[11:0];
+  _RAND_15 = {1{`RANDOM}};
+  inflight_sizes = _RAND_15[23:0];
+  _RAND_16 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_16[9:0];
+  _RAND_17 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_17[9:0];
+  _RAND_18 = {1{`RANDOM}};
+  watchdog = _RAND_18[31:0];
+  _RAND_19 = {1{`RANDOM}};
+  inflight_1 = _RAND_19[2:0];
+  _RAND_20 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_20[23:0];
+  _RAND_21 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_21[9:0];
+  _RAND_22 = {1{`RANDOM}};
+  watchdog_1 = _RAND_22[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFIFOFixer_2(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [3:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [3:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [3:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [3:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input         auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [29:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  TLMonitor_24 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[FIFOFixer.scala 88:33]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[FIFOFixer.scala 87:33]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = auto_out_a_ready; // @[FIFOFixer.scala 88:33]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLXbar_4(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [3:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [3:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [3:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [3:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input         auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Xbar.scala 228:69]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[Xbar.scala 323:53]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_25(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [3:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [29:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [3:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source,
+  input         io_in_d_bits_sink,
+  input         io_in_d_bits_denied,
+  input         io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [26:0] _is_aligned_mask_T_1 = 27'hfff << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask = ~_is_aligned_mask_T_1[11:0]; // @[package.scala 234:46]
+  wire [29:0] _GEN_71 = {{18'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [29:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 30'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 4'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire [30:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire  _T_35 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire  _T_42 = _T_35 & source_ok; // @[Parameters.scala 1160:30]
+  wire [30:0] _T_48 = $signed(_T_7) & -31'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_50 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_51 = {1'b0,$signed(_T_50)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_53 = $signed(_T_51) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_54 = $signed(_T_53) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_55 = io_in_a_bits_address ^ 30'h10000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_56 = {1'b0,$signed(_T_55)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_58 = $signed(_T_56) & -31'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_59 = $signed(_T_58) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_60 = io_in_a_bits_address ^ 30'h2000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_61 = {1'b0,$signed(_T_60)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_63 = $signed(_T_61) & -31'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_64 = $signed(_T_63) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_65 = io_in_a_bits_address ^ 30'h8000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_66 = {1'b0,$signed(_T_65)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_68 = $signed(_T_66) & -31'sh4000; // @[Parameters.scala 137:52]
+  wire  _T_69 = $signed(_T_68) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_70 = io_in_a_bits_address ^ 30'hc000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_71 = {1'b0,$signed(_T_70)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_73 = $signed(_T_71) & -31'sh4000000; // @[Parameters.scala 137:52]
+  wire  _T_74 = $signed(_T_73) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_75 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_76 = {1'b0,$signed(_T_75)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_78 = $signed(_T_76) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_79 = $signed(_T_78) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_80 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_83 = $signed(_T_81) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_84 = $signed(_T_83) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_85 = io_in_a_bits_address ^ 30'h10016000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_88 = $signed(_T_86) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_89 = $signed(_T_88) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_90 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_93 = $signed(_T_91) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_94 = $signed(_T_93) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_95 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_98 = $signed(_T_96) & -31'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_99 = $signed(_T_98) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_100 = io_in_a_bits_address ^ 30'h10026000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_103 = $signed(_T_101) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_104 = $signed(_T_103) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_105 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_108 = $signed(_T_106) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_109 = $signed(_T_108) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_110 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_113 = $signed(_T_111) & -31'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_114 = $signed(_T_113) == 31'sh0; // @[Parameters.scala 137:67]
+  wire  _T_127 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109
+     | _T_114; // @[Parameters.scala 671:42]
+  wire  _T_137 = 4'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_138 = _source_ok_T & _T_137; // @[Mux.scala 27:73]
+  wire  _T_230 = _T_35 & _T_127; // @[Parameters.scala 670:56]
+  wire  _T_232 = _T_138 & _T_230; // @[Monitor.scala 83:78]
+  wire  _T_246 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_250 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_251 = _T_250 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_255 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_259 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_476 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_489 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_512 = _T_35 & _T_54; // @[Parameters.scala 670:56]
+  wire  _T_514 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 92:42]
+  wire  _T_593 = _T_49 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109 |
+    _T_114; // @[Parameters.scala 671:42]
+  wire  _T_594 = _T_514 & _T_593; // @[Parameters.scala 670:56]
+  wire  _T_596 = _T_512 | _T_594; // @[Parameters.scala 672:30]
+  wire  _T_606 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_610 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_618 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_707 = _T_49 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109; // @[Parameters.scala 671:42]
+  wire  _T_708 = _T_514 & _T_707; // @[Parameters.scala 670:56]
+  wire  _T_723 = _T_512 | _T_708; // @[Parameters.scala 672:30]
+  wire  _T_725 = _T_42 & _T_723; // @[Monitor.scala 115:71]
+  wire  _T_743 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_864 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_865 = io_in_a_bits_mask & _T_864; // @[Monitor.scala 127:31]
+  wire  _T_866 = _T_865 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_870 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_882 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 92:42]
+  wire  _T_931 = _T_54 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109; // @[Parameters.scala 671:42]
+  wire  _T_932 = _T_882 & _T_931; // @[Parameters.scala 670:56]
+  wire  _T_972 = _T_42 & _T_932; // @[Monitor.scala 131:74]
+  wire  _T_982 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_990 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_1102 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_1110 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_1212 = _T_42 & _T_512; // @[Monitor.scala 147:68]
+  wire  _T_1222 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_1234 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_1238 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_1242 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 312:27]
+  wire  _T_1246 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_1250 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_1254 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_1258 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_1269 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_1273 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_1286 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_1306 = _T_1254 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_1315 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_1332 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_1350 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [9:0] a_first_beats1_decode = is_aligned_mask[11:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [9:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1 = a_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [3:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [29:0] address; // @[Monitor.scala 388:22]
+  wire  _T_1380 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_1381 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_1385 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_1389 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_1393 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_1397 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [26:0] _d_first_beats1_decode_T_1 = 27'hfff << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [9:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1 = d_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [3:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  reg  sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_1404 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_1405 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_1409 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_1413 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_1417 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_1421 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_1425 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [23:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [9:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1_1 = a_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  reg [9:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_1 = d_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [4:0] _a_size_lookup_T = {io_in_d_bits_source, 3'h0}; // @[Monitor.scala 638:65]
+  wire [23:0] _a_size_lookup_T_1 = inflight_sizes >> _a_size_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _a_size_lookup_T_5 = 16'h100 - 16'h1; // @[Monitor.scala 609:57]
+  wire [23:0] _GEN_75 = {{8'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_75; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[23:1]}; // @[Monitor.scala 638:144]
+  wire  _T_1431 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_1434 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [4:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [4:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 5'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_77 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_77}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [4:0] _a_sizes_set_T = {io_in_a_bits_source, 3'h0}; // @[Monitor.scala 657:77]
+  wire [4:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 5'h0; // @[Monitor.scala 652:72 655:28]
+  wire [35:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [35:0] _a_sizes_set_T_1 = _GEN_2 << _a_sizes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_1436 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_1438 = ~_T_1436[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [35:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 36'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_1442 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_1444 = ~_T_1238; // @[Monitor.scala 671:74]
+  wire  _T_1445 = io_in_d_valid & d_first_1 & ~_T_1238; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [46:0] _GEN_4 = {{31'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 678:74]
+  wire [46:0] _d_sizes_clr_T_5 = _GEN_4 << _a_size_lookup_T; // @[Monitor.scala 678:74]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_1444 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_1444 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire [46:0] _GEN_24 = _d_first_T & d_first_1 & _T_1444 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 678:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_1431 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_1455 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_1457 = _T_1455[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_1462 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_1463 = io_in_d_bits_opcode == _GEN_32 | _T_1462; // @[Monitor.scala 685:77]
+  wire  _T_1467 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_1474 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_1475 = io_in_d_bits_opcode == _GEN_48 | _T_1474; // @[Monitor.scala 689:72]
+  wire [7:0] a_size_lookup = _a_size_lookup_T_7[7:0];
+  wire [7:0] _GEN_79 = {{4'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_1479 = _GEN_79 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_1489 = _T_1442 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_1444; // @[Monitor.scala 694:116]
+  wire  _T_1491 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [23:0] a_sizes_set = _GEN_20[23:0];
+  wire [23:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [23:0] d_sizes_clr = _GEN_24[23:0];
+  wire [23:0] _inflight_sizes_T_1 = ~d_sizes_clr; // @[Monitor.scala 704:56]
+  wire [23:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_sizes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_1500 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [23:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [9:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_2 = d_first_counter_2 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 10'h0; // @[Edges.scala 230:25]
+  wire [23:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_size_lookup_T; // @[Monitor.scala 747:42]
+  wire [23:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_75; // @[Monitor.scala 747:93]
+  wire [23:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[23:1]}; // @[Monitor.scala 747:146]
+  wire  _T_1526 = io_in_d_valid & d_first_2 & _T_1238; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_1238 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_69 = _d_first_T & d_first_2 & _T_1238 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 786:21]
+  wire [2:0] _T_1534 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [7:0] c_size_lookup = _c_size_lookup_T_7[7:0];
+  wire  _T_1544 = _GEN_79 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [23:0] d_sizes_clr_1 = _GEN_69[23:0];
+  wire [23:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
+  wire [23:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_1564 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 10'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 10'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 24'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 24'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_232 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_232) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_246 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_251 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_251) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_232 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_232) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_246 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_476 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_476) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_251 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_251) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_42 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_42) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_596 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_596) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_606 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_606) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_725 & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~_T_725) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_606 & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~_T_606) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_725 & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~_T_725) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_606 & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~_T_606) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_866 & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~_T_866) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_972 & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~_T_972) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_982 & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~_T_982) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_972 & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~_T_972) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1102 & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~_T_1102) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1212 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_1212) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1222 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_1222) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1234 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_1234) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1242 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1242) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1254 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1254) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1242 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1242) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1269 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1269) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1273 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1273) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1242 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1242) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1269 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1269) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1273 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1273) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1306 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1306) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1315 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1315 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1315 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1315 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1315 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1315 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1332 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1332 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1332 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1332 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1306 & (io_in_d_valid & _T_1332 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1332 & _T_2 & ~_T_1306) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1350 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1350 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1350 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1350 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1350 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1350 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1381 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1381) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1385 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1389 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1389) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1393 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1393) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1397 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1405 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1409 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1409) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1413 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1413) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1417 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1417) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1421 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1425 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1438 & (_T_1434 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1434 & ~reset & ~_T_1438) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1457 & (_T_1445 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & _T_2 & ~_T_1457) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1463 & (_T_1445 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & same_cycle_resp & _T_2 & ~_T_1463) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1467 & (_T_1445 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & same_cycle_resp & _T_2 & ~_T_1467) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1475 & (_T_1445 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & ~same_cycle_resp & _T_2 & ~_T_1475) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1479 & (_T_1445 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & ~same_cycle_resp & _T_2 & ~_T_1479) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1491 & (_T_1489 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1489 & _T_2 & ~_T_1491) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1500 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1500) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1534[0] & (_T_1526 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1526 & _T_2 & ~_T_1534[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1544 & (_T_1526 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1526 & _T_2 & ~_T_1544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1564 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1564) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:53:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[9:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[9:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  param_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  size_1 = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  source_1 = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  sink = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  denied = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  inflight = _RAND_13[2:0];
+  _RAND_14 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_14[11:0];
+  _RAND_15 = {1{`RANDOM}};
+  inflight_sizes = _RAND_15[23:0];
+  _RAND_16 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_16[9:0];
+  _RAND_17 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_17[9:0];
+  _RAND_18 = {1{`RANDOM}};
+  watchdog = _RAND_18[31:0];
+  _RAND_19 = {1{`RANDOM}};
+  inflight_1 = _RAND_19[2:0];
+  _RAND_20 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_20[23:0];
+  _RAND_21 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_21[9:0];
+  _RAND_22 = {1{`RANDOM}};
+  watchdog_1 = _RAND_22[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLXbar_5(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [3:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [3:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_7_a_ready,
+  output        auto_out_7_a_valid,
+  output [2:0]  auto_out_7_a_bits_opcode,
+  output [2:0]  auto_out_7_a_bits_param,
+  output [2:0]  auto_out_7_a_bits_size,
+  output [1:0]  auto_out_7_a_bits_source,
+  output [16:0] auto_out_7_a_bits_address,
+  output [3:0]  auto_out_7_a_bits_mask,
+  output        auto_out_7_a_bits_corrupt,
+  output        auto_out_7_d_ready,
+  input         auto_out_7_d_valid,
+  input  [2:0]  auto_out_7_d_bits_size,
+  input  [1:0]  auto_out_7_d_bits_source,
+  input  [31:0] auto_out_7_d_bits_data,
+  input         auto_out_6_a_ready,
+  output        auto_out_6_a_valid,
+  output [2:0]  auto_out_6_a_bits_opcode,
+  output [2:0]  auto_out_6_a_bits_param,
+  output [2:0]  auto_out_6_a_bits_size,
+  output [1:0]  auto_out_6_a_bits_source,
+  output [28:0] auto_out_6_a_bits_address,
+  output [3:0]  auto_out_6_a_bits_mask,
+  output [31:0] auto_out_6_a_bits_data,
+  output        auto_out_6_a_bits_corrupt,
+  output        auto_out_6_d_ready,
+  input         auto_out_6_d_valid,
+  input  [2:0]  auto_out_6_d_bits_opcode,
+  input  [1:0]  auto_out_6_d_bits_param,
+  input  [2:0]  auto_out_6_d_bits_size,
+  input  [1:0]  auto_out_6_d_bits_source,
+  input         auto_out_6_d_bits_sink,
+  input         auto_out_6_d_bits_denied,
+  input  [31:0] auto_out_6_d_bits_data,
+  input         auto_out_6_d_bits_corrupt,
+  input         auto_out_5_a_ready,
+  output        auto_out_5_a_valid,
+  output [2:0]  auto_out_5_a_bits_opcode,
+  output [2:0]  auto_out_5_a_bits_param,
+  output [2:0]  auto_out_5_a_bits_size,
+  output [1:0]  auto_out_5_a_bits_source,
+  output [27:0] auto_out_5_a_bits_address,
+  output [3:0]  auto_out_5_a_bits_mask,
+  output [31:0] auto_out_5_a_bits_data,
+  output        auto_out_5_a_bits_corrupt,
+  output        auto_out_5_d_ready,
+  input         auto_out_5_d_valid,
+  input  [2:0]  auto_out_5_d_bits_opcode,
+  input  [1:0]  auto_out_5_d_bits_param,
+  input  [2:0]  auto_out_5_d_bits_size,
+  input  [1:0]  auto_out_5_d_bits_source,
+  input         auto_out_5_d_bits_sink,
+  input         auto_out_5_d_bits_denied,
+  input  [31:0] auto_out_5_d_bits_data,
+  input         auto_out_5_d_bits_corrupt,
+  input         auto_out_4_a_ready,
+  output        auto_out_4_a_valid,
+  output [2:0]  auto_out_4_a_bits_opcode,
+  output [2:0]  auto_out_4_a_bits_param,
+  output [2:0]  auto_out_4_a_bits_size,
+  output [1:0]  auto_out_4_a_bits_source,
+  output [11:0] auto_out_4_a_bits_address,
+  output [3:0]  auto_out_4_a_bits_mask,
+  output [31:0] auto_out_4_a_bits_data,
+  output        auto_out_4_a_bits_corrupt,
+  output        auto_out_4_d_ready,
+  input         auto_out_4_d_valid,
+  input  [2:0]  auto_out_4_d_bits_opcode,
+  input  [2:0]  auto_out_4_d_bits_size,
+  input  [1:0]  auto_out_4_d_bits_source,
+  input  [31:0] auto_out_4_d_bits_data,
+  input         auto_out_3_a_ready,
+  output        auto_out_3_a_valid,
+  output [2:0]  auto_out_3_a_bits_opcode,
+  output [2:0]  auto_out_3_a_bits_param,
+  output [2:0]  auto_out_3_a_bits_size,
+  output [1:0]  auto_out_3_a_bits_source,
+  output [25:0] auto_out_3_a_bits_address,
+  output [3:0]  auto_out_3_a_bits_mask,
+  output [31:0] auto_out_3_a_bits_data,
+  output        auto_out_3_a_bits_corrupt,
+  output        auto_out_3_d_ready,
+  input         auto_out_3_d_valid,
+  input  [2:0]  auto_out_3_d_bits_opcode,
+  input  [2:0]  auto_out_3_d_bits_size,
+  input  [1:0]  auto_out_3_d_bits_source,
+  input  [31:0] auto_out_3_d_bits_data,
+  input         auto_out_2_a_ready,
+  output        auto_out_2_a_valid,
+  output [2:0]  auto_out_2_a_bits_opcode,
+  output [2:0]  auto_out_2_a_bits_param,
+  output [2:0]  auto_out_2_a_bits_size,
+  output [1:0]  auto_out_2_a_bits_source,
+  output [27:0] auto_out_2_a_bits_address,
+  output [3:0]  auto_out_2_a_bits_mask,
+  output [31:0] auto_out_2_a_bits_data,
+  output        auto_out_2_a_bits_corrupt,
+  output        auto_out_2_d_ready,
+  input         auto_out_2_d_valid,
+  input  [2:0]  auto_out_2_d_bits_opcode,
+  input  [2:0]  auto_out_2_d_bits_size,
+  input  [1:0]  auto_out_2_d_bits_source,
+  input  [31:0] auto_out_2_d_bits_data,
+  input         auto_out_1_a_ready,
+  output        auto_out_1_a_valid,
+  output [2:0]  auto_out_1_a_bits_opcode,
+  output [2:0]  auto_out_1_a_bits_param,
+  output [2:0]  auto_out_1_a_bits_size,
+  output [1:0]  auto_out_1_a_bits_source,
+  output [29:0] auto_out_1_a_bits_address,
+  output [3:0]  auto_out_1_a_bits_mask,
+  output [31:0] auto_out_1_a_bits_data,
+  output        auto_out_1_a_bits_corrupt,
+  output        auto_out_1_d_ready,
+  input         auto_out_1_d_valid,
+  input  [2:0]  auto_out_1_d_bits_opcode,
+  input  [1:0]  auto_out_1_d_bits_param,
+  input  [2:0]  auto_out_1_d_bits_size,
+  input  [1:0]  auto_out_1_d_bits_source,
+  input         auto_out_1_d_bits_sink,
+  input         auto_out_1_d_bits_denied,
+  input  [31:0] auto_out_1_d_bits_data,
+  input         auto_out_1_d_bits_corrupt,
+  input         auto_out_0_a_ready,
+  output        auto_out_0_a_valid,
+  output [2:0]  auto_out_0_a_bits_opcode,
+  output [2:0]  auto_out_0_a_bits_param,
+  output [3:0]  auto_out_0_a_bits_size,
+  output [1:0]  auto_out_0_a_bits_source,
+  output [13:0] auto_out_0_a_bits_address,
+  output [3:0]  auto_out_0_a_bits_mask,
+  output        auto_out_0_a_bits_corrupt,
+  output        auto_out_0_d_ready,
+  input         auto_out_0_d_valid,
+  input  [2:0]  auto_out_0_d_bits_opcode,
+  input  [1:0]  auto_out_0_d_bits_param,
+  input  [3:0]  auto_out_0_d_bits_size,
+  input  [1:0]  auto_out_0_d_bits_source,
+  input         auto_out_0_d_bits_sink,
+  input         auto_out_0_d_bits_denied,
+  input  [31:0] auto_out_0_d_bits_data,
+  input         auto_out_0_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [29:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  reg [9:0] beatsLeft; // @[Arbiter.scala 87:30]
+  wire  idle = beatsLeft == 10'h0; // @[Arbiter.scala 88:28]
+  wire [7:0] readys_valid = {auto_out_7_d_valid,auto_out_6_d_valid,auto_out_5_d_valid,auto_out_4_d_valid,
+    auto_out_3_d_valid,auto_out_2_d_valid,auto_out_1_d_valid,auto_out_0_d_valid}; // @[Cat.scala 31:58]
+  reg [7:0] readys_mask; // @[Arbiter.scala 23:23]
+  wire [7:0] _readys_filter_T = ~readys_mask; // @[Arbiter.scala 24:30]
+  wire [7:0] _readys_filter_T_1 = readys_valid & _readys_filter_T; // @[Arbiter.scala 24:28]
+  wire [15:0] readys_filter = {_readys_filter_T_1,auto_out_7_d_valid,auto_out_6_d_valid,auto_out_5_d_valid,
+    auto_out_4_d_valid,auto_out_3_d_valid,auto_out_2_d_valid,auto_out_1_d_valid,auto_out_0_d_valid}; // @[Cat.scala 31:58]
+  wire [15:0] _GEN_1 = {{1'd0}, readys_filter[15:1]}; // @[package.scala 253:43]
+  wire [15:0] _readys_unready_T_1 = readys_filter | _GEN_1; // @[package.scala 253:43]
+  wire [15:0] _GEN_2 = {{2'd0}, _readys_unready_T_1[15:2]}; // @[package.scala 253:43]
+  wire [15:0] _readys_unready_T_3 = _readys_unready_T_1 | _GEN_2; // @[package.scala 253:43]
+  wire [15:0] _GEN_3 = {{4'd0}, _readys_unready_T_3[15:4]}; // @[package.scala 253:43]
+  wire [15:0] _readys_unready_T_5 = _readys_unready_T_3 | _GEN_3; // @[package.scala 253:43]
+  wire [15:0] _readys_unready_T_8 = {readys_mask, 8'h0}; // @[Arbiter.scala 25:66]
+  wire [15:0] _GEN_4 = {{1'd0}, _readys_unready_T_5[15:1]}; // @[Arbiter.scala 25:58]
+  wire [15:0] readys_unready = _GEN_4 | _readys_unready_T_8; // @[Arbiter.scala 25:58]
+  wire [7:0] _readys_readys_T_2 = readys_unready[15:8] & readys_unready[7:0]; // @[Arbiter.scala 26:39]
+  wire [7:0] readys_readys = ~_readys_readys_T_2; // @[Arbiter.scala 26:18]
+  wire  readys_0 = readys_readys[0]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_0 = readys_0 & auto_out_0_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_0; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_0 = idle ? earlyWinner_0 : state_0; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_132 = muxStateEarly_0 ? auto_out_0_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire  readys_1 = readys_readys[1]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_1 = readys_1 & auto_out_1_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_1; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_1 = idle ? earlyWinner_1 : state_1; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_133 = muxStateEarly_1 ? auto_out_1_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_140 = _T_132 | _T_133; // @[Mux.scala 27:73]
+  wire  readys_2 = readys_readys[2]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_2 = readys_2 & auto_out_2_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_2; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_2 = idle ? earlyWinner_2 : state_2; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_134 = muxStateEarly_2 ? auto_out_2_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_141 = _T_140 | _T_134; // @[Mux.scala 27:73]
+  wire  readys_3 = readys_readys[3]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_3 = readys_3 & auto_out_3_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_3; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_3 = idle ? earlyWinner_3 : state_3; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_135 = muxStateEarly_3 ? auto_out_3_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_142 = _T_141 | _T_135; // @[Mux.scala 27:73]
+  wire  readys_4 = readys_readys[4]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_4 = readys_4 & auto_out_4_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_4; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_4 = idle ? earlyWinner_4 : state_4; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_136 = muxStateEarly_4 ? auto_out_4_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_143 = _T_142 | _T_136; // @[Mux.scala 27:73]
+  wire  readys_5 = readys_readys[5]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_5 = readys_5 & auto_out_5_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_5; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_5 = idle ? earlyWinner_5 : state_5; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_137 = muxStateEarly_5 ? auto_out_5_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_144 = _T_143 | _T_137; // @[Mux.scala 27:73]
+  wire  readys_6 = readys_readys[6]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_6 = readys_6 & auto_out_6_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_6; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_6 = idle ? earlyWinner_6 : state_6; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_138 = muxStateEarly_6 ? auto_out_6_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_145 = _T_144 | _T_138; // @[Mux.scala 27:73]
+  wire  readys_7 = readys_readys[7]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_7 = readys_7 & auto_out_7_d_valid; // @[Arbiter.scala 97:79]
+  reg  state_7; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_7 = idle ? earlyWinner_7 : state_7; // @[Arbiter.scala 117:30]
+  wire [1:0] _T_139 = muxStateEarly_7 ? auto_out_7_d_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [29:0] _requestAIO_T = auto_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_1 = {1'b0,$signed(_requestAIO_T)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_3 = $signed(_requestAIO_T_1) & 31'sh3e057000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_0 = $signed(_requestAIO_T_3) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_5 = auto_in_a_bits_address ^ 30'h10003000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_6 = {1'b0,$signed(_requestAIO_T_5)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_8 = $signed(_requestAIO_T_6) & 31'sh3e057000; // @[Parameters.scala 137:52]
+  wire  _requestAIO_T_9 = $signed(_requestAIO_T_8) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_10 = auto_in_a_bits_address ^ 30'h10004000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_11 = {1'b0,$signed(_requestAIO_T_10)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_13 = $signed(_requestAIO_T_11) & 31'sh3e046000; // @[Parameters.scala 137:52]
+  wire  _requestAIO_T_14 = $signed(_requestAIO_T_13) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_15 = auto_in_a_bits_address ^ 30'h10006000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_16 = {1'b0,$signed(_requestAIO_T_15)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_18 = $signed(_requestAIO_T_16) & 31'sh3e047000; // @[Parameters.scala 137:52]
+  wire  _requestAIO_T_19 = $signed(_requestAIO_T_18) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_20 = auto_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_21 = {1'b0,$signed(_requestAIO_T_20)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_23 = $signed(_requestAIO_T_21) & 31'sh3e056000; // @[Parameters.scala 137:52]
+  wire  _requestAIO_T_24 = $signed(_requestAIO_T_23) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_25 = auto_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_26 = {1'b0,$signed(_requestAIO_T_25)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_28 = $signed(_requestAIO_T_26) & 31'sh3e047000; // @[Parameters.scala 137:52]
+  wire  _requestAIO_T_29 = $signed(_requestAIO_T_28) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_30 = auto_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_31 = {1'b0,$signed(_requestAIO_T_30)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_33 = $signed(_requestAIO_T_31) & 31'sh20000000; // @[Parameters.scala 137:52]
+  wire  _requestAIO_T_34 = $signed(_requestAIO_T_33) == 31'sh0; // @[Parameters.scala 137:67]
+  wire  requestAIO_0_1 = _requestAIO_T_9 | _requestAIO_T_14 | _requestAIO_T_19 | _requestAIO_T_24 | _requestAIO_T_29 |
+    _requestAIO_T_34; // @[Xbar.scala 363:92]
+  wire [29:0] _requestAIO_T_40 = auto_in_a_bits_address ^ 30'hc000000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_41 = {1'b0,$signed(_requestAIO_T_40)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_43 = $signed(_requestAIO_T_41) & 31'sh3c000000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_2 = $signed(_requestAIO_T_43) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_45 = auto_in_a_bits_address ^ 30'h2000000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_46 = {1'b0,$signed(_requestAIO_T_45)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_48 = $signed(_requestAIO_T_46) & 31'sh3e050000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_3 = $signed(_requestAIO_T_48) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _requestAIO_T_51 = {1'b0,$signed(auto_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_53 = $signed(_requestAIO_T_51) & 31'sh3e057000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_4 = $signed(_requestAIO_T_53) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_55 = auto_in_a_bits_address ^ 30'h8000000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_56 = {1'b0,$signed(_requestAIO_T_55)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_58 = $signed(_requestAIO_T_56) & 31'sh3e054000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_5 = $signed(_requestAIO_T_58) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_60 = auto_in_a_bits_address ^ 30'h10000000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_61 = {1'b0,$signed(_requestAIO_T_60)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_63 = $signed(_requestAIO_T_61) & 31'sh3e057000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_6 = $signed(_requestAIO_T_63) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _requestAIO_T_65 = auto_in_a_bits_address ^ 30'h10000; // @[Parameters.scala 137:31]
+  wire [30:0] _requestAIO_T_66 = {1'b0,$signed(_requestAIO_T_65)}; // @[Parameters.scala 137:49]
+  wire [30:0] _requestAIO_T_68 = $signed(_requestAIO_T_66) & 31'sh3e050000; // @[Parameters.scala 137:52]
+  wire  requestAIO_0_7 = $signed(_requestAIO_T_68) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [26:0] _beatsDO_decode_T_1 = 27'hfff << auto_out_0_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _beatsDO_decode_T_3 = ~_beatsDO_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] beatsDO_decode = _beatsDO_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata = auto_out_0_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [9:0] beatsDO_0 = beatsDO_opdata ? beatsDO_decode : 10'h0; // @[Edges.scala 220:14]
+  wire [3:0] out_1_1_d_bits_size = {{1'd0}, auto_out_1_d_bits_size}; // @[BundleMap.scala 247:19 Xbar.scala 288:19]
+  wire [20:0] _beatsDO_decode_T_5 = 21'h3f << out_1_1_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_7 = ~_beatsDO_decode_T_5[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_1 = _beatsDO_decode_T_7[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_1 = auto_out_1_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_1 = beatsDO_opdata_1 ? beatsDO_decode_1 : 4'h0; // @[Edges.scala 220:14]
+  wire [3:0] out_1_2_d_bits_size = {{1'd0}, auto_out_2_d_bits_size}; // @[BundleMap.scala 247:19 Xbar.scala 288:19]
+  wire [20:0] _beatsDO_decode_T_9 = 21'h3f << out_1_2_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_11 = ~_beatsDO_decode_T_9[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_2 = _beatsDO_decode_T_11[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_2 = auto_out_2_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_2 = beatsDO_opdata_2 ? beatsDO_decode_2 : 4'h0; // @[Edges.scala 220:14]
+  wire [3:0] out_1_3_d_bits_size = {{1'd0}, auto_out_3_d_bits_size}; // @[BundleMap.scala 247:19 Xbar.scala 288:19]
+  wire [20:0] _beatsDO_decode_T_13 = 21'h3f << out_1_3_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_15 = ~_beatsDO_decode_T_13[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_3 = _beatsDO_decode_T_15[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_3 = auto_out_3_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_3 = beatsDO_opdata_3 ? beatsDO_decode_3 : 4'h0; // @[Edges.scala 220:14]
+  wire [3:0] out_1_4_d_bits_size = {{1'd0}, auto_out_4_d_bits_size}; // @[BundleMap.scala 247:19 Xbar.scala 288:19]
+  wire [20:0] _beatsDO_decode_T_17 = 21'h3f << out_1_4_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_19 = ~_beatsDO_decode_T_17[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_4 = _beatsDO_decode_T_19[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_4 = auto_out_4_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_4 = beatsDO_opdata_4 ? beatsDO_decode_4 : 4'h0; // @[Edges.scala 220:14]
+  wire [3:0] out_1_5_d_bits_size = {{1'd0}, auto_out_5_d_bits_size}; // @[BundleMap.scala 247:19 Xbar.scala 288:19]
+  wire [20:0] _beatsDO_decode_T_21 = 21'h3f << out_1_5_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_23 = ~_beatsDO_decode_T_21[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_5 = _beatsDO_decode_T_23[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_5 = auto_out_5_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_5 = beatsDO_opdata_5 ? beatsDO_decode_5 : 4'h0; // @[Edges.scala 220:14]
+  wire [3:0] out_1_6_d_bits_size = {{1'd0}, auto_out_6_d_bits_size}; // @[BundleMap.scala 247:19 Xbar.scala 288:19]
+  wire [20:0] _beatsDO_decode_T_25 = 21'h3f << out_1_6_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_27 = ~_beatsDO_decode_T_25[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_6 = _beatsDO_decode_T_27[5:2]; // @[Edges.scala 219:59]
+  wire  beatsDO_opdata_6 = auto_out_6_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [3:0] beatsDO_6 = beatsDO_opdata_6 ? beatsDO_decode_6 : 4'h0; // @[Edges.scala 220:14]
+  wire [3:0] out_1_7_d_bits_size = {{1'd0}, auto_out_7_d_bits_size}; // @[BundleMap.scala 247:19 Xbar.scala 288:19]
+  wire [20:0] _beatsDO_decode_T_29 = 21'h3f << out_1_7_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beatsDO_decode_T_31 = ~_beatsDO_decode_T_29[5:0]; // @[package.scala 234:46]
+  wire [3:0] beatsDO_decode_7 = _beatsDO_decode_T_31[5:2]; // @[Edges.scala 219:59]
+  wire  latch = idle & auto_in_d_ready; // @[Arbiter.scala 89:24]
+  wire  _readys_T_3 = ~reset; // @[Arbiter.scala 22:12]
+  wire [7:0] _readys_mask_T = readys_readys & readys_valid; // @[Arbiter.scala 28:29]
+  wire [8:0] _readys_mask_T_1 = {_readys_mask_T, 1'h0}; // @[package.scala 244:48]
+  wire [7:0] _readys_mask_T_3 = _readys_mask_T | _readys_mask_T_1[7:0]; // @[package.scala 244:43]
+  wire [9:0] _readys_mask_T_4 = {_readys_mask_T_3, 2'h0}; // @[package.scala 244:48]
+  wire [7:0] _readys_mask_T_6 = _readys_mask_T_3 | _readys_mask_T_4[7:0]; // @[package.scala 244:43]
+  wire [11:0] _readys_mask_T_7 = {_readys_mask_T_6, 4'h0}; // @[package.scala 244:48]
+  wire [7:0] _readys_mask_T_9 = _readys_mask_T_6 | _readys_mask_T_7[7:0]; // @[package.scala 244:43]
+  wire  prefixOR_2 = earlyWinner_0 | earlyWinner_1; // @[Arbiter.scala 104:53]
+  wire  prefixOR_3 = prefixOR_2 | earlyWinner_2; // @[Arbiter.scala 104:53]
+  wire  prefixOR_4 = prefixOR_3 | earlyWinner_3; // @[Arbiter.scala 104:53]
+  wire  prefixOR_5 = prefixOR_4 | earlyWinner_4; // @[Arbiter.scala 104:53]
+  wire  prefixOR_6 = prefixOR_5 | earlyWinner_5; // @[Arbiter.scala 104:53]
+  wire  prefixOR_7 = prefixOR_6 | earlyWinner_6; // @[Arbiter.scala 104:53]
+  wire  _prefixOR_T = prefixOR_7 | earlyWinner_7; // @[Arbiter.scala 104:53]
+  wire  _T_40 = auto_out_0_d_valid | auto_out_1_d_valid | auto_out_2_d_valid | auto_out_3_d_valid | auto_out_4_d_valid
+     | auto_out_5_d_valid | auto_out_6_d_valid | auto_out_7_d_valid; // @[Arbiter.scala 107:36]
+  wire  _T_41 = ~(auto_out_0_d_valid | auto_out_1_d_valid | auto_out_2_d_valid | auto_out_3_d_valid | auto_out_4_d_valid
+     | auto_out_5_d_valid | auto_out_6_d_valid | auto_out_7_d_valid); // @[Arbiter.scala 107:15]
+  wire [9:0] maskedBeats_0 = earlyWinner_0 ? beatsDO_0 : 10'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_1 = earlyWinner_1 ? beatsDO_1 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_2 = earlyWinner_2 ? beatsDO_2 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_3 = earlyWinner_3 ? beatsDO_3 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_4 = earlyWinner_4 ? beatsDO_4 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_5 = earlyWinner_5 ? beatsDO_5 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_6 = earlyWinner_6 ? beatsDO_6 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_7 = earlyWinner_7 ? beatsDO_decode_7 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [9:0] _GEN_5 = {{6'd0}, maskedBeats_1}; // @[Arbiter.scala 112:44]
+  wire [9:0] _initBeats_T = maskedBeats_0 | _GEN_5; // @[Arbiter.scala 112:44]
+  wire [9:0] _GEN_6 = {{6'd0}, maskedBeats_2}; // @[Arbiter.scala 112:44]
+  wire [9:0] _initBeats_T_1 = _initBeats_T | _GEN_6; // @[Arbiter.scala 112:44]
+  wire [9:0] _GEN_7 = {{6'd0}, maskedBeats_3}; // @[Arbiter.scala 112:44]
+  wire [9:0] _initBeats_T_2 = _initBeats_T_1 | _GEN_7; // @[Arbiter.scala 112:44]
+  wire [9:0] _GEN_8 = {{6'd0}, maskedBeats_4}; // @[Arbiter.scala 112:44]
+  wire [9:0] _initBeats_T_3 = _initBeats_T_2 | _GEN_8; // @[Arbiter.scala 112:44]
+  wire [9:0] _GEN_9 = {{6'd0}, maskedBeats_5}; // @[Arbiter.scala 112:44]
+  wire [9:0] _initBeats_T_4 = _initBeats_T_3 | _GEN_9; // @[Arbiter.scala 112:44]
+  wire [9:0] _GEN_10 = {{6'd0}, maskedBeats_6}; // @[Arbiter.scala 112:44]
+  wire [9:0] _initBeats_T_5 = _initBeats_T_4 | _GEN_10; // @[Arbiter.scala 112:44]
+  wire [9:0] _GEN_11 = {{6'd0}, maskedBeats_7}; // @[Arbiter.scala 112:44]
+  wire [9:0] initBeats = _initBeats_T_5 | _GEN_11; // @[Arbiter.scala 112:44]
+  wire  _sink_ACancel_earlyValid_T_21 = state_0 & auto_out_0_d_valid | state_1 & auto_out_1_d_valid | state_2 &
+    auto_out_2_d_valid | state_3 & auto_out_3_d_valid | state_4 & auto_out_4_d_valid | state_5 & auto_out_5_d_valid |
+    state_6 & auto_out_6_d_valid | state_7 & auto_out_7_d_valid; // @[Mux.scala 27:73]
+  wire  sink_ACancel_17_earlyValid = idle ? _T_40 : _sink_ACancel_earlyValid_T_21; // @[Arbiter.scala 125:29]
+  wire  _beatsLeft_T_2 = auto_in_d_ready & sink_ACancel_17_earlyValid; // @[ReadyValidCancel.scala 49:33]
+  wire [9:0] _GEN_12 = {{9'd0}, _beatsLeft_T_2}; // @[Arbiter.scala 113:52]
+  wire [9:0] _beatsLeft_T_4 = beatsLeft - _GEN_12; // @[Arbiter.scala 113:52]
+  wire  allowed_0 = idle ? readys_0 : state_0; // @[Arbiter.scala 121:24]
+  wire  allowed_1 = idle ? readys_1 : state_1; // @[Arbiter.scala 121:24]
+  wire  allowed_2 = idle ? readys_2 : state_2; // @[Arbiter.scala 121:24]
+  wire  allowed_3 = idle ? readys_3 : state_3; // @[Arbiter.scala 121:24]
+  wire  allowed_4 = idle ? readys_4 : state_4; // @[Arbiter.scala 121:24]
+  wire  allowed_5 = idle ? readys_5 : state_5; // @[Arbiter.scala 121:24]
+  wire  allowed_6 = idle ? readys_6 : state_6; // @[Arbiter.scala 121:24]
+  wire  allowed_7 = idle ? readys_7 : state_7; // @[Arbiter.scala 121:24]
+  wire [31:0] _T_87 = muxStateEarly_0 ? auto_out_0_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_88 = muxStateEarly_1 ? auto_out_1_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_89 = muxStateEarly_2 ? auto_out_2_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_90 = muxStateEarly_3 ? auto_out_3_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_91 = muxStateEarly_4 ? auto_out_4_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_92 = muxStateEarly_5 ? auto_out_5_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_93 = muxStateEarly_6 ? auto_out_6_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_94 = muxStateEarly_7 ? auto_out_7_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_95 = _T_87 | _T_88; // @[Mux.scala 27:73]
+  wire [31:0] _T_96 = _T_95 | _T_89; // @[Mux.scala 27:73]
+  wire [31:0] _T_97 = _T_96 | _T_90; // @[Mux.scala 27:73]
+  wire [31:0] _T_98 = _T_97 | _T_91; // @[Mux.scala 27:73]
+  wire [31:0] _T_99 = _T_98 | _T_92; // @[Mux.scala 27:73]
+  wire [31:0] _T_100 = _T_99 | _T_93; // @[Mux.scala 27:73]
+  wire [3:0] _T_147 = muxStateEarly_0 ? auto_out_0_d_bits_size : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_148 = muxStateEarly_1 ? out_1_1_d_bits_size : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_149 = muxStateEarly_2 ? out_1_2_d_bits_size : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_150 = muxStateEarly_3 ? out_1_3_d_bits_size : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_151 = muxStateEarly_4 ? out_1_4_d_bits_size : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_152 = muxStateEarly_5 ? out_1_5_d_bits_size : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_153 = muxStateEarly_6 ? out_1_6_d_bits_size : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_154 = muxStateEarly_7 ? out_1_7_d_bits_size : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_155 = _T_147 | _T_148; // @[Mux.scala 27:73]
+  wire [3:0] _T_156 = _T_155 | _T_149; // @[Mux.scala 27:73]
+  wire [3:0] _T_157 = _T_156 | _T_150; // @[Mux.scala 27:73]
+  wire [3:0] _T_158 = _T_157 | _T_151; // @[Mux.scala 27:73]
+  wire [3:0] _T_159 = _T_158 | _T_152; // @[Mux.scala 27:73]
+  wire [3:0] _T_160 = _T_159 | _T_153; // @[Mux.scala 27:73]
+  wire [1:0] _T_162 = muxStateEarly_0 ? auto_out_0_d_bits_param : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_163 = muxStateEarly_1 ? auto_out_1_d_bits_param : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_167 = muxStateEarly_5 ? auto_out_5_d_bits_param : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_168 = muxStateEarly_6 ? auto_out_6_d_bits_param : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_170 = _T_162 | _T_163; // @[Mux.scala 27:73]
+  wire [1:0] _T_174 = _T_170 | _T_167; // @[Mux.scala 27:73]
+  wire [2:0] _T_177 = muxStateEarly_0 ? auto_out_0_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_178 = muxStateEarly_1 ? auto_out_1_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_179 = muxStateEarly_2 ? auto_out_2_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_180 = muxStateEarly_3 ? auto_out_3_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_181 = muxStateEarly_4 ? auto_out_4_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_182 = muxStateEarly_5 ? auto_out_5_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_183 = muxStateEarly_6 ? auto_out_6_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_184 = muxStateEarly_7 ? 3'h1 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_185 = _T_177 | _T_178; // @[Mux.scala 27:73]
+  wire [2:0] _T_186 = _T_185 | _T_179; // @[Mux.scala 27:73]
+  wire [2:0] _T_187 = _T_186 | _T_180; // @[Mux.scala 27:73]
+  wire [2:0] _T_188 = _T_187 | _T_181; // @[Mux.scala 27:73]
+  wire [2:0] _T_189 = _T_188 | _T_182; // @[Mux.scala 27:73]
+  wire [2:0] _T_190 = _T_189 | _T_183; // @[Mux.scala 27:73]
+  TLMonitor_25 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = requestAIO_0_0 & auto_out_0_a_ready | requestAIO_0_1 & auto_out_1_a_ready | requestAIO_0_2 &
+    auto_out_2_a_ready | requestAIO_0_3 & auto_out_3_a_ready | requestAIO_0_4 & auto_out_4_a_ready | requestAIO_0_5 &
+    auto_out_5_a_ready | requestAIO_0_6 & auto_out_6_a_ready | requestAIO_0_7 & auto_out_7_a_ready; // @[Mux.scala 27:73]
+  assign auto_in_d_valid = idle ? _T_40 : _sink_ACancel_earlyValid_T_21; // @[Arbiter.scala 125:29]
+  assign auto_in_d_bits_opcode = _T_190 | _T_184; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_param = _T_174 | _T_168; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_size = _T_160 | _T_154; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_source = _T_145 | _T_139; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_sink = muxStateEarly_0 & auto_out_0_d_bits_sink | muxStateEarly_1 & auto_out_1_d_bits_sink |
+    muxStateEarly_5 & auto_out_5_d_bits_sink | muxStateEarly_6 & auto_out_6_d_bits_sink; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_denied = muxStateEarly_0 & auto_out_0_d_bits_denied | muxStateEarly_1 & auto_out_1_d_bits_denied
+     | muxStateEarly_5 & auto_out_5_d_bits_denied | muxStateEarly_6 & auto_out_6_d_bits_denied; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_data = _T_100 | _T_94; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_corrupt = muxStateEarly_0 & auto_out_0_d_bits_corrupt | muxStateEarly_1 &
+    auto_out_1_d_bits_corrupt | muxStateEarly_5 & auto_out_5_d_bits_corrupt | muxStateEarly_6 &
+    auto_out_6_d_bits_corrupt; // @[Mux.scala 27:73]
+  assign auto_out_7_a_valid = auto_in_a_valid & requestAIO_0_7; // @[Xbar.scala 428:50]
+  assign auto_out_7_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_7_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_7_a_bits_size = auto_in_a_bits_size[2:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_7_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_7_a_bits_address = auto_in_a_bits_address[16:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_7_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_7_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_7_d_ready = auto_in_d_ready & allowed_7; // @[Arbiter.scala 123:31]
+  assign auto_out_6_a_valid = auto_in_a_valid & requestAIO_0_6; // @[Xbar.scala 428:50]
+  assign auto_out_6_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_6_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_6_a_bits_size = auto_in_a_bits_size[2:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_6_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_6_a_bits_address = auto_in_a_bits_address[28:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_6_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_6_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_6_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_6_d_ready = auto_in_d_ready & allowed_6; // @[Arbiter.scala 123:31]
+  assign auto_out_5_a_valid = auto_in_a_valid & requestAIO_0_5; // @[Xbar.scala 428:50]
+  assign auto_out_5_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_5_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_5_a_bits_size = auto_in_a_bits_size[2:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_5_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_5_a_bits_address = auto_in_a_bits_address[27:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_5_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_5_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_5_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_5_d_ready = auto_in_d_ready & allowed_5; // @[Arbiter.scala 123:31]
+  assign auto_out_4_a_valid = auto_in_a_valid & requestAIO_0_4; // @[Xbar.scala 428:50]
+  assign auto_out_4_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_4_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_4_a_bits_size = auto_in_a_bits_size[2:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_4_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_4_a_bits_address = auto_in_a_bits_address[11:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_4_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_4_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_4_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_4_d_ready = auto_in_d_ready & allowed_4; // @[Arbiter.scala 123:31]
+  assign auto_out_3_a_valid = auto_in_a_valid & requestAIO_0_3; // @[Xbar.scala 428:50]
+  assign auto_out_3_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_a_bits_size = auto_in_a_bits_size[2:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_3_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_3_a_bits_address = auto_in_a_bits_address[25:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_3_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3_d_ready = auto_in_d_ready & allowed_3; // @[Arbiter.scala 123:31]
+  assign auto_out_2_a_valid = auto_in_a_valid & requestAIO_0_2; // @[Xbar.scala 428:50]
+  assign auto_out_2_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_a_bits_size = auto_in_a_bits_size[2:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_2_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_2_a_bits_address = auto_in_a_bits_address[27:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_2_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2_d_ready = auto_in_d_ready & allowed_2; // @[Arbiter.scala 123:31]
+  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[Xbar.scala 428:50]
+  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_size = auto_in_a_bits_size[2:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_1_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_1_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_d_ready = auto_in_d_ready & allowed_1; // @[Arbiter.scala 123:31]
+  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[Xbar.scala 428:50]
+  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_0_a_bits_address = auto_in_a_bits_address[13:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_0_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_d_ready = auto_in_d_ready & allowed_0; // @[Arbiter.scala 123:31]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = requestAIO_0_0 & auto_out_0_a_ready | requestAIO_0_1 & auto_out_1_a_ready |
+    requestAIO_0_2 & auto_out_2_a_ready | requestAIO_0_3 & auto_out_3_a_ready | requestAIO_0_4 & auto_out_4_a_ready |
+    requestAIO_0_5 & auto_out_5_a_ready | requestAIO_0_6 & auto_out_6_a_ready | requestAIO_0_7 & auto_out_7_a_ready; // @[Mux.scala 27:73]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = idle ? _T_40 : _sink_ACancel_earlyValid_T_21; // @[Arbiter.scala 125:29]
+  assign monitor_io_in_d_bits_opcode = _T_190 | _T_184; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_param = _T_174 | _T_168; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_size = _T_160 | _T_154; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_source = _T_145 | _T_139; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_sink = muxStateEarly_0 & auto_out_0_d_bits_sink | muxStateEarly_1 & auto_out_1_d_bits_sink
+     | muxStateEarly_5 & auto_out_5_d_bits_sink | muxStateEarly_6 & auto_out_6_d_bits_sink; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_denied = muxStateEarly_0 & auto_out_0_d_bits_denied | muxStateEarly_1 &
+    auto_out_1_d_bits_denied | muxStateEarly_5 & auto_out_5_d_bits_denied | muxStateEarly_6 & auto_out_6_d_bits_denied; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_corrupt = muxStateEarly_0 & auto_out_0_d_bits_corrupt | muxStateEarly_1 &
+    auto_out_1_d_bits_corrupt | muxStateEarly_5 & auto_out_5_d_bits_corrupt | muxStateEarly_6 &
+    auto_out_6_d_bits_corrupt; // @[Mux.scala 27:73]
+  always @(posedge clock) begin
+    if (reset) begin // @[Arbiter.scala 87:30]
+      beatsLeft <= 10'h0; // @[Arbiter.scala 87:30]
+    end else if (latch) begin // @[Arbiter.scala 113:23]
+      beatsLeft <= initBeats;
+    end else begin
+      beatsLeft <= _beatsLeft_T_4;
+    end
+    if (reset) begin // @[Arbiter.scala 23:23]
+      readys_mask <= 8'hff; // @[Arbiter.scala 23:23]
+    end else if (latch & |readys_valid) begin // @[Arbiter.scala 27:32]
+      readys_mask <= _readys_mask_T_9; // @[Arbiter.scala 28:12]
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_0 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_0 <= earlyWinner_0;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_1 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_1 <= earlyWinner_1;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_2 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_2 <= earlyWinner_2;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_3 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_3 <= earlyWinner_3;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_4 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_4 <= earlyWinner_4;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_5 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_5 <= earlyWinner_5;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_6 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_6 <= earlyWinner_6;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_7 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_7 <= earlyWinner_7;
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~((~earlyWinner_0 | ~earlyWinner_1) & (~prefixOR_2 | ~earlyWinner_2) & (~prefixOR_3 | ~earlyWinner_3) & (~
+          prefixOR_4 | ~earlyWinner_4) & (~prefixOR_5 | ~earlyWinner_5) & (~prefixOR_6 | ~earlyWinner_6) & (~prefixOR_7
+           | ~earlyWinner_7)) & _readys_T_3) begin
+          $fatal; // @[Arbiter.scala 105:13]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_readys_T_3 & ~((~earlyWinner_0 | ~earlyWinner_1) & (~prefixOR_2 | ~earlyWinner_2) & (~prefixOR_3 | ~
+          earlyWinner_3) & (~prefixOR_4 | ~earlyWinner_4) & (~prefixOR_5 | ~earlyWinner_5) & (~prefixOR_6 | ~
+          earlyWinner_6) & (~prefixOR_7 | ~earlyWinner_7))) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:105 assert((prefixOR zip earlyWinner) map { case (p,w) => !p || !w } reduce {_ && _})\n"
+            ); // @[Arbiter.scala 105:13]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(auto_out_0_d_valid | auto_out_1_d_valid | auto_out_2_d_valid | auto_out_3_d_valid | auto_out_4_d_valid
+           | auto_out_5_d_valid | auto_out_6_d_valid | auto_out_7_d_valid) | _prefixOR_T) & _readys_T_3) begin
+          $fatal; // @[Arbiter.scala 107:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_readys_T_3 & ~(~(auto_out_0_d_valid | auto_out_1_d_valid | auto_out_2_d_valid | auto_out_3_d_valid |
+          auto_out_4_d_valid | auto_out_5_d_valid | auto_out_6_d_valid | auto_out_7_d_valid) | _prefixOR_T)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:107 assert (!earlyValids.reduce(_||_) || earlyWinner.reduce(_||_))\n"
+            ); // @[Arbiter.scala 107:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_41 | _T_40) & _readys_T_3) begin
+          $fatal; // @[Arbiter.scala 108:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_readys_T_3 & ~(_T_41 | _T_40)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:108 assert (!validQuals .reduce(_||_) || validQuals .reduce(_||_))\n"
+            ); // @[Arbiter.scala 108:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  beatsLeft = _RAND_0[9:0];
+  _RAND_1 = {1{`RANDOM}};
+  readys_mask = _RAND_1[7:0];
+  _RAND_2 = {1{`RANDOM}};
+  state_0 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  state_1 = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  state_2 = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  state_3 = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  state_4 = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  state_5 = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  state_6 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  state_7 = _RAND_9[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLMonitor_26(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [3:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [29:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [3:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source,
+  input         io_in_d_bits_sink,
+  input         io_in_d_bits_denied,
+  input         io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [26:0] _is_aligned_mask_T_1 = 27'hfff << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask = ~_is_aligned_mask_T_1[11:0]; // @[package.scala 234:46]
+  wire [29:0] _GEN_71 = {{18'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [29:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 30'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 4'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire [30:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire  _T_35 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire  _T_42 = _T_35 & source_ok; // @[Parameters.scala 1160:30]
+  wire [30:0] _T_48 = $signed(_T_7) & -31'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_50 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_51 = {1'b0,$signed(_T_50)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_53 = $signed(_T_51) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_54 = $signed(_T_53) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_55 = io_in_a_bits_address ^ 30'h10000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_56 = {1'b0,$signed(_T_55)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_58 = $signed(_T_56) & -31'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_59 = $signed(_T_58) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_60 = io_in_a_bits_address ^ 30'h2000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_61 = {1'b0,$signed(_T_60)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_63 = $signed(_T_61) & -31'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_64 = $signed(_T_63) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_65 = io_in_a_bits_address ^ 30'h8000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_66 = {1'b0,$signed(_T_65)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_68 = $signed(_T_66) & -31'sh4000; // @[Parameters.scala 137:52]
+  wire  _T_69 = $signed(_T_68) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_70 = io_in_a_bits_address ^ 30'hc000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_71 = {1'b0,$signed(_T_70)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_73 = $signed(_T_71) & -31'sh4000000; // @[Parameters.scala 137:52]
+  wire  _T_74 = $signed(_T_73) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_75 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_76 = {1'b0,$signed(_T_75)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_78 = $signed(_T_76) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_79 = $signed(_T_78) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_80 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_83 = $signed(_T_81) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_84 = $signed(_T_83) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_85 = io_in_a_bits_address ^ 30'h10016000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_88 = $signed(_T_86) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_89 = $signed(_T_88) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_90 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_93 = $signed(_T_91) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_94 = $signed(_T_93) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_95 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_98 = $signed(_T_96) & -31'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_99 = $signed(_T_98) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_100 = io_in_a_bits_address ^ 30'h10026000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_103 = $signed(_T_101) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_104 = $signed(_T_103) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_105 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_108 = $signed(_T_106) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_109 = $signed(_T_108) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_110 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_113 = $signed(_T_111) & -31'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_114 = $signed(_T_113) == 31'sh0; // @[Parameters.scala 137:67]
+  wire  _T_127 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109
+     | _T_114; // @[Parameters.scala 671:42]
+  wire  _T_137 = 4'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_138 = _source_ok_T & _T_137; // @[Mux.scala 27:73]
+  wire  _T_230 = _T_35 & _T_127; // @[Parameters.scala 670:56]
+  wire  _T_232 = _T_138 & _T_230; // @[Monitor.scala 83:78]
+  wire  _T_246 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_250 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_251 = _T_250 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_255 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_259 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_476 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_489 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_512 = _T_35 & _T_54; // @[Parameters.scala 670:56]
+  wire  _T_514 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 92:42]
+  wire  _T_593 = _T_49 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109 |
+    _T_114; // @[Parameters.scala 671:42]
+  wire  _T_594 = _T_514 & _T_593; // @[Parameters.scala 670:56]
+  wire  _T_596 = _T_512 | _T_594; // @[Parameters.scala 672:30]
+  wire  _T_606 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_610 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_618 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_707 = _T_49 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109; // @[Parameters.scala 671:42]
+  wire  _T_708 = _T_514 & _T_707; // @[Parameters.scala 670:56]
+  wire  _T_723 = _T_512 | _T_708; // @[Parameters.scala 672:30]
+  wire  _T_725 = _T_42 & _T_723; // @[Monitor.scala 115:71]
+  wire  _T_743 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_864 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_865 = io_in_a_bits_mask & _T_864; // @[Monitor.scala 127:31]
+  wire  _T_866 = _T_865 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_870 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_882 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 92:42]
+  wire  _T_931 = _T_54 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109; // @[Parameters.scala 671:42]
+  wire  _T_932 = _T_882 & _T_931; // @[Parameters.scala 670:56]
+  wire  _T_972 = _T_42 & _T_932; // @[Monitor.scala 131:74]
+  wire  _T_982 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_990 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_1102 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_1110 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_1212 = _T_42 & _T_512; // @[Monitor.scala 147:68]
+  wire  _T_1222 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_1234 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_1238 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_1242 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 312:27]
+  wire  _T_1246 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_1250 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_1254 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_1258 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_1269 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_1273 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_1286 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_1306 = _T_1254 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_1315 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_1332 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_1350 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [9:0] a_first_beats1_decode = is_aligned_mask[11:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [9:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1 = a_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [3:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [29:0] address; // @[Monitor.scala 388:22]
+  wire  _T_1380 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_1381 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_1385 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_1389 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_1393 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_1397 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [26:0] _d_first_beats1_decode_T_1 = 27'hfff << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [9:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1 = d_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [3:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  reg  sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_1404 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_1405 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_1409 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_1413 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_1417 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_1421 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_1425 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [23:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [9:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1_1 = a_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  reg [9:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_1 = d_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [4:0] _a_size_lookup_T = {io_in_d_bits_source, 3'h0}; // @[Monitor.scala 638:65]
+  wire [23:0] _a_size_lookup_T_1 = inflight_sizes >> _a_size_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _a_size_lookup_T_5 = 16'h100 - 16'h1; // @[Monitor.scala 609:57]
+  wire [23:0] _GEN_75 = {{8'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_75; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[23:1]}; // @[Monitor.scala 638:144]
+  wire  _T_1431 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_1434 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [4:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [4:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 5'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_77 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_77}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [4:0] _a_sizes_set_T = {io_in_a_bits_source, 3'h0}; // @[Monitor.scala 657:77]
+  wire [4:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 5'h0; // @[Monitor.scala 652:72 655:28]
+  wire [35:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [35:0] _a_sizes_set_T_1 = _GEN_2 << _a_sizes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_1436 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_1438 = ~_T_1436[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [35:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 36'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_1442 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_1444 = ~_T_1238; // @[Monitor.scala 671:74]
+  wire  _T_1445 = io_in_d_valid & d_first_1 & ~_T_1238; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_1238 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 671:90 672:22]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [46:0] _GEN_4 = {{31'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 678:74]
+  wire [46:0] _d_sizes_clr_T_5 = _GEN_4 << _a_size_lookup_T; // @[Monitor.scala 678:74]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_1444 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_1444 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire [46:0] _GEN_24 = _d_first_T & d_first_1 & _T_1444 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 678:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_1431 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_1455 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_1457 = _T_1455[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_1462 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_1463 = io_in_d_bits_opcode == _GEN_32 | _T_1462; // @[Monitor.scala 685:77]
+  wire  _T_1467 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_1474 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_1475 = io_in_d_bits_opcode == _GEN_48 | _T_1474; // @[Monitor.scala 689:72]
+  wire [7:0] a_size_lookup = _a_size_lookup_T_7[7:0];
+  wire [7:0] _GEN_79 = {{4'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_1479 = _GEN_79 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_1489 = _T_1442 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_1444; // @[Monitor.scala 694:116]
+  wire  _T_1491 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set_wo_ready = _GEN_15[2:0];
+  wire [2:0] d_clr_wo_ready = _GEN_21[2:0];
+  wire  _T_1498 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [23:0] a_sizes_set = _GEN_20[23:0];
+  wire [23:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [23:0] d_sizes_clr = _GEN_24[23:0];
+  wire [23:0] _inflight_sizes_T_1 = ~d_sizes_clr; // @[Monitor.scala 704:56]
+  wire [23:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_sizes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_1507 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [23:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [9:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_2 = d_first_counter_2 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 10'h0; // @[Edges.scala 230:25]
+  wire [23:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_size_lookup_T; // @[Monitor.scala 747:42]
+  wire [23:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_75; // @[Monitor.scala 747:93]
+  wire [23:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[23:1]}; // @[Monitor.scala 747:146]
+  wire  _T_1533 = io_in_d_valid & d_first_2 & _T_1238; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_1238 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_69 = _d_first_T & d_first_2 & _T_1238 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 786:21]
+  wire [2:0] _T_1541 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [7:0] c_size_lookup = _c_size_lookup_T_7[7:0];
+  wire  _T_1551 = _GEN_79 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [23:0] d_sizes_clr_1 = _GEN_69[23:0];
+  wire [23:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
+  wire [23:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_1576 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 10'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 10'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 24'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 24'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_232 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_232) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_246 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_251 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_251) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_232 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_232) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_246 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_476 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_476) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_251 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_251) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_42 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_42) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_596 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_596) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_606 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_606) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_725 & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~_T_725) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_606 & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~_T_606) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_725 & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~_T_725) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_606 & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~_T_606) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_866 & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~_T_866) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_972 & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~_T_972) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_982 & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~_T_982) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_972 & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~_T_972) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1102 & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~_T_1102) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1212 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_1212) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1222 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_1222) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1234 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_1234) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1242 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1242) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1254 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1254) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1242 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1242) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1269 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1269) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1273 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1273) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1242 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1242) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1269 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1269) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1273 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1273) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1306 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1306) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1315 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1315 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1315 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1315 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1315 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1315 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1332 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1332 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1332 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1332 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1306 & (io_in_d_valid & _T_1332 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1332 & _T_2 & ~_T_1306) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1350 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1350 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1350 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1350 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1350 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1350 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1381 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1381) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1385 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1389 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1389) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1393 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1393) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1397 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1405 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1409 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1409) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1413 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1413) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1417 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1417) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1421 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1425 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1438 & (_T_1434 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1434 & ~reset & ~_T_1438) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1457 & (_T_1445 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & _T_2 & ~_T_1457) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1463 & (_T_1445 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & same_cycle_resp & _T_2 & ~_T_1463) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1467 & (_T_1445 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & same_cycle_resp & _T_2 & ~_T_1467) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1475 & (_T_1445 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & ~same_cycle_resp & _T_2 & ~_T_1475) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1479 & (_T_1445 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & ~same_cycle_resp & _T_2 & ~_T_1479) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1491 & (_T_1489 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1489 & _T_2 & ~_T_1491) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1498 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_1498) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1507 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1507) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1541[0] & (_T_1533 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1533 & _T_2 & ~_T_1541[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1551 & (_T_1533 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1533 & _T_2 & ~_T_1551) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1576 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:55:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[9:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[9:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  param_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  size_1 = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  source_1 = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  sink = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  denied = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  inflight = _RAND_13[2:0];
+  _RAND_14 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_14[11:0];
+  _RAND_15 = {1{`RANDOM}};
+  inflight_sizes = _RAND_15[23:0];
+  _RAND_16 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_16[9:0];
+  _RAND_17 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_17[9:0];
+  _RAND_18 = {1{`RANDOM}};
+  watchdog = _RAND_18[31:0];
+  _RAND_19 = {1{`RANDOM}};
+  inflight_1 = _RAND_19[2:0];
+  _RAND_20 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_20[23:0];
+  _RAND_21 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_21[9:0];
+  _RAND_22 = {1{`RANDOM}};
+  watchdog_1 = _RAND_22[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Queue_5(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [3:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input  [29:0] io_enq_bits_address,
+  input  [3:0]  io_enq_bits_mask,
+  input  [31:0] io_enq_bits_data,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [3:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [29:0] io_deq_bits_address,
+  output [3:0]  io_deq_bits_mask,
+  output [31:0] io_deq_bits_data,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+`endif // RANDOMIZE_REG_INIT
+  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] ram_param [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_size [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_source [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [29:0] ram_address [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [29:0] ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [29:0] ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_mask [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [31:0] ram_data [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_corrupt [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  value; // @[Counter.scala 62:40]
+  reg  value_1; // @[Counter.scala 62:40]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  ptr_match = value == value_1; // @[Decoupled.scala 263:33]
+  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 264:25]
+  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 265:24]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_opcode_io_deq_bits_MPORT_addr = value_1;
+  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
+  assign ram_opcode_MPORT_addr = value;
+  assign ram_opcode_MPORT_mask = 1'h1;
+  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_param_io_deq_bits_MPORT_addr = value_1;
+  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_param_MPORT_data = io_enq_bits_param;
+  assign ram_param_MPORT_addr = value;
+  assign ram_param_MPORT_mask = 1'h1;
+  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_size_io_deq_bits_MPORT_addr = value_1;
+  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_size_MPORT_data = io_enq_bits_size;
+  assign ram_size_MPORT_addr = value;
+  assign ram_size_MPORT_mask = 1'h1;
+  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_source_io_deq_bits_MPORT_addr = value_1;
+  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_source_MPORT_data = io_enq_bits_source;
+  assign ram_source_MPORT_addr = value;
+  assign ram_source_MPORT_mask = 1'h1;
+  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_address_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_address_io_deq_bits_MPORT_addr = value_1;
+  assign ram_address_io_deq_bits_MPORT_data = ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_address_MPORT_data = io_enq_bits_address;
+  assign ram_address_MPORT_addr = value;
+  assign ram_address_MPORT_mask = 1'h1;
+  assign ram_address_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_mask_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_mask_io_deq_bits_MPORT_addr = value_1;
+  assign ram_mask_io_deq_bits_MPORT_data = ram_mask[ram_mask_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_mask_MPORT_data = io_enq_bits_mask;
+  assign ram_mask_MPORT_addr = value;
+  assign ram_mask_MPORT_mask = 1'h1;
+  assign ram_mask_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_data_io_deq_bits_MPORT_addr = value_1;
+  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_data_MPORT_data = io_enq_bits_data;
+  assign ram_data_MPORT_addr = value;
+  assign ram_data_MPORT_mask = 1'h1;
+  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_corrupt_io_deq_bits_MPORT_addr = value_1;
+  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_corrupt_MPORT_data = io_enq_bits_corrupt;
+  assign ram_corrupt_MPORT_addr = value;
+  assign ram_corrupt_MPORT_mask = 1'h1;
+  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_address = ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_mask = ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
+      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
+      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
+      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
+      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_address_MPORT_en & ram_address_MPORT_mask) begin
+      ram_address[ram_address_MPORT_addr] <= ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_mask_MPORT_en & ram_mask_MPORT_mask) begin
+      ram_mask[ram_mask_MPORT_addr] <= ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
+      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
+      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_enq) begin // @[Decoupled.scala 272:16]
+      value <= value + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value_1 <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_deq) begin // @[Decoupled.scala 276:16]
+      value_1 <= value_1 + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_opcode[initvar] = _RAND_0[2:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_param[initvar] = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_size[initvar] = _RAND_2[3:0];
+  _RAND_3 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_source[initvar] = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_address[initvar] = _RAND_4[29:0];
+  _RAND_5 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_mask[initvar] = _RAND_5[3:0];
+  _RAND_6 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_data[initvar] = _RAND_6[31:0];
+  _RAND_7 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_corrupt[initvar] = _RAND_7[0:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  value = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  value_1 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  maybe_full = _RAND_10[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Queue_6(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [1:0]  io_enq_bits_param,
+  input  [3:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input         io_enq_bits_sink,
+  input         io_enq_bits_denied,
+  input  [31:0] io_enq_bits_data,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [1:0]  io_deq_bits_param,
+  output [3:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output        io_deq_bits_sink,
+  output        io_deq_bits_denied,
+  output [31:0] io_deq_bits_data,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+`endif // RANDOMIZE_REG_INIT
+  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_param [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_size [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_source [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_sink [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_sink_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_sink_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_sink_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_sink_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_sink_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_sink_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_denied [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_denied_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_denied_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_denied_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_denied_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_denied_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_denied_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_denied_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [31:0] ram_data [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_corrupt [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  value; // @[Counter.scala 62:40]
+  reg  value_1; // @[Counter.scala 62:40]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  ptr_match = value == value_1; // @[Decoupled.scala 263:33]
+  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 264:25]
+  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 265:24]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_opcode_io_deq_bits_MPORT_addr = value_1;
+  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
+  assign ram_opcode_MPORT_addr = value;
+  assign ram_opcode_MPORT_mask = 1'h1;
+  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_param_io_deq_bits_MPORT_addr = value_1;
+  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_param_MPORT_data = io_enq_bits_param;
+  assign ram_param_MPORT_addr = value;
+  assign ram_param_MPORT_mask = 1'h1;
+  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_size_io_deq_bits_MPORT_addr = value_1;
+  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_size_MPORT_data = io_enq_bits_size;
+  assign ram_size_MPORT_addr = value;
+  assign ram_size_MPORT_mask = 1'h1;
+  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_source_io_deq_bits_MPORT_addr = value_1;
+  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_source_MPORT_data = io_enq_bits_source;
+  assign ram_source_MPORT_addr = value;
+  assign ram_source_MPORT_mask = 1'h1;
+  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_sink_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_sink_io_deq_bits_MPORT_addr = value_1;
+  assign ram_sink_io_deq_bits_MPORT_data = ram_sink[ram_sink_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_sink_MPORT_data = io_enq_bits_sink;
+  assign ram_sink_MPORT_addr = value;
+  assign ram_sink_MPORT_mask = 1'h1;
+  assign ram_sink_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_denied_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_denied_io_deq_bits_MPORT_addr = value_1;
+  assign ram_denied_io_deq_bits_MPORT_data = ram_denied[ram_denied_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_denied_MPORT_data = io_enq_bits_denied;
+  assign ram_denied_MPORT_addr = value;
+  assign ram_denied_MPORT_mask = 1'h1;
+  assign ram_denied_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_data_io_deq_bits_MPORT_addr = value_1;
+  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_data_MPORT_data = io_enq_bits_data;
+  assign ram_data_MPORT_addr = value;
+  assign ram_data_MPORT_mask = 1'h1;
+  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_corrupt_io_deq_bits_MPORT_addr = value_1;
+  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_corrupt_MPORT_data = io_enq_bits_corrupt;
+  assign ram_corrupt_MPORT_addr = value;
+  assign ram_corrupt_MPORT_mask = 1'h1;
+  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_sink = ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_denied = ram_denied_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
+      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
+      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
+      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
+      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_sink_MPORT_en & ram_sink_MPORT_mask) begin
+      ram_sink[ram_sink_MPORT_addr] <= ram_sink_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_denied_MPORT_en & ram_denied_MPORT_mask) begin
+      ram_denied[ram_denied_MPORT_addr] <= ram_denied_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
+      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
+      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_enq) begin // @[Decoupled.scala 272:16]
+      value <= value + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value_1 <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_deq) begin // @[Decoupled.scala 276:16]
+      value_1 <= value_1 + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_opcode[initvar] = _RAND_0[2:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_param[initvar] = _RAND_1[1:0];
+  _RAND_2 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_size[initvar] = _RAND_2[3:0];
+  _RAND_3 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_source[initvar] = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_sink[initvar] = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_denied[initvar] = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_data[initvar] = _RAND_6[31:0];
+  _RAND_7 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_corrupt[initvar] = _RAND_7[0:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  value = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  value_1 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  maybe_full = _RAND_10[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLBuffer_4(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [3:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [3:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [3:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [3:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input         auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [29:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  bundleOut_0_a_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_a_q_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire [29:0] bundleOut_0_a_q_io_enq_bits_address; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_enq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleOut_0_a_q_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_a_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire [29:0] bundleOut_0_a_q_io_deq_bits_address; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_deq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleOut_0_a_q_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleIn_0_d_q_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_sink; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_denied; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleIn_0_d_q_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleIn_0_d_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_sink; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_denied; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleIn_0_d_q_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  TLMonitor_26 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
+  );
+  Queue_5 bundleOut_0_a_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleOut_0_a_q_clock),
+    .reset(bundleOut_0_a_q_reset),
+    .io_enq_ready(bundleOut_0_a_q_io_enq_ready),
+    .io_enq_valid(bundleOut_0_a_q_io_enq_valid),
+    .io_enq_bits_opcode(bundleOut_0_a_q_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleOut_0_a_q_io_enq_bits_param),
+    .io_enq_bits_size(bundleOut_0_a_q_io_enq_bits_size),
+    .io_enq_bits_source(bundleOut_0_a_q_io_enq_bits_source),
+    .io_enq_bits_address(bundleOut_0_a_q_io_enq_bits_address),
+    .io_enq_bits_mask(bundleOut_0_a_q_io_enq_bits_mask),
+    .io_enq_bits_data(bundleOut_0_a_q_io_enq_bits_data),
+    .io_enq_bits_corrupt(bundleOut_0_a_q_io_enq_bits_corrupt),
+    .io_deq_ready(bundleOut_0_a_q_io_deq_ready),
+    .io_deq_valid(bundleOut_0_a_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleOut_0_a_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleOut_0_a_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleOut_0_a_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleOut_0_a_q_io_deq_bits_source),
+    .io_deq_bits_address(bundleOut_0_a_q_io_deq_bits_address),
+    .io_deq_bits_mask(bundleOut_0_a_q_io_deq_bits_mask),
+    .io_deq_bits_data(bundleOut_0_a_q_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleOut_0_a_q_io_deq_bits_corrupt)
+  );
+  Queue_6 bundleIn_0_d_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleIn_0_d_q_clock),
+    .reset(bundleIn_0_d_q_reset),
+    .io_enq_ready(bundleIn_0_d_q_io_enq_ready),
+    .io_enq_valid(bundleIn_0_d_q_io_enq_valid),
+    .io_enq_bits_opcode(bundleIn_0_d_q_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleIn_0_d_q_io_enq_bits_param),
+    .io_enq_bits_size(bundleIn_0_d_q_io_enq_bits_size),
+    .io_enq_bits_source(bundleIn_0_d_q_io_enq_bits_source),
+    .io_enq_bits_sink(bundleIn_0_d_q_io_enq_bits_sink),
+    .io_enq_bits_denied(bundleIn_0_d_q_io_enq_bits_denied),
+    .io_enq_bits_data(bundleIn_0_d_q_io_enq_bits_data),
+    .io_enq_bits_corrupt(bundleIn_0_d_q_io_enq_bits_corrupt),
+    .io_deq_ready(bundleIn_0_d_q_io_deq_ready),
+    .io_deq_valid(bundleIn_0_d_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleIn_0_d_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleIn_0_d_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleIn_0_d_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleIn_0_d_q_io_deq_bits_source),
+    .io_deq_bits_sink(bundleIn_0_d_q_io_deq_bits_sink),
+    .io_deq_bits_denied(bundleIn_0_d_q_io_deq_bits_denied),
+    .io_deq_bits_data(bundleIn_0_d_q_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleIn_0_d_q_io_deq_bits_corrupt)
+  );
+  assign auto_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign auto_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_param = bundleIn_0_d_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_sink = bundleIn_0_d_q_io_deq_bits_sink; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_denied = bundleIn_0_d_q_io_deq_bits_denied; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_data = bundleIn_0_d_q_io_deq_bits_data; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_corrupt = bundleIn_0_d_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_out_a_valid = bundleOut_0_a_q_io_deq_valid; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_opcode = bundleOut_0_a_q_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_param = bundleOut_0_a_q_io_deq_bits_param; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_size = bundleOut_0_a_q_io_deq_bits_size; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_source = bundleOut_0_a_q_io_deq_bits_source; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_address = bundleOut_0_a_q_io_deq_bits_address; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_mask = bundleOut_0_a_q_io_deq_bits_mask; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_data = bundleOut_0_a_q_io_deq_bits_data; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_corrupt = bundleOut_0_a_q_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_d_ready = bundleIn_0_d_q_io_enq_ready; // @[Nodes.scala 1207:84 Decoupled.scala 365:17]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_param = bundleIn_0_d_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_sink = bundleIn_0_d_q_io_deq_bits_sink; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_denied = bundleIn_0_d_q_io_deq_bits_denied; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_corrupt = bundleIn_0_d_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign bundleOut_0_a_q_clock = clock;
+  assign bundleOut_0_a_q_reset = reset;
+  assign bundleOut_0_a_q_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_clock = clock;
+  assign bundleIn_0_d_q_reset = reset;
+  assign bundleIn_0_d_q_io_enq_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_deq_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_27(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [3:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [29:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [3:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source,
+  input         io_in_d_bits_sink,
+  input         io_in_d_bits_denied,
+  input         io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [26:0] _is_aligned_mask_T_1 = 27'hfff << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask = ~_is_aligned_mask_T_1[11:0]; // @[package.scala 234:46]
+  wire [29:0] _GEN_71 = {{18'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [29:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 30'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 4'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire [30:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire  _T_35 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire  _T_42 = _T_35 & source_ok; // @[Parameters.scala 1160:30]
+  wire [30:0] _T_48 = $signed(_T_7) & -31'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_50 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_51 = {1'b0,$signed(_T_50)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_53 = $signed(_T_51) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_54 = $signed(_T_53) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_55 = io_in_a_bits_address ^ 30'h10000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_56 = {1'b0,$signed(_T_55)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_58 = $signed(_T_56) & -31'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_59 = $signed(_T_58) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_60 = io_in_a_bits_address ^ 30'h2000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_61 = {1'b0,$signed(_T_60)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_63 = $signed(_T_61) & -31'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_64 = $signed(_T_63) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_65 = io_in_a_bits_address ^ 30'h8000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_66 = {1'b0,$signed(_T_65)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_68 = $signed(_T_66) & -31'sh4000; // @[Parameters.scala 137:52]
+  wire  _T_69 = $signed(_T_68) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_70 = io_in_a_bits_address ^ 30'hc000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_71 = {1'b0,$signed(_T_70)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_73 = $signed(_T_71) & -31'sh4000000; // @[Parameters.scala 137:52]
+  wire  _T_74 = $signed(_T_73) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_75 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_76 = {1'b0,$signed(_T_75)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_78 = $signed(_T_76) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_79 = $signed(_T_78) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_80 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_83 = $signed(_T_81) & -31'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_84 = $signed(_T_83) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_85 = io_in_a_bits_address ^ 30'h10016000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_88 = $signed(_T_86) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_89 = $signed(_T_88) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_90 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_93 = $signed(_T_91) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_94 = $signed(_T_93) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_95 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_98 = $signed(_T_96) & -31'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_99 = $signed(_T_98) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_100 = io_in_a_bits_address ^ 30'h10026000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_103 = $signed(_T_101) & -31'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_104 = $signed(_T_103) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_105 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_108 = $signed(_T_106) & -31'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_109 = $signed(_T_108) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _T_110 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_113 = $signed(_T_111) & -31'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_114 = $signed(_T_113) == 31'sh0; // @[Parameters.scala 137:67]
+  wire  _T_127 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109
+     | _T_114; // @[Parameters.scala 671:42]
+  wire  _T_137 = 4'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_138 = _source_ok_T & _T_137; // @[Mux.scala 27:73]
+  wire  _T_230 = _T_35 & _T_127; // @[Parameters.scala 670:56]
+  wire  _T_232 = _T_138 & _T_230; // @[Monitor.scala 83:78]
+  wire  _T_246 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_250 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_251 = _T_250 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_255 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_259 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_476 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_489 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_512 = _T_35 & _T_54; // @[Parameters.scala 670:56]
+  wire  _T_514 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 92:42]
+  wire  _T_593 = _T_49 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109 |
+    _T_114; // @[Parameters.scala 671:42]
+  wire  _T_594 = _T_514 & _T_593; // @[Parameters.scala 670:56]
+  wire  _T_596 = _T_512 | _T_594; // @[Parameters.scala 672:30]
+  wire  _T_606 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_610 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_618 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_707 = _T_49 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109; // @[Parameters.scala 671:42]
+  wire  _T_708 = _T_514 & _T_707; // @[Parameters.scala 670:56]
+  wire  _T_723 = _T_512 | _T_708; // @[Parameters.scala 672:30]
+  wire  _T_725 = _T_42 & _T_723; // @[Monitor.scala 115:71]
+  wire  _T_743 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_864 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_865 = io_in_a_bits_mask & _T_864; // @[Monitor.scala 127:31]
+  wire  _T_866 = _T_865 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_870 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_882 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 92:42]
+  wire  _T_955 = _T_49 | _T_54 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109; // @[Parameters.scala 671:42]
+  wire  _T_956 = _T_882 & _T_955; // @[Parameters.scala 670:56]
+  wire  _T_972 = _T_42 & _T_956; // @[Monitor.scala 131:74]
+  wire  _T_982 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_990 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_1102 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_1110 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_1212 = _T_42 & _T_512; // @[Monitor.scala 147:68]
+  wire  _T_1222 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_1234 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_1238 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_1242 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 312:27]
+  wire  _T_1246 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_1250 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_1254 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_1258 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_1269 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_1273 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_1286 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_1306 = _T_1254 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_1315 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_1332 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_1350 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [9:0] a_first_beats1_decode = is_aligned_mask[11:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [9:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1 = a_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [3:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [29:0] address; // @[Monitor.scala 388:22]
+  wire  _T_1380 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_1381 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_1385 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_1389 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_1393 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_1397 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [26:0] _d_first_beats1_decode_T_1 = 27'hfff << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [9:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1 = d_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [3:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  reg  sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_1404 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_1405 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_1409 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_1413 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_1417 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_1421 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_1425 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [23:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [9:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1_1 = a_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  reg [9:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_1 = d_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [4:0] _a_size_lookup_T = {io_in_d_bits_source, 3'h0}; // @[Monitor.scala 638:65]
+  wire [23:0] _a_size_lookup_T_1 = inflight_sizes >> _a_size_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _a_size_lookup_T_5 = 16'h100 - 16'h1; // @[Monitor.scala 609:57]
+  wire [23:0] _GEN_75 = {{8'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_75; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[23:1]}; // @[Monitor.scala 638:144]
+  wire  _T_1431 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_1434 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [4:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [4:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 5'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_77 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_77}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [4:0] _a_sizes_set_T = {io_in_a_bits_source, 3'h0}; // @[Monitor.scala 657:77]
+  wire [4:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 5'h0; // @[Monitor.scala 652:72 655:28]
+  wire [35:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [35:0] _a_sizes_set_T_1 = _GEN_2 << _a_sizes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_1436 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_1438 = ~_T_1436[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [35:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 36'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_1442 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_1444 = ~_T_1238; // @[Monitor.scala 671:74]
+  wire  _T_1445 = io_in_d_valid & d_first_1 & ~_T_1238; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_1238 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 671:90 672:22]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [46:0] _GEN_4 = {{31'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 678:74]
+  wire [46:0] _d_sizes_clr_T_5 = _GEN_4 << _a_size_lookup_T; // @[Monitor.scala 678:74]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_1444 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_1444 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire [46:0] _GEN_24 = _d_first_T & d_first_1 & _T_1444 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 678:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_1431 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_1455 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_1457 = _T_1455[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_1462 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_1463 = io_in_d_bits_opcode == _GEN_32 | _T_1462; // @[Monitor.scala 685:77]
+  wire  _T_1467 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_1474 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_1475 = io_in_d_bits_opcode == _GEN_48 | _T_1474; // @[Monitor.scala 689:72]
+  wire [7:0] a_size_lookup = _a_size_lookup_T_7[7:0];
+  wire [7:0] _GEN_79 = {{4'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_1479 = _GEN_79 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_1489 = _T_1442 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_1444; // @[Monitor.scala 694:116]
+  wire  _T_1491 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set_wo_ready = _GEN_15[2:0];
+  wire [2:0] d_clr_wo_ready = _GEN_21[2:0];
+  wire  _T_1498 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [23:0] a_sizes_set = _GEN_20[23:0];
+  wire [23:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [23:0] d_sizes_clr = _GEN_24[23:0];
+  wire [23:0] _inflight_sizes_T_1 = ~d_sizes_clr; // @[Monitor.scala 704:56]
+  wire [23:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_sizes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_1507 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [23:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [9:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_2 = d_first_counter_2 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 10'h0; // @[Edges.scala 230:25]
+  wire [23:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_size_lookup_T; // @[Monitor.scala 747:42]
+  wire [23:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_75; // @[Monitor.scala 747:93]
+  wire [23:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[23:1]}; // @[Monitor.scala 747:146]
+  wire  _T_1533 = io_in_d_valid & d_first_2 & _T_1238; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_1238 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_69 = _d_first_T & d_first_2 & _T_1238 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 786:21]
+  wire [2:0] _T_1541 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [7:0] c_size_lookup = _c_size_lookup_T_7[7:0];
+  wire  _T_1551 = _GEN_79 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [23:0] d_sizes_clr_1 = _GEN_69[23:0];
+  wire [23:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
+  wire [23:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_1576 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 10'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 10'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 24'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 24'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_232 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_232) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_246 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_251 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_251) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_232 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_232) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_246 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_476 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_476) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_251 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_251) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_259 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_259 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_42 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_42) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_596 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_596) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_606 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_606) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_489 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_489 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_725 & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~_T_725) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_606 & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~_T_606) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_618 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_618 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_725 & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~_T_725) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_606 & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~_T_606) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_866 & (io_in_a_valid & _T_743 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_743 & ~reset & ~_T_866) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_972 & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~_T_972) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_982 & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~_T_982) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_870 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_870 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_972 & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~_T_972) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1102 & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~_T_1102) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_990 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_990 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1212 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_1212) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1222 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_1222) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_610 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_610) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_255 & (io_in_a_valid & _T_1110 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1110 & ~reset & ~_T_255) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1234 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_1234) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1242 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1242) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1254 & (io_in_d_valid & _T_1238 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1238 & _T_2 & ~_T_1254) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1242 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1242) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1269 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1269) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1273 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1273) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1258 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1258 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1242 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1242) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1269 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1269) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1273 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1273) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1306 & (io_in_d_valid & _T_1286 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1286 & _T_2 & ~_T_1306) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1315 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1315 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1315 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1315 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1315 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1315 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1332 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1332 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1332 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1332 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1306 & (io_in_d_valid & _T_1332 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1332 & _T_2 & ~_T_1306) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1350 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1350 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1246 & (io_in_d_valid & _T_1350 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1350 & _T_2 & ~_T_1246) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1250 & (io_in_d_valid & _T_1350 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1350 & _T_2 & ~_T_1250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1381 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1381) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1385 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1389 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1389) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1393 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1393) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1397 & (_T_1380 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1380 & ~reset & ~_T_1397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1405 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1409 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1409) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1413 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1413) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1417 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1417) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1421 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1425 & (_T_1404 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1404 & _T_2 & ~_T_1425) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1438 & (_T_1434 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1434 & ~reset & ~_T_1438) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1457 & (_T_1445 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & _T_2 & ~_T_1457) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1463 & (_T_1445 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & same_cycle_resp & _T_2 & ~_T_1463) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1467 & (_T_1445 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & same_cycle_resp & _T_2 & ~_T_1467) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1475 & (_T_1445 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & ~same_cycle_resp & _T_2 & ~_T_1475) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1479 & (_T_1445 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1445 & ~same_cycle_resp & _T_2 & ~_T_1479) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1491 & (_T_1489 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1489 & _T_2 & ~_T_1491) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1498 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_1498) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1507 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1507) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1541[0] & (_T_1533 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1533 & _T_2 & ~_T_1541[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1551 & (_T_1533 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1533 & _T_2 & ~_T_1551) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1576 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:58:7)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[9:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[9:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  param_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  size_1 = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  source_1 = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  sink = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  denied = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  inflight = _RAND_13[2:0];
+  _RAND_14 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_14[11:0];
+  _RAND_15 = {1{`RANDOM}};
+  inflight_sizes = _RAND_15[23:0];
+  _RAND_16 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_16[9:0];
+  _RAND_17 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_17[9:0];
+  _RAND_18 = {1{`RANDOM}};
+  watchdog = _RAND_18[31:0];
+  _RAND_19 = {1{`RANDOM}};
+  inflight_1 = _RAND_19[2:0];
+  _RAND_20 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_20[23:0];
+  _RAND_21 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_21[9:0];
+  _RAND_22 = {1{`RANDOM}};
+  watchdog_1 = _RAND_22[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLAtomicAutomata_1(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [3:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [3:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [3:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [3:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input         auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [29:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  reg [1:0] cam_s_0_state; // @[AtomicAutomata.scala 76:28]
+  reg [2:0] cam_a_0_bits_opcode; // @[AtomicAutomata.scala 77:24]
+  reg [2:0] cam_a_0_bits_param; // @[AtomicAutomata.scala 77:24]
+  reg [3:0] cam_a_0_bits_size; // @[AtomicAutomata.scala 77:24]
+  reg [1:0] cam_a_0_bits_source; // @[AtomicAutomata.scala 77:24]
+  reg [29:0] cam_a_0_bits_address; // @[AtomicAutomata.scala 77:24]
+  reg [3:0] cam_a_0_bits_mask; // @[AtomicAutomata.scala 77:24]
+  reg [31:0] cam_a_0_bits_data; // @[AtomicAutomata.scala 77:24]
+  reg  cam_a_0_bits_corrupt; // @[AtomicAutomata.scala 77:24]
+  reg [3:0] cam_a_0_lut; // @[AtomicAutomata.scala 77:24]
+  reg [31:0] cam_d_0_data; // @[AtomicAutomata.scala 78:24]
+  reg  cam_d_0_denied; // @[AtomicAutomata.scala 78:24]
+  reg  cam_d_0_corrupt; // @[AtomicAutomata.scala 78:24]
+  wire  cam_free_0 = cam_s_0_state == 2'h0; // @[AtomicAutomata.scala 80:44]
+  wire  cam_amo_0 = cam_s_0_state == 2'h2; // @[AtomicAutomata.scala 81:44]
+  wire  cam_abusy_0 = cam_s_0_state == 2'h3 | cam_amo_0; // @[AtomicAutomata.scala 82:57]
+  wire  cam_dmatch_0 = cam_s_0_state != 2'h0; // @[AtomicAutomata.scala 83:49]
+  wire  _a_canLogical_T_1 = auto_in_a_bits_size <= 4'h2; // @[Parameters.scala 92:42]
+  wire [29:0] _a_canLogical_T_4 = auto_in_a_bits_address ^ 30'h2000; // @[Parameters.scala 137:31]
+  wire [30:0] _a_canLogical_T_5 = {1'b0,$signed(_a_canLogical_T_4)}; // @[Parameters.scala 137:49]
+  wire [30:0] _a_canLogical_T_7 = $signed(_a_canLogical_T_5) & 31'sh3e03e000; // @[Parameters.scala 137:52]
+  wire  _a_canLogical_T_8 = $signed(_a_canLogical_T_7) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _a_canLogical_T_9 = auto_in_a_bits_address ^ 30'h10002000; // @[Parameters.scala 137:31]
+  wire [30:0] _a_canLogical_T_10 = {1'b0,$signed(_a_canLogical_T_9)}; // @[Parameters.scala 137:49]
+  wire [30:0] _a_canLogical_T_12 = $signed(_a_canLogical_T_10) & 31'sh3e00e000; // @[Parameters.scala 137:52]
+  wire  _a_canLogical_T_13 = $signed(_a_canLogical_T_12) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _a_canLogical_T_14 = auto_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 137:31]
+  wire [30:0] _a_canLogical_T_15 = {1'b0,$signed(_a_canLogical_T_14)}; // @[Parameters.scala 137:49]
+  wire [30:0] _a_canLogical_T_17 = $signed(_a_canLogical_T_15) & 31'sh3e03c000; // @[Parameters.scala 137:52]
+  wire  _a_canLogical_T_18 = $signed(_a_canLogical_T_17) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _a_canLogical_T_19 = auto_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 137:31]
+  wire [30:0] _a_canLogical_T_20 = {1'b0,$signed(_a_canLogical_T_19)}; // @[Parameters.scala 137:49]
+  wire [30:0] _a_canLogical_T_22 = $signed(_a_canLogical_T_20) & 31'sh3e03c000; // @[Parameters.scala 137:52]
+  wire  _a_canLogical_T_23 = $signed(_a_canLogical_T_22) == 31'sh0; // @[Parameters.scala 137:67]
+  wire [29:0] _a_canLogical_T_24 = auto_in_a_bits_address ^ 30'h10034000; // @[Parameters.scala 137:31]
+  wire [30:0] _a_canLogical_T_25 = {1'b0,$signed(_a_canLogical_T_24)}; // @[Parameters.scala 137:49]
+  wire [30:0] _a_canLogical_T_27 = $signed(_a_canLogical_T_25) & 31'sh3e03e000; // @[Parameters.scala 137:52]
+  wire  _a_canLogical_T_28 = $signed(_a_canLogical_T_27) == 31'sh0; // @[Parameters.scala 137:67]
+  wire  _a_canLogical_T_32 = _a_canLogical_T_8 | _a_canLogical_T_13 | _a_canLogical_T_18 | _a_canLogical_T_23 |
+    _a_canLogical_T_28; // @[Parameters.scala 671:42]
+  wire  a_canLogical = _a_canLogical_T_1 & _a_canLogical_T_32; // @[Parameters.scala 670:56]
+  wire  a_isLogical = auto_in_a_bits_opcode == 3'h3; // @[AtomicAutomata.scala 90:47]
+  wire  a_isArithmetic = auto_in_a_bits_opcode == 3'h2; // @[AtomicAutomata.scala 91:47]
+  wire  _a_isSupported_T = a_isArithmetic ? a_canLogical : 1'h1; // @[AtomicAutomata.scala 92:63]
+  wire  a_isSupported = a_isLogical ? a_canLogical : _a_isSupported_T; // @[AtomicAutomata.scala 92:32]
+  wire [1:0] indexes_0 = {cam_a_0_bits_data[0],cam_d_0_data[0]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_1 = {cam_a_0_bits_data[1],cam_d_0_data[1]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_2 = {cam_a_0_bits_data[2],cam_d_0_data[2]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_3 = {cam_a_0_bits_data[3],cam_d_0_data[3]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_4 = {cam_a_0_bits_data[4],cam_d_0_data[4]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_5 = {cam_a_0_bits_data[5],cam_d_0_data[5]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_6 = {cam_a_0_bits_data[6],cam_d_0_data[6]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_7 = {cam_a_0_bits_data[7],cam_d_0_data[7]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_8 = {cam_a_0_bits_data[8],cam_d_0_data[8]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_9 = {cam_a_0_bits_data[9],cam_d_0_data[9]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_10 = {cam_a_0_bits_data[10],cam_d_0_data[10]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_11 = {cam_a_0_bits_data[11],cam_d_0_data[11]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_12 = {cam_a_0_bits_data[12],cam_d_0_data[12]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_13 = {cam_a_0_bits_data[13],cam_d_0_data[13]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_14 = {cam_a_0_bits_data[14],cam_d_0_data[14]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_15 = {cam_a_0_bits_data[15],cam_d_0_data[15]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_16 = {cam_a_0_bits_data[16],cam_d_0_data[16]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_17 = {cam_a_0_bits_data[17],cam_d_0_data[17]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_18 = {cam_a_0_bits_data[18],cam_d_0_data[18]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_19 = {cam_a_0_bits_data[19],cam_d_0_data[19]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_20 = {cam_a_0_bits_data[20],cam_d_0_data[20]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_21 = {cam_a_0_bits_data[21],cam_d_0_data[21]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_22 = {cam_a_0_bits_data[22],cam_d_0_data[22]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_23 = {cam_a_0_bits_data[23],cam_d_0_data[23]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_24 = {cam_a_0_bits_data[24],cam_d_0_data[24]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_25 = {cam_a_0_bits_data[25],cam_d_0_data[25]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_26 = {cam_a_0_bits_data[26],cam_d_0_data[26]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_27 = {cam_a_0_bits_data[27],cam_d_0_data[27]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_28 = {cam_a_0_bits_data[28],cam_d_0_data[28]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_29 = {cam_a_0_bits_data[29],cam_d_0_data[29]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_30 = {cam_a_0_bits_data[30],cam_d_0_data[30]}; // @[Cat.scala 31:58]
+  wire [1:0] indexes_31 = {cam_a_0_bits_data[31],cam_d_0_data[31]}; // @[Cat.scala 31:58]
+  wire [3:0] _logic_out_T = cam_a_0_lut >> indexes_0; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_2 = cam_a_0_lut >> indexes_1; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_4 = cam_a_0_lut >> indexes_2; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_6 = cam_a_0_lut >> indexes_3; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_8 = cam_a_0_lut >> indexes_4; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_10 = cam_a_0_lut >> indexes_5; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_12 = cam_a_0_lut >> indexes_6; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_14 = cam_a_0_lut >> indexes_7; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_16 = cam_a_0_lut >> indexes_8; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_18 = cam_a_0_lut >> indexes_9; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_20 = cam_a_0_lut >> indexes_10; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_22 = cam_a_0_lut >> indexes_11; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_24 = cam_a_0_lut >> indexes_12; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_26 = cam_a_0_lut >> indexes_13; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_28 = cam_a_0_lut >> indexes_14; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_30 = cam_a_0_lut >> indexes_15; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_32 = cam_a_0_lut >> indexes_16; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_34 = cam_a_0_lut >> indexes_17; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_36 = cam_a_0_lut >> indexes_18; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_38 = cam_a_0_lut >> indexes_19; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_40 = cam_a_0_lut >> indexes_20; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_42 = cam_a_0_lut >> indexes_21; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_44 = cam_a_0_lut >> indexes_22; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_46 = cam_a_0_lut >> indexes_23; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_48 = cam_a_0_lut >> indexes_24; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_50 = cam_a_0_lut >> indexes_25; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_52 = cam_a_0_lut >> indexes_26; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_54 = cam_a_0_lut >> indexes_27; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_56 = cam_a_0_lut >> indexes_28; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_58 = cam_a_0_lut >> indexes_29; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_60 = cam_a_0_lut >> indexes_30; // @[AtomicAutomata.scala 114:57]
+  wire [3:0] _logic_out_T_62 = cam_a_0_lut >> indexes_31; // @[AtomicAutomata.scala 114:57]
+  wire [7:0] logic_out_lo_lo = {_logic_out_T_14[0],_logic_out_T_12[0],_logic_out_T_10[0],_logic_out_T_8[0],
+    _logic_out_T_6[0],_logic_out_T_4[0],_logic_out_T_2[0],_logic_out_T[0]}; // @[Cat.scala 31:58]
+  wire [15:0] logic_out_lo = {_logic_out_T_30[0],_logic_out_T_28[0],_logic_out_T_26[0],_logic_out_T_24[0],
+    _logic_out_T_22[0],_logic_out_T_20[0],_logic_out_T_18[0],_logic_out_T_16[0],logic_out_lo_lo}; // @[Cat.scala 31:58]
+  wire [7:0] logic_out_hi_lo = {_logic_out_T_46[0],_logic_out_T_44[0],_logic_out_T_42[0],_logic_out_T_40[0],
+    _logic_out_T_38[0],_logic_out_T_36[0],_logic_out_T_34[0],_logic_out_T_32[0]}; // @[Cat.scala 31:58]
+  wire [31:0] logic_out = {_logic_out_T_62[0],_logic_out_T_60[0],_logic_out_T_58[0],_logic_out_T_56[0],_logic_out_T_54[0
+    ],_logic_out_T_52[0],_logic_out_T_50[0],_logic_out_T_48[0],logic_out_hi_lo,logic_out_lo}; // @[Cat.scala 31:58]
+  wire  unsigned_ = cam_a_0_bits_param[1]; // @[AtomicAutomata.scala 117:42]
+  wire  take_max = cam_a_0_bits_param[0]; // @[AtomicAutomata.scala 118:42]
+  wire  adder = cam_a_0_bits_param[2]; // @[AtomicAutomata.scala 119:39]
+  wire [3:0] _signSel_T = ~cam_a_0_bits_mask; // @[AtomicAutomata.scala 121:25]
+  wire [3:0] _GEN_39 = {{1'd0}, cam_a_0_bits_mask[3:1]}; // @[AtomicAutomata.scala 121:31]
+  wire [3:0] _signSel_T_2 = _signSel_T | _GEN_39; // @[AtomicAutomata.scala 121:31]
+  wire [3:0] signSel = ~_signSel_T_2; // @[AtomicAutomata.scala 121:23]
+  wire [3:0] signbits_a = {cam_a_0_bits_data[31],cam_a_0_bits_data[23],cam_a_0_bits_data[15],cam_a_0_bits_data[7]}; // @[Cat.scala 31:58]
+  wire [3:0] signbits_d = {cam_d_0_data[31],cam_d_0_data[23],cam_d_0_data[15],cam_d_0_data[7]}; // @[Cat.scala 31:58]
+  wire [3:0] _signbit_a_T = signbits_a & signSel; // @[AtomicAutomata.scala 125:38]
+  wire [4:0] _signbit_a_T_1 = {_signbit_a_T, 1'h0}; // @[AtomicAutomata.scala 125:49]
+  wire [3:0] signbit_a = _signbit_a_T_1[3:0]; // @[AtomicAutomata.scala 125:54]
+  wire [3:0] _signbit_d_T = signbits_d & signSel; // @[AtomicAutomata.scala 126:38]
+  wire [4:0] _signbit_d_T_1 = {_signbit_d_T, 1'h0}; // @[AtomicAutomata.scala 126:49]
+  wire [3:0] signbit_d = _signbit_d_T_1[3:0]; // @[AtomicAutomata.scala 126:54]
+  wire [4:0] _signext_a_T = {signbit_a, 1'h0}; // @[package.scala 244:48]
+  wire [3:0] _signext_a_T_2 = signbit_a | _signext_a_T[3:0]; // @[package.scala 244:43]
+  wire [5:0] _signext_a_T_3 = {_signext_a_T_2, 2'h0}; // @[package.scala 244:48]
+  wire [3:0] _signext_a_T_5 = _signext_a_T_2 | _signext_a_T_3[3:0]; // @[package.scala 244:43]
+  wire [7:0] _signext_a_T_12 = _signext_a_T_5[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _signext_a_T_14 = _signext_a_T_5[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _signext_a_T_16 = _signext_a_T_5[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _signext_a_T_18 = _signext_a_T_5[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] signext_a = {_signext_a_T_18,_signext_a_T_16,_signext_a_T_14,_signext_a_T_12}; // @[Cat.scala 31:58]
+  wire [4:0] _signext_d_T = {signbit_d, 1'h0}; // @[package.scala 244:48]
+  wire [3:0] _signext_d_T_2 = signbit_d | _signext_d_T[3:0]; // @[package.scala 244:43]
+  wire [5:0] _signext_d_T_3 = {_signext_d_T_2, 2'h0}; // @[package.scala 244:48]
+  wire [3:0] _signext_d_T_5 = _signext_d_T_2 | _signext_d_T_3[3:0]; // @[package.scala 244:43]
+  wire [7:0] _signext_d_T_12 = _signext_d_T_5[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _signext_d_T_14 = _signext_d_T_5[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _signext_d_T_16 = _signext_d_T_5[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _signext_d_T_18 = _signext_d_T_5[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] signext_d = {_signext_d_T_18,_signext_d_T_16,_signext_d_T_14,_signext_d_T_12}; // @[Cat.scala 31:58]
+  wire [7:0] _wide_mask_T_5 = cam_a_0_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _wide_mask_T_7 = cam_a_0_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _wide_mask_T_9 = cam_a_0_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _wide_mask_T_11 = cam_a_0_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] wide_mask = {_wide_mask_T_11,_wide_mask_T_9,_wide_mask_T_7,_wide_mask_T_5}; // @[Cat.scala 31:58]
+  wire [31:0] _a_a_ext_T = cam_a_0_bits_data & wide_mask; // @[AtomicAutomata.scala 131:28]
+  wire [31:0] a_a_ext = _a_a_ext_T | signext_a; // @[AtomicAutomata.scala 131:41]
+  wire [31:0] _a_d_ext_T = cam_d_0_data & wide_mask; // @[AtomicAutomata.scala 132:28]
+  wire [31:0] a_d_ext = _a_d_ext_T | signext_d; // @[AtomicAutomata.scala 132:41]
+  wire [31:0] _a_d_inv_T = ~a_d_ext; // @[AtomicAutomata.scala 133:43]
+  wire [31:0] a_d_inv = adder ? a_d_ext : _a_d_inv_T; // @[AtomicAutomata.scala 133:26]
+  wire [31:0] adder_out = a_a_ext + a_d_inv; // @[AtomicAutomata.scala 134:33]
+  wire  a_bigger_uneq = unsigned_ == a_a_ext[31]; // @[AtomicAutomata.scala 136:38]
+  wire  a_bigger = a_a_ext[31] == a_d_ext[31] ? ~adder_out[31] : a_bigger_uneq; // @[AtomicAutomata.scala 137:27]
+  wire  pick_a = take_max == a_bigger; // @[AtomicAutomata.scala 138:31]
+  wire [31:0] _arith_out_T = pick_a ? cam_a_0_bits_data : cam_d_0_data; // @[AtomicAutomata.scala 139:50]
+  wire [31:0] arith_out = adder ? adder_out : _arith_out_T; // @[AtomicAutomata.scala 139:28]
+  wire [31:0] amo_data = cam_a_0_bits_opcode[0] ? logic_out : arith_out; // @[AtomicAutomata.scala 145:14]
+  wire  a_allow = ~cam_abusy_0 & (a_isSupported | cam_free_0); // @[AtomicAutomata.scala 149:35]
+  reg [9:0] beatsLeft; // @[Arbiter.scala 87:30]
+  wire  idle = beatsLeft == 10'h0; // @[Arbiter.scala 88:28]
+  wire  source_i_valid = auto_in_a_valid & a_allow; // @[AtomicAutomata.scala 151:38]
+  wire [1:0] _readys_T = {source_i_valid,cam_amo_0}; // @[Cat.scala 31:58]
+  wire [2:0] _readys_T_1 = {_readys_T, 1'h0}; // @[package.scala 244:48]
+  wire [1:0] _readys_T_3 = _readys_T | _readys_T_1[1:0]; // @[package.scala 244:43]
+  wire [2:0] _readys_T_5 = {_readys_T_3, 1'h0}; // @[Arbiter.scala 16:78]
+  wire [1:0] _readys_T_7 = ~_readys_T_5[1:0]; // @[Arbiter.scala 16:61]
+  wire  readys_1 = _readys_T_7[1]; // @[Arbiter.scala 95:86]
+  reg  state_1; // @[Arbiter.scala 116:26]
+  wire  allowed_1 = idle ? readys_1 : state_1; // @[Arbiter.scala 121:24]
+  wire  out_1_ready = auto_out_a_ready & allowed_1; // @[Arbiter.scala 123:31]
+  wire  _T = ~a_isSupported; // @[AtomicAutomata.scala 153:15]
+  wire [2:0] source_i_bits_opcode = ~a_isSupported ? 3'h4 : auto_in_a_bits_opcode; // @[AtomicAutomata.scala 152:24 153:31 154:32]
+  wire [2:0] source_i_bits_param = ~a_isSupported ? 3'h0 : auto_in_a_bits_param; // @[AtomicAutomata.scala 152:24 153:31 155:32]
+  wire  source_c_bits_a_corrupt = cam_a_0_bits_corrupt | cam_d_0_corrupt; // @[AtomicAutomata.scala 166:45]
+  wire  source_c_bits_a_mask_sizeOH_shiftAmount = cam_a_0_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _source_c_bits_a_mask_sizeOH_T_1 = 2'h1 << source_c_bits_a_mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] source_c_bits_a_mask_sizeOH = _source_c_bits_a_mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _source_c_bits_a_mask_T = cam_a_0_bits_size >= 4'h2; // @[Misc.scala 205:21]
+  wire  source_c_bits_a_mask_size = source_c_bits_a_mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  source_c_bits_a_mask_bit = cam_a_0_bits_address[1]; // @[Misc.scala 209:26]
+  wire  source_c_bits_a_mask_nbit = ~source_c_bits_a_mask_bit; // @[Misc.scala 210:20]
+  wire  source_c_bits_a_mask_acc = _source_c_bits_a_mask_T | source_c_bits_a_mask_size & source_c_bits_a_mask_nbit; // @[Misc.scala 214:29]
+  wire  source_c_bits_a_mask_acc_1 = _source_c_bits_a_mask_T | source_c_bits_a_mask_size & source_c_bits_a_mask_bit; // @[Misc.scala 214:29]
+  wire  source_c_bits_a_mask_size_1 = source_c_bits_a_mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  source_c_bits_a_mask_bit_1 = cam_a_0_bits_address[0]; // @[Misc.scala 209:26]
+  wire  source_c_bits_a_mask_nbit_1 = ~source_c_bits_a_mask_bit_1; // @[Misc.scala 210:20]
+  wire  source_c_bits_a_mask_eq_2 = source_c_bits_a_mask_nbit & source_c_bits_a_mask_nbit_1; // @[Misc.scala 213:27]
+  wire  source_c_bits_a_mask_acc_2 = source_c_bits_a_mask_acc | source_c_bits_a_mask_size_1 & source_c_bits_a_mask_eq_2; // @[Misc.scala 214:29]
+  wire  source_c_bits_a_mask_eq_3 = source_c_bits_a_mask_nbit & source_c_bits_a_mask_bit_1; // @[Misc.scala 213:27]
+  wire  source_c_bits_a_mask_acc_3 = source_c_bits_a_mask_acc | source_c_bits_a_mask_size_1 & source_c_bits_a_mask_eq_3; // @[Misc.scala 214:29]
+  wire  source_c_bits_a_mask_eq_4 = source_c_bits_a_mask_bit & source_c_bits_a_mask_nbit_1; // @[Misc.scala 213:27]
+  wire  source_c_bits_a_mask_acc_4 = source_c_bits_a_mask_acc_1 | source_c_bits_a_mask_size_1 &
+    source_c_bits_a_mask_eq_4; // @[Misc.scala 214:29]
+  wire  source_c_bits_a_mask_eq_5 = source_c_bits_a_mask_bit & source_c_bits_a_mask_bit_1; // @[Misc.scala 213:27]
+  wire  source_c_bits_a_mask_acc_5 = source_c_bits_a_mask_acc_1 | source_c_bits_a_mask_size_1 &
+    source_c_bits_a_mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] source_c_bits_a_mask = {source_c_bits_a_mask_acc_5,source_c_bits_a_mask_acc_4,source_c_bits_a_mask_acc_3,
+    source_c_bits_a_mask_acc_2}; // @[Cat.scala 31:58]
+  wire [26:0] _decode_T_1 = 27'hfff << auto_in_a_bits_size; // @[package.scala 234:77]
+  wire [11:0] _decode_T_3 = ~_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] decode = _decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  opdata = ~auto_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  wire  latch = idle & auto_out_a_ready; // @[Arbiter.scala 89:24]
+  wire  readys_0 = _readys_T_7[0]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_0 = readys_0 & cam_amo_0; // @[Arbiter.scala 97:79]
+  wire  earlyWinner_1 = readys_1 & source_i_valid; // @[Arbiter.scala 97:79]
+  wire  _prefixOR_T = earlyWinner_0 | earlyWinner_1; // @[Arbiter.scala 104:53]
+  wire  _T_10 = ~reset; // @[Arbiter.scala 105:13]
+  wire  _T_12 = cam_amo_0 | source_i_valid; // @[Arbiter.scala 107:36]
+  wire  _T_13 = ~(cam_amo_0 | source_i_valid); // @[Arbiter.scala 107:15]
+  reg  state_0; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_0 = idle ? earlyWinner_0 : state_0; // @[Arbiter.scala 117:30]
+  wire  muxStateEarly_1 = idle ? earlyWinner_1 : state_1; // @[Arbiter.scala 117:30]
+  wire  _sink_ACancel_earlyValid_T_3 = state_0 & cam_amo_0 | state_1 & source_i_valid; // @[Mux.scala 27:73]
+  wire  sink_ACancel_earlyValid = idle ? _T_12 : _sink_ACancel_earlyValid_T_3; // @[Arbiter.scala 125:29]
+  wire  _beatsLeft_T_2 = auto_out_a_ready & sink_ACancel_earlyValid; // @[ReadyValidCancel.scala 49:33]
+  wire [9:0] _GEN_40 = {{9'd0}, _beatsLeft_T_2}; // @[Arbiter.scala 113:52]
+  wire [9:0] _beatsLeft_T_4 = beatsLeft - _GEN_40; // @[Arbiter.scala 113:52]
+  wire  allowed_0 = idle ? readys_0 : state_0; // @[Arbiter.scala 121:24]
+  wire  out_ready = auto_out_a_ready & allowed_0; // @[Arbiter.scala 123:31]
+  wire [31:0] _T_29 = muxStateEarly_0 ? amo_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_30 = muxStateEarly_1 ? auto_in_a_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_32 = muxStateEarly_0 ? source_c_bits_a_mask : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_33 = muxStateEarly_1 ? auto_in_a_bits_mask : 4'h0; // @[Mux.scala 27:73]
+  wire [29:0] _T_35 = muxStateEarly_0 ? cam_a_0_bits_address : 30'h0; // @[Mux.scala 27:73]
+  wire [29:0] _T_36 = muxStateEarly_1 ? auto_in_a_bits_address : 30'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_38 = muxStateEarly_0 ? cam_a_0_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_39 = muxStateEarly_1 ? auto_in_a_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_41 = muxStateEarly_0 ? cam_a_0_bits_size : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_42 = muxStateEarly_1 ? auto_in_a_bits_size : 4'h0; // @[Mux.scala 27:73]
+  wire  _T_50 = out_1_ready & source_i_valid; // @[Decoupled.scala 50:35]
+  wire [2:0] _GEN_41 = {{1'd0}, auto_in_a_bits_param[1:0]}; // @[Mux.scala 81:61]
+  wire [3:0] _cam_a_0_lut_T_2 = 3'h1 == _GEN_41 ? 4'he : 4'h8; // @[Mux.scala 81:58]
+  wire [1:0] _GEN_12 = cam_free_0 ? 2'h3 : cam_s_0_state; // @[AtomicAutomata.scala 187:23 188:23 76:28]
+  wire [1:0] _GEN_23 = _T_50 & _T ? _GEN_12 : cam_s_0_state; // @[AtomicAutomata.scala 174:50 76:28]
+  wire  _T_53 = out_ready & cam_amo_0; // @[Decoupled.scala 50:35]
+  wire [1:0] _GEN_24 = cam_amo_0 ? 2'h1 : _GEN_23; // @[AtomicAutomata.scala 196:23 197:23]
+  wire [1:0] _GEN_25 = _T_53 ? _GEN_24 : _GEN_23; // @[AtomicAutomata.scala 194:32]
+  reg [9:0] d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first = d_first_counter == 10'h0; // @[Edges.scala 230:25]
+  wire  d_ackd = auto_out_d_bits_opcode == 3'h1; // @[AtomicAutomata.scala 213:40]
+  wire  d_cam_sel_raw_0 = cam_a_0_bits_source == auto_out_d_bits_source; // @[AtomicAutomata.scala 204:53]
+  wire  d_cam_sel_match_0 = d_cam_sel_raw_0 & cam_dmatch_0; // @[AtomicAutomata.scala 205:83]
+  wire  d_drop = d_first & d_ackd & d_cam_sel_match_0; // @[AtomicAutomata.scala 232:40]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | d_drop; // @[AtomicAutomata.scala 236:35]
+  wire  _d_first_T = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [26:0] _d_first_beats1_decode_T_1 = 27'hfff << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [9:0] d_first_counter1 = d_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  d_ack = auto_out_d_bits_opcode == 3'h0; // @[AtomicAutomata.scala 214:40]
+  wire  d_replace = d_first & d_ack & d_cam_sel_match_0; // @[AtomicAutomata.scala 233:42]
+  TLMonitor_27 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = out_1_ready & a_allow; // @[AtomicAutomata.scala 150:38]
+  assign auto_in_d_valid = auto_out_d_valid & ~d_drop; // @[AtomicAutomata.scala 235:35]
+  assign auto_in_d_bits_opcode = d_replace ? 3'h1 : auto_out_d_bits_opcode; // @[AtomicAutomata.scala 238:19 239:26 240:28]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_denied = d_replace ? cam_d_0_denied | auto_out_d_bits_denied : auto_out_d_bits_denied; // @[AtomicAutomata.scala 238:19 239:26 243:29]
+  assign auto_in_d_bits_data = d_replace ? cam_d_0_data : auto_out_d_bits_data; // @[AtomicAutomata.scala 238:19 239:26 241:26]
+  assign auto_in_d_bits_corrupt = d_replace ? cam_d_0_corrupt | auto_out_d_bits_denied : auto_out_d_bits_corrupt; // @[AtomicAutomata.scala 238:19 239:26 242:29]
+  assign auto_out_a_valid = idle ? _T_12 : _sink_ACancel_earlyValid_T_3; // @[Arbiter.scala 125:29]
+  assign auto_out_a_bits_opcode = muxStateEarly_1 ? source_i_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_param = muxStateEarly_1 ? source_i_bits_param : 3'h0; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_size = _T_41 | _T_42; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_source = _T_38 | _T_39; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_address = _T_35 | _T_36; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_mask = _T_32 | _T_33; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_data = _T_29 | _T_30; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_corrupt = muxStateEarly_0 & source_c_bits_a_corrupt | muxStateEarly_1 & auto_in_a_bits_corrupt; // @[Mux.scala 27:73]
+  assign auto_out_d_ready = auto_in_d_ready | d_drop; // @[AtomicAutomata.scala 236:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = out_1_ready & a_allow; // @[AtomicAutomata.scala 150:38]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~d_drop; // @[AtomicAutomata.scala 235:35]
+  assign monitor_io_in_d_bits_opcode = d_replace ? 3'h1 : auto_out_d_bits_opcode; // @[AtomicAutomata.scala 238:19 239:26 240:28]
+  assign monitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_denied = d_replace ? cam_d_0_denied | auto_out_d_bits_denied : auto_out_d_bits_denied; // @[AtomicAutomata.scala 238:19 239:26 243:29]
+  assign monitor_io_in_d_bits_corrupt = d_replace ? cam_d_0_corrupt | auto_out_d_bits_denied : auto_out_d_bits_corrupt; // @[AtomicAutomata.scala 238:19 239:26 242:29]
+  always @(posedge clock) begin
+    if (reset) begin // @[AtomicAutomata.scala 76:28]
+      cam_s_0_state <= 2'h0; // @[AtomicAutomata.scala 76:28]
+    end else if (_d_first_T & d_first) begin // @[AtomicAutomata.scala 216:40]
+      if (d_cam_sel_match_0) begin // @[AtomicAutomata.scala 225:23]
+        if (d_ackd) begin // @[AtomicAutomata.scala 227:29]
+          cam_s_0_state <= 2'h2;
+        end else begin
+          cam_s_0_state <= 2'h0;
+        end
+      end else begin
+        cam_s_0_state <= _GEN_25;
+      end
+    end else begin
+      cam_s_0_state <= _GEN_25;
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_opcode <= auto_in_a_bits_opcode; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_param <= auto_in_a_bits_param; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_size <= auto_in_a_bits_size; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_source <= auto_in_a_bits_source; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_address <= auto_in_a_bits_address; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_mask <= auto_in_a_bits_mask; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_data <= auto_in_a_bits_data; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        cam_a_0_bits_corrupt <= auto_in_a_bits_corrupt; // @[AtomicAutomata.scala 178:24]
+      end
+    end
+    if (_T_50 & _T) begin // @[AtomicAutomata.scala 174:50]
+      if (cam_free_0) begin // @[AtomicAutomata.scala 176:23]
+        if (3'h3 == _GEN_41) begin // @[Mux.scala 81:58]
+          cam_a_0_lut <= 4'hc;
+        end else if (3'h0 == _GEN_41) begin // @[Mux.scala 81:58]
+          cam_a_0_lut <= 4'h6;
+        end else begin
+          cam_a_0_lut <= _cam_a_0_lut_T_2;
+        end
+      end
+    end
+    if (_d_first_T & d_first) begin // @[AtomicAutomata.scala 216:40]
+      if (d_cam_sel_match_0 & d_ackd) begin // @[AtomicAutomata.scala 218:33]
+        cam_d_0_data <= auto_out_d_bits_data; // @[AtomicAutomata.scala 219:22]
+      end
+    end
+    if (_d_first_T & d_first) begin // @[AtomicAutomata.scala 216:40]
+      if (d_cam_sel_match_0 & d_ackd) begin // @[AtomicAutomata.scala 218:33]
+        cam_d_0_denied <= auto_out_d_bits_denied; // @[AtomicAutomata.scala 220:24]
+      end
+    end
+    if (_d_first_T & d_first) begin // @[AtomicAutomata.scala 216:40]
+      if (d_cam_sel_match_0 & d_ackd) begin // @[AtomicAutomata.scala 218:33]
+        cam_d_0_corrupt <= auto_out_d_bits_corrupt; // @[AtomicAutomata.scala 221:25]
+      end
+    end
+    if (reset) begin // @[Arbiter.scala 87:30]
+      beatsLeft <= 10'h0; // @[Arbiter.scala 87:30]
+    end else if (latch) begin // @[Arbiter.scala 113:23]
+      if (earlyWinner_1) begin // @[Arbiter.scala 111:73]
+        if (opdata) begin // @[Edges.scala 220:14]
+          beatsLeft <= decode;
+        end else begin
+          beatsLeft <= 10'h0;
+        end
+      end else begin
+        beatsLeft <= 10'h0;
+      end
+    end else begin
+      beatsLeft <= _beatsLeft_T_4;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_1 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_1 <= earlyWinner_1;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_0 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_0 <= earlyWinner_0;
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 10'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~earlyWinner_0 | ~earlyWinner_1) & ~reset) begin
+          $fatal; // @[Arbiter.scala 105:13]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~(~earlyWinner_0 | ~earlyWinner_1)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:105 assert((prefixOR zip earlyWinner) map { case (p,w) => !p || !w } reduce {_ && _})\n"
+            ); // @[Arbiter.scala 105:13]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(cam_amo_0 | source_i_valid) | _prefixOR_T) & _T_10) begin
+          $fatal; // @[Arbiter.scala 107:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_10 & ~(~(cam_amo_0 | source_i_valid) | _prefixOR_T)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:107 assert (!earlyValids.reduce(_||_) || earlyWinner.reduce(_||_))\n"
+            ); // @[Arbiter.scala 107:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_13 | _T_12) & _T_10) begin
+          $fatal; // @[Arbiter.scala 108:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_10 & ~(_T_13 | _T_12)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:108 assert (!validQuals .reduce(_||_) || validQuals .reduce(_||_))\n"
+            ); // @[Arbiter.scala 108:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  cam_s_0_state = _RAND_0[1:0];
+  _RAND_1 = {1{`RANDOM}};
+  cam_a_0_bits_opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  cam_a_0_bits_param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  cam_a_0_bits_size = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  cam_a_0_bits_source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  cam_a_0_bits_address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  cam_a_0_bits_mask = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  cam_a_0_bits_data = _RAND_7[31:0];
+  _RAND_8 = {1{`RANDOM}};
+  cam_a_0_bits_corrupt = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  cam_a_0_lut = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  cam_d_0_data = _RAND_10[31:0];
+  _RAND_11 = {1{`RANDOM}};
+  cam_d_0_denied = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  cam_d_0_corrupt = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  beatsLeft = _RAND_13[9:0];
+  _RAND_14 = {1{`RANDOM}};
+  state_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  state_0 = _RAND_15[0:0];
+  _RAND_16 = {1{`RANDOM}};
+  d_first_counter = _RAND_16[9:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLMonitor_28(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [3:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [13:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [3:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source,
+  input         io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [26:0] _is_aligned_mask_T_1 = 27'hfff << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask = ~_is_aligned_mask_T_1[11:0]; // @[package.scala 234:46]
+  wire [13:0] _GEN_71 = {{2'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [13:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 14'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 4'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire  _T_35 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire  _T_42 = _T_35 & source_ok; // @[Parameters.scala 1160:30]
+  wire [13:0] _T_45 = io_in_a_bits_address ^ 14'h3000; // @[Parameters.scala 137:31]
+  wire [14:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [14:0] _T_48 = $signed(_T_46) & -15'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 15'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 4'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_74 = _T_35 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_76 = _T_60 & _T_74; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = _T_42 & _T_74; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_317 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 92:42]
+  wire  _T_325 = _T_317 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_327 = _T_42 & _T_325; // @[Monitor.scala 131:74]
+  wire  _T_337 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_345 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_377 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_385 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_417 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_429 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_433 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_437 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 312:27]
+  wire  _T_445 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_453 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_481 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_510 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_527 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_545 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [9:0] a_first_beats1_decode = is_aligned_mask[11:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [9:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1 = a_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [3:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [13:0] address; // @[Monitor.scala 388:22]
+  wire  _T_575 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_576 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_580 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_584 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_588 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_592 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [26:0] _d_first_beats1_decode_T_1 = 27'hfff << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [9:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1 = d_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [3:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_599 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_600 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_608 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_612 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [23:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [9:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1_1 = a_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  reg [9:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_1 = d_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [4:0] _a_size_lookup_T = {io_in_d_bits_source, 3'h0}; // @[Monitor.scala 638:65]
+  wire [23:0] _a_size_lookup_T_1 = inflight_sizes >> _a_size_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _a_size_lookup_T_5 = 16'h100 - 16'h1; // @[Monitor.scala 609:57]
+  wire [23:0] _GEN_75 = {{8'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_75; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[23:1]}; // @[Monitor.scala 638:144]
+  wire  _T_626 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_629 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [4:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [4:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 5'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_77 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_77}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [4:0] _a_sizes_set_T = {io_in_a_bits_source, 3'h0}; // @[Monitor.scala 657:77]
+  wire [4:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 5'h0; // @[Monitor.scala 652:72 655:28]
+  wire [35:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [35:0] _a_sizes_set_T_1 = _GEN_2 << _a_sizes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_631 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_633 = ~_T_631[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [35:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 36'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_637 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_639 = ~_T_433; // @[Monitor.scala 671:74]
+  wire  _T_640 = io_in_d_valid & d_first_1 & ~_T_433; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_433 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 671:90 672:22]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [46:0] _GEN_4 = {{31'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 678:74]
+  wire [46:0] _d_sizes_clr_T_5 = _GEN_4 << _a_size_lookup_T; // @[Monitor.scala 678:74]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_639 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_639 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire [46:0] _GEN_24 = _d_first_T & d_first_1 & _T_639 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 678:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_626 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_650 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_652 = _T_650[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_657 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_658 = io_in_d_bits_opcode == _GEN_32 | _T_657; // @[Monitor.scala 685:77]
+  wire  _T_662 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_669 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_670 = io_in_d_bits_opcode == _GEN_48 | _T_669; // @[Monitor.scala 689:72]
+  wire [7:0] a_size_lookup = _a_size_lookup_T_7[7:0];
+  wire [7:0] _GEN_79 = {{4'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_674 = _GEN_79 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_684 = _T_637 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_639; // @[Monitor.scala 694:116]
+  wire  _T_686 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set_wo_ready = _GEN_15[2:0];
+  wire [2:0] d_clr_wo_ready = _GEN_21[2:0];
+  wire  _T_693 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [23:0] a_sizes_set = _GEN_20[23:0];
+  wire [23:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [23:0] d_sizes_clr = _GEN_24[23:0];
+  wire [23:0] _inflight_sizes_T_1 = ~d_sizes_clr; // @[Monitor.scala 704:56]
+  wire [23:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_sizes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_702 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [23:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [9:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_2 = d_first_counter_2 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 10'h0; // @[Edges.scala 230:25]
+  wire [23:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_size_lookup_T; // @[Monitor.scala 747:42]
+  wire [23:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_75; // @[Monitor.scala 747:93]
+  wire [23:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[23:1]}; // @[Monitor.scala 747:146]
+  wire  _T_728 = io_in_d_valid & d_first_2 & _T_433; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_433 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_69 = _d_first_T & d_first_2 & _T_433 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 786:21]
+  wire [2:0] _T_736 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [7:0] c_size_lookup = _c_size_lookup_T_7[7:0];
+  wire  _T_746 = _GEN_79 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [23:0] d_sizes_clr_1 = _GEN_69[23:0];
+  wire [23:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
+  wire [23:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_771 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 10'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 10'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 24'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 24'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_42 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_42) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_327 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_327) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_337 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_337) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_327 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_327) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_377 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_377) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_385 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_385 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_385 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_385 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_385 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_385 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_417 & (io_in_a_valid & _T_385 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_385 & ~reset & ~_T_417) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_385 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_385 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_385 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_385 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_429 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_429) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_433 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_433 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_437 & (io_in_d_valid & _T_433 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_433 & _T_2 & ~_T_437) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_445 & (io_in_d_valid & _T_433 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_433 & _T_2 & ~_T_445) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_433 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_433 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_453 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_453 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_453 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_453 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_437 & (io_in_d_valid & _T_453 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_453 & _T_2 & ~_T_437) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_445 & (io_in_d_valid & _T_453 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_453 & _T_2 & ~_T_445) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_481 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_481 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_481 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_481 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_437 & (io_in_d_valid & _T_481 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_481 & _T_2 & ~_T_437) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_445 & (io_in_d_valid & _T_481 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_481 & _T_2 & _T_445) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_510 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_510 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_445 & (io_in_d_valid & _T_510 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_510 & _T_2 & ~_T_445) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_527 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_527 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_445 & (io_in_d_valid & _T_527 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_527 & _T_2 & _T_445) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_545 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_545 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_445 & (io_in_d_valid & _T_545 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_545 & _T_2 & ~_T_445) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_575 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_575 & ~reset & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_575 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_575 & ~reset & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_584 & (_T_575 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_575 & ~reset & ~_T_584) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_588 & (_T_575 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_575 & ~reset & ~_T_588) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_592 & (_T_575 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_575 & ~reset & ~_T_592) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_600 & (_T_599 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_599 & _T_2 & ~_T_600) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_608 & (_T_599 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_599 & _T_2 & ~_T_608) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_612 & (_T_599 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_599 & _T_2 & ~_T_612) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_633 & (_T_629 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_629 & ~reset & ~_T_633) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_652 & (_T_640 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_640 & _T_2 & ~_T_652) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_658 & (_T_640 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_640 & same_cycle_resp & _T_2 & ~_T_658) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_662 & (_T_640 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_640 & same_cycle_resp & _T_2 & ~_T_662) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_670 & (_T_640 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_640 & ~same_cycle_resp & _T_2 & ~_T_670) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_674 & (_T_640 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_640 & ~same_cycle_resp & _T_2 & ~_T_674) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & (_T_684 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_684 & _T_2 & ~_T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_693 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_693) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_702 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_702) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_736[0] & (_T_728 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_728 & _T_2 & ~_T_736[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_746 & (_T_728 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_728 & _T_2 & ~_T_746) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_771 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_771) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CanHaveBuiltInDevices.scala:43:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[9:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[13:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[9:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[3:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[23:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[9:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[9:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[23:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[9:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Queue_7(
+  input        clock,
+  input        reset,
+  output       io_enq_ready,
+  input        io_enq_valid,
+  input  [2:0] io_enq_bits_opcode,
+  input  [3:0] io_enq_bits_size,
+  input  [1:0] io_enq_bits_source,
+  input        io_deq_ready,
+  output       io_deq_valid,
+  output [2:0] io_deq_bits_opcode,
+  output [3:0] io_deq_bits_size,
+  output [1:0] io_deq_bits_source
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_3;
+`endif // RANDOMIZE_REG_INIT
+  reg [2:0] ram_opcode [0:0]; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_size [0:0]; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_source [0:0]; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  empty = ~maybe_full; // @[Decoupled.scala 264:28]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_opcode_io_deq_bits_MPORT_addr = 1'h0;
+  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
+  assign ram_opcode_MPORT_addr = 1'h0;
+  assign ram_opcode_MPORT_mask = 1'h1;
+  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_size_io_deq_bits_MPORT_addr = 1'h0;
+  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_size_MPORT_data = io_enq_bits_size;
+  assign ram_size_MPORT_addr = 1'h0;
+  assign ram_size_MPORT_mask = 1'h1;
+  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_source_io_deq_bits_MPORT_addr = 1'h0;
+  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_source_MPORT_data = io_enq_bits_source;
+  assign ram_source_MPORT_addr = 1'h0;
+  assign ram_source_MPORT_mask = 1'h1;
+  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
+      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
+      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
+      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    ram_opcode[initvar] = _RAND_0[2:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    ram_size[initvar] = _RAND_1[3:0];
+  _RAND_2 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    ram_source[initvar] = _RAND_2[1:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  maybe_full = _RAND_3[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLError(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [3:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [13:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [3:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [13:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  a_clock; // @[Decoupled.scala 361:21]
+  wire  a_reset; // @[Decoupled.scala 361:21]
+  wire  a_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  a_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] a_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [3:0] a_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] a_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire  a_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  a_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] a_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [3:0] a_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] a_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire  _a_last_T = a_io_deq_ready & a_io_deq_valid; // @[Decoupled.scala 50:35]
+  wire [26:0] _a_last_beats1_decode_T_1 = 27'hfff << a_io_deq_bits_size; // @[package.scala 234:77]
+  wire [11:0] _a_last_beats1_decode_T_3 = ~_a_last_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] a_last_beats1_decode = _a_last_beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  a_last_beats1_opdata = ~a_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  wire [9:0] a_last_beats1 = a_last_beats1_opdata ? a_last_beats1_decode : 10'h0; // @[Edges.scala 220:14]
+  reg [9:0] a_last_counter; // @[Edges.scala 228:27]
+  wire [9:0] a_last_counter1 = a_last_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  a_last_first = a_last_counter == 10'h0; // @[Edges.scala 230:25]
+  wire  a_last = a_last_counter == 10'h1 | a_last_beats1 == 10'h0; // @[Edges.scala 231:37]
+  wire  da_valid = a_io_deq_valid & a_last; // @[Error.scala 51:25]
+  wire  _T = auto_in_d_ready & da_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] da_bits_size = a_io_deq_bits_size; // @[Error.scala 43:18 55:21]
+  wire [26:0] _beats1_decode_T_1 = 27'hfff << da_bits_size; // @[package.scala 234:77]
+  wire [11:0] _beats1_decode_T_3 = ~_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] beats1_decode = _beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire [2:0] _GEN_4 = 3'h2 == a_io_deq_bits_opcode ? 3'h1 : 3'h0; // @[Error.scala 53:{21,21}]
+  wire [2:0] _GEN_5 = 3'h3 == a_io_deq_bits_opcode ? 3'h1 : _GEN_4; // @[Error.scala 53:{21,21}]
+  wire [2:0] _GEN_6 = 3'h4 == a_io_deq_bits_opcode ? 3'h1 : _GEN_5; // @[Error.scala 53:{21,21}]
+  wire [2:0] _GEN_7 = 3'h5 == a_io_deq_bits_opcode ? 3'h2 : _GEN_6; // @[Error.scala 53:{21,21}]
+  wire [2:0] _GEN_8 = 3'h6 == a_io_deq_bits_opcode ? 3'h4 : _GEN_7; // @[Error.scala 53:{21,21}]
+  wire [2:0] da_bits_opcode = 3'h7 == a_io_deq_bits_opcode ? 3'h4 : _GEN_8; // @[Error.scala 53:{21,21}]
+  wire  beats1_opdata = da_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [9:0] beats1 = beats1_opdata ? beats1_decode : 10'h0; // @[Edges.scala 220:14]
+  reg [9:0] counter; // @[Edges.scala 228:27]
+  wire [9:0] counter1 = counter - 10'h1; // @[Edges.scala 229:28]
+  wire  da_first = counter == 10'h0; // @[Edges.scala 230:25]
+  wire  da_last = counter == 10'h1 | beats1 == 10'h0; // @[Edges.scala 231:37]
+  TLMonitor_28 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
+  );
+  Queue_7 a ( // @[Decoupled.scala 361:21]
+    .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 auto_in_a_ready = a_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign auto_in_d_valid = a_io_deq_valid & a_last; // @[Error.scala 51:25]
+  assign auto_in_d_bits_opcode = 3'h7 == a_io_deq_bits_opcode ? 3'h4 : _GEN_8; // @[Error.scala 53:{21,21}]
+  assign auto_in_d_bits_size = a_io_deq_bits_size; // @[Error.scala 43:18 55:21]
+  assign auto_in_d_bits_source = a_io_deq_bits_source; // @[Error.scala 43:18 56:21]
+  assign auto_in_d_bits_corrupt = da_bits_opcode[0]; // @[Edges.scala 105:36]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = a_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = a_io_deq_valid & a_last; // @[Error.scala 51:25]
+  assign monitor_io_in_d_bits_opcode = 3'h7 == a_io_deq_bits_opcode ? 3'h4 : _GEN_8; // @[Error.scala 53:{21,21}]
+  assign monitor_io_in_d_bits_size = a_io_deq_bits_size; // @[Error.scala 43:18 55:21]
+  assign monitor_io_in_d_bits_source = a_io_deq_bits_source; // @[Error.scala 43:18 56:21]
+  assign monitor_io_in_d_bits_corrupt = da_bits_opcode[0]; // @[Edges.scala 105:36]
+  assign a_clock = clock;
+  assign a_reset = reset;
+  assign a_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign a_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign a_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign a_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign a_io_deq_ready = auto_in_d_ready & da_last | ~a_last; // @[Error.scala 50:46]
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_last_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_last_T) begin // @[Edges.scala 234:17]
+      if (a_last_first) begin // @[Edges.scala 235:21]
+        if (a_last_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_last_counter <= a_last_beats1_decode;
+        end else begin
+          a_last_counter <= 10'h0;
+        end
+      end else begin
+        a_last_counter <= a_last_counter1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_T) begin // @[Edges.scala 234:17]
+      if (da_first) begin // @[Edges.scala 235:21]
+        if (beats1_opdata) begin // @[Edges.scala 220:14]
+          counter <= beats1_decode;
+        end else begin
+          counter <= 10'h0;
+        end
+      end else begin
+        counter <= counter1;
+      end
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_last_counter = _RAND_0[9:0];
+  _RAND_1 = {1{`RANDOM}};
+  counter = _RAND_1[9:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLMonitor_29(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [3:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [13:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [3:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source,
+  input         io_in_d_bits_sink,
+  input         io_in_d_bits_denied,
+  input         io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [26:0] _is_aligned_mask_T_1 = 27'hfff << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask = ~_is_aligned_mask_T_1[11:0]; // @[package.scala 234:46]
+  wire [13:0] _GEN_71 = {{2'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [13:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 14'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 4'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire  _T_35 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire  _T_42 = _T_35 & source_ok; // @[Parameters.scala 1160:30]
+  wire [13:0] _T_45 = io_in_a_bits_address ^ 14'h3000; // @[Parameters.scala 137:31]
+  wire [14:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [14:0] _T_48 = $signed(_T_46) & -15'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 15'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 4'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_74 = _T_35 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_76 = _T_60 & _T_74; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = _T_42 & _T_74; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_317 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 92:42]
+  wire  _T_325 = _T_317 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_327 = _T_42 & _T_325; // @[Monitor.scala 131:74]
+  wire  _T_337 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_345 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_377 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_385 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_417 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_429 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_433 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_437 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 312:27]
+  wire  _T_441 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_445 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_449 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_453 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_464 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_468 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_481 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = _T_449 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_510 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_527 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_545 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [9:0] a_first_beats1_decode = is_aligned_mask[11:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [9:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1 = a_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [3:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [13:0] address; // @[Monitor.scala 388:22]
+  wire  _T_575 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_576 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_580 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_584 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_588 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_592 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [26:0] _d_first_beats1_decode_T_1 = 27'hfff << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [9:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1 = d_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [3:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  reg  sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_599 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_600 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_604 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_608 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_612 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_616 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_620 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [23:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [9:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1_1 = a_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  reg [9:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_1 = d_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [4:0] _a_size_lookup_T = {io_in_d_bits_source, 3'h0}; // @[Monitor.scala 638:65]
+  wire [23:0] _a_size_lookup_T_1 = inflight_sizes >> _a_size_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _a_size_lookup_T_5 = 16'h100 - 16'h1; // @[Monitor.scala 609:57]
+  wire [23:0] _GEN_75 = {{8'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_75; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[23:1]}; // @[Monitor.scala 638:144]
+  wire  _T_626 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_629 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [4:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [4:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 5'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_77 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_77}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [4:0] _a_sizes_set_T = {io_in_a_bits_source, 3'h0}; // @[Monitor.scala 657:77]
+  wire [4:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 5'h0; // @[Monitor.scala 652:72 655:28]
+  wire [35:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [35:0] _a_sizes_set_T_1 = _GEN_2 << _a_sizes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_631 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_633 = ~_T_631[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [35:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 36'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_637 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_639 = ~_T_433; // @[Monitor.scala 671:74]
+  wire  _T_640 = io_in_d_valid & d_first_1 & ~_T_433; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_433 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 671:90 672:22]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [46:0] _GEN_4 = {{31'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 678:74]
+  wire [46:0] _d_sizes_clr_T_5 = _GEN_4 << _a_size_lookup_T; // @[Monitor.scala 678:74]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_639 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_639 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire [46:0] _GEN_24 = _d_first_T & d_first_1 & _T_639 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 678:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_626 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_650 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_652 = _T_650[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_657 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_658 = io_in_d_bits_opcode == _GEN_32 | _T_657; // @[Monitor.scala 685:77]
+  wire  _T_662 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_669 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_670 = io_in_d_bits_opcode == _GEN_48 | _T_669; // @[Monitor.scala 689:72]
+  wire [7:0] a_size_lookup = _a_size_lookup_T_7[7:0];
+  wire [7:0] _GEN_79 = {{4'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_674 = _GEN_79 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_684 = _T_637 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_639; // @[Monitor.scala 694:116]
+  wire  _T_686 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set_wo_ready = _GEN_15[2:0];
+  wire [2:0] d_clr_wo_ready = _GEN_21[2:0];
+  wire  _T_693 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [23:0] a_sizes_set = _GEN_20[23:0];
+  wire [23:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [23:0] d_sizes_clr = _GEN_24[23:0];
+  wire [23:0] _inflight_sizes_T_1 = ~d_sizes_clr; // @[Monitor.scala 704:56]
+  wire [23:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_sizes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_702 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [23:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [9:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_2 = d_first_counter_2 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 10'h0; // @[Edges.scala 230:25]
+  wire [23:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_size_lookup_T; // @[Monitor.scala 747:42]
+  wire [23:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_75; // @[Monitor.scala 747:93]
+  wire [23:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[23:1]}; // @[Monitor.scala 747:146]
+  wire  _T_728 = io_in_d_valid & d_first_2 & _T_433; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_433 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_69 = _d_first_T & d_first_2 & _T_433 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 786:21]
+  wire [2:0] _T_736 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [7:0] c_size_lookup = _c_size_lookup_T_7[7:0];
+  wire  _T_746 = _GEN_79 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [23:0] d_sizes_clr_1 = _GEN_69[23:0];
+  wire [23:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
+  wire [23:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_771 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 10'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 10'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 24'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 24'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_42 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_42) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_327 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_327) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_337 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_337) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_327 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_327) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_377 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_377) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_385 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_385 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_385 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_385 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_385 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_385 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_417 & (io_in_a_valid & _T_385 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_385 & ~reset & ~_T_417) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_385 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_385 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_385 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_385 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_429 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_429) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_433 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_433 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_437 & (io_in_d_valid & _T_433 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_433 & _T_2 & ~_T_437) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_441 & (io_in_d_valid & _T_433 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_433 & _T_2 & ~_T_441) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_445 & (io_in_d_valid & _T_433 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_433 & _T_2 & ~_T_445) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_449 & (io_in_d_valid & _T_433 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_433 & _T_2 & ~_T_449) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_453 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_453 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_453 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_453 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_437 & (io_in_d_valid & _T_453 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_453 & _T_2 & ~_T_437) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_464 & (io_in_d_valid & _T_453 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_453 & _T_2 & ~_T_464) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_468 & (io_in_d_valid & _T_453 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_453 & _T_2 & ~_T_468) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_445 & (io_in_d_valid & _T_453 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_453 & _T_2 & ~_T_445) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_481 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_481 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_481 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_481 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_437 & (io_in_d_valid & _T_481 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_481 & _T_2 & ~_T_437) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_464 & (io_in_d_valid & _T_481 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_481 & _T_2 & ~_T_464) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_468 & (io_in_d_valid & _T_481 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_481 & _T_2 & ~_T_468) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_501 & (io_in_d_valid & _T_481 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_481 & _T_2 & ~_T_501) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_510 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_510 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_441 & (io_in_d_valid & _T_510 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_510 & _T_2 & ~_T_441) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_445 & (io_in_d_valid & _T_510 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_510 & _T_2 & ~_T_445) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_527 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_527 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_441 & (io_in_d_valid & _T_527 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_527 & _T_2 & ~_T_441) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_501 & (io_in_d_valid & _T_527 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_527 & _T_2 & ~_T_501) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_545 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_545 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_441 & (io_in_d_valid & _T_545 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_545 & _T_2 & ~_T_441) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_445 & (io_in_d_valid & _T_545 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_545 & _T_2 & ~_T_445) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_575 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_575 & ~reset & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_575 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_575 & ~reset & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_584 & (_T_575 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_575 & ~reset & ~_T_584) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_588 & (_T_575 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_575 & ~reset & ~_T_588) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_592 & (_T_575 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_575 & ~reset & ~_T_592) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_600 & (_T_599 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_599 & _T_2 & ~_T_600) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_604 & (_T_599 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_599 & _T_2 & ~_T_604) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_608 & (_T_599 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_599 & _T_2 & ~_T_608) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_612 & (_T_599 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_599 & _T_2 & ~_T_612) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_616 & (_T_599 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_599 & _T_2 & ~_T_616) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_599 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_599 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_633 & (_T_629 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_629 & ~reset & ~_T_633) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_652 & (_T_640 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_640 & _T_2 & ~_T_652) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_658 & (_T_640 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_640 & same_cycle_resp & _T_2 & ~_T_658) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_662 & (_T_640 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_640 & same_cycle_resp & _T_2 & ~_T_662) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_670 & (_T_640 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_640 & ~same_cycle_resp & _T_2 & ~_T_670) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_674 & (_T_640 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_640 & ~same_cycle_resp & _T_2 & ~_T_674) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & (_T_684 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_684 & _T_2 & ~_T_686) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_693 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_693) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 3 (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_702 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_702) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_736[0] & (_T_728 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_728 & _T_2 & ~_T_736[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_746 & (_T_728 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_728 & _T_2 & ~_T_746) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_771 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_771) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CanHaveBuiltInDevices.scala:44:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[9:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[13:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[9:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  param_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  size_1 = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  source_1 = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  sink = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  denied = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  inflight = _RAND_13[2:0];
+  _RAND_14 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_14[11:0];
+  _RAND_15 = {1{`RANDOM}};
+  inflight_sizes = _RAND_15[23:0];
+  _RAND_16 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_16[9:0];
+  _RAND_17 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_17[9:0];
+  _RAND_18 = {1{`RANDOM}};
+  watchdog = _RAND_18[31:0];
+  _RAND_19 = {1{`RANDOM}};
+  inflight_1 = _RAND_19[2:0];
+  _RAND_20 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_20[23:0];
+  _RAND_21 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_21[9:0];
+  _RAND_22 = {1{`RANDOM}};
+  watchdog_1 = _RAND_22[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Queue_8(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [3:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input  [13:0] io_enq_bits_address,
+  input  [3:0]  io_enq_bits_mask,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [3:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [13:0] io_deq_bits_address,
+  output [3:0]  io_deq_bits_mask,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+`endif // RANDOMIZE_REG_INIT
+  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] ram_param [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_size [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_source [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [13:0] ram_address [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [13:0] ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [13:0] ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_mask [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_corrupt [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  value; // @[Counter.scala 62:40]
+  reg  value_1; // @[Counter.scala 62:40]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  ptr_match = value == value_1; // @[Decoupled.scala 263:33]
+  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 264:25]
+  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 265:24]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_opcode_io_deq_bits_MPORT_addr = value_1;
+  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
+  assign ram_opcode_MPORT_addr = value;
+  assign ram_opcode_MPORT_mask = 1'h1;
+  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_param_io_deq_bits_MPORT_addr = value_1;
+  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_param_MPORT_data = io_enq_bits_param;
+  assign ram_param_MPORT_addr = value;
+  assign ram_param_MPORT_mask = 1'h1;
+  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_size_io_deq_bits_MPORT_addr = value_1;
+  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_size_MPORT_data = io_enq_bits_size;
+  assign ram_size_MPORT_addr = value;
+  assign ram_size_MPORT_mask = 1'h1;
+  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_source_io_deq_bits_MPORT_addr = value_1;
+  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_source_MPORT_data = io_enq_bits_source;
+  assign ram_source_MPORT_addr = value;
+  assign ram_source_MPORT_mask = 1'h1;
+  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_address_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_address_io_deq_bits_MPORT_addr = value_1;
+  assign ram_address_io_deq_bits_MPORT_data = ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_address_MPORT_data = io_enq_bits_address;
+  assign ram_address_MPORT_addr = value;
+  assign ram_address_MPORT_mask = 1'h1;
+  assign ram_address_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_mask_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_mask_io_deq_bits_MPORT_addr = value_1;
+  assign ram_mask_io_deq_bits_MPORT_data = ram_mask[ram_mask_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_mask_MPORT_data = io_enq_bits_mask;
+  assign ram_mask_MPORT_addr = value;
+  assign ram_mask_MPORT_mask = 1'h1;
+  assign ram_mask_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_corrupt_io_deq_bits_MPORT_addr = value_1;
+  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_corrupt_MPORT_data = io_enq_bits_corrupt;
+  assign ram_corrupt_MPORT_addr = value;
+  assign ram_corrupt_MPORT_mask = 1'h1;
+  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_address = ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_mask = ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
+      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
+      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
+      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
+      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_address_MPORT_en & ram_address_MPORT_mask) begin
+      ram_address[ram_address_MPORT_addr] <= ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_mask_MPORT_en & ram_mask_MPORT_mask) begin
+      ram_mask[ram_mask_MPORT_addr] <= ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
+      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_enq) begin // @[Decoupled.scala 272:16]
+      value <= value + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value_1 <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_deq) begin // @[Decoupled.scala 276:16]
+      value_1 <= value_1 + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_opcode[initvar] = _RAND_0[2:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_param[initvar] = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_size[initvar] = _RAND_2[3:0];
+  _RAND_3 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_source[initvar] = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_address[initvar] = _RAND_4[13:0];
+  _RAND_5 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_mask[initvar] = _RAND_5[3:0];
+  _RAND_6 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_corrupt[initvar] = _RAND_6[0:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  value = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  value_1 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  maybe_full = _RAND_9[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLBuffer_5(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [3:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [13:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [3:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [3:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [13:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [3:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input         auto_out_d_bits_corrupt
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [13:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  bundleOut_0_a_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_a_q_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire [13:0] bundleOut_0_a_q_io_enq_bits_address; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_enq_bits_mask; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_a_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire [13:0] bundleOut_0_a_q_io_deq_bits_address; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_deq_bits_mask; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleIn_0_d_q_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_sink; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_denied; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleIn_0_d_q_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleIn_0_d_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_sink; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_denied; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleIn_0_d_q_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  TLMonitor_29 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
+  );
+  Queue_8 bundleOut_0_a_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleOut_0_a_q_clock),
+    .reset(bundleOut_0_a_q_reset),
+    .io_enq_ready(bundleOut_0_a_q_io_enq_ready),
+    .io_enq_valid(bundleOut_0_a_q_io_enq_valid),
+    .io_enq_bits_opcode(bundleOut_0_a_q_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleOut_0_a_q_io_enq_bits_param),
+    .io_enq_bits_size(bundleOut_0_a_q_io_enq_bits_size),
+    .io_enq_bits_source(bundleOut_0_a_q_io_enq_bits_source),
+    .io_enq_bits_address(bundleOut_0_a_q_io_enq_bits_address),
+    .io_enq_bits_mask(bundleOut_0_a_q_io_enq_bits_mask),
+    .io_enq_bits_corrupt(bundleOut_0_a_q_io_enq_bits_corrupt),
+    .io_deq_ready(bundleOut_0_a_q_io_deq_ready),
+    .io_deq_valid(bundleOut_0_a_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleOut_0_a_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleOut_0_a_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleOut_0_a_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleOut_0_a_q_io_deq_bits_source),
+    .io_deq_bits_address(bundleOut_0_a_q_io_deq_bits_address),
+    .io_deq_bits_mask(bundleOut_0_a_q_io_deq_bits_mask),
+    .io_deq_bits_corrupt(bundleOut_0_a_q_io_deq_bits_corrupt)
+  );
+  Queue_6 bundleIn_0_d_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleIn_0_d_q_clock),
+    .reset(bundleIn_0_d_q_reset),
+    .io_enq_ready(bundleIn_0_d_q_io_enq_ready),
+    .io_enq_valid(bundleIn_0_d_q_io_enq_valid),
+    .io_enq_bits_opcode(bundleIn_0_d_q_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleIn_0_d_q_io_enq_bits_param),
+    .io_enq_bits_size(bundleIn_0_d_q_io_enq_bits_size),
+    .io_enq_bits_source(bundleIn_0_d_q_io_enq_bits_source),
+    .io_enq_bits_sink(bundleIn_0_d_q_io_enq_bits_sink),
+    .io_enq_bits_denied(bundleIn_0_d_q_io_enq_bits_denied),
+    .io_enq_bits_data(bundleIn_0_d_q_io_enq_bits_data),
+    .io_enq_bits_corrupt(bundleIn_0_d_q_io_enq_bits_corrupt),
+    .io_deq_ready(bundleIn_0_d_q_io_deq_ready),
+    .io_deq_valid(bundleIn_0_d_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleIn_0_d_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleIn_0_d_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleIn_0_d_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleIn_0_d_q_io_deq_bits_source),
+    .io_deq_bits_sink(bundleIn_0_d_q_io_deq_bits_sink),
+    .io_deq_bits_denied(bundleIn_0_d_q_io_deq_bits_denied),
+    .io_deq_bits_data(bundleIn_0_d_q_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleIn_0_d_q_io_deq_bits_corrupt)
+  );
+  assign auto_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign auto_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_param = bundleIn_0_d_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_sink = bundleIn_0_d_q_io_deq_bits_sink; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_denied = bundleIn_0_d_q_io_deq_bits_denied; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_data = bundleIn_0_d_q_io_deq_bits_data; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_corrupt = bundleIn_0_d_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_out_a_valid = bundleOut_0_a_q_io_deq_valid; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_opcode = bundleOut_0_a_q_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_param = bundleOut_0_a_q_io_deq_bits_param; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_size = bundleOut_0_a_q_io_deq_bits_size; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_source = bundleOut_0_a_q_io_deq_bits_source; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_address = bundleOut_0_a_q_io_deq_bits_address; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_mask = bundleOut_0_a_q_io_deq_bits_mask; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_corrupt = bundleOut_0_a_q_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_d_ready = bundleIn_0_d_q_io_enq_ready; // @[Nodes.scala 1207:84 Decoupled.scala 365:17]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_param = bundleIn_0_d_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_sink = bundleIn_0_d_q_io_deq_bits_sink; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_denied = bundleIn_0_d_q_io_deq_bits_denied; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_corrupt = bundleIn_0_d_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign bundleOut_0_a_q_clock = clock;
+  assign bundleOut_0_a_q_reset = reset;
+  assign bundleOut_0_a_q_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_clock = clock;
+  assign bundleIn_0_d_q_reset = reset;
+  assign bundleIn_0_d_q_io_enq_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_param = 2'h0; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_sink = 1'h0; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_denied = 1'h1; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_data = 32'h0; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_deq_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module ErrorDeviceWrapper(
+  input         clock,
+  input         reset,
+  output        auto_buffer_in_a_ready,
+  input         auto_buffer_in_a_valid,
+  input  [2:0]  auto_buffer_in_a_bits_opcode,
+  input  [2:0]  auto_buffer_in_a_bits_param,
+  input  [3:0]  auto_buffer_in_a_bits_size,
+  input  [1:0]  auto_buffer_in_a_bits_source,
+  input  [13:0] auto_buffer_in_a_bits_address,
+  input  [3:0]  auto_buffer_in_a_bits_mask,
+  input         auto_buffer_in_a_bits_corrupt,
+  input         auto_buffer_in_d_ready,
+  output        auto_buffer_in_d_valid,
+  output [2:0]  auto_buffer_in_d_bits_opcode,
+  output [1:0]  auto_buffer_in_d_bits_param,
+  output [3:0]  auto_buffer_in_d_bits_size,
+  output [1:0]  auto_buffer_in_d_bits_source,
+  output        auto_buffer_in_d_bits_sink,
+  output        auto_buffer_in_d_bits_denied,
+  output [31:0] auto_buffer_in_d_bits_data,
+  output        auto_buffer_in_d_bits_corrupt
+);
+  wire  error_clock; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire  error_reset; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire  error_auto_in_a_ready; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire  error_auto_in_a_valid; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire [2:0] error_auto_in_a_bits_opcode; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire [2:0] error_auto_in_a_bits_param; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire [3:0] error_auto_in_a_bits_size; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire [1:0] error_auto_in_a_bits_source; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire [13:0] error_auto_in_a_bits_address; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire [3:0] error_auto_in_a_bits_mask; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire  error_auto_in_a_bits_corrupt; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire  error_auto_in_d_ready; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire  error_auto_in_d_valid; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire [2:0] error_auto_in_d_bits_opcode; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire [3:0] error_auto_in_d_bits_size; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire [1:0] error_auto_in_d_bits_source; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire  error_auto_in_d_bits_corrupt; // @[CanHaveBuiltInDevices.scala 38:29]
+  wire  buffer_clock; // @[Buffer.scala 68:28]
+  wire  buffer_reset; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [13:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [13:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 68:28]
+  TLError error ( // @[CanHaveBuiltInDevices.scala 38:29]
+    .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)
+  );
+  TLBuffer_5 buffer ( // @[Buffer.scala 68:28]
+    .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_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_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_corrupt(buffer_auto_out_d_bits_corrupt)
+  );
+  assign auto_buffer_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_buffer_in_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 309:16]
+  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_buffer_in_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 309:16]
+  assign auto_buffer_in_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 309:16]
+  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_buffer_in_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign error_clock = clock;
+  assign error_reset = reset;
+  assign error_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign error_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign error_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign error_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign error_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign error_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign error_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign error_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign error_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign buffer_clock = clock;
+  assign buffer_reset = reset;
+  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = error_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = error_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = error_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_size = error_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = error_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_corrupt = error_auto_in_d_bits_corrupt; // @[LazyModule.scala 296:16]
+endmodule
+module TLBuffer_6(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [3:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [3:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [3:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [3:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input         auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLWidthWidget_4(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input         auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLInterconnectCoupler_19(
+  output        auto_widget_in_a_ready,
+  input         auto_widget_in_a_valid,
+  input  [2:0]  auto_widget_in_a_bits_opcode,
+  input  [2:0]  auto_widget_in_a_bits_param,
+  input  [2:0]  auto_widget_in_a_bits_size,
+  input  [1:0]  auto_widget_in_a_bits_source,
+  input  [29:0] auto_widget_in_a_bits_address,
+  input  [3:0]  auto_widget_in_a_bits_mask,
+  input  [31:0] auto_widget_in_a_bits_data,
+  input         auto_widget_in_a_bits_corrupt,
+  input         auto_widget_in_d_ready,
+  output        auto_widget_in_d_valid,
+  output [2:0]  auto_widget_in_d_bits_opcode,
+  output [1:0]  auto_widget_in_d_bits_param,
+  output [2:0]  auto_widget_in_d_bits_size,
+  output [1:0]  auto_widget_in_d_bits_source,
+  output        auto_widget_in_d_bits_sink,
+  output        auto_widget_in_d_bits_denied,
+  output [31:0] auto_widget_in_d_bits_data,
+  output        auto_widget_in_d_bits_corrupt,
+  input         auto_bus_xing_out_a_ready,
+  output        auto_bus_xing_out_a_valid,
+  output [2:0]  auto_bus_xing_out_a_bits_opcode,
+  output [2:0]  auto_bus_xing_out_a_bits_param,
+  output [2:0]  auto_bus_xing_out_a_bits_size,
+  output [1:0]  auto_bus_xing_out_a_bits_source,
+  output [29:0] auto_bus_xing_out_a_bits_address,
+  output [3:0]  auto_bus_xing_out_a_bits_mask,
+  output [31:0] auto_bus_xing_out_a_bits_data,
+  output        auto_bus_xing_out_a_bits_corrupt,
+  output        auto_bus_xing_out_d_ready,
+  input         auto_bus_xing_out_d_valid,
+  input  [2:0]  auto_bus_xing_out_d_bits_opcode,
+  input  [1:0]  auto_bus_xing_out_d_bits_param,
+  input  [2:0]  auto_bus_xing_out_d_bits_size,
+  input  [1:0]  auto_bus_xing_out_d_bits_source,
+  input         auto_bus_xing_out_d_bits_sink,
+  input         auto_bus_xing_out_d_bits_denied,
+  input  [31:0] auto_bus_xing_out_d_bits_data,
+  input         auto_bus_xing_out_d_bits_corrupt
+);
+  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_a_bits_source; // @[WidthWidget.scala 219:28]
+  wire [29:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_in_a_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_d_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_d_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_d_bits_source; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_bits_sink; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_bits_denied; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_bits_corrupt; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_a_bits_source; // @[WidthWidget.scala 219:28]
+  wire [29:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_out_a_bits_mask; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_out_a_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_d_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_d_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_d_bits_source; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_bits_sink; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_bits_denied; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_bits_corrupt; // @[WidthWidget.scala 219:28]
+  TLWidthWidget_4 widget ( // @[WidthWidget.scala 219:28]
+    .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 309:16]
+  assign auto_widget_in_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_opcode = widget_auto_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_param = widget_auto_in_d_bits_param; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_sink = widget_auto_in_d_bits_sink; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_denied = widget_auto_in_d_bits_denied; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_corrupt = widget_auto_in_d_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign auto_bus_xing_out_a_valid = widget_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_param = widget_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_size = widget_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_source = widget_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_address = widget_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_mask = widget_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_data = widget_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_d_ready = widget_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign widget_auto_in_a_valid = auto_widget_in_a_valid; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_opcode = auto_widget_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_param = auto_widget_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_size = auto_widget_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_source = auto_widget_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_address = auto_widget_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_mask = auto_widget_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_data = auto_widget_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_corrupt = auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_d_ready = auto_widget_in_d_ready; // @[LazyModule.scala 309:16]
+  assign widget_auto_out_a_ready = auto_bus_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_valid = auto_bus_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_opcode = auto_bus_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_param = auto_bus_xing_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_size = auto_bus_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_source = auto_bus_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_sink = auto_bus_xing_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_denied = auto_bus_xing_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_data = auto_bus_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_corrupt = auto_bus_xing_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_30(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [27:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [27:0] _GEN_71 = {{22'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [27:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 28'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [27:0] _T_45 = io_in_a_bits_address ^ 28'hc000000; // @[Parameters.scala 137:31]
+  wire [28:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [28:0] _T_48 = $signed(_T_46) & -29'sh4000000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 29'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [27:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 671:90 672:22]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set_wo_ready = _GEN_15[2:0];
+  wire [2:0] d_clr_wo_ready = _GEN_21[2:0];
+  wire  _T_684 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_693 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_719 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_727 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_737 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_762 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_684 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_684) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_693 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_693) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727[0] & (_T_719 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_719 & _T_2 & ~_T_727[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_737 & (_T_719 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_719 & _T_2 & ~_T_737) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Plic.scala:363:63)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_762 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_762) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at Plic.scala:363:63)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[27:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Repeater_16(
+  input         clock,
+  input         reset,
+  input         io_repeat,
+  output        io_full,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [2:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input  [27:0] io_enq_bits_address,
+  input  [3:0]  io_enq_bits_mask,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [2:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [27:0] io_deq_bits_address,
+  output [3:0]  io_deq_bits_mask,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  reg  full; // @[Repeater.scala 19:21]
+  reg [2:0] saved_opcode; // @[Repeater.scala 20:18]
+  reg [2:0] saved_param; // @[Repeater.scala 20:18]
+  reg [2:0] saved_size; // @[Repeater.scala 20:18]
+  reg [1:0] saved_source; // @[Repeater.scala 20:18]
+  reg [27:0] saved_address; // @[Repeater.scala 20:18]
+  reg [3:0] saved_mask; // @[Repeater.scala 20:18]
+  reg  saved_corrupt; // @[Repeater.scala 20:18]
+  wire  _T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  _GEN_0 = _T & io_repeat | full; // @[Repeater.scala 19:21 28:{38,45}]
+  wire  _T_2 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign io_full = full; // @[Repeater.scala 26:11]
+  assign io_enq_ready = io_deq_ready & ~full; // @[Repeater.scala 24:32]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 23:32]
+  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 25:21]
+  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 25:21]
+  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 25:21]
+  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 25:21]
+  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 25:21]
+  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 25:21]
+  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 25:21]
+  always @(posedge clock) begin
+    if (reset) begin // @[Repeater.scala 19:21]
+      full <= 1'h0; // @[Repeater.scala 19:21]
+    end else if (_T_2 & ~io_repeat) begin // @[Repeater.scala 29:38]
+      full <= 1'h0; // @[Repeater.scala 29:45]
+    end else begin
+      full <= _GEN_0;
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_opcode <= io_enq_bits_opcode; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_param <= io_enq_bits_param; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_size <= io_enq_bits_size; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_source <= io_enq_bits_source; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_address <= io_enq_bits_address; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_mask <= io_enq_bits_mask; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_corrupt <= io_enq_bits_corrupt; // @[Repeater.scala 28:62]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  saved_opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  saved_param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  saved_size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  saved_source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  saved_address = _RAND_5[27:0];
+  _RAND_6 = {1{`RANDOM}};
+  saved_mask = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  saved_corrupt = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_15(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [27:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [27:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [27:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [27:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [27:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [27:0] _GEN_11 = {{22'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_30 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater_16 repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_20(
+  input         clock,
+  input         reset,
+  input         auto_fragmenter_out_a_ready,
+  output        auto_fragmenter_out_a_valid,
+  output [2:0]  auto_fragmenter_out_a_bits_opcode,
+  output [2:0]  auto_fragmenter_out_a_bits_param,
+  output [1:0]  auto_fragmenter_out_a_bits_size,
+  output [6:0]  auto_fragmenter_out_a_bits_source,
+  output [27:0] auto_fragmenter_out_a_bits_address,
+  output [3:0]  auto_fragmenter_out_a_bits_mask,
+  output [31:0] auto_fragmenter_out_a_bits_data,
+  output        auto_fragmenter_out_a_bits_corrupt,
+  output        auto_fragmenter_out_d_ready,
+  input         auto_fragmenter_out_d_valid,
+  input  [2:0]  auto_fragmenter_out_d_bits_opcode,
+  input  [1:0]  auto_fragmenter_out_d_bits_size,
+  input  [6:0]  auto_fragmenter_out_d_bits_source,
+  input  [31:0] auto_fragmenter_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [27:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [27:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [27:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_15 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 311:12]
+endmodule
+module TLMonitor_31(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [25:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [25:0] _GEN_71 = {{20'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [25:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 26'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [25:0] _T_45 = io_in_a_bits_address ^ 26'h2000000; // @[Parameters.scala 137:31]
+  wire [26:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [26:0] _T_48 = $signed(_T_46) & -27'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 27'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [25:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CLINT.scala:111:65)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CLINT.scala:111:65)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[25:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Repeater_17(
+  input         clock,
+  input         reset,
+  input         io_repeat,
+  output        io_full,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [2:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input  [25:0] io_enq_bits_address,
+  input  [3:0]  io_enq_bits_mask,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [2:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [25:0] io_deq_bits_address,
+  output [3:0]  io_deq_bits_mask,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  reg  full; // @[Repeater.scala 19:21]
+  reg [2:0] saved_opcode; // @[Repeater.scala 20:18]
+  reg [2:0] saved_param; // @[Repeater.scala 20:18]
+  reg [2:0] saved_size; // @[Repeater.scala 20:18]
+  reg [1:0] saved_source; // @[Repeater.scala 20:18]
+  reg [25:0] saved_address; // @[Repeater.scala 20:18]
+  reg [3:0] saved_mask; // @[Repeater.scala 20:18]
+  reg  saved_corrupt; // @[Repeater.scala 20:18]
+  wire  _T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  _GEN_0 = _T & io_repeat | full; // @[Repeater.scala 19:21 28:{38,45}]
+  wire  _T_2 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign io_full = full; // @[Repeater.scala 26:11]
+  assign io_enq_ready = io_deq_ready & ~full; // @[Repeater.scala 24:32]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 23:32]
+  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 25:21]
+  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 25:21]
+  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 25:21]
+  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 25:21]
+  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 25:21]
+  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 25:21]
+  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 25:21]
+  always @(posedge clock) begin
+    if (reset) begin // @[Repeater.scala 19:21]
+      full <= 1'h0; // @[Repeater.scala 19:21]
+    end else if (_T_2 & ~io_repeat) begin // @[Repeater.scala 29:38]
+      full <= 1'h0; // @[Repeater.scala 29:45]
+    end else begin
+      full <= _GEN_0;
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_opcode <= io_enq_bits_opcode; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_param <= io_enq_bits_param; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_size <= io_enq_bits_size; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_source <= io_enq_bits_source; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_address <= io_enq_bits_address; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_mask <= io_enq_bits_mask; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_corrupt <= io_enq_bits_corrupt; // @[Repeater.scala 28:62]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  saved_opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  saved_param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  saved_size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  saved_source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  saved_address = _RAND_5[25:0];
+  _RAND_6 = {1{`RANDOM}};
+  saved_mask = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  saved_corrupt = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_16(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [25:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [25:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [25:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [25:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [25:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [25:0] _GEN_11 = {{20'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_31 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater_17 repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_21(
+  input         clock,
+  input         reset,
+  input         auto_fragmenter_out_a_ready,
+  output        auto_fragmenter_out_a_valid,
+  output [2:0]  auto_fragmenter_out_a_bits_opcode,
+  output [2:0]  auto_fragmenter_out_a_bits_param,
+  output [1:0]  auto_fragmenter_out_a_bits_size,
+  output [6:0]  auto_fragmenter_out_a_bits_source,
+  output [25:0] auto_fragmenter_out_a_bits_address,
+  output [3:0]  auto_fragmenter_out_a_bits_mask,
+  output [31:0] auto_fragmenter_out_a_bits_data,
+  output        auto_fragmenter_out_a_bits_corrupt,
+  output        auto_fragmenter_out_d_ready,
+  input         auto_fragmenter_out_d_valid,
+  input  [2:0]  auto_fragmenter_out_d_bits_opcode,
+  input  [1:0]  auto_fragmenter_out_d_bits_size,
+  input  [6:0]  auto_fragmenter_out_d_bits_source,
+  input  [31:0] auto_fragmenter_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [25:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [25:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [25:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_16 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 311:12]
+endmodule
+module TLMonitor_32(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [11:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [11:0] _GEN_71 = {{6'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [11:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 12'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire [12:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [12:0] _T_48 = $signed(_T_7) & 13'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 13'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [11:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_686 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_712 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_720 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_730 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_750 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_686 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_686) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720[0] & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_720[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_730 & (_T_712 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_712 & _T_2 & ~_T_730) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Periphery.scala:88:64)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_750 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_750) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at Periphery.scala:88:64)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[11:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[11:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Repeater_18(
+  input         clock,
+  input         reset,
+  input         io_repeat,
+  output        io_full,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [2:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input  [11:0] io_enq_bits_address,
+  input  [3:0]  io_enq_bits_mask,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [2:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [11:0] io_deq_bits_address,
+  output [3:0]  io_deq_bits_mask,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  reg  full; // @[Repeater.scala 19:21]
+  reg [2:0] saved_opcode; // @[Repeater.scala 20:18]
+  reg [2:0] saved_param; // @[Repeater.scala 20:18]
+  reg [2:0] saved_size; // @[Repeater.scala 20:18]
+  reg [1:0] saved_source; // @[Repeater.scala 20:18]
+  reg [11:0] saved_address; // @[Repeater.scala 20:18]
+  reg [3:0] saved_mask; // @[Repeater.scala 20:18]
+  reg  saved_corrupt; // @[Repeater.scala 20:18]
+  wire  _T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  _GEN_0 = _T & io_repeat | full; // @[Repeater.scala 19:21 28:{38,45}]
+  wire  _T_2 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign io_full = full; // @[Repeater.scala 26:11]
+  assign io_enq_ready = io_deq_ready & ~full; // @[Repeater.scala 24:32]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 23:32]
+  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 25:21]
+  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 25:21]
+  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 25:21]
+  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 25:21]
+  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 25:21]
+  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 25:21]
+  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 25:21]
+  always @(posedge clock) begin
+    if (reset) begin // @[Repeater.scala 19:21]
+      full <= 1'h0; // @[Repeater.scala 19:21]
+    end else if (_T_2 & ~io_repeat) begin // @[Repeater.scala 29:38]
+      full <= 1'h0; // @[Repeater.scala 29:45]
+    end else begin
+      full <= _GEN_0;
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_opcode <= io_enq_bits_opcode; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_param <= io_enq_bits_param; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_size <= io_enq_bits_size; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_source <= io_enq_bits_source; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_address <= io_enq_bits_address; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_mask <= io_enq_bits_mask; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_corrupt <= io_enq_bits_corrupt; // @[Repeater.scala 28:62]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  saved_opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  saved_param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  saved_size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  saved_source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  saved_address = _RAND_5[11:0];
+  _RAND_6 = {1{`RANDOM}};
+  saved_mask = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  saved_corrupt = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_17(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [11:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [11:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [11:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [11:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [11:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [11:0] _GEN_11 = {{6'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_32 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater_18 repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_22(
+  input         clock,
+  input         reset,
+  input         auto_fragmenter_out_a_ready,
+  output        auto_fragmenter_out_a_valid,
+  output [2:0]  auto_fragmenter_out_a_bits_opcode,
+  output [2:0]  auto_fragmenter_out_a_bits_param,
+  output [1:0]  auto_fragmenter_out_a_bits_size,
+  output [6:0]  auto_fragmenter_out_a_bits_source,
+  output [11:0] auto_fragmenter_out_a_bits_address,
+  output [3:0]  auto_fragmenter_out_a_bits_mask,
+  output [31:0] auto_fragmenter_out_a_bits_data,
+  output        auto_fragmenter_out_a_bits_corrupt,
+  output        auto_fragmenter_out_d_ready,
+  input         auto_fragmenter_out_d_valid,
+  input  [2:0]  auto_fragmenter_out_d_bits_opcode,
+  input  [1:0]  auto_fragmenter_out_d_bits_size,
+  input  [6:0]  auto_fragmenter_out_d_bits_source,
+  input  [31:0] auto_fragmenter_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [11:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [11:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [11:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_17 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 311:12]
+endmodule
+module TLWidthWidget_5(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [27:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [27:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input         auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLInterconnectCoupler_23(
+  input         auto_tl_slave_clock_xing_out_a_ready,
+  output        auto_tl_slave_clock_xing_out_a_valid,
+  output [2:0]  auto_tl_slave_clock_xing_out_a_bits_opcode,
+  output [2:0]  auto_tl_slave_clock_xing_out_a_bits_param,
+  output [2:0]  auto_tl_slave_clock_xing_out_a_bits_size,
+  output [1:0]  auto_tl_slave_clock_xing_out_a_bits_source,
+  output [27:0] auto_tl_slave_clock_xing_out_a_bits_address,
+  output [3:0]  auto_tl_slave_clock_xing_out_a_bits_mask,
+  output [31:0] auto_tl_slave_clock_xing_out_a_bits_data,
+  output        auto_tl_slave_clock_xing_out_a_bits_corrupt,
+  output        auto_tl_slave_clock_xing_out_d_ready,
+  input         auto_tl_slave_clock_xing_out_d_valid,
+  input  [2:0]  auto_tl_slave_clock_xing_out_d_bits_opcode,
+  input  [1:0]  auto_tl_slave_clock_xing_out_d_bits_param,
+  input  [2:0]  auto_tl_slave_clock_xing_out_d_bits_size,
+  input  [1:0]  auto_tl_slave_clock_xing_out_d_bits_source,
+  input         auto_tl_slave_clock_xing_out_d_bits_sink,
+  input         auto_tl_slave_clock_xing_out_d_bits_denied,
+  input  [31:0] auto_tl_slave_clock_xing_out_d_bits_data,
+  input         auto_tl_slave_clock_xing_out_d_bits_corrupt,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [27:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [1:0]  auto_tl_in_d_bits_param,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output        auto_tl_in_d_bits_sink,
+  output        auto_tl_in_d_bits_denied,
+  output [31:0] auto_tl_in_d_bits_data,
+  output        auto_tl_in_d_bits_corrupt
+);
+  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_a_bits_source; // @[WidthWidget.scala 219:28]
+  wire [27:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_in_a_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_d_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_d_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_in_d_bits_source; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_bits_sink; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_bits_denied; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_bits_corrupt; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_a_bits_source; // @[WidthWidget.scala 219:28]
+  wire [27:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_out_a_bits_mask; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_out_a_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_d_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_d_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 219:28]
+  wire [1:0] widget_auto_out_d_bits_source; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_bits_sink; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_bits_denied; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_bits_corrupt; // @[WidthWidget.scala 219:28]
+  TLWidthWidget_5 widget ( // @[WidthWidget.scala 219:28]
+    .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_tl_slave_clock_xing_out_a_valid = widget_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_slave_clock_xing_out_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_slave_clock_xing_out_a_bits_param = widget_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_slave_clock_xing_out_a_bits_size = widget_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_slave_clock_xing_out_a_bits_source = widget_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_slave_clock_xing_out_a_bits_address = widget_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_slave_clock_xing_out_a_bits_mask = widget_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_slave_clock_xing_out_a_bits_data = widget_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_slave_clock_xing_out_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_slave_clock_xing_out_d_ready = widget_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = widget_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = widget_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = widget_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_param = widget_auto_in_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = widget_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = widget_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_sink = widget_auto_in_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_denied = widget_auto_in_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = widget_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_corrupt = widget_auto_in_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign widget_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_out_a_ready = auto_tl_slave_clock_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_valid = auto_tl_slave_clock_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_opcode = auto_tl_slave_clock_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_param = auto_tl_slave_clock_xing_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_size = auto_tl_slave_clock_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_source = auto_tl_slave_clock_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_sink = auto_tl_slave_clock_xing_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_denied = auto_tl_slave_clock_xing_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_data = auto_tl_slave_clock_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_corrupt = auto_tl_slave_clock_xing_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_33(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source,
+  input         io_in_d_bits_sink,
+  input         io_in_d_bits_denied,
+  input         io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [95:0] _RAND_13;
+  reg [383:0] _RAND_14;
+  reg [383:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [95:0] _RAND_19;
+  reg [383:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10000000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_409 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_413 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_417 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_432 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_436 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_469 = _T_417 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  reg  sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_572 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_584 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_588 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [127:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [127:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 671:90 672:22]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set_wo_ready = _GEN_15[95:0];
+  wire [95:0] d_clr_wo_ready = _GEN_21[95:0];
+  wire  _T_661 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_670 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_696 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_704 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_714 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_739 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_409 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_409) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_413 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_413) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_417 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_417) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_432 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_432) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_436 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_436) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_413 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_413) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_417 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_417) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is denied (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_432 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_432) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_436 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_436) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_469 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_469) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_417 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_417) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_409 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_T_409) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_413 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_T_413) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_417 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_T_417) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is denied (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_409 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_T_409) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_469 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_T_469) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_417 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_T_417) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_409 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_T_409) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_413 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_T_413) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_417 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_T_417) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is denied (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_572 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_572) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_584 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_584) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_588 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_588) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_670 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_670) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_704[0] & (_T_696 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_696 & _T_2 & ~_T_704[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_714 & (_T_696 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_696 & _T_2 & ~_T_714) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_739 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_739) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at MockAONPeriphery.scala:22:62)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  param_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  size_1 = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  source_1 = _RAND_10[6:0];
+  _RAND_11 = {1{`RANDOM}};
+  sink = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  denied = _RAND_12[0:0];
+  _RAND_13 = {3{`RANDOM}};
+  inflight = _RAND_13[95:0];
+  _RAND_14 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_14[383:0];
+  _RAND_15 = {12{`RANDOM}};
+  inflight_sizes = _RAND_15[383:0];
+  _RAND_16 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_16[0:0];
+  _RAND_17 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_17[0:0];
+  _RAND_18 = {1{`RANDOM}};
+  watchdog = _RAND_18[31:0];
+  _RAND_19 = {3{`RANDOM}};
+  inflight_1 = _RAND_19[95:0];
+  _RAND_20 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_20[383:0];
+  _RAND_21 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_21[0:0];
+  _RAND_22 = {1{`RANDOM}};
+  watchdog_1 = _RAND_22[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module AsyncResetSynchronizerPrimitiveShiftReg_d3_i0(
+  input   clock,
+  input   reset,
+  input   io_d,
+  output  io_q
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+`endif // RANDOMIZE_REG_INIT
+  reg  sync_0; // @[SynchronizerReg.scala 51:87]
+  reg  sync_1; // @[SynchronizerReg.scala 51:87]
+  reg  sync_2; // @[SynchronizerReg.scala 51:87]
+  assign io_q = sync_0; // @[SynchronizerReg.scala 59:8]
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_0 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_0 <= sync_1; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_1 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_1 <= sync_2; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 54:22]
+      sync_2 <= 1'h0;
+    end else begin
+      sync_2 <= io_d;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  sync_1 = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  sync_2 = _RAND_2[0:0];
+`endif // RANDOMIZE_REG_INIT
+  if (reset) begin
+    sync_0 = 1'h0;
+  end
+  if (reset) begin
+    sync_1 = 1'h0;
+  end
+  if (reset) begin
+    sync_2 = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module AsyncResetSynchronizerShiftReg_w1_d3_i0(
+  input   clock,
+  input   reset,
+  input   io_d,
+  output  io_q
+);
+  wire  output_chain_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_reset; // @[ShiftReg.scala 45:23]
+  wire  output_chain_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_io_q; // @[ShiftReg.scala 45:23]
+  AsyncResetSynchronizerPrimitiveShiftReg_d3_i0 output_chain ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_clock),
+    .reset(output_chain_reset),
+    .io_d(output_chain_io_d),
+    .io_q(output_chain_io_q)
+  );
+  assign io_q = output_chain_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign output_chain_clock = clock;
+  assign output_chain_reset = reset; // @[SynchronizerReg.scala 86:21]
+  assign output_chain_io_d = io_d; // @[SynchronizerReg.scala 87:41]
+endmodule
+module AsyncResetSynchronizerShiftReg_w1_d3_i0_1(
+  input   clock,
+  input   reset,
+  input   io_d,
+  output  io_q
+);
+  wire  output_chain_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_reset; // @[ShiftReg.scala 45:23]
+  wire  output_chain_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_io_q; // @[ShiftReg.scala 45:23]
+  AsyncResetSynchronizerPrimitiveShiftReg_d3_i0 output_chain ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_clock),
+    .reset(output_chain_reset),
+    .io_d(output_chain_io_d),
+    .io_q(output_chain_io_q)
+  );
+  assign io_q = output_chain_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign output_chain_clock = clock;
+  assign output_chain_reset = reset; // @[SynchronizerReg.scala 86:21]
+  assign output_chain_io_d = io_d; // @[SynchronizerReg.scala 87:41]
+endmodule
+module AsyncValidSync(
+  input   io_in,
+  output  io_out,
+  input   clock,
+  input   reset
+);
+  wire  io_out_source_valid_0_clock; // @[ShiftReg.scala 45:23]
+  wire  io_out_source_valid_0_reset; // @[ShiftReg.scala 45:23]
+  wire  io_out_source_valid_0_io_d; // @[ShiftReg.scala 45:23]
+  wire  io_out_source_valid_0_io_q; // @[ShiftReg.scala 45:23]
+  AsyncResetSynchronizerShiftReg_w1_d3_i0_1 io_out_source_valid_0 ( // @[ShiftReg.scala 45:23]
+    .clock(io_out_source_valid_0_clock),
+    .reset(io_out_source_valid_0_reset),
+    .io_d(io_out_source_valid_0_io_d),
+    .io_q(io_out_source_valid_0_io_q)
+  );
+  assign io_out = io_out_source_valid_0_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign io_out_source_valid_0_clock = clock;
+  assign io_out_source_valid_0_reset = reset;
+  assign io_out_source_valid_0_io_d = io_in; // @[ShiftReg.scala 47:16]
+endmodule
+module AsyncQueueSource(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [1:0]  io_enq_bits_size,
+  input  [6:0]  io_enq_bits_source,
+  input  [28:0] io_enq_bits_address,
+  input  [3:0]  io_enq_bits_mask,
+  input  [31:0] io_enq_bits_data,
+  input         io_enq_bits_corrupt,
+  output [2:0]  io_async_mem_0_opcode,
+  output [2:0]  io_async_mem_0_param,
+  output [1:0]  io_async_mem_0_size,
+  output [6:0]  io_async_mem_0_source,
+  output [28:0] io_async_mem_0_address,
+  output [3:0]  io_async_mem_0_mask,
+  output [31:0] io_async_mem_0_data,
+  output        io_async_mem_0_corrupt,
+  input         io_async_ridx,
+  output        io_async_widx,
+  input         io_async_safe_ridx_valid,
+  output        io_async_safe_widx_valid,
+  output        io_async_safe_source_reset_n,
+  input         io_async_safe_sink_reset_n
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+`endif // RANDOMIZE_REG_INIT
+  wire  ridx_ridx_gray_clock; // @[ShiftReg.scala 45:23]
+  wire  ridx_ridx_gray_reset; // @[ShiftReg.scala 45:23]
+  wire  ridx_ridx_gray_io_d; // @[ShiftReg.scala 45:23]
+  wire  ridx_ridx_gray_io_q; // @[ShiftReg.scala 45:23]
+  wire  source_valid_0_io_in; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_0_io_out; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_0_clock; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_0_reset; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_1_io_in; // @[AsyncQueue.scala 101:32]
+  wire  source_valid_1_io_out; // @[AsyncQueue.scala 101:32]
+  wire  source_valid_1_clock; // @[AsyncQueue.scala 101:32]
+  wire  source_valid_1_reset; // @[AsyncQueue.scala 101:32]
+  wire  sink_extend_io_in; // @[AsyncQueue.scala 103:30]
+  wire  sink_extend_io_out; // @[AsyncQueue.scala 103:30]
+  wire  sink_extend_clock; // @[AsyncQueue.scala 103:30]
+  wire  sink_extend_reset; // @[AsyncQueue.scala 103:30]
+  wire  sink_valid_io_in; // @[AsyncQueue.scala 104:30]
+  wire  sink_valid_io_out; // @[AsyncQueue.scala 104:30]
+  wire  sink_valid_clock; // @[AsyncQueue.scala 104:30]
+  wire  sink_valid_reset; // @[AsyncQueue.scala 104:30]
+  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 80:16]
+  reg [2:0] mem_0_param; // @[AsyncQueue.scala 80:16]
+  reg [1:0] mem_0_size; // @[AsyncQueue.scala 80:16]
+  reg [6:0] mem_0_source; // @[AsyncQueue.scala 80:16]
+  reg [28:0] mem_0_address; // @[AsyncQueue.scala 80:16]
+  reg [3:0] mem_0_mask; // @[AsyncQueue.scala 80:16]
+  reg [31:0] mem_0_data; // @[AsyncQueue.scala 80:16]
+  reg  mem_0_corrupt; // @[AsyncQueue.scala 80:16]
+  wire  _widx_T_1 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  sink_ready = sink_valid_io_out;
+  wire  _widx_T_2 = ~sink_ready; // @[AsyncQueue.scala 81:79]
+  reg  widx_widx_bin; // @[AsyncQueue.scala 52:25]
+  wire  widx_incremented = _widx_T_2 ? 1'h0 : widx_widx_bin + _widx_T_1; // @[AsyncQueue.scala 53:23]
+  wire  ridx = ridx_ridx_gray_io_q; // @[ShiftReg.scala 48:{24,24}]
+  reg  ready_reg; // @[AsyncQueue.scala 88:56]
+  reg  widx_gray; // @[AsyncQueue.scala 91:55]
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 ridx_ridx_gray ( // @[ShiftReg.scala 45:23]
+    .clock(ridx_ridx_gray_clock),
+    .reset(ridx_ridx_gray_reset),
+    .io_d(ridx_ridx_gray_io_d),
+    .io_q(ridx_ridx_gray_io_q)
+  );
+  AsyncValidSync source_valid_0 ( // @[AsyncQueue.scala 100:32]
+    .io_in(source_valid_0_io_in),
+    .io_out(source_valid_0_io_out),
+    .clock(source_valid_0_clock),
+    .reset(source_valid_0_reset)
+  );
+  AsyncValidSync source_valid_1 ( // @[AsyncQueue.scala 101:32]
+    .io_in(source_valid_1_io_in),
+    .io_out(source_valid_1_io_out),
+    .clock(source_valid_1_clock),
+    .reset(source_valid_1_reset)
+  );
+  AsyncValidSync sink_extend ( // @[AsyncQueue.scala 103:30]
+    .io_in(sink_extend_io_in),
+    .io_out(sink_extend_io_out),
+    .clock(sink_extend_clock),
+    .reset(sink_extend_reset)
+  );
+  AsyncValidSync sink_valid ( // @[AsyncQueue.scala 104:30]
+    .io_in(sink_valid_io_in),
+    .io_out(sink_valid_io_out),
+    .clock(sink_valid_clock),
+    .reset(sink_valid_reset)
+  );
+  assign io_enq_ready = ready_reg & sink_ready; // @[AsyncQueue.scala 89:29]
+  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_param = mem_0_param; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_size = mem_0_size; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_source = mem_0_source; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_address = mem_0_address; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_mask = mem_0_mask; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_corrupt = mem_0_corrupt; // @[AsyncQueue.scala 96:31]
+  assign io_async_widx = widx_gray; // @[AsyncQueue.scala 92:17]
+  assign io_async_safe_widx_valid = source_valid_1_io_out; // @[AsyncQueue.scala 117:20]
+  assign io_async_safe_source_reset_n = ~reset; // @[AsyncQueue.scala 121:27]
+  assign ridx_ridx_gray_clock = clock;
+  assign ridx_ridx_gray_reset = reset;
+  assign ridx_ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 47:16]
+  assign source_valid_0_io_in = 1'h1; // @[AsyncQueue.scala 115:26]
+  assign source_valid_0_clock = clock; // @[AsyncQueue.scala 110:26]
+  assign source_valid_0_reset = reset | ~io_async_safe_sink_reset_n; // @[AsyncQueue.scala 105:65]
+  assign source_valid_1_io_in = source_valid_0_io_out; // @[AsyncQueue.scala 116:26]
+  assign source_valid_1_clock = clock; // @[AsyncQueue.scala 111:26]
+  assign source_valid_1_reset = reset | ~io_async_safe_sink_reset_n; // @[AsyncQueue.scala 106:65]
+  assign sink_extend_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 118:23]
+  assign sink_extend_clock = clock; // @[AsyncQueue.scala 112:26]
+  assign sink_extend_reset = reset | ~io_async_safe_sink_reset_n; // @[AsyncQueue.scala 107:65]
+  assign sink_valid_io_in = sink_extend_io_out; // @[AsyncQueue.scala 119:22]
+  assign sink_valid_clock = clock; // @[AsyncQueue.scala 113:26]
+  assign sink_valid_reset = reset; // @[AsyncQueue.scala 108:35]
+  always @(posedge clock) begin
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_opcode <= io_enq_bits_opcode; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_param <= io_enq_bits_param; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_size <= io_enq_bits_size; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_source <= io_enq_bits_source; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_address <= io_enq_bits_address; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_mask <= io_enq_bits_mask; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_data <= io_enq_bits_data; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_corrupt <= io_enq_bits_corrupt; // @[AsyncQueue.scala 86:37]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 53:23]
+      widx_widx_bin <= 1'h0;
+    end else if (_widx_T_2) begin
+      widx_widx_bin <= 1'h0;
+    end else begin
+      widx_widx_bin <= widx_widx_bin + _widx_T_1;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 83:26]
+      ready_reg <= 1'h0;
+    end else begin
+      ready_reg <= sink_ready & widx_incremented != (ridx ^ 1'h1);
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 53:23]
+      widx_gray <= 1'h0;
+    end else if (_widx_T_2) begin
+      widx_gray <= 1'h0;
+    end else begin
+      widx_gray <= widx_widx_bin + _widx_T_1;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  mem_0_param = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  mem_0_size = _RAND_2[1:0];
+  _RAND_3 = {1{`RANDOM}};
+  mem_0_source = _RAND_3[6:0];
+  _RAND_4 = {1{`RANDOM}};
+  mem_0_address = _RAND_4[28:0];
+  _RAND_5 = {1{`RANDOM}};
+  mem_0_mask = _RAND_5[3:0];
+  _RAND_6 = {1{`RANDOM}};
+  mem_0_data = _RAND_6[31:0];
+  _RAND_7 = {1{`RANDOM}};
+  mem_0_corrupt = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  widx_widx_bin = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  ready_reg = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  widx_gray = _RAND_10[0:0];
+`endif // RANDOMIZE_REG_INIT
+  if (reset) begin
+    widx_widx_bin = 1'h0;
+  end
+  if (reset) begin
+    ready_reg = 1'h0;
+  end
+  if (reset) begin
+    widx_gray = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ClockCrossingReg_w49(
+  input         clock,
+  input  [48:0] io_d,
+  output [48:0] io_q,
+  input         io_en
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [63:0] _RAND_0;
+`endif // RANDOMIZE_REG_INIT
+  reg [48:0] cdc_reg; // @[Reg.scala 16:16]
+  assign io_q = cdc_reg; // @[SynchronizerReg.scala 202:8]
+  always @(posedge clock) begin
+    if (io_en) begin // @[Reg.scala 17:18]
+      cdc_reg <= io_d; // @[Reg.scala 17:22]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  cdc_reg = _RAND_0[48:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module AsyncQueueSink(
+  input         clock,
+  input         reset,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [1:0]  io_deq_bits_param,
+  output [1:0]  io_deq_bits_size,
+  output [6:0]  io_deq_bits_source,
+  output        io_deq_bits_sink,
+  output        io_deq_bits_denied,
+  output [31:0] io_deq_bits_data,
+  output        io_deq_bits_corrupt,
+  input  [2:0]  io_async_mem_0_opcode,
+  input  [1:0]  io_async_mem_0_param,
+  input  [1:0]  io_async_mem_0_size,
+  input  [6:0]  io_async_mem_0_source,
+  input         io_async_mem_0_sink,
+  input         io_async_mem_0_denied,
+  input  [31:0] io_async_mem_0_data,
+  input         io_async_mem_0_corrupt,
+  output        io_async_ridx,
+  input         io_async_widx,
+  output        io_async_safe_ridx_valid,
+  input         io_async_safe_widx_valid,
+  input         io_async_safe_source_reset_n,
+  output        io_async_safe_sink_reset_n
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+`endif // RANDOMIZE_REG_INIT
+  wire  widx_widx_gray_clock; // @[ShiftReg.scala 45:23]
+  wire  widx_widx_gray_reset; // @[ShiftReg.scala 45:23]
+  wire  widx_widx_gray_io_d; // @[ShiftReg.scala 45:23]
+  wire  widx_widx_gray_io_q; // @[ShiftReg.scala 45:23]
+  wire  io_deq_bits_deq_bits_reg_clock; // @[SynchronizerReg.scala 207:25]
+  wire [48:0] io_deq_bits_deq_bits_reg_io_d; // @[SynchronizerReg.scala 207:25]
+  wire [48:0] io_deq_bits_deq_bits_reg_io_q; // @[SynchronizerReg.scala 207:25]
+  wire  io_deq_bits_deq_bits_reg_io_en; // @[SynchronizerReg.scala 207:25]
+  wire  sink_valid_0_io_in; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_0_io_out; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_0_clock; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_0_reset; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_1_io_in; // @[AsyncQueue.scala 169:33]
+  wire  sink_valid_1_io_out; // @[AsyncQueue.scala 169:33]
+  wire  sink_valid_1_clock; // @[AsyncQueue.scala 169:33]
+  wire  sink_valid_1_reset; // @[AsyncQueue.scala 169:33]
+  wire  source_extend_io_in; // @[AsyncQueue.scala 171:31]
+  wire  source_extend_io_out; // @[AsyncQueue.scala 171:31]
+  wire  source_extend_clock; // @[AsyncQueue.scala 171:31]
+  wire  source_extend_reset; // @[AsyncQueue.scala 171:31]
+  wire  source_valid_io_in; // @[AsyncQueue.scala 172:31]
+  wire  source_valid_io_out; // @[AsyncQueue.scala 172:31]
+  wire  source_valid_clock; // @[AsyncQueue.scala 172:31]
+  wire  source_valid_reset; // @[AsyncQueue.scala 172:31]
+  wire  _ridx_T_1 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  wire  source_ready = source_valid_io_out;
+  wire  _ridx_T_2 = ~source_ready; // @[AsyncQueue.scala 144:79]
+  reg  ridx_ridx_bin; // @[AsyncQueue.scala 52:25]
+  wire  ridx_incremented = _ridx_T_2 ? 1'h0 : ridx_ridx_bin + _ridx_T_1; // @[AsyncQueue.scala 53:23]
+  wire  widx = widx_widx_gray_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire [34:0] io_deq_bits_deq_bits_reg_io_d_lo = {io_async_mem_0_sink,io_async_mem_0_denied,io_async_mem_0_data,
+    io_async_mem_0_corrupt}; // @[SynchronizerReg.scala 209:24]
+  wire [13:0] io_deq_bits_deq_bits_reg_io_d_hi = {io_async_mem_0_opcode,io_async_mem_0_param,io_async_mem_0_size,
+    io_async_mem_0_source}; // @[SynchronizerReg.scala 209:24]
+  wire [48:0] _io_deq_bits_WIRE_1 = io_deq_bits_deq_bits_reg_io_q;
+  reg  valid_reg; // @[AsyncQueue.scala 161:56]
+  reg  ridx_gray; // @[AsyncQueue.scala 164:55]
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 widx_widx_gray ( // @[ShiftReg.scala 45:23]
+    .clock(widx_widx_gray_clock),
+    .reset(widx_widx_gray_reset),
+    .io_d(widx_widx_gray_io_d),
+    .io_q(widx_widx_gray_io_q)
+  );
+  ClockCrossingReg_w49 io_deq_bits_deq_bits_reg ( // @[SynchronizerReg.scala 207:25]
+    .clock(io_deq_bits_deq_bits_reg_clock),
+    .io_d(io_deq_bits_deq_bits_reg_io_d),
+    .io_q(io_deq_bits_deq_bits_reg_io_q),
+    .io_en(io_deq_bits_deq_bits_reg_io_en)
+  );
+  AsyncValidSync sink_valid_0 ( // @[AsyncQueue.scala 168:33]
+    .io_in(sink_valid_0_io_in),
+    .io_out(sink_valid_0_io_out),
+    .clock(sink_valid_0_clock),
+    .reset(sink_valid_0_reset)
+  );
+  AsyncValidSync sink_valid_1 ( // @[AsyncQueue.scala 169:33]
+    .io_in(sink_valid_1_io_in),
+    .io_out(sink_valid_1_io_out),
+    .clock(sink_valid_1_clock),
+    .reset(sink_valid_1_reset)
+  );
+  AsyncValidSync source_extend ( // @[AsyncQueue.scala 171:31]
+    .io_in(source_extend_io_in),
+    .io_out(source_extend_io_out),
+    .clock(source_extend_clock),
+    .reset(source_extend_reset)
+  );
+  AsyncValidSync source_valid ( // @[AsyncQueue.scala 172:31]
+    .io_in(source_valid_io_in),
+    .io_out(source_valid_io_out),
+    .clock(source_valid_clock),
+    .reset(source_valid_reset)
+  );
+  assign io_deq_valid = valid_reg & source_ready; // @[AsyncQueue.scala 162:29]
+  assign io_deq_bits_opcode = _io_deq_bits_WIRE_1[48:46]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_param = _io_deq_bits_WIRE_1[45:44]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_size = _io_deq_bits_WIRE_1[43:42]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_source = _io_deq_bits_WIRE_1[41:35]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_sink = _io_deq_bits_WIRE_1[34]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_denied = _io_deq_bits_WIRE_1[33]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_data = _io_deq_bits_WIRE_1[32:1]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_corrupt = _io_deq_bits_WIRE_1[0]; // @[SynchronizerReg.scala 211:26]
+  assign io_async_ridx = ridx_gray; // @[AsyncQueue.scala 165:17]
+  assign io_async_safe_ridx_valid = sink_valid_1_io_out; // @[AsyncQueue.scala 185:20]
+  assign io_async_safe_sink_reset_n = ~reset; // @[AsyncQueue.scala 189:25]
+  assign widx_widx_gray_clock = clock;
+  assign widx_widx_gray_reset = reset;
+  assign widx_widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 47:16]
+  assign io_deq_bits_deq_bits_reg_clock = clock;
+  assign io_deq_bits_deq_bits_reg_io_d = {io_deq_bits_deq_bits_reg_io_d_hi,io_deq_bits_deq_bits_reg_io_d_lo}; // @[SynchronizerReg.scala 209:24]
+  assign io_deq_bits_deq_bits_reg_io_en = source_ready & ridx_incremented != widx; // @[AsyncQueue.scala 146:28]
+  assign sink_valid_0_io_in = 1'h1; // @[AsyncQueue.scala 183:24]
+  assign sink_valid_0_clock = clock; // @[AsyncQueue.scala 178:25]
+  assign sink_valid_0_reset = reset | ~io_async_safe_source_reset_n; // @[AsyncQueue.scala 173:66]
+  assign sink_valid_1_io_in = sink_valid_0_io_out; // @[AsyncQueue.scala 184:24]
+  assign sink_valid_1_clock = clock; // @[AsyncQueue.scala 179:25]
+  assign sink_valid_1_reset = reset | ~io_async_safe_source_reset_n; // @[AsyncQueue.scala 174:66]
+  assign source_extend_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 186:25]
+  assign source_extend_clock = clock; // @[AsyncQueue.scala 180:25]
+  assign source_extend_reset = reset | ~io_async_safe_source_reset_n; // @[AsyncQueue.scala 175:66]
+  assign source_valid_io_in = source_extend_io_out; // @[AsyncQueue.scala 187:24]
+  assign source_valid_clock = clock; // @[AsyncQueue.scala 181:25]
+  assign source_valid_reset = reset; // @[AsyncQueue.scala 176:34]
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 53:23]
+      ridx_ridx_bin <= 1'h0;
+    end else if (_ridx_T_2) begin
+      ridx_ridx_bin <= 1'h0;
+    end else begin
+      ridx_ridx_bin <= ridx_ridx_bin + _ridx_T_1;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 146:28]
+      valid_reg <= 1'h0;
+    end else begin
+      valid_reg <= source_ready & ridx_incremented != widx;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 53:23]
+      ridx_gray <= 1'h0;
+    end else if (_ridx_T_2) begin
+      ridx_gray <= 1'h0;
+    end else begin
+      ridx_gray <= ridx_ridx_bin + _ridx_T_1;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  ridx_ridx_bin = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  valid_reg = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  ridx_gray = _RAND_2[0:0];
+`endif // RANDOMIZE_REG_INIT
+  if (reset) begin
+    ridx_ridx_bin = 1'h0;
+  end
+  if (reset) begin
+    valid_reg = 1'h0;
+  end
+  if (reset) begin
+    ridx_gray = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLAsyncCrossingSource(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [1:0]  auto_in_a_bits_size,
+  input  [6:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [1:0]  auto_in_d_bits_size,
+  output [6:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  output [2:0]  auto_out_a_mem_0_opcode,
+  output [2:0]  auto_out_a_mem_0_param,
+  output [1:0]  auto_out_a_mem_0_size,
+  output [6:0]  auto_out_a_mem_0_source,
+  output [28:0] auto_out_a_mem_0_address,
+  output [3:0]  auto_out_a_mem_0_mask,
+  output [31:0] auto_out_a_mem_0_data,
+  output        auto_out_a_mem_0_corrupt,
+  input         auto_out_a_ridx,
+  output        auto_out_a_widx,
+  input         auto_out_a_safe_ridx_valid,
+  output        auto_out_a_safe_widx_valid,
+  output        auto_out_a_safe_source_reset_n,
+  input         auto_out_a_safe_sink_reset_n,
+  input  [2:0]  auto_out_d_mem_0_opcode,
+  input  [1:0]  auto_out_d_mem_0_param,
+  input  [1:0]  auto_out_d_mem_0_size,
+  input  [6:0]  auto_out_d_mem_0_source,
+  input         auto_out_d_mem_0_sink,
+  input         auto_out_d_mem_0_denied,
+  input  [31:0] auto_out_d_mem_0_data,
+  input         auto_out_d_mem_0_corrupt,
+  output        auto_out_d_ridx,
+  input         auto_out_d_widx,
+  output        auto_out_d_safe_ridx_valid,
+  input         auto_out_d_safe_widx_valid,
+  input         auto_out_d_safe_source_reset_n,
+  output        auto_out_d_safe_sink_reset_n
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  bundleOut_0_a_source_clock; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_reset; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_enq_ready; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_enq_valid; // @[AsyncQueue.scala 216:24]
+  wire [2:0] bundleOut_0_a_source_io_enq_bits_opcode; // @[AsyncQueue.scala 216:24]
+  wire [2:0] bundleOut_0_a_source_io_enq_bits_param; // @[AsyncQueue.scala 216:24]
+  wire [1:0] bundleOut_0_a_source_io_enq_bits_size; // @[AsyncQueue.scala 216:24]
+  wire [6:0] bundleOut_0_a_source_io_enq_bits_source; // @[AsyncQueue.scala 216:24]
+  wire [28:0] bundleOut_0_a_source_io_enq_bits_address; // @[AsyncQueue.scala 216:24]
+  wire [3:0] bundleOut_0_a_source_io_enq_bits_mask; // @[AsyncQueue.scala 216:24]
+  wire [31:0] bundleOut_0_a_source_io_enq_bits_data; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_enq_bits_corrupt; // @[AsyncQueue.scala 216:24]
+  wire [2:0] bundleOut_0_a_source_io_async_mem_0_opcode; // @[AsyncQueue.scala 216:24]
+  wire [2:0] bundleOut_0_a_source_io_async_mem_0_param; // @[AsyncQueue.scala 216:24]
+  wire [1:0] bundleOut_0_a_source_io_async_mem_0_size; // @[AsyncQueue.scala 216:24]
+  wire [6:0] bundleOut_0_a_source_io_async_mem_0_source; // @[AsyncQueue.scala 216:24]
+  wire [28:0] bundleOut_0_a_source_io_async_mem_0_address; // @[AsyncQueue.scala 216:24]
+  wire [3:0] bundleOut_0_a_source_io_async_mem_0_mask; // @[AsyncQueue.scala 216:24]
+  wire [31:0] bundleOut_0_a_source_io_async_mem_0_data; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_async_mem_0_corrupt; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_async_ridx; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_async_widx; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_async_safe_ridx_valid; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_async_safe_widx_valid; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_async_safe_source_reset_n; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_sink_clock; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_reset; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_deq_ready; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_deq_valid; // @[AsyncQueue.scala 207:22]
+  wire [2:0] bundleIn_0_d_sink_io_deq_bits_opcode; // @[AsyncQueue.scala 207:22]
+  wire [1:0] bundleIn_0_d_sink_io_deq_bits_param; // @[AsyncQueue.scala 207:22]
+  wire [1:0] bundleIn_0_d_sink_io_deq_bits_size; // @[AsyncQueue.scala 207:22]
+  wire [6:0] bundleIn_0_d_sink_io_deq_bits_source; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_deq_bits_sink; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_deq_bits_denied; // @[AsyncQueue.scala 207:22]
+  wire [31:0] bundleIn_0_d_sink_io_deq_bits_data; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_deq_bits_corrupt; // @[AsyncQueue.scala 207:22]
+  wire [2:0] bundleIn_0_d_sink_io_async_mem_0_opcode; // @[AsyncQueue.scala 207:22]
+  wire [1:0] bundleIn_0_d_sink_io_async_mem_0_param; // @[AsyncQueue.scala 207:22]
+  wire [1:0] bundleIn_0_d_sink_io_async_mem_0_size; // @[AsyncQueue.scala 207:22]
+  wire [6:0] bundleIn_0_d_sink_io_async_mem_0_source; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_async_mem_0_sink; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_async_mem_0_denied; // @[AsyncQueue.scala 207:22]
+  wire [31:0] bundleIn_0_d_sink_io_async_mem_0_data; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_async_mem_0_corrupt; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_async_ridx; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_async_widx; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_async_safe_widx_valid; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 207:22]
+  TLMonitor_33 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
+  );
+  AsyncQueueSource bundleOut_0_a_source ( // @[AsyncQueue.scala 216:24]
+    .clock(bundleOut_0_a_source_clock),
+    .reset(bundleOut_0_a_source_reset),
+    .io_enq_ready(bundleOut_0_a_source_io_enq_ready),
+    .io_enq_valid(bundleOut_0_a_source_io_enq_valid),
+    .io_enq_bits_opcode(bundleOut_0_a_source_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleOut_0_a_source_io_enq_bits_param),
+    .io_enq_bits_size(bundleOut_0_a_source_io_enq_bits_size),
+    .io_enq_bits_source(bundleOut_0_a_source_io_enq_bits_source),
+    .io_enq_bits_address(bundleOut_0_a_source_io_enq_bits_address),
+    .io_enq_bits_mask(bundleOut_0_a_source_io_enq_bits_mask),
+    .io_enq_bits_data(bundleOut_0_a_source_io_enq_bits_data),
+    .io_enq_bits_corrupt(bundleOut_0_a_source_io_enq_bits_corrupt),
+    .io_async_mem_0_opcode(bundleOut_0_a_source_io_async_mem_0_opcode),
+    .io_async_mem_0_param(bundleOut_0_a_source_io_async_mem_0_param),
+    .io_async_mem_0_size(bundleOut_0_a_source_io_async_mem_0_size),
+    .io_async_mem_0_source(bundleOut_0_a_source_io_async_mem_0_source),
+    .io_async_mem_0_address(bundleOut_0_a_source_io_async_mem_0_address),
+    .io_async_mem_0_mask(bundleOut_0_a_source_io_async_mem_0_mask),
+    .io_async_mem_0_data(bundleOut_0_a_source_io_async_mem_0_data),
+    .io_async_mem_0_corrupt(bundleOut_0_a_source_io_async_mem_0_corrupt),
+    .io_async_ridx(bundleOut_0_a_source_io_async_ridx),
+    .io_async_widx(bundleOut_0_a_source_io_async_widx),
+    .io_async_safe_ridx_valid(bundleOut_0_a_source_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(bundleOut_0_a_source_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(bundleOut_0_a_source_io_async_safe_source_reset_n),
+    .io_async_safe_sink_reset_n(bundleOut_0_a_source_io_async_safe_sink_reset_n)
+  );
+  AsyncQueueSink bundleIn_0_d_sink ( // @[AsyncQueue.scala 207:22]
+    .clock(bundleIn_0_d_sink_clock),
+    .reset(bundleIn_0_d_sink_reset),
+    .io_deq_ready(bundleIn_0_d_sink_io_deq_ready),
+    .io_deq_valid(bundleIn_0_d_sink_io_deq_valid),
+    .io_deq_bits_opcode(bundleIn_0_d_sink_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleIn_0_d_sink_io_deq_bits_param),
+    .io_deq_bits_size(bundleIn_0_d_sink_io_deq_bits_size),
+    .io_deq_bits_source(bundleIn_0_d_sink_io_deq_bits_source),
+    .io_deq_bits_sink(bundleIn_0_d_sink_io_deq_bits_sink),
+    .io_deq_bits_denied(bundleIn_0_d_sink_io_deq_bits_denied),
+    .io_deq_bits_data(bundleIn_0_d_sink_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleIn_0_d_sink_io_deq_bits_corrupt),
+    .io_async_mem_0_opcode(bundleIn_0_d_sink_io_async_mem_0_opcode),
+    .io_async_mem_0_param(bundleIn_0_d_sink_io_async_mem_0_param),
+    .io_async_mem_0_size(bundleIn_0_d_sink_io_async_mem_0_size),
+    .io_async_mem_0_source(bundleIn_0_d_sink_io_async_mem_0_source),
+    .io_async_mem_0_sink(bundleIn_0_d_sink_io_async_mem_0_sink),
+    .io_async_mem_0_denied(bundleIn_0_d_sink_io_async_mem_0_denied),
+    .io_async_mem_0_data(bundleIn_0_d_sink_io_async_mem_0_data),
+    .io_async_mem_0_corrupt(bundleIn_0_d_sink_io_async_mem_0_corrupt),
+    .io_async_ridx(bundleIn_0_d_sink_io_async_ridx),
+    .io_async_widx(bundleIn_0_d_sink_io_async_widx),
+    .io_async_safe_ridx_valid(bundleIn_0_d_sink_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(bundleIn_0_d_sink_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(bundleIn_0_d_sink_io_async_safe_source_reset_n),
+    .io_async_safe_sink_reset_n(bundleIn_0_d_sink_io_async_safe_sink_reset_n)
+  );
+  assign auto_in_a_ready = bundleOut_0_a_source_io_enq_ready; // @[Nodes.scala 1210:84 AsyncQueue.scala 217:19]
+  assign auto_in_d_valid = bundleIn_0_d_sink_io_deq_valid; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_opcode = bundleIn_0_d_sink_io_deq_bits_opcode; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_param = bundleIn_0_d_sink_io_deq_bits_param; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_size = bundleIn_0_d_sink_io_deq_bits_size; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_source = bundleIn_0_d_sink_io_deq_bits_source; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_sink = bundleIn_0_d_sink_io_deq_bits_sink; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_denied = bundleIn_0_d_sink_io_deq_bits_denied; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_data = bundleIn_0_d_sink_io_deq_bits_data; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_corrupt = bundleIn_0_d_sink_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_out_a_mem_0_opcode = bundleOut_0_a_source_io_async_mem_0_opcode; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_a_mem_0_param = bundleOut_0_a_source_io_async_mem_0_param; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_a_mem_0_size = bundleOut_0_a_source_io_async_mem_0_size; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_a_mem_0_source = bundleOut_0_a_source_io_async_mem_0_source; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_a_mem_0_address = bundleOut_0_a_source_io_async_mem_0_address; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_a_mem_0_mask = bundleOut_0_a_source_io_async_mem_0_mask; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_a_mem_0_data = bundleOut_0_a_source_io_async_mem_0_data; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_a_mem_0_corrupt = bundleOut_0_a_source_io_async_mem_0_corrupt; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_a_widx = bundleOut_0_a_source_io_async_widx; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_a_safe_widx_valid = bundleOut_0_a_source_io_async_safe_widx_valid; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_a_safe_source_reset_n = bundleOut_0_a_source_io_async_safe_source_reset_n; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_d_ridx = bundleIn_0_d_sink_io_async_ridx; // @[Nodes.scala 1207:84 AsyncQueue.scala 208:19]
+  assign auto_out_d_safe_ridx_valid = bundleIn_0_d_sink_io_async_safe_ridx_valid; // @[Nodes.scala 1207:84 AsyncQueue.scala 208:19]
+  assign auto_out_d_safe_sink_reset_n = bundleIn_0_d_sink_io_async_safe_sink_reset_n; // @[Nodes.scala 1207:84 AsyncQueue.scala 208:19]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = bundleOut_0_a_source_io_enq_ready; // @[Nodes.scala 1210:84 AsyncQueue.scala 217:19]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = bundleIn_0_d_sink_io_deq_valid; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign monitor_io_in_d_bits_opcode = bundleIn_0_d_sink_io_deq_bits_opcode; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign monitor_io_in_d_bits_param = bundleIn_0_d_sink_io_deq_bits_param; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign monitor_io_in_d_bits_size = bundleIn_0_d_sink_io_deq_bits_size; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign monitor_io_in_d_bits_source = bundleIn_0_d_sink_io_deq_bits_source; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign monitor_io_in_d_bits_sink = bundleIn_0_d_sink_io_deq_bits_sink; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign monitor_io_in_d_bits_denied = bundleIn_0_d_sink_io_deq_bits_denied; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign monitor_io_in_d_bits_corrupt = bundleIn_0_d_sink_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign bundleOut_0_a_source_clock = clock;
+  assign bundleOut_0_a_source_reset = reset;
+  assign bundleOut_0_a_source_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_source_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_source_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_source_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_source_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_source_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_source_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_source_io_enq_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_source_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_source_io_async_ridx = auto_out_a_ridx; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleOut_0_a_source_io_async_safe_ridx_valid = auto_out_a_safe_ridx_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleOut_0_a_source_io_async_safe_sink_reset_n = auto_out_a_safe_sink_reset_n; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_clock = clock;
+  assign bundleIn_0_d_sink_reset = reset;
+  assign bundleIn_0_d_sink_io_deq_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleIn_0_d_sink_io_async_mem_0_opcode = auto_out_d_mem_0_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_io_async_mem_0_param = auto_out_d_mem_0_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_io_async_mem_0_size = auto_out_d_mem_0_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_io_async_mem_0_source = auto_out_d_mem_0_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_io_async_mem_0_sink = auto_out_d_mem_0_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_io_async_mem_0_denied = auto_out_d_mem_0_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_io_async_mem_0_data = auto_out_d_mem_0_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_io_async_mem_0_corrupt = auto_out_d_mem_0_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_io_async_widx = auto_out_d_widx; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_io_async_safe_widx_valid = auto_out_d_safe_widx_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_io_async_safe_source_reset_n = auto_out_d_safe_source_reset_n; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_34(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source,
+  input         io_in_d_bits_sink,
+  input         io_in_d_bits_denied,
+  input         io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{23'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_45 = io_in_a_bits_address ^ 29'h10000000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_48 = $signed(_T_46) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_245 = source_ok & _T_200; // @[Monitor.scala 115:71]
+  wire  _T_263 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_299 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_300 = io_in_a_bits_mask & _T_299; // @[Monitor.scala 127:31]
+  wire  _T_301 = _T_300 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_305 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_334 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_342 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_371 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_379 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_408 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_420 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_424 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_428 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_432 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_436 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_440 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_444 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_455 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_459 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_472 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_492 = _T_440 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_501 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_518 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_536 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_566 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_567 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_571 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_575 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_579 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_583 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  reg  sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_590 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_591 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_595 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_599 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_603 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_607 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_611 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_617 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_620 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_622 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_624 = ~_T_622[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_628 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_630 = ~_T_424; // @[Monitor.scala 671:74]
+  wire  _T_631 = io_in_d_valid & d_first_1 & ~_T_424; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 671:90 672:22]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 & _T_630 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 & _T_630 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_617 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_641 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_643 = _T_641[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_648 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_649 = io_in_d_bits_opcode == _GEN_32 | _T_648; // @[Monitor.scala 685:77]
+  wire  _T_653 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_660 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_661 = io_in_d_bits_opcode == _GEN_48 | _T_660; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_665 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_675 = _T_628 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_630; // @[Monitor.scala 694:116]
+  wire  _T_677 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set_wo_ready = _GEN_15[2:0];
+  wire [2:0] d_clr_wo_ready = _GEN_21[2:0];
+  wire  _T_684 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_693 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_719 = io_in_d_valid & d_first_2 & _T_424; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_67 = _d_first_T & d_first_2 & _T_424 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_68 = _d_first_T & d_first_2 & _T_424 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire [2:0] _T_727 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_737 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2:0] d_clr_1 = _GEN_67[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_68[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_762 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_245 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_263 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_263 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_334 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_334) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_305 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_305 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_371 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_371) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_342 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_342 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_408 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_408) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_379 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_379 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_420 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_420) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_432 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_432) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_436 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_436) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_440 & (io_in_d_valid & _T_424 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_424 & _T_2 & ~_T_440) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_455 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_455) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_459 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_459) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_436 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_436) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_440 & (io_in_d_valid & _T_444 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_444 & _T_2 & ~_T_440) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is denied (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_428 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_428) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_455 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_455) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_459 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_459) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_492 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_492) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_440 & (io_in_d_valid & _T_472 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_472 & _T_2 & ~_T_440) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_432 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~_T_432) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_436 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~_T_436) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_440 & (io_in_d_valid & _T_501 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_501 & _T_2 & ~_T_440) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is denied (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_432 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~_T_432) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_492 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~_T_492) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_440 & (io_in_d_valid & _T_518 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_518 & _T_2 & ~_T_440) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_432 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~_T_432) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_436 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~_T_436) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_440 & (io_in_d_valid & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_536 & _T_2 & ~_T_440) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is denied (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_567 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_567) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_579 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_579) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_583 & (_T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_566 & ~reset & ~_T_583) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_591 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_591) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_595 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_595) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_599 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_603 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_603) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_607 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_607) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_611 & (_T_590 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & _T_2 & ~_T_611) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_620 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_620 & ~reset & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_653 & (_T_631 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & same_cycle_resp & _T_2 & ~_T_653) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (_T_631 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & ~same_cycle_resp & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_677 & (_T_675 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_675 & _T_2 & ~_T_677) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_684 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_684) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_693 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_693) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727[0] & (_T_719 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_719 & _T_2 & ~_T_727[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_737 & (_T_719 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_719 & _T_2 & ~_T_737) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_762 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_762) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at MockAONPeriphery.scala:22:84)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  param_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  size_1 = _RAND_9[2:0];
+  _RAND_10 = {1{`RANDOM}};
+  source_1 = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  sink = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  denied = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  inflight = _RAND_13[2:0];
+  _RAND_14 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_14[11:0];
+  _RAND_15 = {1{`RANDOM}};
+  inflight_sizes = _RAND_15[11:0];
+  _RAND_16 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_16[3:0];
+  _RAND_17 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_17[3:0];
+  _RAND_18 = {1{`RANDOM}};
+  watchdog = _RAND_18[31:0];
+  _RAND_19 = {1{`RANDOM}};
+  inflight_1 = _RAND_19[2:0];
+  _RAND_20 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_20[11:0];
+  _RAND_21 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_21[3:0];
+  _RAND_22 = {1{`RANDOM}};
+  watchdog_1 = _RAND_22[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_18(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input         auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [28:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [28:0] _GEN_11 = {{23'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_34 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
+  );
+  Repeater repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign monitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_24(
+  input         clock,
+  input         reset,
+  output [2:0]  auto_asource_out_a_mem_0_opcode,
+  output [2:0]  auto_asource_out_a_mem_0_param,
+  output [1:0]  auto_asource_out_a_mem_0_size,
+  output [6:0]  auto_asource_out_a_mem_0_source,
+  output [28:0] auto_asource_out_a_mem_0_address,
+  output [3:0]  auto_asource_out_a_mem_0_mask,
+  output [31:0] auto_asource_out_a_mem_0_data,
+  output        auto_asource_out_a_mem_0_corrupt,
+  input         auto_asource_out_a_ridx,
+  output        auto_asource_out_a_widx,
+  input         auto_asource_out_a_safe_ridx_valid,
+  output        auto_asource_out_a_safe_widx_valid,
+  output        auto_asource_out_a_safe_source_reset_n,
+  input         auto_asource_out_a_safe_sink_reset_n,
+  input  [2:0]  auto_asource_out_d_mem_0_opcode,
+  input  [1:0]  auto_asource_out_d_mem_0_param,
+  input  [1:0]  auto_asource_out_d_mem_0_size,
+  input  [6:0]  auto_asource_out_d_mem_0_source,
+  input         auto_asource_out_d_mem_0_sink,
+  input         auto_asource_out_d_mem_0_denied,
+  input  [31:0] auto_asource_out_d_mem_0_data,
+  input         auto_asource_out_d_mem_0_corrupt,
+  output        auto_asource_out_d_ridx,
+  input         auto_asource_out_d_widx,
+  output        auto_asource_out_d_safe_ridx_valid,
+  input         auto_asource_out_d_safe_widx_valid,
+  input         auto_asource_out_d_safe_source_reset_n,
+  output        auto_asource_out_d_safe_sink_reset_n,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [28:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [1:0]  auto_tl_in_d_bits_param,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output        auto_tl_in_d_bits_sink,
+  output        auto_tl_in_d_bits_denied,
+  output [31:0] auto_tl_in_d_bits_data,
+  output        auto_tl_in_d_bits_corrupt
+);
+  wire  asource_clock; // @[AsyncCrossing.scala 87:29]
+  wire  asource_reset; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_a_ready; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_a_valid; // @[AsyncCrossing.scala 87:29]
+  wire [2:0] asource_auto_in_a_bits_opcode; // @[AsyncCrossing.scala 87:29]
+  wire [2:0] asource_auto_in_a_bits_param; // @[AsyncCrossing.scala 87:29]
+  wire [1:0] asource_auto_in_a_bits_size; // @[AsyncCrossing.scala 87:29]
+  wire [6:0] asource_auto_in_a_bits_source; // @[AsyncCrossing.scala 87:29]
+  wire [28:0] asource_auto_in_a_bits_address; // @[AsyncCrossing.scala 87:29]
+  wire [3:0] asource_auto_in_a_bits_mask; // @[AsyncCrossing.scala 87:29]
+  wire [31:0] asource_auto_in_a_bits_data; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_a_bits_corrupt; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_d_ready; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_d_valid; // @[AsyncCrossing.scala 87:29]
+  wire [2:0] asource_auto_in_d_bits_opcode; // @[AsyncCrossing.scala 87:29]
+  wire [1:0] asource_auto_in_d_bits_param; // @[AsyncCrossing.scala 87:29]
+  wire [1:0] asource_auto_in_d_bits_size; // @[AsyncCrossing.scala 87:29]
+  wire [6:0] asource_auto_in_d_bits_source; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_d_bits_sink; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_d_bits_denied; // @[AsyncCrossing.scala 87:29]
+  wire [31:0] asource_auto_in_d_bits_data; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_d_bits_corrupt; // @[AsyncCrossing.scala 87:29]
+  wire [2:0] asource_auto_out_a_mem_0_opcode; // @[AsyncCrossing.scala 87:29]
+  wire [2:0] asource_auto_out_a_mem_0_param; // @[AsyncCrossing.scala 87:29]
+  wire [1:0] asource_auto_out_a_mem_0_size; // @[AsyncCrossing.scala 87:29]
+  wire [6:0] asource_auto_out_a_mem_0_source; // @[AsyncCrossing.scala 87:29]
+  wire [28:0] asource_auto_out_a_mem_0_address; // @[AsyncCrossing.scala 87:29]
+  wire [3:0] asource_auto_out_a_mem_0_mask; // @[AsyncCrossing.scala 87:29]
+  wire [31:0] asource_auto_out_a_mem_0_data; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_a_mem_0_corrupt; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_a_ridx; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_a_widx; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_a_safe_ridx_valid; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_a_safe_widx_valid; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_a_safe_source_reset_n; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_a_safe_sink_reset_n; // @[AsyncCrossing.scala 87:29]
+  wire [2:0] asource_auto_out_d_mem_0_opcode; // @[AsyncCrossing.scala 87:29]
+  wire [1:0] asource_auto_out_d_mem_0_param; // @[AsyncCrossing.scala 87:29]
+  wire [1:0] asource_auto_out_d_mem_0_size; // @[AsyncCrossing.scala 87:29]
+  wire [6:0] asource_auto_out_d_mem_0_source; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_d_mem_0_sink; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_d_mem_0_denied; // @[AsyncCrossing.scala 87:29]
+  wire [31:0] asource_auto_out_d_mem_0_data; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_d_mem_0_corrupt; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_d_ridx; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_d_widx; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_d_safe_ridx_valid; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_d_safe_widx_valid; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_d_safe_source_reset_n; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_d_safe_sink_reset_n; // @[AsyncCrossing.scala 87:29]
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_bits_sink; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_bits_denied; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_bits_sink; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_bits_denied; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_bits_corrupt; // @[Fragmenter.scala 333:34]
+  TLAsyncCrossingSource asource ( // @[AsyncCrossing.scala 87:29]
+    .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_18 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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)
+  );
+  assign auto_asource_out_a_mem_0_opcode = asource_auto_out_a_mem_0_opcode; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_a_mem_0_param = asource_auto_out_a_mem_0_param; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_a_mem_0_size = asource_auto_out_a_mem_0_size; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_a_mem_0_source = asource_auto_out_a_mem_0_source; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_a_mem_0_address = asource_auto_out_a_mem_0_address; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_a_mem_0_mask = asource_auto_out_a_mem_0_mask; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_a_mem_0_data = asource_auto_out_a_mem_0_data; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_a_mem_0_corrupt = asource_auto_out_a_mem_0_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_a_widx = asource_auto_out_a_widx; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_a_safe_widx_valid = asource_auto_out_a_safe_widx_valid; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_a_safe_source_reset_n = asource_auto_out_a_safe_source_reset_n; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_d_ridx = asource_auto_out_d_ridx; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_d_safe_ridx_valid = asource_auto_out_d_safe_ridx_valid; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_d_safe_sink_reset_n = asource_auto_out_d_safe_sink_reset_n; // @[LazyModule.scala 311:12]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_param = fragmenter_auto_in_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_sink = fragmenter_auto_in_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_denied = fragmenter_auto_in_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_corrupt = fragmenter_auto_in_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign asource_clock = clock;
+  assign asource_reset = reset;
+  assign asource_auto_in_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign asource_auto_in_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign asource_auto_in_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign asource_auto_in_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign asource_auto_in_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign asource_auto_in_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign asource_auto_in_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign asource_auto_in_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign asource_auto_in_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign asource_auto_in_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign asource_auto_out_a_ridx = auto_asource_out_a_ridx; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_a_safe_ridx_valid = auto_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_a_safe_sink_reset_n = auto_asource_out_a_safe_sink_reset_n; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_mem_0_opcode = auto_asource_out_d_mem_0_opcode; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_mem_0_param = auto_asource_out_d_mem_0_param; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_mem_0_size = auto_asource_out_d_mem_0_size; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_mem_0_source = auto_asource_out_d_mem_0_source; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_mem_0_sink = auto_asource_out_d_mem_0_sink; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_mem_0_denied = auto_asource_out_d_mem_0_denied; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_mem_0_data = auto_asource_out_d_mem_0_data; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_mem_0_corrupt = auto_asource_out_d_mem_0_corrupt; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_widx = auto_asource_out_d_widx; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_safe_widx_valid = auto_asource_out_d_safe_widx_valid; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_safe_source_reset_n = auto_asource_out_d_safe_source_reset_n; // @[LazyModule.scala 311:12]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = asource_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_d_valid = asource_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_d_bits_opcode = asource_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_d_bits_param = asource_auto_in_d_bits_param; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_d_bits_size = asource_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_d_bits_source = asource_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_d_bits_sink = asource_auto_in_d_bits_sink; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_d_bits_denied = asource_auto_in_d_bits_denied; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_d_bits_data = asource_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_d_bits_corrupt = asource_auto_in_d_bits_corrupt; // @[LazyModule.scala 296:16]
+endmodule
+module TLMonitor_35(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [16:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [16:0] _GEN_71 = {{11'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [16:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 17'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [16:0] _T_45 = io_in_a_bits_address ^ 17'h10000; // @[Parameters.scala 137:31]
+  wire [17:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [17:0] _T_48 = $signed(_T_46) & -18'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 18'sh0; // @[Parameters.scala 137:67]
+  wire  _T_59 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_60 = _source_ok_T & _T_59; // @[Mux.scala 27:73]
+  wire  _T_76 = _T_60 & _T_49; // @[Monitor.scala 83:78]
+  wire  _T_90 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_94 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_95 = _T_94 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_99 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_103 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_164 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_177 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_192 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_200 = _T_192 & _T_49; // @[Parameters.scala 670:56]
+  wire  _T_211 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_215 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_223 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_260 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_293 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_294 = io_in_a_bits_mask & _T_293; // @[Monitor.scala 127:31]
+  wire  _T_295 = _T_294 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_299 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_328 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_336 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_365 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_373 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_402 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [16:0] address; // @[Monitor.scala 388:22]
+  wire  _T_560 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_561 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_565 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_569 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_573 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_577 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_584 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_593 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_597 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_611 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_614 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_616 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_618 = ~_T_616[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_622 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_22 = _d_first_T & d_first_1 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_23 = _d_first_T & d_first_1 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_611 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_635 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_637 = _T_635[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_642 = 3'h1 == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_643 = 3'h1 == _GEN_32 | _T_642; // @[Monitor.scala 685:77]
+  wire  _T_647 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_654 = 3'h1 == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_655 = 3'h1 == _GEN_48 | _T_654; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_659 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_667 = _T_622 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2; // @[Monitor.scala 694:65]
+  wire  _T_671 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set = _GEN_16[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_22[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_19[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_23[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_20[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_680 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 4'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= d_first_beats1_decode;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 4'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= d_first_beats1_decode;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_76 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_76) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_90 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_90) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_164 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_164) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_95 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_95) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_103 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_103 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_200 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_200) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_177 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_177 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_223 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_223 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_260 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_260 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_211 & (io_in_a_valid & _T_260 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset & ~_T_211) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_295 & (io_in_a_valid & _T_260 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_260 & ~reset & ~_T_295) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_328 & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & ~_T_328) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_299 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_299 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_365 & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & ~_T_365) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_336 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_336 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_215 & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~_T_215) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_99 & (io_in_a_valid & _T_373 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_373 & ~reset & ~_T_99) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BootROM.scala:84:68)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_561 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_561) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_565 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_565) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_569 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_569) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_573 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_573) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_577 & (_T_560 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & ~reset & ~_T_577) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_593 & (_T_584 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_584 & _T_2 & ~_T_593) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at BootROM.scala:84:68)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_597 & (_T_584 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_584 & _T_2 & ~_T_597) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at BootROM.scala:84:68)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_618 & (_T_614 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_614 & ~reset & ~_T_618) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_637 & (_T_622 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & _T_2 & ~_T_637) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BootROM.scala:84:68)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_643 & (_T_622 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & same_cycle_resp & _T_2 & ~_T_643) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at BootROM.scala:84:68)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_647 & (_T_622 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & same_cycle_resp & _T_2 & ~_T_647) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BootROM.scala:84:68)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_655 & (_T_622 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & ~same_cycle_resp & _T_2 & ~_T_655) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at BootROM.scala:84:68)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_659 & (_T_622 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & ~same_cycle_resp & _T_2 & ~_T_659) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BootROM.scala:84:68)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_671 & (_T_667 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_667 & _T_2 & ~_T_671) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_680 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_680) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at BootROM.scala:84:68)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[16:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  size_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  source_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  inflight = _RAND_9[2:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_10[11:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_sizes = _RAND_11[11:0];
+  _RAND_12 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_12[3:0];
+  _RAND_13 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  watchdog = _RAND_14[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Repeater_20(
+  input         clock,
+  input         reset,
+  input         io_repeat,
+  output        io_full,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [2:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input  [16:0] io_enq_bits_address,
+  input  [3:0]  io_enq_bits_mask,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [2:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [16:0] io_deq_bits_address,
+  output [3:0]  io_deq_bits_mask,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  reg  full; // @[Repeater.scala 19:21]
+  reg [2:0] saved_opcode; // @[Repeater.scala 20:18]
+  reg [2:0] saved_param; // @[Repeater.scala 20:18]
+  reg [2:0] saved_size; // @[Repeater.scala 20:18]
+  reg [1:0] saved_source; // @[Repeater.scala 20:18]
+  reg [16:0] saved_address; // @[Repeater.scala 20:18]
+  reg [3:0] saved_mask; // @[Repeater.scala 20:18]
+  reg  saved_corrupt; // @[Repeater.scala 20:18]
+  wire  _T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  _GEN_0 = _T & io_repeat | full; // @[Repeater.scala 19:21 28:{38,45}]
+  wire  _T_2 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign io_full = full; // @[Repeater.scala 26:11]
+  assign io_enq_ready = io_deq_ready & ~full; // @[Repeater.scala 24:32]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 23:32]
+  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 25:21]
+  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 25:21]
+  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 25:21]
+  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 25:21]
+  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 25:21]
+  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 25:21]
+  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 25:21]
+  always @(posedge clock) begin
+    if (reset) begin // @[Repeater.scala 19:21]
+      full <= 1'h0; // @[Repeater.scala 19:21]
+    end else if (_T_2 & ~io_repeat) begin // @[Repeater.scala 29:38]
+      full <= 1'h0; // @[Repeater.scala 29:45]
+    end else begin
+      full <= _GEN_0;
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_opcode <= io_enq_bits_opcode; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_param <= io_enq_bits_param; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_size <= io_enq_bits_size; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_source <= io_enq_bits_source; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_address <= io_enq_bits_address; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_mask <= io_enq_bits_mask; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_corrupt <= io_enq_bits_corrupt; // @[Repeater.scala 28:62]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  saved_opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  saved_param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  saved_size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  saved_source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  saved_address = _RAND_5[16:0];
+  _RAND_6 = {1{`RANDOM}};
+  saved_mask = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  saved_corrupt = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_19(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [16:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [16:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [16:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [16:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [16:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  _T_7 = auto_in_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _acknum_T_1 = acknum - 4'h1; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_9 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_9; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [16:0] _GEN_10 = {{11'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_35 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater_20 repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,new_gennum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_10; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[6:5]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = new_gennum != 4'h0; // @[Fragmenter.scala 302:53]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_25(
+  input         clock,
+  input         reset,
+  input         auto_fragmenter_out_a_ready,
+  output        auto_fragmenter_out_a_valid,
+  output [2:0]  auto_fragmenter_out_a_bits_opcode,
+  output [2:0]  auto_fragmenter_out_a_bits_param,
+  output [1:0]  auto_fragmenter_out_a_bits_size,
+  output [6:0]  auto_fragmenter_out_a_bits_source,
+  output [16:0] auto_fragmenter_out_a_bits_address,
+  output [3:0]  auto_fragmenter_out_a_bits_mask,
+  output        auto_fragmenter_out_a_bits_corrupt,
+  output        auto_fragmenter_out_d_ready,
+  input         auto_fragmenter_out_d_valid,
+  input  [1:0]  auto_fragmenter_out_d_bits_size,
+  input  [6:0]  auto_fragmenter_out_d_bits_source,
+  input  [31:0] auto_fragmenter_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [1:0]  auto_tl_in_a_bits_source,
+  input  [16:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [1:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [16:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [16:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  TLFragmenter_19 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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)
+  );
+  assign auto_fragmenter_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_tl_in_a_ready = fragmenter_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = fragmenter_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 311:12]
+endmodule
+module PeripheryBus_1(
+  input         auto_coupler_to_bootrom_fragmenter_out_a_ready,
+  output        auto_coupler_to_bootrom_fragmenter_out_a_valid,
+  output [2:0]  auto_coupler_to_bootrom_fragmenter_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_bootrom_fragmenter_out_a_bits_param,
+  output [1:0]  auto_coupler_to_bootrom_fragmenter_out_a_bits_size,
+  output [6:0]  auto_coupler_to_bootrom_fragmenter_out_a_bits_source,
+  output [16:0] auto_coupler_to_bootrom_fragmenter_out_a_bits_address,
+  output [3:0]  auto_coupler_to_bootrom_fragmenter_out_a_bits_mask,
+  output        auto_coupler_to_bootrom_fragmenter_out_a_bits_corrupt,
+  output        auto_coupler_to_bootrom_fragmenter_out_d_ready,
+  input         auto_coupler_to_bootrom_fragmenter_out_d_valid,
+  input  [1:0]  auto_coupler_to_bootrom_fragmenter_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_bootrom_fragmenter_out_d_bits_source,
+  input  [31:0] auto_coupler_to_bootrom_fragmenter_out_d_bits_data,
+  output [2:0]  auto_coupler_to_aon_asource_out_a_mem_0_opcode,
+  output [2:0]  auto_coupler_to_aon_asource_out_a_mem_0_param,
+  output [1:0]  auto_coupler_to_aon_asource_out_a_mem_0_size,
+  output [6:0]  auto_coupler_to_aon_asource_out_a_mem_0_source,
+  output [28:0] auto_coupler_to_aon_asource_out_a_mem_0_address,
+  output [3:0]  auto_coupler_to_aon_asource_out_a_mem_0_mask,
+  output [31:0] auto_coupler_to_aon_asource_out_a_mem_0_data,
+  output        auto_coupler_to_aon_asource_out_a_mem_0_corrupt,
+  input         auto_coupler_to_aon_asource_out_a_ridx,
+  output        auto_coupler_to_aon_asource_out_a_widx,
+  input         auto_coupler_to_aon_asource_out_a_safe_ridx_valid,
+  output        auto_coupler_to_aon_asource_out_a_safe_widx_valid,
+  output        auto_coupler_to_aon_asource_out_a_safe_source_reset_n,
+  input         auto_coupler_to_aon_asource_out_a_safe_sink_reset_n,
+  input  [2:0]  auto_coupler_to_aon_asource_out_d_mem_0_opcode,
+  input  [1:0]  auto_coupler_to_aon_asource_out_d_mem_0_param,
+  input  [1:0]  auto_coupler_to_aon_asource_out_d_mem_0_size,
+  input  [6:0]  auto_coupler_to_aon_asource_out_d_mem_0_source,
+  input         auto_coupler_to_aon_asource_out_d_mem_0_sink,
+  input         auto_coupler_to_aon_asource_out_d_mem_0_denied,
+  input  [31:0] auto_coupler_to_aon_asource_out_d_mem_0_data,
+  input         auto_coupler_to_aon_asource_out_d_mem_0_corrupt,
+  output        auto_coupler_to_aon_asource_out_d_ridx,
+  input         auto_coupler_to_aon_asource_out_d_widx,
+  output        auto_coupler_to_aon_asource_out_d_safe_ridx_valid,
+  input         auto_coupler_to_aon_asource_out_d_safe_widx_valid,
+  input         auto_coupler_to_aon_asource_out_d_safe_source_reset_n,
+  output        auto_coupler_to_aon_asource_out_d_safe_sink_reset_n,
+  input         auto_coupler_to_tile_tl_slave_clock_xing_out_a_ready,
+  output        auto_coupler_to_tile_tl_slave_clock_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_param,
+  output [2:0]  auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_size,
+  output [1:0]  auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_source,
+  output [27:0] auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_data,
+  output        auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_tile_tl_slave_clock_xing_out_d_ready,
+  input         auto_coupler_to_tile_tl_slave_clock_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_param,
+  input  [2:0]  auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_size,
+  input  [1:0]  auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_source,
+  input         auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_sink,
+  input         auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_denied,
+  input  [31:0] auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_data,
+  input         auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_corrupt,
+  input         auto_coupler_to_debug_fragmenter_out_a_ready,
+  output        auto_coupler_to_debug_fragmenter_out_a_valid,
+  output [2:0]  auto_coupler_to_debug_fragmenter_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_debug_fragmenter_out_a_bits_param,
+  output [1:0]  auto_coupler_to_debug_fragmenter_out_a_bits_size,
+  output [6:0]  auto_coupler_to_debug_fragmenter_out_a_bits_source,
+  output [11:0] auto_coupler_to_debug_fragmenter_out_a_bits_address,
+  output [3:0]  auto_coupler_to_debug_fragmenter_out_a_bits_mask,
+  output [31:0] auto_coupler_to_debug_fragmenter_out_a_bits_data,
+  output        auto_coupler_to_debug_fragmenter_out_a_bits_corrupt,
+  output        auto_coupler_to_debug_fragmenter_out_d_ready,
+  input         auto_coupler_to_debug_fragmenter_out_d_valid,
+  input  [2:0]  auto_coupler_to_debug_fragmenter_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_debug_fragmenter_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_debug_fragmenter_out_d_bits_source,
+  input  [31:0] auto_coupler_to_debug_fragmenter_out_d_bits_data,
+  input         auto_coupler_to_clint_fragmenter_out_a_ready,
+  output        auto_coupler_to_clint_fragmenter_out_a_valid,
+  output [2:0]  auto_coupler_to_clint_fragmenter_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_clint_fragmenter_out_a_bits_param,
+  output [1:0]  auto_coupler_to_clint_fragmenter_out_a_bits_size,
+  output [6:0]  auto_coupler_to_clint_fragmenter_out_a_bits_source,
+  output [25:0] auto_coupler_to_clint_fragmenter_out_a_bits_address,
+  output [3:0]  auto_coupler_to_clint_fragmenter_out_a_bits_mask,
+  output [31:0] auto_coupler_to_clint_fragmenter_out_a_bits_data,
+  output        auto_coupler_to_clint_fragmenter_out_a_bits_corrupt,
+  output        auto_coupler_to_clint_fragmenter_out_d_ready,
+  input         auto_coupler_to_clint_fragmenter_out_d_valid,
+  input  [2:0]  auto_coupler_to_clint_fragmenter_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_clint_fragmenter_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_clint_fragmenter_out_d_bits_source,
+  input  [31:0] auto_coupler_to_clint_fragmenter_out_d_bits_data,
+  input         auto_coupler_to_plic_fragmenter_out_a_ready,
+  output        auto_coupler_to_plic_fragmenter_out_a_valid,
+  output [2:0]  auto_coupler_to_plic_fragmenter_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_plic_fragmenter_out_a_bits_param,
+  output [1:0]  auto_coupler_to_plic_fragmenter_out_a_bits_size,
+  output [6:0]  auto_coupler_to_plic_fragmenter_out_a_bits_source,
+  output [27:0] auto_coupler_to_plic_fragmenter_out_a_bits_address,
+  output [3:0]  auto_coupler_to_plic_fragmenter_out_a_bits_mask,
+  output [31:0] auto_coupler_to_plic_fragmenter_out_a_bits_data,
+  output        auto_coupler_to_plic_fragmenter_out_a_bits_corrupt,
+  output        auto_coupler_to_plic_fragmenter_out_d_ready,
+  input         auto_coupler_to_plic_fragmenter_out_d_valid,
+  input  [2:0]  auto_coupler_to_plic_fragmenter_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_plic_fragmenter_out_d_bits_size,
+  input  [6:0]  auto_coupler_to_plic_fragmenter_out_d_bits_source,
+  input  [31:0] auto_coupler_to_plic_fragmenter_out_d_bits_data,
+  input         auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_ready,
+  output        auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_param,
+  output [2:0]  auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_size,
+  output [1:0]  auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_source,
+  output [29:0] auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_data,
+  output        auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_ready,
+  input         auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_opcode,
+  input  [1:0]  auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_param,
+  input  [2:0]  auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_size,
+  input  [1:0]  auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_source,
+  input         auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_sink,
+  input         auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_denied,
+  input  [31:0] auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_data,
+  input         auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_corrupt,
+  output        auto_fixedClockNode_out_2_clock,
+  output        auto_fixedClockNode_out_2_reset,
+  output        auto_fixedClockNode_out_0_clock,
+  output        auto_fixedClockNode_out_0_reset,
+  input         auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_1_clock,
+  input         auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_1_reset,
+  input         auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_0_clock,
+  input         auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_0_reset,
+  output        auto_subsystem_cbus_clock_groups_out_member_subsystem_pbus_0_clock,
+  output        auto_subsystem_cbus_clock_groups_out_member_subsystem_pbus_0_reset,
+  output        auto_bus_xing_in_a_ready,
+  input         auto_bus_xing_in_a_valid,
+  input  [2:0]  auto_bus_xing_in_a_bits_opcode,
+  input  [2:0]  auto_bus_xing_in_a_bits_param,
+  input  [3:0]  auto_bus_xing_in_a_bits_size,
+  input  [1:0]  auto_bus_xing_in_a_bits_source,
+  input  [29:0] auto_bus_xing_in_a_bits_address,
+  input  [3:0]  auto_bus_xing_in_a_bits_mask,
+  input  [31:0] auto_bus_xing_in_a_bits_data,
+  input         auto_bus_xing_in_a_bits_corrupt,
+  input         auto_bus_xing_in_d_ready,
+  output        auto_bus_xing_in_d_valid,
+  output [2:0]  auto_bus_xing_in_d_bits_opcode,
+  output [1:0]  auto_bus_xing_in_d_bits_param,
+  output [3:0]  auto_bus_xing_in_d_bits_size,
+  output [1:0]  auto_bus_xing_in_d_bits_source,
+  output        auto_bus_xing_in_d_bits_sink,
+  output        auto_bus_xing_in_d_bits_denied,
+  output [31:0] auto_bus_xing_in_d_bits_data,
+  output        auto_bus_xing_in_d_bits_corrupt,
+  output        clock,
+  output        reset
+);
+  wire  subsystem_cbus_clock_groups_auto_in_member_subsystem_cbus_1_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_cbus_clock_groups_auto_in_member_subsystem_cbus_1_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_cbus_clock_groups_auto_in_member_subsystem_cbus_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_cbus_clock_groups_auto_in_member_subsystem_cbus_0_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_cbus_clock_groups_auto_out_1_member_subsystem_pbus_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_cbus_clock_groups_auto_out_1_member_subsystem_pbus_0_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_cbus_clock_groups_auto_out_0_member_subsystem_cbus_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_cbus_clock_groups_auto_out_0_member_subsystem_cbus_0_reset; // @[BusWrapper.scala 40:48]
+  wire  clockGroup_auto_in_member_subsystem_cbus_0_clock; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_in_member_subsystem_cbus_0_reset; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_out_clock; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_out_reset; // @[BusWrapper.scala 41:38]
+  wire  fixedClockNode_auto_in_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_in_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_3_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_3_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_1_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_1_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_0_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_0_reset; // @[ClockGroup.scala 106:107]
+  wire  fixer_clock; // @[PeripheryBus.scala 47:33]
+  wire  fixer_reset; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_in_a_ready; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_in_a_valid; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_in_a_bits_opcode; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_in_a_bits_param; // @[PeripheryBus.scala 47:33]
+  wire [3:0] fixer_auto_in_a_bits_size; // @[PeripheryBus.scala 47:33]
+  wire [1:0] fixer_auto_in_a_bits_source; // @[PeripheryBus.scala 47:33]
+  wire [29:0] fixer_auto_in_a_bits_address; // @[PeripheryBus.scala 47:33]
+  wire [3:0] fixer_auto_in_a_bits_mask; // @[PeripheryBus.scala 47:33]
+  wire [31:0] fixer_auto_in_a_bits_data; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_in_d_ready; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_in_d_valid; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_in_d_bits_opcode; // @[PeripheryBus.scala 47:33]
+  wire [1:0] fixer_auto_in_d_bits_param; // @[PeripheryBus.scala 47:33]
+  wire [3:0] fixer_auto_in_d_bits_size; // @[PeripheryBus.scala 47:33]
+  wire [1:0] fixer_auto_in_d_bits_source; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_in_d_bits_sink; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_in_d_bits_denied; // @[PeripheryBus.scala 47:33]
+  wire [31:0] fixer_auto_in_d_bits_data; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_out_a_ready; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_out_a_valid; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_out_a_bits_opcode; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_out_a_bits_param; // @[PeripheryBus.scala 47:33]
+  wire [3:0] fixer_auto_out_a_bits_size; // @[PeripheryBus.scala 47:33]
+  wire [1:0] fixer_auto_out_a_bits_source; // @[PeripheryBus.scala 47:33]
+  wire [29:0] fixer_auto_out_a_bits_address; // @[PeripheryBus.scala 47:33]
+  wire [3:0] fixer_auto_out_a_bits_mask; // @[PeripheryBus.scala 47:33]
+  wire [31:0] fixer_auto_out_a_bits_data; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_out_a_bits_corrupt; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_out_d_ready; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_out_d_valid; // @[PeripheryBus.scala 47:33]
+  wire [2:0] fixer_auto_out_d_bits_opcode; // @[PeripheryBus.scala 47:33]
+  wire [1:0] fixer_auto_out_d_bits_param; // @[PeripheryBus.scala 47:33]
+  wire [3:0] fixer_auto_out_d_bits_size; // @[PeripheryBus.scala 47:33]
+  wire [1:0] fixer_auto_out_d_bits_source; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_out_d_bits_sink; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_out_d_bits_denied; // @[PeripheryBus.scala 47:33]
+  wire [31:0] fixer_auto_out_d_bits_data; // @[PeripheryBus.scala 47:33]
+  wire  fixer_auto_out_d_bits_corrupt; // @[PeripheryBus.scala 47:33]
+  wire  in_xbar_auto_in_a_ready; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_in_a_valid; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 49:29]
+  wire [3:0] in_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 49:29]
+  wire [1:0] in_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 49:29]
+  wire [29:0] in_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 49:29]
+  wire [3:0] in_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 49:29]
+  wire [31:0] in_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_in_d_ready; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_in_d_valid; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 49:29]
+  wire [1:0] in_xbar_auto_in_d_bits_param; // @[PeripheryBus.scala 49:29]
+  wire [3:0] in_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 49:29]
+  wire [1:0] in_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_in_d_bits_sink; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_in_d_bits_denied; // @[PeripheryBus.scala 49:29]
+  wire [31:0] in_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_a_ready; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_a_valid; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_out_a_bits_opcode; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_out_a_bits_param; // @[PeripheryBus.scala 49:29]
+  wire [3:0] in_xbar_auto_out_a_bits_size; // @[PeripheryBus.scala 49:29]
+  wire [1:0] in_xbar_auto_out_a_bits_source; // @[PeripheryBus.scala 49:29]
+  wire [29:0] in_xbar_auto_out_a_bits_address; // @[PeripheryBus.scala 49:29]
+  wire [3:0] in_xbar_auto_out_a_bits_mask; // @[PeripheryBus.scala 49:29]
+  wire [31:0] in_xbar_auto_out_a_bits_data; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_a_bits_corrupt; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_d_ready; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_d_valid; // @[PeripheryBus.scala 49:29]
+  wire [2:0] in_xbar_auto_out_d_bits_opcode; // @[PeripheryBus.scala 49:29]
+  wire [1:0] in_xbar_auto_out_d_bits_param; // @[PeripheryBus.scala 49:29]
+  wire [3:0] in_xbar_auto_out_d_bits_size; // @[PeripheryBus.scala 49:29]
+  wire [1:0] in_xbar_auto_out_d_bits_source; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_d_bits_sink; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_d_bits_denied; // @[PeripheryBus.scala 49:29]
+  wire [31:0] in_xbar_auto_out_d_bits_data; // @[PeripheryBus.scala 49:29]
+  wire  in_xbar_auto_out_d_bits_corrupt; // @[PeripheryBus.scala 49:29]
+  wire  out_xbar_clock; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_reset; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_in_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_in_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [29:0] out_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_in_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_in_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_in_d_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_in_d_bits_sink; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_in_d_bits_denied; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_7_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_7_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_7_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_7_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_7_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_7_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [16:0] out_xbar_auto_out_7_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_7_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_7_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_7_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_7_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_7_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_7_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_7_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_6_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_6_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_6_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_6_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_6_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_6_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [28:0] out_xbar_auto_out_6_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_6_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_6_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_6_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_6_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_6_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_6_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_6_d_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_6_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_6_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_6_d_bits_sink; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_6_d_bits_denied; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_6_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_6_d_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_5_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_5_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_5_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_5_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_5_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_5_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [27:0] out_xbar_auto_out_5_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_5_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_5_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_5_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_5_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_5_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_5_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_5_d_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_5_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_5_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_5_d_bits_sink; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_5_d_bits_denied; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_5_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_5_d_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_4_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_4_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_4_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_4_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_4_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_4_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [11:0] out_xbar_auto_out_4_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_4_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_4_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_4_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_4_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_4_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_4_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_4_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_4_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_4_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_3_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_3_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_3_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_3_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_3_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_3_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [25:0] out_xbar_auto_out_3_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_3_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_3_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_3_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_3_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_3_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_3_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_3_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_3_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_3_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_2_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_2_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_2_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_2_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_2_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_2_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [27:0] out_xbar_auto_out_2_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_2_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_2_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_2_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_2_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_2_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_2_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_2_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_2_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_2_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_1_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_1_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_1_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_1_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_1_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_1_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [29:0] out_xbar_auto_out_1_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_1_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_1_a_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_1_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_1_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_1_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_1_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_1_d_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_1_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_1_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_1_d_bits_sink; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_1_d_bits_denied; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_1_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_1_d_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_0_a_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_0_a_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_0_a_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_0_a_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_0_a_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_0_a_bits_source; // @[PeripheryBus.scala 50:30]
+  wire [13:0] out_xbar_auto_out_0_a_bits_address; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_0_a_bits_mask; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_0_a_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_0_d_ready; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_0_d_valid; // @[PeripheryBus.scala 50:30]
+  wire [2:0] out_xbar_auto_out_0_d_bits_opcode; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_0_d_bits_param; // @[PeripheryBus.scala 50:30]
+  wire [3:0] out_xbar_auto_out_0_d_bits_size; // @[PeripheryBus.scala 50:30]
+  wire [1:0] out_xbar_auto_out_0_d_bits_source; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_0_d_bits_sink; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_0_d_bits_denied; // @[PeripheryBus.scala 50:30]
+  wire [31:0] out_xbar_auto_out_0_d_bits_data; // @[PeripheryBus.scala 50:30]
+  wire  out_xbar_auto_out_0_d_bits_corrupt; // @[PeripheryBus.scala 50:30]
+  wire  buffer_clock; // @[Buffer.scala 68:28]
+  wire  buffer_reset; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [29:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [29:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  atomics_clock; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_reset; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_a_ready; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_a_valid; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_in_a_bits_opcode; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_in_a_bits_param; // @[AtomicAutomata.scala 283:29]
+  wire [3:0] atomics_auto_in_a_bits_size; // @[AtomicAutomata.scala 283:29]
+  wire [1:0] atomics_auto_in_a_bits_source; // @[AtomicAutomata.scala 283:29]
+  wire [29:0] atomics_auto_in_a_bits_address; // @[AtomicAutomata.scala 283:29]
+  wire [3:0] atomics_auto_in_a_bits_mask; // @[AtomicAutomata.scala 283:29]
+  wire [31:0] atomics_auto_in_a_bits_data; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_a_bits_corrupt; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_d_ready; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_d_valid; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_in_d_bits_opcode; // @[AtomicAutomata.scala 283:29]
+  wire [1:0] atomics_auto_in_d_bits_param; // @[AtomicAutomata.scala 283:29]
+  wire [3:0] atomics_auto_in_d_bits_size; // @[AtomicAutomata.scala 283:29]
+  wire [1:0] atomics_auto_in_d_bits_source; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_d_bits_sink; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_d_bits_denied; // @[AtomicAutomata.scala 283:29]
+  wire [31:0] atomics_auto_in_d_bits_data; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_in_d_bits_corrupt; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_a_ready; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_a_valid; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_out_a_bits_opcode; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_out_a_bits_param; // @[AtomicAutomata.scala 283:29]
+  wire [3:0] atomics_auto_out_a_bits_size; // @[AtomicAutomata.scala 283:29]
+  wire [1:0] atomics_auto_out_a_bits_source; // @[AtomicAutomata.scala 283:29]
+  wire [29:0] atomics_auto_out_a_bits_address; // @[AtomicAutomata.scala 283:29]
+  wire [3:0] atomics_auto_out_a_bits_mask; // @[AtomicAutomata.scala 283:29]
+  wire [31:0] atomics_auto_out_a_bits_data; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_a_bits_corrupt; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_d_ready; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_d_valid; // @[AtomicAutomata.scala 283:29]
+  wire [2:0] atomics_auto_out_d_bits_opcode; // @[AtomicAutomata.scala 283:29]
+  wire [1:0] atomics_auto_out_d_bits_param; // @[AtomicAutomata.scala 283:29]
+  wire [3:0] atomics_auto_out_d_bits_size; // @[AtomicAutomata.scala 283:29]
+  wire [1:0] atomics_auto_out_d_bits_source; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_d_bits_sink; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_d_bits_denied; // @[AtomicAutomata.scala 283:29]
+  wire [31:0] atomics_auto_out_d_bits_data; // @[AtomicAutomata.scala 283:29]
+  wire  atomics_auto_out_d_bits_corrupt; // @[AtomicAutomata.scala 283:29]
+  wire  wrapped_error_device_clock; // @[LazyModule.scala 432:27]
+  wire  wrapped_error_device_reset; // @[LazyModule.scala 432:27]
+  wire  wrapped_error_device_auto_buffer_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  wrapped_error_device_auto_buffer_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] wrapped_error_device_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] wrapped_error_device_auto_buffer_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [3:0] wrapped_error_device_auto_buffer_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] wrapped_error_device_auto_buffer_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [13:0] wrapped_error_device_auto_buffer_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] wrapped_error_device_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire  wrapped_error_device_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  wrapped_error_device_auto_buffer_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  wrapped_error_device_auto_buffer_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] wrapped_error_device_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] wrapped_error_device_auto_buffer_in_d_bits_param; // @[LazyModule.scala 432:27]
+  wire [3:0] wrapped_error_device_auto_buffer_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] wrapped_error_device_auto_buffer_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire  wrapped_error_device_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 432:27]
+  wire  wrapped_error_device_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 432:27]
+  wire [31:0] wrapped_error_device_auto_buffer_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  wrapped_error_device_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [29:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_1_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_in_d_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_bits_denied; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [29:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_1_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_out_d_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_bits_denied; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [29:0] coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_sink; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_denied; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [29:0] coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_sink; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_denied; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_plic_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_plic_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_plic_auto_fragmenter_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_plic_auto_fragmenter_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_plic_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_plic_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_plic_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_plic_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [27:0] coupler_to_plic_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_plic_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_plic_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_plic_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_plic_auto_fragmenter_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_plic_auto_fragmenter_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_plic_auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_plic_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_plic_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_plic_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_plic_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_plic_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_plic_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_plic_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_plic_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_plic_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [27:0] coupler_to_plic_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_plic_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_plic_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_plic_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_plic_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_plic_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_plic_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_plic_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_plic_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_plic_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_clint_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_clint_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_clint_auto_fragmenter_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_clint_auto_fragmenter_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_clint_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_clint_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_clint_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_clint_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [25:0] coupler_to_clint_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_clint_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_clint_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_clint_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_clint_auto_fragmenter_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_clint_auto_fragmenter_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_clint_auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_clint_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_clint_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_clint_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_clint_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_clint_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_clint_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_clint_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_clint_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_clint_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [25:0] coupler_to_clint_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_clint_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_clint_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_clint_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_clint_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_clint_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_clint_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_clint_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_clint_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_clint_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_debug_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_debug_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_debug_auto_fragmenter_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_debug_auto_fragmenter_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_debug_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_debug_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_debug_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_debug_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [11:0] coupler_to_debug_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_debug_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_debug_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_debug_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_debug_auto_fragmenter_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_debug_auto_fragmenter_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_debug_auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_debug_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_debug_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_debug_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_debug_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_debug_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_debug_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_debug_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_debug_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_debug_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [11:0] coupler_to_debug_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_debug_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_debug_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_debug_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_debug_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_debug_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_debug_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_debug_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_debug_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_debug_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_slave_clock_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_slave_clock_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [27:0] coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_slave_clock_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_slave_clock_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_sink; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_denied; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_tile_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_tile_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_tile_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_tile_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [27:0] coupler_to_tile_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_tile_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_tile_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_tile_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_tile_auto_tl_in_d_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_tile_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_tile_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_in_d_bits_sink; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_in_d_bits_denied; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_tile_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_tile_auto_tl_in_d_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_reset; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_aon_auto_asource_out_a_mem_0_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_aon_auto_asource_out_a_mem_0_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_aon_auto_asource_out_a_mem_0_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_aon_auto_asource_out_a_mem_0_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_aon_auto_asource_out_a_mem_0_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_aon_auto_asource_out_a_mem_0_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_aon_auto_asource_out_a_mem_0_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_a_mem_0_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_a_ridx; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_a_widx; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_a_safe_widx_valid; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_a_safe_source_reset_n; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_a_safe_sink_reset_n; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_aon_auto_asource_out_d_mem_0_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_aon_auto_asource_out_d_mem_0_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_aon_auto_asource_out_d_mem_0_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_aon_auto_asource_out_d_mem_0_source; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_d_mem_0_sink; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_d_mem_0_denied; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_aon_auto_asource_out_d_mem_0_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_d_mem_0_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_d_ridx; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_d_widx; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_d_safe_ridx_valid; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_d_safe_widx_valid; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_d_safe_source_reset_n; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_asource_out_d_safe_sink_reset_n; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_aon_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_aon_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_aon_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_aon_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [28:0] coupler_to_aon_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_aon_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_aon_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_aon_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_aon_auto_tl_in_d_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_aon_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_aon_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_tl_in_d_bits_sink; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_tl_in_d_bits_denied; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_aon_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_aon_auto_tl_in_d_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bootrom_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bootrom_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bootrom_auto_fragmenter_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bootrom_auto_fragmenter_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bootrom_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bootrom_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bootrom_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_bootrom_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [16:0] coupler_to_bootrom_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bootrom_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bootrom_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bootrom_auto_fragmenter_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bootrom_auto_fragmenter_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bootrom_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [6:0] coupler_to_bootrom_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bootrom_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bootrom_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bootrom_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bootrom_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bootrom_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bootrom_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bootrom_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [16:0] coupler_to_bootrom_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bootrom_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bootrom_auto_tl_in_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bootrom_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bootrom_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bootrom_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [1:0] coupler_to_bootrom_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bootrom_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  ClockGroupAggregator_3 subsystem_cbus_clock_groups ( // @[BusWrapper.scala 40:48]
+    .auto_in_member_subsystem_cbus_1_clock(subsystem_cbus_clock_groups_auto_in_member_subsystem_cbus_1_clock),
+    .auto_in_member_subsystem_cbus_1_reset(subsystem_cbus_clock_groups_auto_in_member_subsystem_cbus_1_reset),
+    .auto_in_member_subsystem_cbus_0_clock(subsystem_cbus_clock_groups_auto_in_member_subsystem_cbus_0_clock),
+    .auto_in_member_subsystem_cbus_0_reset(subsystem_cbus_clock_groups_auto_in_member_subsystem_cbus_0_reset),
+    .auto_out_1_member_subsystem_pbus_0_clock(subsystem_cbus_clock_groups_auto_out_1_member_subsystem_pbus_0_clock),
+    .auto_out_1_member_subsystem_pbus_0_reset(subsystem_cbus_clock_groups_auto_out_1_member_subsystem_pbus_0_reset),
+    .auto_out_0_member_subsystem_cbus_0_clock(subsystem_cbus_clock_groups_auto_out_0_member_subsystem_cbus_0_clock),
+    .auto_out_0_member_subsystem_cbus_0_reset(subsystem_cbus_clock_groups_auto_out_0_member_subsystem_cbus_0_reset)
+  );
+  ClockGroup_3 clockGroup ( // @[BusWrapper.scala 41:38]
+    .auto_in_member_subsystem_cbus_0_clock(clockGroup_auto_in_member_subsystem_cbus_0_clock),
+    .auto_in_member_subsystem_cbus_0_reset(clockGroup_auto_in_member_subsystem_cbus_0_reset),
+    .auto_out_clock(clockGroup_auto_out_clock),
+    .auto_out_reset(clockGroup_auto_out_reset)
+  );
+  FixedClockBroadcast_3 fixedClockNode ( // @[ClockGroup.scala 106:107]
+    .auto_in_clock(fixedClockNode_auto_in_clock),
+    .auto_in_reset(fixedClockNode_auto_in_reset),
+    .auto_out_3_clock(fixedClockNode_auto_out_3_clock),
+    .auto_out_3_reset(fixedClockNode_auto_out_3_reset),
+    .auto_out_1_clock(fixedClockNode_auto_out_1_clock),
+    .auto_out_1_reset(fixedClockNode_auto_out_1_reset),
+    .auto_out_0_clock(fixedClockNode_auto_out_0_clock),
+    .auto_out_0_reset(fixedClockNode_auto_out_0_reset)
+  );
+  TLFIFOFixer_2 fixer ( // @[PeripheryBus.scala 47:33]
+    .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)
+  );
+  TLXbar_4 in_xbar ( // @[PeripheryBus.scala 49:29]
+    .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_5 out_xbar ( // @[PeripheryBus.scala 50:30]
+    .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_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_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_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_param(out_xbar_auto_out_5_d_bits_param),
+    .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_sink(out_xbar_auto_out_5_d_bits_sink),
+    .auto_out_5_d_bits_denied(out_xbar_auto_out_5_d_bits_denied),
+    .auto_out_5_d_bits_data(out_xbar_auto_out_5_d_bits_data),
+    .auto_out_5_d_bits_corrupt(out_xbar_auto_out_5_d_bits_corrupt),
+    .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_param(out_xbar_auto_out_1_d_bits_param),
+    .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_sink(out_xbar_auto_out_1_d_bits_sink),
+    .auto_out_1_d_bits_denied(out_xbar_auto_out_1_d_bits_denied),
+    .auto_out_1_d_bits_data(out_xbar_auto_out_1_d_bits_data),
+    .auto_out_1_d_bits_corrupt(out_xbar_auto_out_1_d_bits_corrupt),
+    .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_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_4 buffer ( // @[Buffer.scala 68:28]
+    .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 283:29]
+    .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)
+  );
+  ErrorDeviceWrapper wrapped_error_device ( // @[LazyModule.scala 432:27]
+    .clock(wrapped_error_device_clock),
+    .reset(wrapped_error_device_reset),
+    .auto_buffer_in_a_ready(wrapped_error_device_auto_buffer_in_a_ready),
+    .auto_buffer_in_a_valid(wrapped_error_device_auto_buffer_in_a_valid),
+    .auto_buffer_in_a_bits_opcode(wrapped_error_device_auto_buffer_in_a_bits_opcode),
+    .auto_buffer_in_a_bits_param(wrapped_error_device_auto_buffer_in_a_bits_param),
+    .auto_buffer_in_a_bits_size(wrapped_error_device_auto_buffer_in_a_bits_size),
+    .auto_buffer_in_a_bits_source(wrapped_error_device_auto_buffer_in_a_bits_source),
+    .auto_buffer_in_a_bits_address(wrapped_error_device_auto_buffer_in_a_bits_address),
+    .auto_buffer_in_a_bits_mask(wrapped_error_device_auto_buffer_in_a_bits_mask),
+    .auto_buffer_in_a_bits_corrupt(wrapped_error_device_auto_buffer_in_a_bits_corrupt),
+    .auto_buffer_in_d_ready(wrapped_error_device_auto_buffer_in_d_ready),
+    .auto_buffer_in_d_valid(wrapped_error_device_auto_buffer_in_d_valid),
+    .auto_buffer_in_d_bits_opcode(wrapped_error_device_auto_buffer_in_d_bits_opcode),
+    .auto_buffer_in_d_bits_param(wrapped_error_device_auto_buffer_in_d_bits_param),
+    .auto_buffer_in_d_bits_size(wrapped_error_device_auto_buffer_in_d_bits_size),
+    .auto_buffer_in_d_bits_source(wrapped_error_device_auto_buffer_in_d_bits_source),
+    .auto_buffer_in_d_bits_sink(wrapped_error_device_auto_buffer_in_d_bits_sink),
+    .auto_buffer_in_d_bits_denied(wrapped_error_device_auto_buffer_in_d_bits_denied),
+    .auto_buffer_in_d_bits_data(wrapped_error_device_auto_buffer_in_d_bits_data),
+    .auto_buffer_in_d_bits_corrupt(wrapped_error_device_auto_buffer_in_d_bits_corrupt)
+  );
+  TLBuffer_6 buffer_1 ( // @[Buffer.scala 68:28]
+    .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)
+  );
+  TLInterconnectCoupler_19 coupler_to_bus_named_subsystem_pbus ( // @[LazyModule.scala 432:27]
+    .auto_widget_in_a_ready(coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_ready),
+    .auto_widget_in_a_valid(coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_valid),
+    .auto_widget_in_a_bits_opcode(coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_opcode),
+    .auto_widget_in_a_bits_param(coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_param),
+    .auto_widget_in_a_bits_size(coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_size),
+    .auto_widget_in_a_bits_source(coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_source),
+    .auto_widget_in_a_bits_address(coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_address),
+    .auto_widget_in_a_bits_mask(coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_mask),
+    .auto_widget_in_a_bits_data(coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_data),
+    .auto_widget_in_a_bits_corrupt(coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_corrupt),
+    .auto_widget_in_d_ready(coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_ready),
+    .auto_widget_in_d_valid(coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_valid),
+    .auto_widget_in_d_bits_opcode(coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_opcode),
+    .auto_widget_in_d_bits_param(coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_param),
+    .auto_widget_in_d_bits_size(coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_size),
+    .auto_widget_in_d_bits_source(coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_source),
+    .auto_widget_in_d_bits_sink(coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_sink),
+    .auto_widget_in_d_bits_denied(coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_denied),
+    .auto_widget_in_d_bits_data(coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_data),
+    .auto_widget_in_d_bits_corrupt(coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_corrupt),
+    .auto_bus_xing_out_a_ready(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_ready),
+    .auto_bus_xing_out_a_valid(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_valid),
+    .auto_bus_xing_out_a_bits_opcode(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_opcode),
+    .auto_bus_xing_out_a_bits_param(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_param),
+    .auto_bus_xing_out_a_bits_size(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_size),
+    .auto_bus_xing_out_a_bits_source(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_source),
+    .auto_bus_xing_out_a_bits_address(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_address),
+    .auto_bus_xing_out_a_bits_mask(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_mask),
+    .auto_bus_xing_out_a_bits_data(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_data),
+    .auto_bus_xing_out_a_bits_corrupt(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_corrupt),
+    .auto_bus_xing_out_d_ready(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_ready),
+    .auto_bus_xing_out_d_valid(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_valid),
+    .auto_bus_xing_out_d_bits_opcode(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_opcode),
+    .auto_bus_xing_out_d_bits_param(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_param),
+    .auto_bus_xing_out_d_bits_size(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_size),
+    .auto_bus_xing_out_d_bits_source(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_source),
+    .auto_bus_xing_out_d_bits_sink(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_sink),
+    .auto_bus_xing_out_d_bits_denied(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_denied),
+    .auto_bus_xing_out_d_bits_data(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_data),
+    .auto_bus_xing_out_d_bits_corrupt(coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_corrupt)
+  );
+  TLInterconnectCoupler_20 coupler_to_plic ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_plic_clock),
+    .reset(coupler_to_plic_reset),
+    .auto_fragmenter_out_a_ready(coupler_to_plic_auto_fragmenter_out_a_ready),
+    .auto_fragmenter_out_a_valid(coupler_to_plic_auto_fragmenter_out_a_valid),
+    .auto_fragmenter_out_a_bits_opcode(coupler_to_plic_auto_fragmenter_out_a_bits_opcode),
+    .auto_fragmenter_out_a_bits_param(coupler_to_plic_auto_fragmenter_out_a_bits_param),
+    .auto_fragmenter_out_a_bits_size(coupler_to_plic_auto_fragmenter_out_a_bits_size),
+    .auto_fragmenter_out_a_bits_source(coupler_to_plic_auto_fragmenter_out_a_bits_source),
+    .auto_fragmenter_out_a_bits_address(coupler_to_plic_auto_fragmenter_out_a_bits_address),
+    .auto_fragmenter_out_a_bits_mask(coupler_to_plic_auto_fragmenter_out_a_bits_mask),
+    .auto_fragmenter_out_a_bits_data(coupler_to_plic_auto_fragmenter_out_a_bits_data),
+    .auto_fragmenter_out_a_bits_corrupt(coupler_to_plic_auto_fragmenter_out_a_bits_corrupt),
+    .auto_fragmenter_out_d_ready(coupler_to_plic_auto_fragmenter_out_d_ready),
+    .auto_fragmenter_out_d_valid(coupler_to_plic_auto_fragmenter_out_d_valid),
+    .auto_fragmenter_out_d_bits_opcode(coupler_to_plic_auto_fragmenter_out_d_bits_opcode),
+    .auto_fragmenter_out_d_bits_size(coupler_to_plic_auto_fragmenter_out_d_bits_size),
+    .auto_fragmenter_out_d_bits_source(coupler_to_plic_auto_fragmenter_out_d_bits_source),
+    .auto_fragmenter_out_d_bits_data(coupler_to_plic_auto_fragmenter_out_d_bits_data),
+    .auto_tl_in_a_ready(coupler_to_plic_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_plic_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_plic_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_plic_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_plic_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_plic_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_plic_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_plic_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_plic_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_plic_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_plic_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_plic_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_plic_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_plic_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_plic_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_plic_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_21 coupler_to_clint ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_clint_clock),
+    .reset(coupler_to_clint_reset),
+    .auto_fragmenter_out_a_ready(coupler_to_clint_auto_fragmenter_out_a_ready),
+    .auto_fragmenter_out_a_valid(coupler_to_clint_auto_fragmenter_out_a_valid),
+    .auto_fragmenter_out_a_bits_opcode(coupler_to_clint_auto_fragmenter_out_a_bits_opcode),
+    .auto_fragmenter_out_a_bits_param(coupler_to_clint_auto_fragmenter_out_a_bits_param),
+    .auto_fragmenter_out_a_bits_size(coupler_to_clint_auto_fragmenter_out_a_bits_size),
+    .auto_fragmenter_out_a_bits_source(coupler_to_clint_auto_fragmenter_out_a_bits_source),
+    .auto_fragmenter_out_a_bits_address(coupler_to_clint_auto_fragmenter_out_a_bits_address),
+    .auto_fragmenter_out_a_bits_mask(coupler_to_clint_auto_fragmenter_out_a_bits_mask),
+    .auto_fragmenter_out_a_bits_data(coupler_to_clint_auto_fragmenter_out_a_bits_data),
+    .auto_fragmenter_out_a_bits_corrupt(coupler_to_clint_auto_fragmenter_out_a_bits_corrupt),
+    .auto_fragmenter_out_d_ready(coupler_to_clint_auto_fragmenter_out_d_ready),
+    .auto_fragmenter_out_d_valid(coupler_to_clint_auto_fragmenter_out_d_valid),
+    .auto_fragmenter_out_d_bits_opcode(coupler_to_clint_auto_fragmenter_out_d_bits_opcode),
+    .auto_fragmenter_out_d_bits_size(coupler_to_clint_auto_fragmenter_out_d_bits_size),
+    .auto_fragmenter_out_d_bits_source(coupler_to_clint_auto_fragmenter_out_d_bits_source),
+    .auto_fragmenter_out_d_bits_data(coupler_to_clint_auto_fragmenter_out_d_bits_data),
+    .auto_tl_in_a_ready(coupler_to_clint_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_clint_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_clint_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_clint_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_clint_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_clint_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_clint_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_clint_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_clint_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_clint_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_clint_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_clint_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_clint_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_clint_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_clint_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_clint_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_22 coupler_to_debug ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_debug_clock),
+    .reset(coupler_to_debug_reset),
+    .auto_fragmenter_out_a_ready(coupler_to_debug_auto_fragmenter_out_a_ready),
+    .auto_fragmenter_out_a_valid(coupler_to_debug_auto_fragmenter_out_a_valid),
+    .auto_fragmenter_out_a_bits_opcode(coupler_to_debug_auto_fragmenter_out_a_bits_opcode),
+    .auto_fragmenter_out_a_bits_param(coupler_to_debug_auto_fragmenter_out_a_bits_param),
+    .auto_fragmenter_out_a_bits_size(coupler_to_debug_auto_fragmenter_out_a_bits_size),
+    .auto_fragmenter_out_a_bits_source(coupler_to_debug_auto_fragmenter_out_a_bits_source),
+    .auto_fragmenter_out_a_bits_address(coupler_to_debug_auto_fragmenter_out_a_bits_address),
+    .auto_fragmenter_out_a_bits_mask(coupler_to_debug_auto_fragmenter_out_a_bits_mask),
+    .auto_fragmenter_out_a_bits_data(coupler_to_debug_auto_fragmenter_out_a_bits_data),
+    .auto_fragmenter_out_a_bits_corrupt(coupler_to_debug_auto_fragmenter_out_a_bits_corrupt),
+    .auto_fragmenter_out_d_ready(coupler_to_debug_auto_fragmenter_out_d_ready),
+    .auto_fragmenter_out_d_valid(coupler_to_debug_auto_fragmenter_out_d_valid),
+    .auto_fragmenter_out_d_bits_opcode(coupler_to_debug_auto_fragmenter_out_d_bits_opcode),
+    .auto_fragmenter_out_d_bits_size(coupler_to_debug_auto_fragmenter_out_d_bits_size),
+    .auto_fragmenter_out_d_bits_source(coupler_to_debug_auto_fragmenter_out_d_bits_source),
+    .auto_fragmenter_out_d_bits_data(coupler_to_debug_auto_fragmenter_out_d_bits_data),
+    .auto_tl_in_a_ready(coupler_to_debug_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_debug_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_debug_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_debug_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_debug_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_debug_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_debug_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_debug_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_debug_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_debug_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_debug_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_debug_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_debug_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_debug_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_debug_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_debug_auto_tl_in_d_bits_data)
+  );
+  TLInterconnectCoupler_23 coupler_to_tile ( // @[LazyModule.scala 432:27]
+    .auto_tl_slave_clock_xing_out_a_ready(coupler_to_tile_auto_tl_slave_clock_xing_out_a_ready),
+    .auto_tl_slave_clock_xing_out_a_valid(coupler_to_tile_auto_tl_slave_clock_xing_out_a_valid),
+    .auto_tl_slave_clock_xing_out_a_bits_opcode(coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_opcode),
+    .auto_tl_slave_clock_xing_out_a_bits_param(coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_param),
+    .auto_tl_slave_clock_xing_out_a_bits_size(coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_size),
+    .auto_tl_slave_clock_xing_out_a_bits_source(coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_source),
+    .auto_tl_slave_clock_xing_out_a_bits_address(coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_address),
+    .auto_tl_slave_clock_xing_out_a_bits_mask(coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_mask),
+    .auto_tl_slave_clock_xing_out_a_bits_data(coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_data),
+    .auto_tl_slave_clock_xing_out_a_bits_corrupt(coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_corrupt),
+    .auto_tl_slave_clock_xing_out_d_ready(coupler_to_tile_auto_tl_slave_clock_xing_out_d_ready),
+    .auto_tl_slave_clock_xing_out_d_valid(coupler_to_tile_auto_tl_slave_clock_xing_out_d_valid),
+    .auto_tl_slave_clock_xing_out_d_bits_opcode(coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_opcode),
+    .auto_tl_slave_clock_xing_out_d_bits_param(coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_param),
+    .auto_tl_slave_clock_xing_out_d_bits_size(coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_size),
+    .auto_tl_slave_clock_xing_out_d_bits_source(coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_source),
+    .auto_tl_slave_clock_xing_out_d_bits_sink(coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_sink),
+    .auto_tl_slave_clock_xing_out_d_bits_denied(coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_denied),
+    .auto_tl_slave_clock_xing_out_d_bits_data(coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_data),
+    .auto_tl_slave_clock_xing_out_d_bits_corrupt(coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_corrupt),
+    .auto_tl_in_a_ready(coupler_to_tile_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_tile_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_tile_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_tile_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_tile_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_tile_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_tile_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_tile_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_tile_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_tile_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_tile_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_tile_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_tile_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_param(coupler_to_tile_auto_tl_in_d_bits_param),
+    .auto_tl_in_d_bits_size(coupler_to_tile_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_tile_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_sink(coupler_to_tile_auto_tl_in_d_bits_sink),
+    .auto_tl_in_d_bits_denied(coupler_to_tile_auto_tl_in_d_bits_denied),
+    .auto_tl_in_d_bits_data(coupler_to_tile_auto_tl_in_d_bits_data),
+    .auto_tl_in_d_bits_corrupt(coupler_to_tile_auto_tl_in_d_bits_corrupt)
+  );
+  TLInterconnectCoupler_24 coupler_to_aon ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_aon_clock),
+    .reset(coupler_to_aon_reset),
+    .auto_asource_out_a_mem_0_opcode(coupler_to_aon_auto_asource_out_a_mem_0_opcode),
+    .auto_asource_out_a_mem_0_param(coupler_to_aon_auto_asource_out_a_mem_0_param),
+    .auto_asource_out_a_mem_0_size(coupler_to_aon_auto_asource_out_a_mem_0_size),
+    .auto_asource_out_a_mem_0_source(coupler_to_aon_auto_asource_out_a_mem_0_source),
+    .auto_asource_out_a_mem_0_address(coupler_to_aon_auto_asource_out_a_mem_0_address),
+    .auto_asource_out_a_mem_0_mask(coupler_to_aon_auto_asource_out_a_mem_0_mask),
+    .auto_asource_out_a_mem_0_data(coupler_to_aon_auto_asource_out_a_mem_0_data),
+    .auto_asource_out_a_mem_0_corrupt(coupler_to_aon_auto_asource_out_a_mem_0_corrupt),
+    .auto_asource_out_a_ridx(coupler_to_aon_auto_asource_out_a_ridx),
+    .auto_asource_out_a_widx(coupler_to_aon_auto_asource_out_a_widx),
+    .auto_asource_out_a_safe_ridx_valid(coupler_to_aon_auto_asource_out_a_safe_ridx_valid),
+    .auto_asource_out_a_safe_widx_valid(coupler_to_aon_auto_asource_out_a_safe_widx_valid),
+    .auto_asource_out_a_safe_source_reset_n(coupler_to_aon_auto_asource_out_a_safe_source_reset_n),
+    .auto_asource_out_a_safe_sink_reset_n(coupler_to_aon_auto_asource_out_a_safe_sink_reset_n),
+    .auto_asource_out_d_mem_0_opcode(coupler_to_aon_auto_asource_out_d_mem_0_opcode),
+    .auto_asource_out_d_mem_0_param(coupler_to_aon_auto_asource_out_d_mem_0_param),
+    .auto_asource_out_d_mem_0_size(coupler_to_aon_auto_asource_out_d_mem_0_size),
+    .auto_asource_out_d_mem_0_source(coupler_to_aon_auto_asource_out_d_mem_0_source),
+    .auto_asource_out_d_mem_0_sink(coupler_to_aon_auto_asource_out_d_mem_0_sink),
+    .auto_asource_out_d_mem_0_denied(coupler_to_aon_auto_asource_out_d_mem_0_denied),
+    .auto_asource_out_d_mem_0_data(coupler_to_aon_auto_asource_out_d_mem_0_data),
+    .auto_asource_out_d_mem_0_corrupt(coupler_to_aon_auto_asource_out_d_mem_0_corrupt),
+    .auto_asource_out_d_ridx(coupler_to_aon_auto_asource_out_d_ridx),
+    .auto_asource_out_d_widx(coupler_to_aon_auto_asource_out_d_widx),
+    .auto_asource_out_d_safe_ridx_valid(coupler_to_aon_auto_asource_out_d_safe_ridx_valid),
+    .auto_asource_out_d_safe_widx_valid(coupler_to_aon_auto_asource_out_d_safe_widx_valid),
+    .auto_asource_out_d_safe_source_reset_n(coupler_to_aon_auto_asource_out_d_safe_source_reset_n),
+    .auto_asource_out_d_safe_sink_reset_n(coupler_to_aon_auto_asource_out_d_safe_sink_reset_n),
+    .auto_tl_in_a_ready(coupler_to_aon_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_aon_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_aon_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_aon_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_aon_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_aon_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_aon_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_aon_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_aon_auto_tl_in_a_bits_data),
+    .auto_tl_in_a_bits_corrupt(coupler_to_aon_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_aon_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_aon_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_aon_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_param(coupler_to_aon_auto_tl_in_d_bits_param),
+    .auto_tl_in_d_bits_size(coupler_to_aon_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_aon_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_sink(coupler_to_aon_auto_tl_in_d_bits_sink),
+    .auto_tl_in_d_bits_denied(coupler_to_aon_auto_tl_in_d_bits_denied),
+    .auto_tl_in_d_bits_data(coupler_to_aon_auto_tl_in_d_bits_data),
+    .auto_tl_in_d_bits_corrupt(coupler_to_aon_auto_tl_in_d_bits_corrupt)
+  );
+  TLInterconnectCoupler_25 coupler_to_bootrom ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_bootrom_clock),
+    .reset(coupler_to_bootrom_reset),
+    .auto_fragmenter_out_a_ready(coupler_to_bootrom_auto_fragmenter_out_a_ready),
+    .auto_fragmenter_out_a_valid(coupler_to_bootrom_auto_fragmenter_out_a_valid),
+    .auto_fragmenter_out_a_bits_opcode(coupler_to_bootrom_auto_fragmenter_out_a_bits_opcode),
+    .auto_fragmenter_out_a_bits_param(coupler_to_bootrom_auto_fragmenter_out_a_bits_param),
+    .auto_fragmenter_out_a_bits_size(coupler_to_bootrom_auto_fragmenter_out_a_bits_size),
+    .auto_fragmenter_out_a_bits_source(coupler_to_bootrom_auto_fragmenter_out_a_bits_source),
+    .auto_fragmenter_out_a_bits_address(coupler_to_bootrom_auto_fragmenter_out_a_bits_address),
+    .auto_fragmenter_out_a_bits_mask(coupler_to_bootrom_auto_fragmenter_out_a_bits_mask),
+    .auto_fragmenter_out_a_bits_corrupt(coupler_to_bootrom_auto_fragmenter_out_a_bits_corrupt),
+    .auto_fragmenter_out_d_ready(coupler_to_bootrom_auto_fragmenter_out_d_ready),
+    .auto_fragmenter_out_d_valid(coupler_to_bootrom_auto_fragmenter_out_d_valid),
+    .auto_fragmenter_out_d_bits_size(coupler_to_bootrom_auto_fragmenter_out_d_bits_size),
+    .auto_fragmenter_out_d_bits_source(coupler_to_bootrom_auto_fragmenter_out_d_bits_source),
+    .auto_fragmenter_out_d_bits_data(coupler_to_bootrom_auto_fragmenter_out_d_bits_data),
+    .auto_tl_in_a_ready(coupler_to_bootrom_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_bootrom_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_bootrom_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_bootrom_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_bootrom_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_bootrom_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_bootrom_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_bootrom_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_corrupt(coupler_to_bootrom_auto_tl_in_a_bits_corrupt),
+    .auto_tl_in_d_ready(coupler_to_bootrom_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_bootrom_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_size(coupler_to_bootrom_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_bootrom_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_bootrom_auto_tl_in_d_bits_data)
+  );
+  assign auto_coupler_to_bootrom_fragmenter_out_a_valid = coupler_to_bootrom_auto_fragmenter_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bootrom_fragmenter_out_a_bits_opcode = coupler_to_bootrom_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bootrom_fragmenter_out_a_bits_param = coupler_to_bootrom_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bootrom_fragmenter_out_a_bits_size = coupler_to_bootrom_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bootrom_fragmenter_out_a_bits_source = coupler_to_bootrom_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bootrom_fragmenter_out_a_bits_address = coupler_to_bootrom_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bootrom_fragmenter_out_a_bits_mask = coupler_to_bootrom_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bootrom_fragmenter_out_a_bits_corrupt = coupler_to_bootrom_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bootrom_fragmenter_out_d_ready = coupler_to_bootrom_auto_fragmenter_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_aon_asource_out_a_mem_0_opcode = coupler_to_aon_auto_asource_out_a_mem_0_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_aon_asource_out_a_mem_0_param = coupler_to_aon_auto_asource_out_a_mem_0_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_aon_asource_out_a_mem_0_size = coupler_to_aon_auto_asource_out_a_mem_0_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_aon_asource_out_a_mem_0_source = coupler_to_aon_auto_asource_out_a_mem_0_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_aon_asource_out_a_mem_0_address = coupler_to_aon_auto_asource_out_a_mem_0_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_aon_asource_out_a_mem_0_mask = coupler_to_aon_auto_asource_out_a_mem_0_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_aon_asource_out_a_mem_0_data = coupler_to_aon_auto_asource_out_a_mem_0_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_aon_asource_out_a_mem_0_corrupt = coupler_to_aon_auto_asource_out_a_mem_0_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_aon_asource_out_a_widx = coupler_to_aon_auto_asource_out_a_widx; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_aon_asource_out_a_safe_widx_valid = coupler_to_aon_auto_asource_out_a_safe_widx_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_aon_asource_out_a_safe_source_reset_n = coupler_to_aon_auto_asource_out_a_safe_source_reset_n; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_aon_asource_out_d_ridx = coupler_to_aon_auto_asource_out_d_ridx; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_aon_asource_out_d_safe_ridx_valid = coupler_to_aon_auto_asource_out_d_safe_ridx_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_aon_asource_out_d_safe_sink_reset_n = coupler_to_aon_auto_asource_out_d_safe_sink_reset_n; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_tile_tl_slave_clock_xing_out_a_valid = coupler_to_tile_auto_tl_slave_clock_xing_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_opcode =
+    coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_param =
+    coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_size =
+    coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_source =
+    coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_address =
+    coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_mask =
+    coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_data =
+    coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_corrupt =
+    coupler_to_tile_auto_tl_slave_clock_xing_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_tile_tl_slave_clock_xing_out_d_ready = coupler_to_tile_auto_tl_slave_clock_xing_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_debug_fragmenter_out_a_valid = coupler_to_debug_auto_fragmenter_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_debug_fragmenter_out_a_bits_opcode = coupler_to_debug_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_debug_fragmenter_out_a_bits_param = coupler_to_debug_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_debug_fragmenter_out_a_bits_size = coupler_to_debug_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_debug_fragmenter_out_a_bits_source = coupler_to_debug_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_debug_fragmenter_out_a_bits_address = coupler_to_debug_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_debug_fragmenter_out_a_bits_mask = coupler_to_debug_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_debug_fragmenter_out_a_bits_data = coupler_to_debug_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_debug_fragmenter_out_a_bits_corrupt = coupler_to_debug_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_debug_fragmenter_out_d_ready = coupler_to_debug_auto_fragmenter_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_clint_fragmenter_out_a_valid = coupler_to_clint_auto_fragmenter_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_clint_fragmenter_out_a_bits_opcode = coupler_to_clint_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_clint_fragmenter_out_a_bits_param = coupler_to_clint_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_clint_fragmenter_out_a_bits_size = coupler_to_clint_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_clint_fragmenter_out_a_bits_source = coupler_to_clint_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_clint_fragmenter_out_a_bits_address = coupler_to_clint_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_clint_fragmenter_out_a_bits_mask = coupler_to_clint_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_clint_fragmenter_out_a_bits_data = coupler_to_clint_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_clint_fragmenter_out_a_bits_corrupt = coupler_to_clint_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_clint_fragmenter_out_d_ready = coupler_to_clint_auto_fragmenter_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_plic_fragmenter_out_a_valid = coupler_to_plic_auto_fragmenter_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_plic_fragmenter_out_a_bits_opcode = coupler_to_plic_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_plic_fragmenter_out_a_bits_param = coupler_to_plic_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_plic_fragmenter_out_a_bits_size = coupler_to_plic_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_plic_fragmenter_out_a_bits_source = coupler_to_plic_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_plic_fragmenter_out_a_bits_address = coupler_to_plic_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_plic_fragmenter_out_a_bits_mask = coupler_to_plic_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_plic_fragmenter_out_a_bits_data = coupler_to_plic_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_plic_fragmenter_out_a_bits_corrupt = coupler_to_plic_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_plic_fragmenter_out_d_ready = coupler_to_plic_auto_fragmenter_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_valid =
+    coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_opcode =
+    coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_param =
+    coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_size =
+    coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_source =
+    coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_address =
+    coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_mask =
+    coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_data =
+    coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_corrupt =
+    coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_ready =
+    coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_2_clock = fixedClockNode_auto_out_3_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_2_reset = fixedClockNode_auto_out_3_reset; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_0_clock = fixedClockNode_auto_out_1_clock; // @[LazyModule.scala 311:12]
+  assign auto_fixedClockNode_out_0_reset = fixedClockNode_auto_out_1_reset; // @[LazyModule.scala 311:12]
+  assign auto_subsystem_cbus_clock_groups_out_member_subsystem_pbus_0_clock =
+    subsystem_cbus_clock_groups_auto_out_1_member_subsystem_pbus_0_clock; // @[LazyModule.scala 311:12]
+  assign auto_subsystem_cbus_clock_groups_out_member_subsystem_pbus_0_reset =
+    subsystem_cbus_clock_groups_auto_out_1_member_subsystem_pbus_0_reset; // @[LazyModule.scala 311:12]
+  assign auto_bus_xing_in_a_ready = buffer_1_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_valid = buffer_1_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_opcode = buffer_1_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_param = buffer_1_auto_in_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_sink = buffer_1_auto_in_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_denied = buffer_1_auto_in_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_corrupt = buffer_1_auto_in_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign subsystem_cbus_clock_groups_auto_in_member_subsystem_cbus_1_clock =
+    auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_1_clock; // @[LazyModule.scala 309:16]
+  assign subsystem_cbus_clock_groups_auto_in_member_subsystem_cbus_1_reset =
+    auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_1_reset; // @[LazyModule.scala 309:16]
+  assign subsystem_cbus_clock_groups_auto_in_member_subsystem_cbus_0_clock =
+    auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_0_clock; // @[LazyModule.scala 309:16]
+  assign subsystem_cbus_clock_groups_auto_in_member_subsystem_cbus_0_reset =
+    auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_0_reset; // @[LazyModule.scala 309:16]
+  assign clockGroup_auto_in_member_subsystem_cbus_0_clock =
+    subsystem_cbus_clock_groups_auto_out_0_member_subsystem_cbus_0_clock; // @[LazyModule.scala 298:16]
+  assign clockGroup_auto_in_member_subsystem_cbus_0_reset =
+    subsystem_cbus_clock_groups_auto_out_0_member_subsystem_cbus_0_reset; // @[LazyModule.scala 298:16]
+  assign fixedClockNode_auto_in_clock = clockGroup_auto_out_clock; // @[LazyModule.scala 298:16]
+  assign fixedClockNode_auto_in_reset = clockGroup_auto_out_reset; // @[LazyModule.scala 298:16]
+  assign fixer_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign fixer_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign fixer_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_a_ready = out_xbar_auto_in_a_ready; // @[LazyModule.scala 298:16]
+  assign fixer_auto_out_d_valid = out_xbar_auto_in_d_valid; // @[LazyModule.scala 298:16]
+  assign fixer_auto_out_d_bits_opcode = out_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign fixer_auto_out_d_bits_param = out_xbar_auto_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign fixer_auto_out_d_bits_size = out_xbar_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign fixer_auto_out_d_bits_source = out_xbar_auto_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign fixer_auto_out_d_bits_sink = out_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign fixer_auto_out_d_bits_denied = out_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 298:16]
+  assign fixer_auto_out_d_bits_data = out_xbar_auto_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign fixer_auto_out_d_bits_corrupt = out_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_in_a_valid = buffer_1_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_data = buffer_1_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_in_d_ready = buffer_1_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign in_xbar_auto_out_a_ready = atomics_auto_in_a_ready; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_valid = atomics_auto_in_d_valid; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_opcode = atomics_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_param = atomics_auto_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_size = atomics_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_source = atomics_auto_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_sink = atomics_auto_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_denied = atomics_auto_in_d_bits_denied; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_data = atomics_auto_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign in_xbar_auto_out_d_bits_corrupt = atomics_auto_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign out_xbar_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign out_xbar_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign out_xbar_auto_in_a_valid = fixer_auto_out_a_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_opcode = fixer_auto_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_param = fixer_auto_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_size = fixer_auto_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_source = fixer_auto_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_address = fixer_auto_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_mask = fixer_auto_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_data = fixer_auto_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_a_bits_corrupt = fixer_auto_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_in_d_ready = fixer_auto_out_d_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_7_a_ready = coupler_to_bootrom_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_7_d_valid = coupler_to_bootrom_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_7_d_bits_size = coupler_to_bootrom_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_7_d_bits_source = coupler_to_bootrom_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_7_d_bits_data = coupler_to_bootrom_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_6_a_ready = coupler_to_aon_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_6_d_valid = coupler_to_aon_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_6_d_bits_opcode = coupler_to_aon_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_6_d_bits_param = coupler_to_aon_auto_tl_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_6_d_bits_size = coupler_to_aon_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_6_d_bits_source = coupler_to_aon_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_6_d_bits_sink = coupler_to_aon_auto_tl_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_6_d_bits_denied = coupler_to_aon_auto_tl_in_d_bits_denied; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_6_d_bits_data = coupler_to_aon_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_6_d_bits_corrupt = coupler_to_aon_auto_tl_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_a_ready = coupler_to_tile_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_d_valid = coupler_to_tile_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_d_bits_opcode = coupler_to_tile_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_d_bits_param = coupler_to_tile_auto_tl_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_d_bits_size = coupler_to_tile_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_d_bits_source = coupler_to_tile_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_d_bits_sink = coupler_to_tile_auto_tl_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_d_bits_denied = coupler_to_tile_auto_tl_in_d_bits_denied; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_d_bits_data = coupler_to_tile_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_5_d_bits_corrupt = coupler_to_tile_auto_tl_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_4_a_ready = coupler_to_debug_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_4_d_valid = coupler_to_debug_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_4_d_bits_opcode = coupler_to_debug_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_4_d_bits_size = coupler_to_debug_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_4_d_bits_source = coupler_to_debug_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_4_d_bits_data = coupler_to_debug_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_3_a_ready = coupler_to_clint_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_3_d_valid = coupler_to_clint_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_3_d_bits_opcode = coupler_to_clint_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_3_d_bits_size = coupler_to_clint_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_3_d_bits_source = coupler_to_clint_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_3_d_bits_data = coupler_to_clint_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_2_a_ready = coupler_to_plic_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_2_d_valid = coupler_to_plic_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_2_d_bits_opcode = coupler_to_plic_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_2_d_bits_size = coupler_to_plic_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_2_d_bits_source = coupler_to_plic_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_2_d_bits_data = coupler_to_plic_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_a_ready = coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_d_valid = coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_d_bits_opcode = coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_d_bits_param = coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_d_bits_size = coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_d_bits_source = coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_d_bits_sink = coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_d_bits_denied = coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_denied; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_d_bits_data = coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_1_d_bits_corrupt = coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_a_ready = wrapped_error_device_auto_buffer_in_a_ready; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_d_valid = wrapped_error_device_auto_buffer_in_d_valid; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_d_bits_opcode = wrapped_error_device_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_d_bits_param = wrapped_error_device_auto_buffer_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_d_bits_size = wrapped_error_device_auto_buffer_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_d_bits_source = wrapped_error_device_auto_buffer_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_d_bits_sink = wrapped_error_device_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_d_bits_denied = wrapped_error_device_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_d_bits_data = wrapped_error_device_auto_buffer_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign out_xbar_auto_out_0_d_bits_corrupt = wrapped_error_device_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign buffer_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_in_a_valid = atomics_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_opcode = atomics_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_param = atomics_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_size = atomics_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_source = atomics_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_address = atomics_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_mask = atomics_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_data = atomics_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_corrupt = atomics_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_d_ready = atomics_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_a_ready = fixer_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = fixer_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = fixer_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_param = fixer_auto_in_d_bits_param; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_size = fixer_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = fixer_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_sink = fixer_auto_in_d_bits_sink; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_denied = fixer_auto_in_d_bits_denied; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = fixer_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_corrupt = fixer_auto_in_d_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign atomics_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign atomics_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign atomics_auto_in_a_valid = in_xbar_auto_out_a_valid; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_opcode = in_xbar_auto_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_param = in_xbar_auto_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_size = in_xbar_auto_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_source = in_xbar_auto_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_address = in_xbar_auto_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_mask = in_xbar_auto_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_data = in_xbar_auto_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_a_bits_corrupt = in_xbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign atomics_auto_in_d_ready = in_xbar_auto_out_d_ready; // @[LazyModule.scala 298:16]
+  assign atomics_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign atomics_auto_out_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign wrapped_error_device_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign wrapped_error_device_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign wrapped_error_device_auto_buffer_in_a_valid = out_xbar_auto_out_0_a_valid; // @[LazyModule.scala 298:16]
+  assign wrapped_error_device_auto_buffer_in_a_bits_opcode = out_xbar_auto_out_0_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign wrapped_error_device_auto_buffer_in_a_bits_param = out_xbar_auto_out_0_a_bits_param; // @[LazyModule.scala 298:16]
+  assign wrapped_error_device_auto_buffer_in_a_bits_size = out_xbar_auto_out_0_a_bits_size; // @[LazyModule.scala 298:16]
+  assign wrapped_error_device_auto_buffer_in_a_bits_source = out_xbar_auto_out_0_a_bits_source; // @[LazyModule.scala 298:16]
+  assign wrapped_error_device_auto_buffer_in_a_bits_address = out_xbar_auto_out_0_a_bits_address; // @[LazyModule.scala 298:16]
+  assign wrapped_error_device_auto_buffer_in_a_bits_mask = out_xbar_auto_out_0_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign wrapped_error_device_auto_buffer_in_a_bits_corrupt = out_xbar_auto_out_0_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign wrapped_error_device_auto_buffer_in_d_ready = out_xbar_auto_out_0_d_ready; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_a_valid = auto_bus_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_opcode = auto_bus_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_param = auto_bus_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_size = auto_bus_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_source = auto_bus_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_address = auto_bus_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_mask = auto_bus_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_data = auto_bus_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_corrupt = auto_bus_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_d_ready = auto_bus_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_out_a_ready = in_xbar_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_valid = in_xbar_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_opcode = in_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_param = in_xbar_auto_in_d_bits_param; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_size = in_xbar_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_source = in_xbar_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_sink = in_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_denied = in_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_data = in_xbar_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign buffer_1_auto_out_d_bits_corrupt = in_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_valid = out_xbar_auto_out_1_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_opcode = out_xbar_auto_out_1_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_param = out_xbar_auto_out_1_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_size = out_xbar_auto_out_1_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_source = out_xbar_auto_out_1_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_address = out_xbar_auto_out_1_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_mask = out_xbar_auto_out_1_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_data = out_xbar_auto_out_1_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_pbus_auto_widget_in_a_bits_corrupt = out_xbar_auto_out_1_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_pbus_auto_widget_in_d_ready = out_xbar_auto_out_1_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_a_ready =
+    auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_valid =
+    auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_opcode =
+    auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_param =
+    auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_param; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_size =
+    auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_source =
+    auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_sink =
+    auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_sink; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_denied =
+    auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_denied; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_data =
+    auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_pbus_auto_bus_xing_out_d_bits_corrupt =
+    auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign coupler_to_plic_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_plic_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_plic_auto_fragmenter_out_a_ready = auto_coupler_to_plic_fragmenter_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_plic_auto_fragmenter_out_d_valid = auto_coupler_to_plic_fragmenter_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_plic_auto_fragmenter_out_d_bits_opcode = auto_coupler_to_plic_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_plic_auto_fragmenter_out_d_bits_size = auto_coupler_to_plic_fragmenter_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_plic_auto_fragmenter_out_d_bits_source = auto_coupler_to_plic_fragmenter_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_plic_auto_fragmenter_out_d_bits_data = auto_coupler_to_plic_fragmenter_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_plic_auto_tl_in_a_valid = out_xbar_auto_out_2_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_plic_auto_tl_in_a_bits_opcode = out_xbar_auto_out_2_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_plic_auto_tl_in_a_bits_param = out_xbar_auto_out_2_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_plic_auto_tl_in_a_bits_size = out_xbar_auto_out_2_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_plic_auto_tl_in_a_bits_source = out_xbar_auto_out_2_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_plic_auto_tl_in_a_bits_address = out_xbar_auto_out_2_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_plic_auto_tl_in_a_bits_mask = out_xbar_auto_out_2_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_plic_auto_tl_in_a_bits_data = out_xbar_auto_out_2_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_plic_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_2_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_plic_auto_tl_in_d_ready = out_xbar_auto_out_2_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_clint_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_clint_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_clint_auto_fragmenter_out_a_ready = auto_coupler_to_clint_fragmenter_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_clint_auto_fragmenter_out_d_valid = auto_coupler_to_clint_fragmenter_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_clint_auto_fragmenter_out_d_bits_opcode = auto_coupler_to_clint_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_clint_auto_fragmenter_out_d_bits_size = auto_coupler_to_clint_fragmenter_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_clint_auto_fragmenter_out_d_bits_source = auto_coupler_to_clint_fragmenter_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_clint_auto_fragmenter_out_d_bits_data = auto_coupler_to_clint_fragmenter_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_clint_auto_tl_in_a_valid = out_xbar_auto_out_3_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_clint_auto_tl_in_a_bits_opcode = out_xbar_auto_out_3_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_clint_auto_tl_in_a_bits_param = out_xbar_auto_out_3_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_clint_auto_tl_in_a_bits_size = out_xbar_auto_out_3_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_clint_auto_tl_in_a_bits_source = out_xbar_auto_out_3_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_clint_auto_tl_in_a_bits_address = out_xbar_auto_out_3_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_clint_auto_tl_in_a_bits_mask = out_xbar_auto_out_3_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_clint_auto_tl_in_a_bits_data = out_xbar_auto_out_3_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_clint_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_3_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_clint_auto_tl_in_d_ready = out_xbar_auto_out_3_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_debug_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_debug_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_debug_auto_fragmenter_out_a_ready = auto_coupler_to_debug_fragmenter_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_debug_auto_fragmenter_out_d_valid = auto_coupler_to_debug_fragmenter_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_debug_auto_fragmenter_out_d_bits_opcode = auto_coupler_to_debug_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_debug_auto_fragmenter_out_d_bits_size = auto_coupler_to_debug_fragmenter_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_debug_auto_fragmenter_out_d_bits_source = auto_coupler_to_debug_fragmenter_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_debug_auto_fragmenter_out_d_bits_data = auto_coupler_to_debug_fragmenter_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_debug_auto_tl_in_a_valid = out_xbar_auto_out_4_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_debug_auto_tl_in_a_bits_opcode = out_xbar_auto_out_4_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_debug_auto_tl_in_a_bits_param = out_xbar_auto_out_4_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_debug_auto_tl_in_a_bits_size = out_xbar_auto_out_4_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_debug_auto_tl_in_a_bits_source = out_xbar_auto_out_4_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_debug_auto_tl_in_a_bits_address = out_xbar_auto_out_4_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_debug_auto_tl_in_a_bits_mask = out_xbar_auto_out_4_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_debug_auto_tl_in_a_bits_data = out_xbar_auto_out_4_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_debug_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_4_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_debug_auto_tl_in_d_ready = out_xbar_auto_out_4_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_tile_auto_tl_slave_clock_xing_out_a_ready = auto_coupler_to_tile_tl_slave_clock_xing_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_tile_auto_tl_slave_clock_xing_out_d_valid = auto_coupler_to_tile_tl_slave_clock_xing_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_opcode =
+    auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_param =
+    auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_param; // @[LazyModule.scala 311:12]
+  assign coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_size =
+    auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_source =
+    auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_sink =
+    auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_sink; // @[LazyModule.scala 311:12]
+  assign coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_denied =
+    auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_denied; // @[LazyModule.scala 311:12]
+  assign coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_data =
+    auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_tile_auto_tl_slave_clock_xing_out_d_bits_corrupt =
+    auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign coupler_to_tile_auto_tl_in_a_valid = out_xbar_auto_out_5_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_tile_auto_tl_in_a_bits_opcode = out_xbar_auto_out_5_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_tile_auto_tl_in_a_bits_param = out_xbar_auto_out_5_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_tile_auto_tl_in_a_bits_size = out_xbar_auto_out_5_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_tile_auto_tl_in_a_bits_source = out_xbar_auto_out_5_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_tile_auto_tl_in_a_bits_address = out_xbar_auto_out_5_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_tile_auto_tl_in_a_bits_mask = out_xbar_auto_out_5_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_tile_auto_tl_in_a_bits_data = out_xbar_auto_out_5_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_tile_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_5_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_tile_auto_tl_in_d_ready = out_xbar_auto_out_5_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_aon_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_aon_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_aon_auto_asource_out_a_ridx = auto_coupler_to_aon_asource_out_a_ridx; // @[LazyModule.scala 311:12]
+  assign coupler_to_aon_auto_asource_out_a_safe_ridx_valid = auto_coupler_to_aon_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_aon_auto_asource_out_a_safe_sink_reset_n = auto_coupler_to_aon_asource_out_a_safe_sink_reset_n; // @[LazyModule.scala 311:12]
+  assign coupler_to_aon_auto_asource_out_d_mem_0_opcode = auto_coupler_to_aon_asource_out_d_mem_0_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_aon_auto_asource_out_d_mem_0_param = auto_coupler_to_aon_asource_out_d_mem_0_param; // @[LazyModule.scala 311:12]
+  assign coupler_to_aon_auto_asource_out_d_mem_0_size = auto_coupler_to_aon_asource_out_d_mem_0_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_aon_auto_asource_out_d_mem_0_source = auto_coupler_to_aon_asource_out_d_mem_0_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_aon_auto_asource_out_d_mem_0_sink = auto_coupler_to_aon_asource_out_d_mem_0_sink; // @[LazyModule.scala 311:12]
+  assign coupler_to_aon_auto_asource_out_d_mem_0_denied = auto_coupler_to_aon_asource_out_d_mem_0_denied; // @[LazyModule.scala 311:12]
+  assign coupler_to_aon_auto_asource_out_d_mem_0_data = auto_coupler_to_aon_asource_out_d_mem_0_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_aon_auto_asource_out_d_mem_0_corrupt = auto_coupler_to_aon_asource_out_d_mem_0_corrupt; // @[LazyModule.scala 311:12]
+  assign coupler_to_aon_auto_asource_out_d_widx = auto_coupler_to_aon_asource_out_d_widx; // @[LazyModule.scala 311:12]
+  assign coupler_to_aon_auto_asource_out_d_safe_widx_valid = auto_coupler_to_aon_asource_out_d_safe_widx_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_aon_auto_asource_out_d_safe_source_reset_n = auto_coupler_to_aon_asource_out_d_safe_source_reset_n; // @[LazyModule.scala 311:12]
+  assign coupler_to_aon_auto_tl_in_a_valid = out_xbar_auto_out_6_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_aon_auto_tl_in_a_bits_opcode = out_xbar_auto_out_6_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_aon_auto_tl_in_a_bits_param = out_xbar_auto_out_6_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_aon_auto_tl_in_a_bits_size = out_xbar_auto_out_6_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_aon_auto_tl_in_a_bits_source = out_xbar_auto_out_6_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_aon_auto_tl_in_a_bits_address = out_xbar_auto_out_6_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_aon_auto_tl_in_a_bits_mask = out_xbar_auto_out_6_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_aon_auto_tl_in_a_bits_data = out_xbar_auto_out_6_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_aon_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_6_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_aon_auto_tl_in_d_ready = out_xbar_auto_out_6_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_bootrom_clock = fixedClockNode_auto_out_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_bootrom_reset = fixedClockNode_auto_out_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_bootrom_auto_fragmenter_out_a_ready = auto_coupler_to_bootrom_fragmenter_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_bootrom_auto_fragmenter_out_d_valid = auto_coupler_to_bootrom_fragmenter_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_bootrom_auto_fragmenter_out_d_bits_size = auto_coupler_to_bootrom_fragmenter_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_bootrom_auto_fragmenter_out_d_bits_source = auto_coupler_to_bootrom_fragmenter_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_bootrom_auto_fragmenter_out_d_bits_data = auto_coupler_to_bootrom_fragmenter_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_bootrom_auto_tl_in_a_valid = out_xbar_auto_out_7_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_bootrom_auto_tl_in_a_bits_opcode = out_xbar_auto_out_7_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_bootrom_auto_tl_in_a_bits_param = out_xbar_auto_out_7_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_bootrom_auto_tl_in_a_bits_size = out_xbar_auto_out_7_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_bootrom_auto_tl_in_a_bits_source = out_xbar_auto_out_7_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_bootrom_auto_tl_in_a_bits_address = out_xbar_auto_out_7_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_bootrom_auto_tl_in_a_bits_mask = out_xbar_auto_out_7_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_bootrom_auto_tl_in_a_bits_corrupt = out_xbar_auto_out_7_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign coupler_to_bootrom_auto_tl_in_d_ready = out_xbar_auto_out_7_d_ready; // @[LazyModule.scala 298:16]
+endmodule
+module ClockGroupAggregator_4(
+  input   auto_in_member_subsystem_mbus_0_clock,
+  input   auto_in_member_subsystem_mbus_0_reset,
+  output  auto_out_member_subsystem_mbus_0_clock,
+  output  auto_out_member_subsystem_mbus_0_reset
+);
+  assign auto_out_member_subsystem_mbus_0_clock = auto_in_member_subsystem_mbus_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_member_subsystem_mbus_0_reset = auto_in_member_subsystem_mbus_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module ClockGroup_4(
+  input   auto_in_member_subsystem_mbus_0_clock,
+  input   auto_in_member_subsystem_mbus_0_reset,
+  output  auto_out_clock,
+  output  auto_out_reset
+);
+  assign auto_out_clock = auto_in_member_subsystem_mbus_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_reset = auto_in_member_subsystem_mbus_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLXbar_6(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [3:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [3:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [3:0]  auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [3:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Xbar.scala 228:69]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_36(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [3:0]  io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [3:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [63:0] _RAND_11;
+  reg [63:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [63:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_71 = {{25'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 31'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [30:0] _T_33 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_36 = $signed(_T_34) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_270 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_271 = io_in_a_bits_mask & _T_270; // @[Monitor.scala 127:31]
+  wire  _T_272 = _T_271 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_276 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_306 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_314 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_344 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_352 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_382 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_394 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _T_398 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_402 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_418 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_446 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [3:0] source; // @[Monitor.scala 387:22]
+  reg [30:0] address; // @[Monitor.scala 388:22]
+  wire  _T_540 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_541 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_545 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_549 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_553 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_557 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [3:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_564 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_565 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_573 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_577 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [15:0] inflight; // @[Monitor.scala 611:27]
+  reg [63:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [63:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [5:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [6:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [63:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [63:0] _GEN_73 = {{48'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [63:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [63:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[63:1]}; // @[Monitor.scala 634:152]
+  wire [63:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [63:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [63:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[63:1]}; // @[Monitor.scala 638:144]
+  wire  _T_591 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [15:0] _a_set_wo_ready_T = 16'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [15:0] a_set_wo_ready = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 16'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_594 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [5:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [6:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [130:0] _GEN_1 = {{127'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [130:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [130:0] _GEN_2 = {{127'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [130:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [15:0] _T_596 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_598 = ~_T_596[0]; // @[Monitor.scala 658:17]
+  wire [15:0] a_set = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 16'h0; // @[Monitor.scala 652:72 653:28]
+  wire [130:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 131'h0; // @[Monitor.scala 652:72 656:28]
+  wire [130:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 131'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_602 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_604 = ~_T_398; // @[Monitor.scala 671:74]
+  wire  _T_605 = io_in_d_valid & d_first_1 & ~_T_398; // @[Monitor.scala 671:71]
+  wire [15:0] _d_clr_wo_ready_T = 16'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [15:0] d_clr_wo_ready = io_in_d_valid & d_first_1 & ~_T_398 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 671:90 672:22]
+  wire [142:0] _GEN_3 = {{127'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [142:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [15:0] d_clr = _d_first_T & d_first_1 & _T_604 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 675:91 676:21]
+  wire [142:0] _GEN_23 = _d_first_T & d_first_1 & _T_604 ? _d_opcodes_clr_T_5 : 143'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_591 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [15:0] _T_615 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_617 = _T_615[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_622 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_623 = io_in_d_bits_opcode == _GEN_32 | _T_622; // @[Monitor.scala 685:77]
+  wire  _T_627 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_634 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_635 = io_in_d_bits_opcode == _GEN_48 | _T_634; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_639 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_649 = _T_602 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_604; // @[Monitor.scala 694:116]
+  wire  _T_651 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire  _T_658 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [15:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [15:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [15:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [63:0] a_opcodes_set = _GEN_19[63:0];
+  wire [63:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [63:0] d_opcodes_clr = _GEN_23[63:0];
+  wire [63:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [63:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [63:0] a_sizes_set = _GEN_20[63:0];
+  wire [63:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [63:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_667 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [15:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [63:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [63:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [63:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [63:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[63:1]}; // @[Monitor.scala 747:146]
+  wire  _T_693 = io_in_d_valid & d_first_2 & _T_398; // @[Monitor.scala 779:71]
+  wire [15:0] d_clr_1 = _d_first_T & d_first_2 & _T_398 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 783:90 784:21]
+  wire [142:0] _GEN_68 = _d_first_T & d_first_2 & _T_398 ? _d_opcodes_clr_T_5 : 143'h0; // @[Monitor.scala 783:90 785:21]
+  wire [15:0] _T_701 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_711 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [15:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [15:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [63:0] d_opcodes_clr_1 = _GEN_68[63:0];
+  wire [63:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [63:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_736 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 16'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 64'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 64'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 16'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 64'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_272 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_272) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_306 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_306) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_344 & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~_T_344) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_382 & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~_T_382) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_394 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_394) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_d_valid & _T_398 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        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 & _T_2 & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_d_valid & _T_418 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2 & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_d_valid & _T_446 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2 & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_541 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_541) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_545 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_545) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_549 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_549) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_553 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_553) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_557 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_557) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_565 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_565) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_573 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_573) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_577 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_577) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_598 & (_T_594 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & ~reset & ~_T_598) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_617 & (_T_605 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & _T_2 & ~_T_617) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_623 & (_T_605 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & same_cycle_resp & _T_2 & ~_T_623) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_627 & (_T_605 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & same_cycle_resp & _T_2 & ~_T_627) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_635 & (_T_605 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & ~same_cycle_resp & _T_2 & ~_T_635) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_639 & (_T_605 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & ~same_cycle_resp & _T_2 & ~_T_639) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_651 & (_T_649 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_649 & _T_2 & ~_T_651) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_658 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_658) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_667 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_667) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_701[0] & (_T_693 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_693 & _T_2 & ~_T_701[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_711 & (_T_693 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_693 & _T_2 & ~_T_711) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_736 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_736) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[3:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[30:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[15:0];
+  _RAND_11 = {2{`RANDOM}};
+  inflight_opcodes = _RAND_11[63:0];
+  _RAND_12 = {2{`RANDOM}};
+  inflight_sizes = _RAND_12[63:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[15:0];
+  _RAND_17 = {2{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[63:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFIFOFixer_3(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [3:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [3:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [3:0]  auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [3:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  TLMonitor_36 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[FIFOFixer.scala 88:33]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[FIFOFixer.scala 87:33]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = auto_out_a_ready; // @[FIFOFixer.scala 88:33]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_37(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [3:0]  io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [3:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [63:0] _RAND_11;
+  reg [63:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [63:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_71 = {{25'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 31'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [30:0] _T_33 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_36 = $signed(_T_34) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_270 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_271 = io_in_a_bits_mask & _T_270; // @[Monitor.scala 127:31]
+  wire  _T_272 = _T_271 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_276 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_306 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_314 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_344 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_352 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_382 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_394 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _T_398 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_402 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_418 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_446 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [3:0] source; // @[Monitor.scala 387:22]
+  reg [30:0] address; // @[Monitor.scala 388:22]
+  wire  _T_540 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_541 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_545 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_549 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_553 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_557 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [3:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_564 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_565 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_573 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_577 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [15:0] inflight; // @[Monitor.scala 611:27]
+  reg [63:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [63:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [5:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [6:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [63:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [63:0] _GEN_73 = {{48'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [63:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [63:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[63:1]}; // @[Monitor.scala 634:152]
+  wire [63:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [63:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [63:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[63:1]}; // @[Monitor.scala 638:144]
+  wire  _T_591 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [15:0] _a_set_wo_ready_T = 16'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [15:0] a_set_wo_ready = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 16'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_594 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [5:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [6:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [130:0] _GEN_1 = {{127'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [130:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [130:0] _GEN_2 = {{127'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [130:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [15:0] _T_596 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_598 = ~_T_596[0]; // @[Monitor.scala 658:17]
+  wire [15:0] a_set = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 16'h0; // @[Monitor.scala 652:72 653:28]
+  wire [130:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 131'h0; // @[Monitor.scala 652:72 656:28]
+  wire [130:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 131'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_602 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_604 = ~_T_398; // @[Monitor.scala 671:74]
+  wire  _T_605 = io_in_d_valid & d_first_1 & ~_T_398; // @[Monitor.scala 671:71]
+  wire [15:0] _d_clr_wo_ready_T = 16'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [15:0] d_clr_wo_ready = io_in_d_valid & d_first_1 & ~_T_398 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 671:90 672:22]
+  wire [142:0] _GEN_3 = {{127'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [142:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [15:0] d_clr = _d_first_T & d_first_1 & _T_604 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 675:91 676:21]
+  wire [142:0] _GEN_23 = _d_first_T & d_first_1 & _T_604 ? _d_opcodes_clr_T_5 : 143'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_591 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [15:0] _T_615 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_617 = _T_615[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_622 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_623 = io_in_d_bits_opcode == _GEN_32 | _T_622; // @[Monitor.scala 685:77]
+  wire  _T_627 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_634 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_635 = io_in_d_bits_opcode == _GEN_48 | _T_634; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_639 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_649 = _T_602 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_604; // @[Monitor.scala 694:116]
+  wire  _T_651 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire  _T_658 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [15:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [15:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [15:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [63:0] a_opcodes_set = _GEN_19[63:0];
+  wire [63:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [63:0] d_opcodes_clr = _GEN_23[63:0];
+  wire [63:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [63:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [63:0] a_sizes_set = _GEN_20[63:0];
+  wire [63:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [63:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_667 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [15:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [63:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [63:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [63:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [63:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[63:1]}; // @[Monitor.scala 747:146]
+  wire  _T_693 = io_in_d_valid & d_first_2 & _T_398; // @[Monitor.scala 779:71]
+  wire [15:0] d_clr_1 = _d_first_T & d_first_2 & _T_398 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 783:90 784:21]
+  wire [142:0] _GEN_68 = _d_first_T & d_first_2 & _T_398 ? _d_opcodes_clr_T_5 : 143'h0; // @[Monitor.scala 783:90 785:21]
+  wire [15:0] _T_701 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_711 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [15:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [15:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [63:0] d_opcodes_clr_1 = _GEN_68[63:0];
+  wire [63:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [63:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_736 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 16'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 64'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 64'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 16'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 64'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_272 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_272) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_306 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_306) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_344 & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~_T_344) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_382 & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~_T_382) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_394 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_394) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_d_valid & _T_398 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        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 & _T_2 & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_d_valid & _T_418 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2 & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_d_valid & _T_446 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2 & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_541 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_541) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_545 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_545) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_549 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_549) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_553 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_553) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_557 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_557) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_565 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_565) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_573 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_573) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_577 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_577) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_598 & (_T_594 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & ~reset & ~_T_598) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_617 & (_T_605 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & _T_2 & ~_T_617) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_623 & (_T_605 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & same_cycle_resp & _T_2 & ~_T_623) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_627 & (_T_605 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & same_cycle_resp & _T_2 & ~_T_627) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_635 & (_T_605 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & ~same_cycle_resp & _T_2 & ~_T_635) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_639 & (_T_605 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & ~same_cycle_resp & _T_2 & ~_T_639) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_651 & (_T_649 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_649 & _T_2 & ~_T_651) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_658 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_658) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_667 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_667) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_701[0] & (_T_693 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_693 & _T_2 & ~_T_701[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_711 & (_T_693 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_693 & _T_2 & ~_T_711) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_736 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_736) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at MemoryBus.scala:47:50)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[3:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[30:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[15:0];
+  _RAND_11 = {2{`RANDOM}};
+  inflight_opcodes = _RAND_11[63:0];
+  _RAND_12 = {2{`RANDOM}};
+  inflight_sizes = _RAND_12[63:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[15:0];
+  _RAND_17 = {2{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[63:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ProbePicker(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [3:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [3:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [3:0]  auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [3:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  TLMonitor_37 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLBuffer_7(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [3:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [3:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [3:0]  auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [3:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_38(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [3:0]  io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input         io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [3:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [63:0] _RAND_11;
+  reg [63:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [63:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_71 = {{25'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 31'h0; // @[Edges.scala 20:24]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [30:0] _T_33 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_36 = $signed(_T_34) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire  _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = ~(~io_in_a_bits_mask); // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire  _T_276 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_306 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_314 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_344 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_352 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_382 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_394 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _T_398 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_418 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_446 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [5:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [5:0] a_first_counter1 = a_first_counter - 6'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 6'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [3:0] source; // @[Monitor.scala 387:22]
+  reg [30:0] address; // @[Monitor.scala 388:22]
+  wire  _T_540 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_541 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_545 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_549 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_553 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_557 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] d_first_beats1_decode = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [5:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [5:0] d_first_counter1 = d_first_counter - 6'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 6'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [3:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_564 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_565 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_573 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_577 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [15:0] inflight; // @[Monitor.scala 611:27]
+  reg [63:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [63:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [5:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [5:0] a_first_counter1_1 = a_first_counter_1 - 6'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 6'h0; // @[Edges.scala 230:25]
+  reg [5:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [5:0] d_first_counter1_1 = d_first_counter_1 - 6'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 6'h0; // @[Edges.scala 230:25]
+  wire [5:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [6:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [63:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [63:0] _GEN_73 = {{48'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [63:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [63:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[63:1]}; // @[Monitor.scala 634:152]
+  wire [63:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [63:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [63:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[63:1]}; // @[Monitor.scala 638:144]
+  wire  _T_591 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [15:0] _a_set_wo_ready_T = 16'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_594 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [5:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [6:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [130:0] _GEN_1 = {{127'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [130:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [130:0] _GEN_2 = {{127'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [130:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [15:0] _T_596 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_598 = ~_T_596[0]; // @[Monitor.scala 658:17]
+  wire [15:0] a_set = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 16'h0; // @[Monitor.scala 652:72 653:28]
+  wire [130:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 131'h0; // @[Monitor.scala 652:72 656:28]
+  wire [130:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 131'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_602 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_604 = ~_T_398; // @[Monitor.scala 671:74]
+  wire  _T_605 = io_in_d_valid & d_first_1 & ~_T_398; // @[Monitor.scala 671:71]
+  wire [15:0] _d_clr_wo_ready_T = 16'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [142:0] _GEN_3 = {{127'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [142:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [15:0] d_clr = _d_first_T & d_first_1 & _T_604 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 675:91 676:21]
+  wire [142:0] _GEN_23 = _d_first_T & d_first_1 & _T_604 ? _d_opcodes_clr_T_5 : 143'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_591 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [15:0] _T_615 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_617 = _T_615[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_622 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_623 = io_in_d_bits_opcode == _GEN_32 | _T_622; // @[Monitor.scala 685:77]
+  wire  _T_627 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_634 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_635 = io_in_d_bits_opcode == _GEN_48 | _T_634; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_639 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_649 = _T_602 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_604; // @[Monitor.scala 694:116]
+  wire  _T_651 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [15:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [15:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [15:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [63:0] a_opcodes_set = _GEN_19[63:0];
+  wire [63:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [63:0] d_opcodes_clr = _GEN_23[63:0];
+  wire [63:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [63:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [63:0] a_sizes_set = _GEN_20[63:0];
+  wire [63:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [63:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_660 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [15:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [63:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [5:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [5:0] d_first_counter1_2 = d_first_counter_2 - 6'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 6'h0; // @[Edges.scala 230:25]
+  wire [63:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [63:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [63:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[63:1]}; // @[Monitor.scala 747:146]
+  wire  _T_686 = io_in_d_valid & d_first_2 & _T_398; // @[Monitor.scala 779:71]
+  wire [15:0] d_clr_1 = _d_first_T & d_first_2 & _T_398 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 783:90 784:21]
+  wire [142:0] _GEN_68 = _d_first_T & d_first_2 & _T_398 ? _d_opcodes_clr_T_5 : 143'h0; // @[Monitor.scala 783:90 785:21]
+  wire [15:0] _T_694 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_704 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [15:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [15:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [63:0] d_opcodes_clr_1 = _GEN_68[63:0];
+  wire [63:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [63:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_724 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 6'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= is_aligned_mask;
+        end else begin
+          a_first_counter <= 6'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 6'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 6'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 16'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 64'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 64'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 6'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= is_aligned_mask;
+        end else begin
+          a_first_counter_1 <= 6'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 6'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 6'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 16'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 64'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 6'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 6'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) 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:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) 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:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_306 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_306) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_344 & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~_T_344) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_382 & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~_T_382) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_394 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_394) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:78:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:78:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:78:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_541 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_541) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_545 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_545) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_549 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_549) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_553 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_553) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_557 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_557) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_565 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_565) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_573 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_573) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_577 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_577) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_598 & (_T_594 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & ~reset & ~_T_598) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_617 & (_T_605 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & _T_2 & ~_T_617) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:78:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_623 & (_T_605 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & same_cycle_resp & _T_2 & ~_T_623) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:78:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_627 & (_T_605 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & same_cycle_resp & _T_2 & ~_T_627) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:78:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_635 & (_T_605 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & ~same_cycle_resp & _T_2 & ~_T_635) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:78:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_639 & (_T_605 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & ~same_cycle_resp & _T_2 & ~_T_639) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:78:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_651 & (_T_649 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_649 & _T_2 & ~_T_651) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_660 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_660) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_694[0] & (_T_686 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_686 & _T_2 & ~_T_694[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:78:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_704 & (_T_686 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_686 & _T_2 & ~_T_704) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:78:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_724 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_724) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SPI.scala:78:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[5:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[3:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[30:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[5:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[15:0];
+  _RAND_11 = {2{`RANDOM}};
+  inflight_opcodes = _RAND_11[63:0];
+  _RAND_12 = {2{`RANDOM}};
+  inflight_sizes = _RAND_12[63:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[5:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[5:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[15:0];
+  _RAND_17 = {2{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[63:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[5:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Repeater_21(
+  input         clock,
+  input         reset,
+  input         io_repeat,
+  output        io_full,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [2:0]  io_enq_bits_size,
+  input  [3:0]  io_enq_bits_source,
+  input  [30:0] io_enq_bits_address,
+  input         io_enq_bits_mask,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [2:0]  io_deq_bits_size,
+  output [3:0]  io_deq_bits_source,
+  output [30:0] io_deq_bits_address,
+  output        io_deq_bits_mask,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  reg  full; // @[Repeater.scala 19:21]
+  reg [2:0] saved_opcode; // @[Repeater.scala 20:18]
+  reg [2:0] saved_param; // @[Repeater.scala 20:18]
+  reg [2:0] saved_size; // @[Repeater.scala 20:18]
+  reg [3:0] saved_source; // @[Repeater.scala 20:18]
+  reg [30:0] saved_address; // @[Repeater.scala 20:18]
+  reg  saved_mask; // @[Repeater.scala 20:18]
+  reg  saved_corrupt; // @[Repeater.scala 20:18]
+  wire  _T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  _GEN_0 = _T & io_repeat | full; // @[Repeater.scala 19:21 28:{38,45}]
+  wire  _T_2 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign io_full = full; // @[Repeater.scala 26:11]
+  assign io_enq_ready = io_deq_ready & ~full; // @[Repeater.scala 24:32]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 23:32]
+  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 25:21]
+  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 25:21]
+  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 25:21]
+  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 25:21]
+  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 25:21]
+  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 25:21]
+  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 25:21]
+  always @(posedge clock) begin
+    if (reset) begin // @[Repeater.scala 19:21]
+      full <= 1'h0; // @[Repeater.scala 19:21]
+    end else if (_T_2 & ~io_repeat) begin // @[Repeater.scala 29:38]
+      full <= 1'h0; // @[Repeater.scala 29:45]
+    end else begin
+      full <= _GEN_0;
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_opcode <= io_enq_bits_opcode; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_param <= io_enq_bits_param; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_size <= io_enq_bits_size; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_source <= io_enq_bits_source; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_address <= io_enq_bits_address; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_mask <= io_enq_bits_mask; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_corrupt <= io_enq_bits_corrupt; // @[Repeater.scala 28:62]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  saved_opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  saved_param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  saved_size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  saved_source = _RAND_4[3:0];
+  _RAND_5 = {1{`RANDOM}};
+  saved_address = _RAND_5[30:0];
+  _RAND_6 = {1{`RANDOM}};
+  saved_mask = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  saved_corrupt = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_20(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [3:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input         auto_in_a_bits_mask,
+  input  [7:0]  auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [3:0]  auto_in_d_bits_source,
+  output [7:0]  auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output        auto_out_a_bits_size,
+  output [10:0] auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output        auto_out_a_bits_mask,
+  output [7:0]  auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input         auto_out_d_bits_size,
+  input  [10:0] auto_out_d_bits_source,
+  input  [7:0]  auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [30:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [30:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [5:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [5:0] dFragnum = auto_out_d_bits_source[5:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 6'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 6'h0; // @[Fragmenter.scala 194:30]
+  wire [1:0] _dsizeOH1_T_1 = 2'h1 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire  dsizeOH1 = ~_dsizeOH1_T_1[0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [5:0] _GEN_7 = {{5'd0}, dsizeOH1}; // @[Fragmenter.scala 202:50]
+  wire [5:0] _T_1 = dFragnum & _GEN_7; // @[Fragmenter.scala 202:50]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  _dFirst_acknum_T = dHasData & dsizeOH1; // @[Fragmenter.scala 203:50]
+  wire [5:0] _GEN_8 = {{5'd0}, _dFirst_acknum_T}; // @[Fragmenter.scala 203:45]
+  wire [5:0] dFirst_acknum = dFragnum | _GEN_8; // @[Fragmenter.scala 203:45]
+  wire [5:0] _dFirst_size_T_1 = dFragnum | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_10 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_10 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  drop = ~dHasData & ~dLast; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [5:0] _acknum_T_1 = acknum - 6'h1; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h0 ? 3'h0 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [7:0] _aFragOH1_T_1 = 8'h1 << aFrag; // @[package.scala 234:77]
+  wire  aFragOH1 = ~_aFragOH1_T_1[0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  wire  aMask = aHasData ? 1'h0 : aFragOH1; // @[Fragmenter.scala 289:24]
+  reg [5:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 6'h0; // @[Fragmenter.scala 292:29]
+  wire [5:0] _old_gennum1_T_2 = gennum - 6'h1; // @[Fragmenter.scala 293:79]
+  wire [5:0] old_gennum1 = aFirst ? aOrigOH1 : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [5:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [5:0] _GEN_11 = {{5'd0}, aMask}; // @[Fragmenter.scala 294:41]
+  wire [5:0] _new_gennum_T_2 = _new_gennum_T | _GEN_11; // @[Fragmenter.scala 294:41]
+  wire [5:0] new_gennum = ~_new_gennum_T_2; // @[Fragmenter.scala 294:26]
+  wire [5:0] _GEN_12 = {{5'd0}, aFragOH1}; // @[Fragmenter.scala 295:72]
+  wire [5:0] _aFragnum_T_3 = _new_gennum_T | _GEN_12; // @[Fragmenter.scala 295:72]
+  wire [5:0] aFragnum = ~_aFragnum_T_3; // @[Fragmenter.scala 295:24]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = old_gennum1 | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_12; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_3; // @[Fragmenter.scala 304:51]
+  wire [30:0] _GEN_14 = {{25'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [4:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aToggle}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  TLMonitor_38 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater_21 repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[10:7]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_param = repeater_io_deq_bits_param; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,aFragnum}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_14; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full | auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = repeater_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[10:7]; // @[Fragmenter.scala 226:47]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & aFragnum != 6'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 6'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFirst_acknum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[6]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 6'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~auto_out_d_valid | _T_1 == 6'h0) & ~reset) begin
+          $fatal; // @[Fragmenter.scala 202:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~(~auto_out_d_valid | _T_1 == 6'h0)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:202 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"
+            ); // @[Fragmenter.scala 202:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[5:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[5:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLMonitor_39(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [3:0]  io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input         io_in_a_bits_mask,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [3:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [63:0] _RAND_11;
+  reg [63:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [63:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_71 = {{25'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 31'h0; // @[Edges.scala 20:24]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [30:0] _T_33 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_36 = $signed(_T_34) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire  _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = ~(~io_in_a_bits_mask); // @[Monitor.scala 88:31]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire  _T_276 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_306 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_314 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_344 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_352 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_382 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_394 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _T_398 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_418 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_446 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [5:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [5:0] a_first_counter1 = a_first_counter - 6'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 6'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [3:0] source; // @[Monitor.scala 387:22]
+  reg [30:0] address; // @[Monitor.scala 388:22]
+  wire  _T_540 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_541 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_545 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_549 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_553 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_557 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] d_first_beats1_decode = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [5:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [5:0] d_first_counter1 = d_first_counter - 6'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 6'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [3:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_564 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_565 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_573 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_577 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [15:0] inflight; // @[Monitor.scala 611:27]
+  reg [63:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [63:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [5:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [5:0] a_first_counter1_1 = a_first_counter_1 - 6'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 6'h0; // @[Edges.scala 230:25]
+  reg [5:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [5:0] d_first_counter1_1 = d_first_counter_1 - 6'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 6'h0; // @[Edges.scala 230:25]
+  wire [5:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [6:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [63:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [63:0] _GEN_73 = {{48'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [63:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [63:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[63:1]}; // @[Monitor.scala 634:152]
+  wire [63:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [63:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [63:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[63:1]}; // @[Monitor.scala 638:144]
+  wire  _T_591 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [15:0] _a_set_wo_ready_T = 16'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [15:0] a_set_wo_ready = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 16'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_594 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [5:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [6:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [130:0] _GEN_1 = {{127'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [130:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [130:0] _GEN_2 = {{127'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [130:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [15:0] _T_596 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_598 = ~_T_596[0]; // @[Monitor.scala 658:17]
+  wire [15:0] a_set = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 16'h0; // @[Monitor.scala 652:72 653:28]
+  wire [130:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 131'h0; // @[Monitor.scala 652:72 656:28]
+  wire [130:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 131'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_602 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_604 = ~_T_398; // @[Monitor.scala 671:74]
+  wire  _T_605 = io_in_d_valid & d_first_1 & ~_T_398; // @[Monitor.scala 671:71]
+  wire [15:0] _d_clr_wo_ready_T = 16'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [15:0] d_clr_wo_ready = io_in_d_valid & d_first_1 & ~_T_398 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 671:90 672:22]
+  wire [142:0] _GEN_3 = {{127'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [142:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [15:0] d_clr = _d_first_T & d_first_1 & _T_604 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 675:91 676:21]
+  wire [142:0] _GEN_23 = _d_first_T & d_first_1 & _T_604 ? _d_opcodes_clr_T_5 : 143'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_591 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [15:0] _T_615 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_617 = _T_615[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_622 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_623 = io_in_d_bits_opcode == _GEN_32 | _T_622; // @[Monitor.scala 685:77]
+  wire  _T_627 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_634 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_635 = io_in_d_bits_opcode == _GEN_48 | _T_634; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_639 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_649 = _T_602 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_604; // @[Monitor.scala 694:116]
+  wire  _T_651 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire  _T_658 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [15:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [15:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [15:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [63:0] a_opcodes_set = _GEN_19[63:0];
+  wire [63:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [63:0] d_opcodes_clr = _GEN_23[63:0];
+  wire [63:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [63:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [63:0] a_sizes_set = _GEN_20[63:0];
+  wire [63:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [63:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_667 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [15:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [63:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [5:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [5:0] d_first_counter1_2 = d_first_counter_2 - 6'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 6'h0; // @[Edges.scala 230:25]
+  wire [63:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [63:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [63:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[63:1]}; // @[Monitor.scala 747:146]
+  wire  _T_693 = io_in_d_valid & d_first_2 & _T_398; // @[Monitor.scala 779:71]
+  wire [15:0] d_clr_1 = _d_first_T & d_first_2 & _T_398 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 783:90 784:21]
+  wire [142:0] _GEN_68 = _d_first_T & d_first_2 & _T_398 ? _d_opcodes_clr_T_5 : 143'h0; // @[Monitor.scala 783:90 785:21]
+  wire [15:0] _T_701 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_711 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [15:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [15:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [63:0] d_opcodes_clr_1 = _GEN_68[63:0];
+  wire [63:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [63:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_736 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 6'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= is_aligned_mask;
+        end else begin
+          a_first_counter <= 6'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 6'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 6'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 16'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 64'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 64'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 6'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= is_aligned_mask;
+        end else begin
+          a_first_counter_1 <= 6'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 6'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 6'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 16'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 64'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 6'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 6'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) 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:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) 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:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_306 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_306) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_344 & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~_T_344) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_382 & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~_T_382) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_394 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_394) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_541 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_541) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_545 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_545) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_549 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_549) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_553 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_553) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_557 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_557) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_565 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_565) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_573 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_573) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_577 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_577) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_598 & (_T_594 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & ~reset & ~_T_598) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_617 & (_T_605 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & _T_2 & ~_T_617) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_623 & (_T_605 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & same_cycle_resp & _T_2 & ~_T_623) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_627 & (_T_605 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & same_cycle_resp & _T_2 & ~_T_627) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_635 & (_T_605 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & ~same_cycle_resp & _T_2 & ~_T_635) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_639 & (_T_605 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & ~same_cycle_resp & _T_2 & ~_T_639) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_651 & (_T_649 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_649 & _T_2 & ~_T_651) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_658 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_658) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_667 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_667) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_701[0] & (_T_693 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_693 & _T_2 & ~_T_701[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_711 & (_T_693 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_693 & _T_2 & ~_T_711) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_736 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_736) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SPI.scala:79:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[5:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[3:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[30:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[5:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[15:0];
+  _RAND_11 = {2{`RANDOM}};
+  inflight_opcodes = _RAND_11[63:0];
+  _RAND_12 = {2{`RANDOM}};
+  inflight_sizes = _RAND_12[63:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[5:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[5:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[15:0];
+  _RAND_17 = {2{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[63:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[5:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Queue_10(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [2:0]  io_enq_bits_size,
+  input  [3:0]  io_enq_bits_source,
+  input  [30:0] io_enq_bits_address,
+  input         io_enq_bits_mask,
+  input  [7:0]  io_enq_bits_data,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [2:0]  io_deq_bits_size,
+  output [3:0]  io_deq_bits_source,
+  output [30:0] io_deq_bits_address,
+  output        io_deq_bits_mask,
+  output [7:0]  io_deq_bits_data,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+`endif // RANDOMIZE_REG_INIT
+  reg [2:0] ram_opcode [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] ram_param [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] ram_size [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_size_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_source [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_source_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [30:0] ram_address [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_address_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [30:0] ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [30:0] ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_address_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_mask [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_mask_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_mask_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [7:0] ram_data [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [7:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [7:0] ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_data_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_corrupt [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_corrupt_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] value; // @[Counter.scala 62:40]
+  reg [2:0] value_1; // @[Counter.scala 62:40]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  ptr_match = value == value_1; // @[Decoupled.scala 263:33]
+  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 264:25]
+  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 265:24]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  wire [2:0] _value_T_1 = value + 3'h1; // @[Counter.scala 78:24]
+  wire [2:0] _value_T_3 = value_1 + 3'h1; // @[Counter.scala 78:24]
+  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_opcode_io_deq_bits_MPORT_addr = value_1;
+  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
+  assign ram_opcode_MPORT_addr = value;
+  assign ram_opcode_MPORT_mask = 1'h1;
+  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_param_io_deq_bits_MPORT_addr = value_1;
+  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_param_MPORT_data = io_enq_bits_param;
+  assign ram_param_MPORT_addr = value;
+  assign ram_param_MPORT_mask = 1'h1;
+  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_size_io_deq_bits_MPORT_addr = value_1;
+  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_size_MPORT_data = io_enq_bits_size;
+  assign ram_size_MPORT_addr = value;
+  assign ram_size_MPORT_mask = 1'h1;
+  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_source_io_deq_bits_MPORT_addr = value_1;
+  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_source_MPORT_data = io_enq_bits_source;
+  assign ram_source_MPORT_addr = value;
+  assign ram_source_MPORT_mask = 1'h1;
+  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_address_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_address_io_deq_bits_MPORT_addr = value_1;
+  assign ram_address_io_deq_bits_MPORT_data = ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_address_MPORT_data = io_enq_bits_address;
+  assign ram_address_MPORT_addr = value;
+  assign ram_address_MPORT_mask = 1'h1;
+  assign ram_address_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_mask_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_mask_io_deq_bits_MPORT_addr = value_1;
+  assign ram_mask_io_deq_bits_MPORT_data = ram_mask[ram_mask_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_mask_MPORT_data = io_enq_bits_mask;
+  assign ram_mask_MPORT_addr = value;
+  assign ram_mask_MPORT_mask = 1'h1;
+  assign ram_mask_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_data_io_deq_bits_MPORT_addr = value_1;
+  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_data_MPORT_data = io_enq_bits_data;
+  assign ram_data_MPORT_addr = value;
+  assign ram_data_MPORT_mask = 1'h1;
+  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_corrupt_io_deq_bits_MPORT_addr = value_1;
+  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_corrupt_MPORT_data = 1'h0;
+  assign ram_corrupt_MPORT_addr = value;
+  assign ram_corrupt_MPORT_mask = 1'h1;
+  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_address = ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_mask = ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
+      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
+      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
+      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
+      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_address_MPORT_en & ram_address_MPORT_mask) begin
+      ram_address[ram_address_MPORT_addr] <= ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_mask_MPORT_en & ram_mask_MPORT_mask) begin
+      ram_mask[ram_mask_MPORT_addr] <= ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
+      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
+      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value <= 3'h0; // @[Counter.scala 62:40]
+    end else if (do_enq) begin // @[Decoupled.scala 272:16]
+      value <= _value_T_1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value_1 <= 3'h0; // @[Counter.scala 62:40]
+    end else if (do_deq) begin // @[Decoupled.scala 276:16]
+      value_1 <= _value_T_3; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram_opcode[initvar] = _RAND_0[2:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram_param[initvar] = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram_size[initvar] = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram_source[initvar] = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram_address[initvar] = _RAND_4[30:0];
+  _RAND_5 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram_mask[initvar] = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram_data[initvar] = _RAND_6[7:0];
+  _RAND_7 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram_corrupt[initvar] = _RAND_7[0:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  value = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  value_1 = _RAND_9[2:0];
+  _RAND_10 = {1{`RANDOM}};
+  maybe_full = _RAND_10[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLBuffer_8(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [3:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input         auto_in_a_bits_mask,
+  input  [7:0]  auto_in_a_bits_data,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [3:0]  auto_in_d_bits_source,
+  output [7:0]  auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [3:0]  auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output        auto_out_a_bits_mask,
+  output [7:0]  auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [3:0]  auto_out_d_bits_source,
+  input  [7:0]  auto_out_d_bits_data
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  bundleOut_0_a_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire [30:0] bundleOut_0_a_q_io_enq_bits_address; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [7:0] bundleOut_0_a_q_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire [30:0] bundleOut_0_a_q_io_deq_bits_address; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [7:0] bundleOut_0_a_q_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  TLMonitor_39 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Queue_10 bundleOut_0_a_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleOut_0_a_q_clock),
+    .reset(bundleOut_0_a_q_reset),
+    .io_enq_ready(bundleOut_0_a_q_io_enq_ready),
+    .io_enq_valid(bundleOut_0_a_q_io_enq_valid),
+    .io_enq_bits_opcode(bundleOut_0_a_q_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleOut_0_a_q_io_enq_bits_param),
+    .io_enq_bits_size(bundleOut_0_a_q_io_enq_bits_size),
+    .io_enq_bits_source(bundleOut_0_a_q_io_enq_bits_source),
+    .io_enq_bits_address(bundleOut_0_a_q_io_enq_bits_address),
+    .io_enq_bits_mask(bundleOut_0_a_q_io_enq_bits_mask),
+    .io_enq_bits_data(bundleOut_0_a_q_io_enq_bits_data),
+    .io_deq_ready(bundleOut_0_a_q_io_deq_ready),
+    .io_deq_valid(bundleOut_0_a_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleOut_0_a_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleOut_0_a_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleOut_0_a_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleOut_0_a_q_io_deq_bits_source),
+    .io_deq_bits_address(bundleOut_0_a_q_io_deq_bits_address),
+    .io_deq_bits_mask(bundleOut_0_a_q_io_deq_bits_mask),
+    .io_deq_bits_data(bundleOut_0_a_q_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleOut_0_a_q_io_deq_bits_corrupt)
+  );
+  assign auto_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = bundleOut_0_a_q_io_deq_valid; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_opcode = bundleOut_0_a_q_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_param = bundleOut_0_a_q_io_deq_bits_param; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_size = bundleOut_0_a_q_io_deq_bits_size; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_source = bundleOut_0_a_q_io_deq_bits_source; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_address = bundleOut_0_a_q_io_deq_bits_address; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_mask = bundleOut_0_a_q_io_deq_bits_mask; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_data = bundleOut_0_a_q_io_deq_bits_data; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_corrupt = bundleOut_0_a_q_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleOut_0_a_q_clock = clock;
+  assign bundleOut_0_a_q_reset = reset;
+  assign bundleOut_0_a_q_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLMonitor_40(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [3:0]  io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [3:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [63:0] _RAND_11;
+  reg [63:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [63:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_71 = {{25'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 31'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [30:0] _T_33 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_36 = $signed(_T_34) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_270 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_271 = io_in_a_bits_mask & _T_270; // @[Monitor.scala 127:31]
+  wire  _T_272 = _T_271 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_276 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_306 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_314 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_344 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_352 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_382 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_394 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _T_398 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_402 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_418 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_446 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [3:0] source; // @[Monitor.scala 387:22]
+  reg [30:0] address; // @[Monitor.scala 388:22]
+  wire  _T_540 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_541 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_545 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_549 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_553 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_557 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [3:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_564 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_565 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_573 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_577 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [15:0] inflight; // @[Monitor.scala 611:27]
+  reg [63:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [63:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [5:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [6:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [63:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [63:0] _GEN_73 = {{48'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [63:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [63:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[63:1]}; // @[Monitor.scala 634:152]
+  wire [63:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [63:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [63:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[63:1]}; // @[Monitor.scala 638:144]
+  wire  _T_591 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [15:0] _a_set_wo_ready_T = 16'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [15:0] a_set_wo_ready = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 16'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_594 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [5:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [6:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [130:0] _GEN_1 = {{127'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [130:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [130:0] _GEN_2 = {{127'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [130:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [15:0] _T_596 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_598 = ~_T_596[0]; // @[Monitor.scala 658:17]
+  wire [15:0] a_set = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 16'h0; // @[Monitor.scala 652:72 653:28]
+  wire [130:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 131'h0; // @[Monitor.scala 652:72 656:28]
+  wire [130:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 131'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_602 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_604 = ~_T_398; // @[Monitor.scala 671:74]
+  wire  _T_605 = io_in_d_valid & d_first_1 & ~_T_398; // @[Monitor.scala 671:71]
+  wire [15:0] _d_clr_wo_ready_T = 16'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [15:0] d_clr_wo_ready = io_in_d_valid & d_first_1 & ~_T_398 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 671:90 672:22]
+  wire [142:0] _GEN_3 = {{127'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [142:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [15:0] d_clr = _d_first_T & d_first_1 & _T_604 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 675:91 676:21]
+  wire [142:0] _GEN_23 = _d_first_T & d_first_1 & _T_604 ? _d_opcodes_clr_T_5 : 143'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_591 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [15:0] _T_615 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_617 = _T_615[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_622 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_623 = io_in_d_bits_opcode == _GEN_32 | _T_622; // @[Monitor.scala 685:77]
+  wire  _T_627 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_634 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_635 = io_in_d_bits_opcode == _GEN_48 | _T_634; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_639 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_649 = _T_602 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_604; // @[Monitor.scala 694:116]
+  wire  _T_651 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire  _T_658 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [15:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [15:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [15:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [63:0] a_opcodes_set = _GEN_19[63:0];
+  wire [63:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [63:0] d_opcodes_clr = _GEN_23[63:0];
+  wire [63:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [63:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [63:0] a_sizes_set = _GEN_20[63:0];
+  wire [63:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [63:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_667 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [15:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [63:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [63:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [63:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [63:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[63:1]}; // @[Monitor.scala 747:146]
+  wire  _T_693 = io_in_d_valid & d_first_2 & _T_398; // @[Monitor.scala 779:71]
+  wire [15:0] d_clr_1 = _d_first_T & d_first_2 & _T_398 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 783:90 784:21]
+  wire [142:0] _GEN_68 = _d_first_T & d_first_2 & _T_398 ? _d_opcodes_clr_T_5 : 143'h0; // @[Monitor.scala 783:90 785:21]
+  wire [15:0] _T_701 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_711 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [15:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [15:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [63:0] d_opcodes_clr_1 = _GEN_68[63:0];
+  wire [63:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [63:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_736 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 16'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 64'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 64'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 16'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 64'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_272 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_272) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_306 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_306) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_344 & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~_T_344) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_382 & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~_T_382) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_394 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_394) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_d_valid & _T_398 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        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 & _T_2 & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_d_valid & _T_418 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2 & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_d_valid & _T_446 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2 & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_541 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_541) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_545 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_545) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_549 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_549) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_553 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_553) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_557 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_557) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_565 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_565) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_573 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_573) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_577 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_577) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_598 & (_T_594 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & ~reset & ~_T_598) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_617 & (_T_605 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & _T_2 & ~_T_617) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_623 & (_T_605 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & same_cycle_resp & _T_2 & ~_T_623) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_627 & (_T_605 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & same_cycle_resp & _T_2 & ~_T_627) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_635 & (_T_605 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & ~same_cycle_resp & _T_2 & ~_T_635) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_639 & (_T_605 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & ~same_cycle_resp & _T_2 & ~_T_639) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_651 & (_T_649 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_649 & _T_2 & ~_T_651) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_658 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_658) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_667 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_667) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_701[0] & (_T_693 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_693 & _T_2 & ~_T_701[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_711 & (_T_693 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_693 & _T_2 & ~_T_711) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at SPI.scala:80:9)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_736 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_736) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at SPI.scala:80:9)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[3:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[30:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[15:0];
+  _RAND_11 = {2{`RANDOM}};
+  inflight_opcodes = _RAND_11[63:0];
+  _RAND_12 = {2{`RANDOM}};
+  inflight_sizes = _RAND_12[63:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[15:0];
+  _RAND_17 = {2{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[63:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Repeater_22(
+  input         clock,
+  input         reset,
+  input         io_repeat,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [2:0]  io_enq_bits_size,
+  input  [3:0]  io_enq_bits_source,
+  input  [30:0] io_enq_bits_address,
+  input  [3:0]  io_enq_bits_mask,
+  input  [31:0] io_enq_bits_data,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [2:0]  io_deq_bits_size,
+  output [3:0]  io_deq_bits_source,
+  output [30:0] io_deq_bits_address,
+  output [3:0]  io_deq_bits_mask,
+  output [31:0] io_deq_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  reg  full; // @[Repeater.scala 19:21]
+  reg [2:0] saved_opcode; // @[Repeater.scala 20:18]
+  reg [2:0] saved_param; // @[Repeater.scala 20:18]
+  reg [2:0] saved_size; // @[Repeater.scala 20:18]
+  reg [3:0] saved_source; // @[Repeater.scala 20:18]
+  reg [30:0] saved_address; // @[Repeater.scala 20:18]
+  reg [3:0] saved_mask; // @[Repeater.scala 20:18]
+  reg [31:0] saved_data; // @[Repeater.scala 20:18]
+  wire  _T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  _GEN_0 = _T & io_repeat | full; // @[Repeater.scala 19:21 28:{38,45}]
+  wire  _T_2 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign io_enq_ready = io_deq_ready & ~full; // @[Repeater.scala 24:32]
+  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 23:32]
+  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 25:21]
+  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 25:21]
+  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 25:21]
+  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 25:21]
+  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 25:21]
+  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 25:21]
+  assign io_deq_bits_data = full ? saved_data : io_enq_bits_data; // @[Repeater.scala 25:21]
+  always @(posedge clock) begin
+    if (reset) begin // @[Repeater.scala 19:21]
+      full <= 1'h0; // @[Repeater.scala 19:21]
+    end else if (_T_2 & ~io_repeat) begin // @[Repeater.scala 29:38]
+      full <= 1'h0; // @[Repeater.scala 29:45]
+    end else begin
+      full <= _GEN_0;
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_opcode <= io_enq_bits_opcode; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_param <= io_enq_bits_param; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_size <= io_enq_bits_size; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_source <= io_enq_bits_source; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_address <= io_enq_bits_address; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_mask <= io_enq_bits_mask; // @[Repeater.scala 28:62]
+    end
+    if (_T & io_repeat) begin // @[Repeater.scala 28:38]
+      saved_data <= io_enq_bits_data; // @[Repeater.scala 28:62]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  saved_opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  saved_param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  saved_size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  saved_source = _RAND_4[3:0];
+  _RAND_5 = {1{`RANDOM}};
+  saved_address = _RAND_5[30:0];
+  _RAND_6 = {1{`RANDOM}};
+  saved_mask = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  saved_data = _RAND_7[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLWidthWidget_6(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [3:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [3:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [3:0]  auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output        auto_out_a_bits_mask,
+  output [7:0]  auto_out_a_bits_data,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [3:0]  auto_out_d_bits_source,
+  input  [7:0]  auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  repeated_repeater_clock; // @[Repeater.scala 35:26]
+  wire  repeated_repeater_reset; // @[Repeater.scala 35:26]
+  wire  repeated_repeater_io_repeat; // @[Repeater.scala 35:26]
+  wire  repeated_repeater_io_enq_ready; // @[Repeater.scala 35:26]
+  wire  repeated_repeater_io_enq_valid; // @[Repeater.scala 35:26]
+  wire [2:0] repeated_repeater_io_enq_bits_opcode; // @[Repeater.scala 35:26]
+  wire [2:0] repeated_repeater_io_enq_bits_param; // @[Repeater.scala 35:26]
+  wire [2:0] repeated_repeater_io_enq_bits_size; // @[Repeater.scala 35:26]
+  wire [3:0] repeated_repeater_io_enq_bits_source; // @[Repeater.scala 35:26]
+  wire [30:0] repeated_repeater_io_enq_bits_address; // @[Repeater.scala 35:26]
+  wire [3:0] repeated_repeater_io_enq_bits_mask; // @[Repeater.scala 35:26]
+  wire [31:0] repeated_repeater_io_enq_bits_data; // @[Repeater.scala 35:26]
+  wire  repeated_repeater_io_deq_ready; // @[Repeater.scala 35:26]
+  wire  repeated_repeater_io_deq_valid; // @[Repeater.scala 35:26]
+  wire [2:0] repeated_repeater_io_deq_bits_opcode; // @[Repeater.scala 35:26]
+  wire [2:0] repeated_repeater_io_deq_bits_param; // @[Repeater.scala 35:26]
+  wire [2:0] repeated_repeater_io_deq_bits_size; // @[Repeater.scala 35:26]
+  wire [3:0] repeated_repeater_io_deq_bits_source; // @[Repeater.scala 35:26]
+  wire [30:0] repeated_repeater_io_deq_bits_address; // @[Repeater.scala 35:26]
+  wire [3:0] repeated_repeater_io_deq_bits_mask; // @[Repeater.scala 35:26]
+  wire [31:0] repeated_repeater_io_deq_bits_data; // @[Repeater.scala 35:26]
+  wire [31:0] cated_bits_data = {repeated_repeater_io_deq_bits_data[31:8],auto_in_a_bits_data[7:0]}; // @[Cat.scala 31:58]
+  wire [2:0] cated_bits_opcode = repeated_repeater_io_deq_bits_opcode; // @[WidthWidget.scala 155:25 156:15]
+  wire  repeat_hasData = ~cated_bits_opcode[2]; // @[Edges.scala 91:28]
+  wire [2:0] cated_bits_size = repeated_repeater_io_deq_bits_size; // @[WidthWidget.scala 155:25 156:15]
+  wire [8:0] _repeat_limit_T_1 = 9'h3 << cated_bits_size; // @[package.scala 234:77]
+  wire [1:0] repeat_limit = ~_repeat_limit_T_1[1:0]; // @[package.scala 234:46]
+  reg [1:0] repeat_count; // @[WidthWidget.scala 99:26]
+  wire  repeat_last = repeat_count == repeat_limit | ~repeat_hasData; // @[WidthWidget.scala 101:35]
+  wire  cated_valid = repeated_repeater_io_deq_valid; // @[WidthWidget.scala 155:25 156:15]
+  wire  _repeat_T = auto_out_a_ready & cated_valid; // @[Decoupled.scala 50:35]
+  wire [1:0] _repeat_count_T_1 = repeat_count + 2'h1; // @[WidthWidget.scala 104:24]
+  wire [30:0] cated_bits_address = repeated_repeater_io_deq_bits_address; // @[WidthWidget.scala 155:25 156:15]
+  wire [1:0] repeat_sel = cated_bits_address[1:0]; // @[WidthWidget.scala 110:39]
+  wire [1:0] repeat_index = repeat_sel | repeat_count; // @[WidthWidget.scala 120:24]
+  wire [7:0] repeat_bundleOut_0_a_bits_data_mux_0 = cated_bits_data[7:0]; // @[WidthWidget.scala 122:55]
+  wire [7:0] repeat_bundleOut_0_a_bits_data_mux_1 = cated_bits_data[15:8]; // @[WidthWidget.scala 122:55]
+  wire [7:0] repeat_bundleOut_0_a_bits_data_mux_2 = cated_bits_data[23:16]; // @[WidthWidget.scala 122:55]
+  wire [7:0] repeat_bundleOut_0_a_bits_data_mux_3 = cated_bits_data[31:24]; // @[WidthWidget.scala 122:55]
+  wire [7:0] _GEN_3 = 2'h1 == repeat_index ? repeat_bundleOut_0_a_bits_data_mux_1 : repeat_bundleOut_0_a_bits_data_mux_0
+    ; // @[WidthWidget.scala 131:{30,30}]
+  wire [7:0] _GEN_4 = 2'h2 == repeat_index ? repeat_bundleOut_0_a_bits_data_mux_2 : _GEN_3; // @[WidthWidget.scala 131:{30,30}]
+  wire [3:0] cated_bits_mask = repeated_repeater_io_deq_bits_mask; // @[WidthWidget.scala 155:25 156:15]
+  wire  repeat_bundleOut_0_a_bits_mask_mux_0 = cated_bits_mask[0]; // @[WidthWidget.scala 122:55]
+  wire  repeat_bundleOut_0_a_bits_mask_mux_1 = cated_bits_mask[1]; // @[WidthWidget.scala 122:55]
+  wire  repeat_bundleOut_0_a_bits_mask_mux_2 = cated_bits_mask[2]; // @[WidthWidget.scala 122:55]
+  wire  repeat_bundleOut_0_a_bits_mask_mux_3 = cated_bits_mask[3]; // @[WidthWidget.scala 122:55]
+  wire  _GEN_7 = 2'h1 == repeat_index ? repeat_bundleOut_0_a_bits_mask_mux_1 : repeat_bundleOut_0_a_bits_mask_mux_0; // @[WidthWidget.scala 134:{53,53}]
+  wire  _GEN_8 = 2'h2 == repeat_index ? repeat_bundleOut_0_a_bits_mask_mux_2 : _GEN_7; // @[WidthWidget.scala 134:{53,53}]
+  wire  hasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [8:0] _limit_T_1 = 9'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] limit = ~_limit_T_1[1:0]; // @[package.scala 234:46]
+  reg [1:0] count; // @[WidthWidget.scala 34:27]
+  wire  last = count == limit | ~hasData; // @[WidthWidget.scala 36:36]
+  wire [1:0] _enable_T_1 = count & limit; // @[WidthWidget.scala 37:63]
+  wire  enable_0 = ~(|_enable_T_1); // @[WidthWidget.scala 37:47]
+  wire [1:0] _enable_T_3 = count ^ 2'h1; // @[WidthWidget.scala 37:56]
+  wire [1:0] _enable_T_4 = _enable_T_3 & limit; // @[WidthWidget.scala 37:63]
+  wire  enable_1 = ~(|_enable_T_4); // @[WidthWidget.scala 37:47]
+  wire [1:0] _enable_T_6 = count ^ 2'h2; // @[WidthWidget.scala 37:56]
+  wire [1:0] _enable_T_7 = _enable_T_6 & limit; // @[WidthWidget.scala 37:63]
+  wire  enable_2 = ~(|_enable_T_7); // @[WidthWidget.scala 37:47]
+  wire  _bundleOut_0_d_ready_T = ~last; // @[WidthWidget.scala 70:32]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | ~last; // @[WidthWidget.scala 70:29]
+  wire  _T = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [1:0] _count_T_1 = count + 2'h1; // @[WidthWidget.scala 44:24]
+  reg  bundleIn_0_d_bits_data_rdata_written_once; // @[WidthWidget.scala 56:41]
+  wire  bundleIn_0_d_bits_data_masked_enable_0 = enable_0 | ~bundleIn_0_d_bits_data_rdata_written_once; // @[WidthWidget.scala 57:42]
+  wire  bundleIn_0_d_bits_data_masked_enable_1 = enable_1 | ~bundleIn_0_d_bits_data_rdata_written_once; // @[WidthWidget.scala 57:42]
+  wire  bundleIn_0_d_bits_data_masked_enable_2 = enable_2 | ~bundleIn_0_d_bits_data_rdata_written_once; // @[WidthWidget.scala 57:42]
+  reg [7:0] bundleIn_0_d_bits_data_rdata_0; // @[WidthWidget.scala 60:24]
+  reg [7:0] bundleIn_0_d_bits_data_rdata_1; // @[WidthWidget.scala 60:24]
+  reg [7:0] bundleIn_0_d_bits_data_rdata_2; // @[WidthWidget.scala 60:24]
+  wire [7:0] bundleIn_0_d_bits_data_mdata_0 = bundleIn_0_d_bits_data_masked_enable_0 ? auto_out_d_bits_data :
+    bundleIn_0_d_bits_data_rdata_0; // @[WidthWidget.scala 62:88]
+  wire [7:0] bundleIn_0_d_bits_data_mdata_1 = bundleIn_0_d_bits_data_masked_enable_1 ? auto_out_d_bits_data :
+    bundleIn_0_d_bits_data_rdata_1; // @[WidthWidget.scala 62:88]
+  wire [7:0] bundleIn_0_d_bits_data_mdata_2 = bundleIn_0_d_bits_data_masked_enable_2 ? auto_out_d_bits_data :
+    bundleIn_0_d_bits_data_rdata_2; // @[WidthWidget.scala 62:88]
+  wire  _GEN_14 = _T & _bundleOut_0_d_ready_T | bundleIn_0_d_bits_data_rdata_written_once; // @[WidthWidget.scala 63:35 64:30 56:41]
+  wire [15:0] bundleIn_0_d_bits_data_lo = {bundleIn_0_d_bits_data_mdata_1,bundleIn_0_d_bits_data_mdata_0}; // @[Cat.scala 31:58]
+  wire [15:0] bundleIn_0_d_bits_data_hi = {auto_out_d_bits_data,bundleIn_0_d_bits_data_mdata_2}; // @[Cat.scala 31:58]
+  TLMonitor_40 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  Repeater_22 repeated_repeater ( // @[Repeater.scala 35:26]
+    .clock(repeated_repeater_clock),
+    .reset(repeated_repeater_reset),
+    .io_repeat(repeated_repeater_io_repeat),
+    .io_enq_ready(repeated_repeater_io_enq_ready),
+    .io_enq_valid(repeated_repeater_io_enq_valid),
+    .io_enq_bits_opcode(repeated_repeater_io_enq_bits_opcode),
+    .io_enq_bits_param(repeated_repeater_io_enq_bits_param),
+    .io_enq_bits_size(repeated_repeater_io_enq_bits_size),
+    .io_enq_bits_source(repeated_repeater_io_enq_bits_source),
+    .io_enq_bits_address(repeated_repeater_io_enq_bits_address),
+    .io_enq_bits_mask(repeated_repeater_io_enq_bits_mask),
+    .io_enq_bits_data(repeated_repeater_io_enq_bits_data),
+    .io_deq_ready(repeated_repeater_io_deq_ready),
+    .io_deq_valid(repeated_repeater_io_deq_valid),
+    .io_deq_bits_opcode(repeated_repeater_io_deq_bits_opcode),
+    .io_deq_bits_param(repeated_repeater_io_deq_bits_param),
+    .io_deq_bits_size(repeated_repeater_io_deq_bits_size),
+    .io_deq_bits_source(repeated_repeater_io_deq_bits_source),
+    .io_deq_bits_address(repeated_repeater_io_deq_bits_address),
+    .io_deq_bits_mask(repeated_repeater_io_deq_bits_mask),
+    .io_deq_bits_data(repeated_repeater_io_deq_bits_data)
+  );
+  assign auto_in_a_ready = repeated_repeater_io_enq_ready; // @[Nodes.scala 1210:84 Repeater.scala 37:21]
+  assign auto_in_d_valid = auto_out_d_valid & last; // @[WidthWidget.scala 71:29]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = {bundleIn_0_d_bits_data_hi,bundleIn_0_d_bits_data_lo}; // @[Cat.scala 31:58]
+  assign auto_out_a_valid = repeated_repeater_io_deq_valid; // @[WidthWidget.scala 155:25 156:15]
+  assign auto_out_a_bits_opcode = repeated_repeater_io_deq_bits_opcode; // @[WidthWidget.scala 155:25 156:15]
+  assign auto_out_a_bits_param = repeated_repeater_io_deq_bits_param; // @[WidthWidget.scala 155:25 156:15]
+  assign auto_out_a_bits_size = repeated_repeater_io_deq_bits_size; // @[WidthWidget.scala 155:25 156:15]
+  assign auto_out_a_bits_source = repeated_repeater_io_deq_bits_source; // @[WidthWidget.scala 155:25 156:15]
+  assign auto_out_a_bits_address = repeated_repeater_io_deq_bits_address; // @[WidthWidget.scala 155:25 156:15]
+  assign auto_out_a_bits_mask = 2'h3 == repeat_index ? repeat_bundleOut_0_a_bits_mask_mux_3 : _GEN_8; // @[WidthWidget.scala 134:{53,53}]
+  assign auto_out_a_bits_data = 2'h3 == repeat_index ? repeat_bundleOut_0_a_bits_data_mux_3 : _GEN_4; // @[WidthWidget.scala 131:{30,30}]
+  assign auto_out_d_ready = auto_in_d_ready | ~last; // @[WidthWidget.scala 70:29]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = repeated_repeater_io_enq_ready; // @[Nodes.scala 1210:84 Repeater.scala 37:21]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & last; // @[WidthWidget.scala 71:29]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign repeated_repeater_clock = clock;
+  assign repeated_repeater_reset = reset;
+  assign repeated_repeater_io_repeat = ~repeat_last; // @[WidthWidget.scala 142:7]
+  assign repeated_repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_enq_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeated_repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[WidthWidget.scala 99:26]
+      repeat_count <= 2'h0; // @[WidthWidget.scala 99:26]
+    end else if (_repeat_T) begin // @[WidthWidget.scala 103:25]
+      if (repeat_last) begin // @[WidthWidget.scala 105:21]
+        repeat_count <= 2'h0; // @[WidthWidget.scala 105:29]
+      end else begin
+        repeat_count <= _repeat_count_T_1; // @[WidthWidget.scala 104:15]
+      end
+    end
+    if (reset) begin // @[WidthWidget.scala 34:27]
+      count <= 2'h0; // @[WidthWidget.scala 34:27]
+    end else if (_T) begin // @[WidthWidget.scala 43:24]
+      if (last) begin // @[WidthWidget.scala 46:21]
+        count <= 2'h0; // @[WidthWidget.scala 47:17]
+      end else begin
+        count <= _count_T_1; // @[WidthWidget.scala 44:15]
+      end
+    end
+    if (reset) begin // @[WidthWidget.scala 56:41]
+      bundleIn_0_d_bits_data_rdata_written_once <= 1'h0; // @[WidthWidget.scala 56:41]
+    end else begin
+      bundleIn_0_d_bits_data_rdata_written_once <= _GEN_14;
+    end
+    if (_T & _bundleOut_0_d_ready_T) begin // @[WidthWidget.scala 63:35]
+      if (bundleIn_0_d_bits_data_masked_enable_0) begin // @[WidthWidget.scala 62:88]
+        bundleIn_0_d_bits_data_rdata_0 <= auto_out_d_bits_data;
+      end
+    end
+    if (_T & _bundleOut_0_d_ready_T) begin // @[WidthWidget.scala 63:35]
+      if (bundleIn_0_d_bits_data_masked_enable_1) begin // @[WidthWidget.scala 62:88]
+        bundleIn_0_d_bits_data_rdata_1 <= auto_out_d_bits_data;
+      end
+    end
+    if (_T & _bundleOut_0_d_ready_T) begin // @[WidthWidget.scala 63:35]
+      if (bundleIn_0_d_bits_data_masked_enable_2) begin // @[WidthWidget.scala 62:88]
+        bundleIn_0_d_bits_data_rdata_2 <= auto_out_d_bits_data;
+      end
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  repeat_count = _RAND_0[1:0];
+  _RAND_1 = {1{`RANDOM}};
+  count = _RAND_1[1:0];
+  _RAND_2 = {1{`RANDOM}};
+  bundleIn_0_d_bits_data_rdata_written_once = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  bundleIn_0_d_bits_data_rdata_0 = _RAND_3[7:0];
+  _RAND_4 = {1{`RANDOM}};
+  bundleIn_0_d_bits_data_rdata_1 = _RAND_4[7:0];
+  _RAND_5 = {1{`RANDOM}};
+  bundleIn_0_d_bits_data_rdata_2 = _RAND_5[7:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLInterconnectCoupler_26(
+  input         clock,
+  input         reset,
+  input         auto_mem_xing_out_a_ready,
+  output        auto_mem_xing_out_a_valid,
+  output [2:0]  auto_mem_xing_out_a_bits_opcode,
+  output [2:0]  auto_mem_xing_out_a_bits_param,
+  output        auto_mem_xing_out_a_bits_size,
+  output [10:0] auto_mem_xing_out_a_bits_source,
+  output [30:0] auto_mem_xing_out_a_bits_address,
+  output        auto_mem_xing_out_a_bits_mask,
+  output [7:0]  auto_mem_xing_out_a_bits_data,
+  output        auto_mem_xing_out_a_bits_corrupt,
+  output        auto_mem_xing_out_d_ready,
+  input         auto_mem_xing_out_d_valid,
+  input  [2:0]  auto_mem_xing_out_d_bits_opcode,
+  input         auto_mem_xing_out_d_bits_size,
+  input  [10:0] auto_mem_xing_out_d_bits_source,
+  input  [7:0]  auto_mem_xing_out_d_bits_data,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [2:0]  auto_tl_in_a_bits_size,
+  input  [3:0]  auto_tl_in_a_bits_source,
+  input  [30:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [2:0]  auto_tl_in_d_bits_size,
+  output [3:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data
+);
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [30:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [7:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [7:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [10:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [30:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [7:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [10:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [7:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  buffer_clock; // @[Buffer.scala 68:28]
+  wire  buffer_reset; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [7:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [7:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [7:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [7:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  widget_clock; // @[WidthWidget.scala 219:28]
+  wire  widget_reset; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_in_a_bits_source; // @[WidthWidget.scala 219:28]
+  wire [30:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_in_a_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_d_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_in_d_bits_source; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_out_a_bits_source; // @[WidthWidget.scala 219:28]
+  wire [30:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_bits_mask; // @[WidthWidget.scala 219:28]
+  wire [7:0] widget_auto_out_a_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_d_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_out_d_bits_source; // @[WidthWidget.scala 219:28]
+  wire [7:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 219:28]
+  TLFragmenter_20 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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_8 buffer ( // @[Buffer.scala 68:28]
+    .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_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)
+  );
+  TLWidthWidget_6 widget ( // @[WidthWidget.scala 219:28]
+    .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_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_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_data(widget_auto_out_a_bits_data),
+    .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_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_mem_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_in_a_ready = widget_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_valid = widget_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_opcode = widget_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_size = widget_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_source = widget_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_in_d_bits_data = widget_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_a_ready = auto_mem_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_valid = auto_mem_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_opcode = auto_mem_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_size = auto_mem_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_source = auto_mem_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign fragmenter_auto_out_d_bits_data = auto_mem_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_clock = clock;
+  assign buffer_reset = reset;
+  assign buffer_auto_in_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_a_bits_data = widget_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign buffer_auto_in_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign widget_clock = clock;
+  assign widget_reset = reset;
+  assign widget_auto_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_data = auto_tl_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign widget_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign widget_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign widget_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign widget_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign widget_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign widget_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+endmodule
+module MemoryBus(
+  input         auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_ready,
+  output        auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_param,
+  output        auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_size,
+  output [10:0] auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_source,
+  output [30:0] auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_address,
+  output        auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_mask,
+  output [7:0]  auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_data,
+  output        auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_corrupt,
+  output        auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_ready,
+  input         auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_opcode,
+  input         auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_size,
+  input  [10:0] auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_source,
+  input  [7:0]  auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_data,
+  input         auto_subsystem_mbus_clock_groups_in_member_subsystem_mbus_0_clock,
+  input         auto_subsystem_mbus_clock_groups_in_member_subsystem_mbus_0_reset,
+  output        auto_bus_xing_in_a_ready,
+  input         auto_bus_xing_in_a_valid,
+  input  [2:0]  auto_bus_xing_in_a_bits_opcode,
+  input  [2:0]  auto_bus_xing_in_a_bits_param,
+  input  [2:0]  auto_bus_xing_in_a_bits_size,
+  input  [3:0]  auto_bus_xing_in_a_bits_source,
+  input  [30:0] auto_bus_xing_in_a_bits_address,
+  input  [3:0]  auto_bus_xing_in_a_bits_mask,
+  input  [31:0] auto_bus_xing_in_a_bits_data,
+  input         auto_bus_xing_in_d_ready,
+  output        auto_bus_xing_in_d_valid,
+  output [2:0]  auto_bus_xing_in_d_bits_opcode,
+  output [2:0]  auto_bus_xing_in_d_bits_size,
+  output [3:0]  auto_bus_xing_in_d_bits_source,
+  output [31:0] auto_bus_xing_in_d_bits_data
+);
+  wire  subsystem_mbus_clock_groups_auto_in_member_subsystem_mbus_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_mbus_clock_groups_auto_in_member_subsystem_mbus_0_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_mbus_clock_groups_auto_out_member_subsystem_mbus_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_mbus_clock_groups_auto_out_member_subsystem_mbus_0_reset; // @[BusWrapper.scala 40:48]
+  wire  clockGroup_auto_in_member_subsystem_mbus_0_clock; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_in_member_subsystem_mbus_0_reset; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_out_clock; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_out_reset; // @[BusWrapper.scala 41:38]
+  wire  fixedClockNode_auto_in_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_in_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_reset; // @[ClockGroup.scala 106:107]
+  wire  subsystem_mbus_xbar_auto_in_a_ready; // @[MemoryBus.scala 42:32]
+  wire  subsystem_mbus_xbar_auto_in_a_valid; // @[MemoryBus.scala 42:32]
+  wire [2:0] subsystem_mbus_xbar_auto_in_a_bits_opcode; // @[MemoryBus.scala 42:32]
+  wire [2:0] subsystem_mbus_xbar_auto_in_a_bits_param; // @[MemoryBus.scala 42:32]
+  wire [2:0] subsystem_mbus_xbar_auto_in_a_bits_size; // @[MemoryBus.scala 42:32]
+  wire [3:0] subsystem_mbus_xbar_auto_in_a_bits_source; // @[MemoryBus.scala 42:32]
+  wire [30:0] subsystem_mbus_xbar_auto_in_a_bits_address; // @[MemoryBus.scala 42:32]
+  wire [3:0] subsystem_mbus_xbar_auto_in_a_bits_mask; // @[MemoryBus.scala 42:32]
+  wire [31:0] subsystem_mbus_xbar_auto_in_a_bits_data; // @[MemoryBus.scala 42:32]
+  wire  subsystem_mbus_xbar_auto_in_d_ready; // @[MemoryBus.scala 42:32]
+  wire  subsystem_mbus_xbar_auto_in_d_valid; // @[MemoryBus.scala 42:32]
+  wire [2:0] subsystem_mbus_xbar_auto_in_d_bits_opcode; // @[MemoryBus.scala 42:32]
+  wire [2:0] subsystem_mbus_xbar_auto_in_d_bits_size; // @[MemoryBus.scala 42:32]
+  wire [3:0] subsystem_mbus_xbar_auto_in_d_bits_source; // @[MemoryBus.scala 42:32]
+  wire [31:0] subsystem_mbus_xbar_auto_in_d_bits_data; // @[MemoryBus.scala 42:32]
+  wire  subsystem_mbus_xbar_auto_out_a_ready; // @[MemoryBus.scala 42:32]
+  wire  subsystem_mbus_xbar_auto_out_a_valid; // @[MemoryBus.scala 42:32]
+  wire [2:0] subsystem_mbus_xbar_auto_out_a_bits_opcode; // @[MemoryBus.scala 42:32]
+  wire [2:0] subsystem_mbus_xbar_auto_out_a_bits_param; // @[MemoryBus.scala 42:32]
+  wire [2:0] subsystem_mbus_xbar_auto_out_a_bits_size; // @[MemoryBus.scala 42:32]
+  wire [3:0] subsystem_mbus_xbar_auto_out_a_bits_source; // @[MemoryBus.scala 42:32]
+  wire [30:0] subsystem_mbus_xbar_auto_out_a_bits_address; // @[MemoryBus.scala 42:32]
+  wire [3:0] subsystem_mbus_xbar_auto_out_a_bits_mask; // @[MemoryBus.scala 42:32]
+  wire [31:0] subsystem_mbus_xbar_auto_out_a_bits_data; // @[MemoryBus.scala 42:32]
+  wire  subsystem_mbus_xbar_auto_out_d_ready; // @[MemoryBus.scala 42:32]
+  wire  subsystem_mbus_xbar_auto_out_d_valid; // @[MemoryBus.scala 42:32]
+  wire [2:0] subsystem_mbus_xbar_auto_out_d_bits_opcode; // @[MemoryBus.scala 42:32]
+  wire [2:0] subsystem_mbus_xbar_auto_out_d_bits_size; // @[MemoryBus.scala 42:32]
+  wire [3:0] subsystem_mbus_xbar_auto_out_d_bits_source; // @[MemoryBus.scala 42:32]
+  wire [31:0] subsystem_mbus_xbar_auto_out_d_bits_data; // @[MemoryBus.scala 42:32]
+  wire  fixer_clock; // @[FIFOFixer.scala 144:27]
+  wire  fixer_reset; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_a_ready; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_a_valid; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_in_a_bits_opcode; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_in_a_bits_param; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_in_a_bits_size; // @[FIFOFixer.scala 144:27]
+  wire [3:0] fixer_auto_in_a_bits_source; // @[FIFOFixer.scala 144:27]
+  wire [30:0] fixer_auto_in_a_bits_address; // @[FIFOFixer.scala 144:27]
+  wire [3:0] fixer_auto_in_a_bits_mask; // @[FIFOFixer.scala 144:27]
+  wire [31:0] fixer_auto_in_a_bits_data; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_d_ready; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_in_d_valid; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_in_d_bits_opcode; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_in_d_bits_size; // @[FIFOFixer.scala 144:27]
+  wire [3:0] fixer_auto_in_d_bits_source; // @[FIFOFixer.scala 144:27]
+  wire [31:0] fixer_auto_in_d_bits_data; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_a_ready; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_a_valid; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_out_a_bits_opcode; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_out_a_bits_param; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_out_a_bits_size; // @[FIFOFixer.scala 144:27]
+  wire [3:0] fixer_auto_out_a_bits_source; // @[FIFOFixer.scala 144:27]
+  wire [30:0] fixer_auto_out_a_bits_address; // @[FIFOFixer.scala 144:27]
+  wire [3:0] fixer_auto_out_a_bits_mask; // @[FIFOFixer.scala 144:27]
+  wire [31:0] fixer_auto_out_a_bits_data; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_d_ready; // @[FIFOFixer.scala 144:27]
+  wire  fixer_auto_out_d_valid; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_out_d_bits_opcode; // @[FIFOFixer.scala 144:27]
+  wire [2:0] fixer_auto_out_d_bits_size; // @[FIFOFixer.scala 144:27]
+  wire [3:0] fixer_auto_out_d_bits_source; // @[FIFOFixer.scala 144:27]
+  wire [31:0] fixer_auto_out_d_bits_data; // @[FIFOFixer.scala 144:27]
+  wire  picker_clock; // @[ProbePicker.scala 65:28]
+  wire  picker_reset; // @[ProbePicker.scala 65:28]
+  wire  picker_auto_in_a_ready; // @[ProbePicker.scala 65:28]
+  wire  picker_auto_in_a_valid; // @[ProbePicker.scala 65:28]
+  wire [2:0] picker_auto_in_a_bits_opcode; // @[ProbePicker.scala 65:28]
+  wire [2:0] picker_auto_in_a_bits_param; // @[ProbePicker.scala 65:28]
+  wire [2:0] picker_auto_in_a_bits_size; // @[ProbePicker.scala 65:28]
+  wire [3:0] picker_auto_in_a_bits_source; // @[ProbePicker.scala 65:28]
+  wire [30:0] picker_auto_in_a_bits_address; // @[ProbePicker.scala 65:28]
+  wire [3:0] picker_auto_in_a_bits_mask; // @[ProbePicker.scala 65:28]
+  wire [31:0] picker_auto_in_a_bits_data; // @[ProbePicker.scala 65:28]
+  wire  picker_auto_in_d_ready; // @[ProbePicker.scala 65:28]
+  wire  picker_auto_in_d_valid; // @[ProbePicker.scala 65:28]
+  wire [2:0] picker_auto_in_d_bits_opcode; // @[ProbePicker.scala 65:28]
+  wire [2:0] picker_auto_in_d_bits_size; // @[ProbePicker.scala 65:28]
+  wire [3:0] picker_auto_in_d_bits_source; // @[ProbePicker.scala 65:28]
+  wire [31:0] picker_auto_in_d_bits_data; // @[ProbePicker.scala 65:28]
+  wire  picker_auto_out_a_ready; // @[ProbePicker.scala 65:28]
+  wire  picker_auto_out_a_valid; // @[ProbePicker.scala 65:28]
+  wire [2:0] picker_auto_out_a_bits_opcode; // @[ProbePicker.scala 65:28]
+  wire [2:0] picker_auto_out_a_bits_param; // @[ProbePicker.scala 65:28]
+  wire [2:0] picker_auto_out_a_bits_size; // @[ProbePicker.scala 65:28]
+  wire [3:0] picker_auto_out_a_bits_source; // @[ProbePicker.scala 65:28]
+  wire [30:0] picker_auto_out_a_bits_address; // @[ProbePicker.scala 65:28]
+  wire [3:0] picker_auto_out_a_bits_mask; // @[ProbePicker.scala 65:28]
+  wire [31:0] picker_auto_out_a_bits_data; // @[ProbePicker.scala 65:28]
+  wire  picker_auto_out_d_ready; // @[ProbePicker.scala 65:28]
+  wire  picker_auto_out_d_valid; // @[ProbePicker.scala 65:28]
+  wire [2:0] picker_auto_out_d_bits_opcode; // @[ProbePicker.scala 65:28]
+  wire [2:0] picker_auto_out_d_bits_size; // @[ProbePicker.scala 65:28]
+  wire [3:0] picker_auto_out_d_bits_source; // @[ProbePicker.scala 65:28]
+  wire [31:0] picker_auto_out_d_bits_data; // @[ProbePicker.scala 65:28]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  coupler_to_device_named_qspi_ram_0_clock; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_reset; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [10:0] coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [7:0] coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [10:0] coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [7:0] coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_tl_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_tl_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_tl_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_device_named_qspi_ram_0_auto_tl_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 432:27]
+  ClockGroupAggregator_4 subsystem_mbus_clock_groups ( // @[BusWrapper.scala 40:48]
+    .auto_in_member_subsystem_mbus_0_clock(subsystem_mbus_clock_groups_auto_in_member_subsystem_mbus_0_clock),
+    .auto_in_member_subsystem_mbus_0_reset(subsystem_mbus_clock_groups_auto_in_member_subsystem_mbus_0_reset),
+    .auto_out_member_subsystem_mbus_0_clock(subsystem_mbus_clock_groups_auto_out_member_subsystem_mbus_0_clock),
+    .auto_out_member_subsystem_mbus_0_reset(subsystem_mbus_clock_groups_auto_out_member_subsystem_mbus_0_reset)
+  );
+  ClockGroup_4 clockGroup ( // @[BusWrapper.scala 41:38]
+    .auto_in_member_subsystem_mbus_0_clock(clockGroup_auto_in_member_subsystem_mbus_0_clock),
+    .auto_in_member_subsystem_mbus_0_reset(clockGroup_auto_in_member_subsystem_mbus_0_reset),
+    .auto_out_clock(clockGroup_auto_out_clock),
+    .auto_out_reset(clockGroup_auto_out_reset)
+  );
+  FixedClockBroadcast_2 fixedClockNode ( // @[ClockGroup.scala 106:107]
+    .auto_in_clock(fixedClockNode_auto_in_clock),
+    .auto_in_reset(fixedClockNode_auto_in_reset),
+    .auto_out_clock(fixedClockNode_auto_out_clock),
+    .auto_out_reset(fixedClockNode_auto_out_reset)
+  );
+  TLXbar_6 subsystem_mbus_xbar ( // @[MemoryBus.scala 42:32]
+    .auto_in_a_ready(subsystem_mbus_xbar_auto_in_a_ready),
+    .auto_in_a_valid(subsystem_mbus_xbar_auto_in_a_valid),
+    .auto_in_a_bits_opcode(subsystem_mbus_xbar_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(subsystem_mbus_xbar_auto_in_a_bits_param),
+    .auto_in_a_bits_size(subsystem_mbus_xbar_auto_in_a_bits_size),
+    .auto_in_a_bits_source(subsystem_mbus_xbar_auto_in_a_bits_source),
+    .auto_in_a_bits_address(subsystem_mbus_xbar_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(subsystem_mbus_xbar_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(subsystem_mbus_xbar_auto_in_a_bits_data),
+    .auto_in_d_ready(subsystem_mbus_xbar_auto_in_d_ready),
+    .auto_in_d_valid(subsystem_mbus_xbar_auto_in_d_valid),
+    .auto_in_d_bits_opcode(subsystem_mbus_xbar_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(subsystem_mbus_xbar_auto_in_d_bits_size),
+    .auto_in_d_bits_source(subsystem_mbus_xbar_auto_in_d_bits_source),
+    .auto_in_d_bits_data(subsystem_mbus_xbar_auto_in_d_bits_data),
+    .auto_out_a_ready(subsystem_mbus_xbar_auto_out_a_ready),
+    .auto_out_a_valid(subsystem_mbus_xbar_auto_out_a_valid),
+    .auto_out_a_bits_opcode(subsystem_mbus_xbar_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(subsystem_mbus_xbar_auto_out_a_bits_param),
+    .auto_out_a_bits_size(subsystem_mbus_xbar_auto_out_a_bits_size),
+    .auto_out_a_bits_source(subsystem_mbus_xbar_auto_out_a_bits_source),
+    .auto_out_a_bits_address(subsystem_mbus_xbar_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(subsystem_mbus_xbar_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(subsystem_mbus_xbar_auto_out_a_bits_data),
+    .auto_out_d_ready(subsystem_mbus_xbar_auto_out_d_ready),
+    .auto_out_d_valid(subsystem_mbus_xbar_auto_out_d_valid),
+    .auto_out_d_bits_opcode(subsystem_mbus_xbar_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(subsystem_mbus_xbar_auto_out_d_bits_size),
+    .auto_out_d_bits_source(subsystem_mbus_xbar_auto_out_d_bits_source),
+    .auto_out_d_bits_data(subsystem_mbus_xbar_auto_out_d_bits_data)
+  );
+  TLFIFOFixer_3 fixer ( // @[FIFOFixer.scala 144:27]
+    .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_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_size(fixer_auto_in_d_bits_size),
+    .auto_in_d_bits_source(fixer_auto_in_d_bits_source),
+    .auto_in_d_bits_data(fixer_auto_in_d_bits_data),
+    .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_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_size(fixer_auto_out_d_bits_size),
+    .auto_out_d_bits_source(fixer_auto_out_d_bits_source),
+    .auto_out_d_bits_data(fixer_auto_out_d_bits_data)
+  );
+  ProbePicker picker ( // @[ProbePicker.scala 65:28]
+    .clock(picker_clock),
+    .reset(picker_reset),
+    .auto_in_a_ready(picker_auto_in_a_ready),
+    .auto_in_a_valid(picker_auto_in_a_valid),
+    .auto_in_a_bits_opcode(picker_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(picker_auto_in_a_bits_param),
+    .auto_in_a_bits_size(picker_auto_in_a_bits_size),
+    .auto_in_a_bits_source(picker_auto_in_a_bits_source),
+    .auto_in_a_bits_address(picker_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(picker_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(picker_auto_in_a_bits_data),
+    .auto_in_d_ready(picker_auto_in_d_ready),
+    .auto_in_d_valid(picker_auto_in_d_valid),
+    .auto_in_d_bits_opcode(picker_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(picker_auto_in_d_bits_size),
+    .auto_in_d_bits_source(picker_auto_in_d_bits_source),
+    .auto_in_d_bits_data(picker_auto_in_d_bits_data),
+    .auto_out_a_ready(picker_auto_out_a_ready),
+    .auto_out_a_valid(picker_auto_out_a_valid),
+    .auto_out_a_bits_opcode(picker_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(picker_auto_out_a_bits_param),
+    .auto_out_a_bits_size(picker_auto_out_a_bits_size),
+    .auto_out_a_bits_source(picker_auto_out_a_bits_source),
+    .auto_out_a_bits_address(picker_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(picker_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(picker_auto_out_a_bits_data),
+    .auto_out_d_ready(picker_auto_out_d_ready),
+    .auto_out_d_valid(picker_auto_out_d_valid),
+    .auto_out_d_bits_opcode(picker_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(picker_auto_out_d_bits_size),
+    .auto_out_d_bits_source(picker_auto_out_d_bits_source),
+    .auto_out_d_bits_data(picker_auto_out_d_bits_data)
+  );
+  TLBuffer_7 buffer ( // @[Buffer.scala 68:28]
+    .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_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_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)
+  );
+  TLInterconnectCoupler_26 coupler_to_device_named_qspi_ram_0 ( // @[LazyModule.scala 432:27]
+    .clock(coupler_to_device_named_qspi_ram_0_clock),
+    .reset(coupler_to_device_named_qspi_ram_0_reset),
+    .auto_mem_xing_out_a_ready(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_ready),
+    .auto_mem_xing_out_a_valid(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_valid),
+    .auto_mem_xing_out_a_bits_opcode(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_opcode),
+    .auto_mem_xing_out_a_bits_param(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_param),
+    .auto_mem_xing_out_a_bits_size(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_size),
+    .auto_mem_xing_out_a_bits_source(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_source),
+    .auto_mem_xing_out_a_bits_address(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_address),
+    .auto_mem_xing_out_a_bits_mask(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_mask),
+    .auto_mem_xing_out_a_bits_data(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_data),
+    .auto_mem_xing_out_a_bits_corrupt(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_corrupt),
+    .auto_mem_xing_out_d_ready(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_ready),
+    .auto_mem_xing_out_d_valid(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_valid),
+    .auto_mem_xing_out_d_bits_opcode(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_bits_opcode),
+    .auto_mem_xing_out_d_bits_size(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_bits_size),
+    .auto_mem_xing_out_d_bits_source(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_bits_source),
+    .auto_mem_xing_out_d_bits_data(coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_bits_data),
+    .auto_tl_in_a_ready(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_ready),
+    .auto_tl_in_a_valid(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_valid),
+    .auto_tl_in_a_bits_opcode(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_opcode),
+    .auto_tl_in_a_bits_param(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_param),
+    .auto_tl_in_a_bits_size(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_size),
+    .auto_tl_in_a_bits_source(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_source),
+    .auto_tl_in_a_bits_address(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_address),
+    .auto_tl_in_a_bits_mask(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_mask),
+    .auto_tl_in_a_bits_data(coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_data),
+    .auto_tl_in_d_ready(coupler_to_device_named_qspi_ram_0_auto_tl_in_d_ready),
+    .auto_tl_in_d_valid(coupler_to_device_named_qspi_ram_0_auto_tl_in_d_valid),
+    .auto_tl_in_d_bits_opcode(coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_opcode),
+    .auto_tl_in_d_bits_size(coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_size),
+    .auto_tl_in_d_bits_source(coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_source),
+    .auto_tl_in_d_bits_data(coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_data)
+  );
+  assign auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_valid =
+    coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_opcode =
+    coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_param =
+    coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_size =
+    coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_source =
+    coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_address =
+    coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_mask =
+    coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_data =
+    coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_corrupt =
+    coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_ready =
+    coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_bus_xing_in_a_ready = buffer_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_valid = buffer_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_bus_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign subsystem_mbus_clock_groups_auto_in_member_subsystem_mbus_0_clock =
+    auto_subsystem_mbus_clock_groups_in_member_subsystem_mbus_0_clock; // @[LazyModule.scala 309:16]
+  assign subsystem_mbus_clock_groups_auto_in_member_subsystem_mbus_0_reset =
+    auto_subsystem_mbus_clock_groups_in_member_subsystem_mbus_0_reset; // @[LazyModule.scala 309:16]
+  assign clockGroup_auto_in_member_subsystem_mbus_0_clock =
+    subsystem_mbus_clock_groups_auto_out_member_subsystem_mbus_0_clock; // @[LazyModule.scala 298:16]
+  assign clockGroup_auto_in_member_subsystem_mbus_0_reset =
+    subsystem_mbus_clock_groups_auto_out_member_subsystem_mbus_0_reset; // @[LazyModule.scala 298:16]
+  assign fixedClockNode_auto_in_clock = clockGroup_auto_out_clock; // @[LazyModule.scala 298:16]
+  assign fixedClockNode_auto_in_reset = clockGroup_auto_out_reset; // @[LazyModule.scala 298:16]
+  assign subsystem_mbus_xbar_auto_in_a_valid = fixer_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_xbar_auto_in_a_bits_opcode = fixer_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_xbar_auto_in_a_bits_param = fixer_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_xbar_auto_in_a_bits_size = fixer_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_xbar_auto_in_a_bits_source = fixer_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_xbar_auto_in_a_bits_address = fixer_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_xbar_auto_in_a_bits_mask = fixer_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_xbar_auto_in_a_bits_data = fixer_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_xbar_auto_in_d_ready = fixer_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_xbar_auto_out_a_ready = picker_auto_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_mbus_xbar_auto_out_d_valid = picker_auto_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_mbus_xbar_auto_out_d_bits_opcode = picker_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_mbus_xbar_auto_out_d_bits_size = picker_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_mbus_xbar_auto_out_d_bits_source = picker_auto_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_mbus_xbar_auto_out_d_bits_data = picker_auto_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign fixer_clock = fixedClockNode_auto_out_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign fixer_reset = fixedClockNode_auto_out_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign fixer_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign fixer_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_a_ready = subsystem_mbus_xbar_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_d_valid = subsystem_mbus_xbar_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_d_bits_opcode = subsystem_mbus_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_d_bits_size = subsystem_mbus_xbar_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_d_bits_source = subsystem_mbus_xbar_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign fixer_auto_out_d_bits_data = subsystem_mbus_xbar_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign picker_clock = fixedClockNode_auto_out_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign picker_reset = fixedClockNode_auto_out_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign picker_auto_in_a_valid = subsystem_mbus_xbar_auto_out_a_valid; // @[LazyModule.scala 298:16]
+  assign picker_auto_in_a_bits_opcode = subsystem_mbus_xbar_auto_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign picker_auto_in_a_bits_param = subsystem_mbus_xbar_auto_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign picker_auto_in_a_bits_size = subsystem_mbus_xbar_auto_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign picker_auto_in_a_bits_source = subsystem_mbus_xbar_auto_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign picker_auto_in_a_bits_address = subsystem_mbus_xbar_auto_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign picker_auto_in_a_bits_mask = subsystem_mbus_xbar_auto_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign picker_auto_in_a_bits_data = subsystem_mbus_xbar_auto_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign picker_auto_in_d_ready = subsystem_mbus_xbar_auto_out_d_ready; // @[LazyModule.scala 298:16]
+  assign picker_auto_out_a_ready = coupler_to_device_named_qspi_ram_0_auto_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign picker_auto_out_d_valid = coupler_to_device_named_qspi_ram_0_auto_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign picker_auto_out_d_bits_opcode = coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign picker_auto_out_d_bits_size = coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign picker_auto_out_d_bits_source = coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign picker_auto_out_d_bits_data = coupler_to_device_named_qspi_ram_0_auto_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_a_valid = auto_bus_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_bus_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_bus_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_bus_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_bus_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_bus_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_bus_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_data = auto_bus_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_bus_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = fixer_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = fixer_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = fixer_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_size = fixer_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = fixer_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = fixer_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign coupler_to_device_named_qspi_ram_0_clock = fixedClockNode_auto_out_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_qspi_ram_0_reset = fixedClockNode_auto_out_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_a_ready =
+    auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_valid =
+    auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_bits_opcode =
+    auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_bits_size =
+    auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_bits_source =
+    auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_ram_0_auto_mem_xing_out_d_bits_data =
+    auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_valid = picker_auto_out_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_opcode = picker_auto_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_param = picker_auto_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_size = picker_auto_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_source = picker_auto_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_address = picker_auto_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_mask = picker_auto_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_a_bits_data = picker_auto_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_device_named_qspi_ram_0_auto_tl_in_d_ready = picker_auto_out_d_ready; // @[LazyModule.scala 298:16]
+endmodule
+module ClockGroupAggregator_5(
+  input   auto_in_member_subsystem_l2_1_clock,
+  input   auto_in_member_subsystem_l2_1_reset,
+  input   auto_in_member_subsystem_l2_0_clock,
+  input   auto_in_member_subsystem_l2_0_reset,
+  output  auto_out_1_member_subsystem_mbus_0_clock,
+  output  auto_out_1_member_subsystem_mbus_0_reset,
+  output  auto_out_0_member_subsystem_l2_0_clock,
+  output  auto_out_0_member_subsystem_l2_0_reset
+);
+  assign auto_out_1_member_subsystem_mbus_0_clock = auto_in_member_subsystem_l2_1_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_member_subsystem_mbus_0_reset = auto_in_member_subsystem_l2_1_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_member_subsystem_l2_0_clock = auto_in_member_subsystem_l2_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_member_subsystem_l2_0_reset = auto_in_member_subsystem_l2_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module ClockGroup_5(
+  input   auto_in_member_subsystem_l2_0_clock,
+  input   auto_in_member_subsystem_l2_0_reset,
+  output  auto_out_clock,
+  output  auto_out_reset
+);
+  assign auto_out_clock = auto_in_member_subsystem_l2_0_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_reset = auto_in_member_subsystem_l2_0_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_41(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_b_ready,
+  input         io_in_b_valid,
+  input  [1:0]  io_in_b_bits_param,
+  input  [30:0] io_in_b_bits_address,
+  input         io_in_c_ready,
+  input         io_in_c_valid,
+  input  [2:0]  io_in_c_bits_opcode,
+  input  [2:0]  io_in_c_bits_param,
+  input  [2:0]  io_in_c_bits_size,
+  input  [1:0]  io_in_c_bits_source,
+  input  [30:0] io_in_c_bits_address,
+  input         io_in_c_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [2:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source,
+  input  [1:0]  io_in_d_bits_sink,
+  input         io_in_e_valid,
+  input  [1:0]  io_in_e_bits_sink
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_86 = {{25'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T = io_in_a_bits_address & _GEN_86; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 31'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire  _T_45 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire [30:0] _T_48 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_49 = {1'b0,$signed(_T_48)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_51 = $signed(_T_49) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_52 = $signed(_T_51) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_53 = _T_45 & _T_52; // @[Parameters.scala 670:56]
+  wire  _T_55 = source_ok & _T_53; // @[Monitor.scala 82:72]
+  wire  _T_62 = 3'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_63 = _source_ok_T & _T_62; // @[Mux.scala 27:73]
+  wire  _T_79 = _T_63 & _T_52; // @[Monitor.scala 83:78]
+  wire  _T_93 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_97 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_98 = _T_97 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_102 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_106 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_170 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_183 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_217 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_221 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_229 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_269 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_302 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_303 = io_in_a_bits_mask & _T_302; // @[Monitor.scala 127:31]
+  wire  _T_304 = _T_303 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_308 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_337 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_345 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_374 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_382 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_411 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_423 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_427 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_431 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_435 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_447 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_458 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_462 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_475 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_504 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_521 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_539 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire [30:0] _address_ok_T = io_in_b_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_1 = {1'b0,$signed(_address_ok_T)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_3 = $signed(_address_ok_T_1) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_4 = $signed(_address_ok_T_3) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _is_aligned_T_1 = io_in_b_bits_address & 31'h3f; // @[Edges.scala 20:16]
+  wire  is_aligned_1 = _is_aligned_T_1 == 31'h0; // @[Edges.scala 20:24]
+  wire  _T_623 = io_in_b_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _source_ok_T_8 = io_in_c_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_9 = io_in_c_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_10 = io_in_c_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_2 = _source_ok_T_8 | _source_ok_T_9 | _source_ok_T_10; // @[Parameters.scala 1125:46]
+  wire [12:0] _is_aligned_mask_T_7 = 13'h3f << io_in_c_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask_2 = ~_is_aligned_mask_T_7[5:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_87 = {{25'd0}, is_aligned_mask_2}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T_2 = io_in_c_bits_address & _GEN_87; // @[Edges.scala 20:16]
+  wire  is_aligned_2 = _is_aligned_T_2 == 31'h0; // @[Edges.scala 20:24]
+  wire [30:0] _address_ok_T_5 = io_in_c_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_6 = {1'b0,$signed(_address_ok_T_5)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_8 = $signed(_address_ok_T_6) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_9 = $signed(_address_ok_T_8) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_872 = io_in_c_bits_opcode == 3'h4; // @[Monitor.scala 242:25]
+  wire  _T_879 = io_in_c_bits_size >= 3'h2; // @[Monitor.scala 245:30]
+  wire  _T_886 = io_in_c_bits_param <= 3'h5; // @[Bundles.scala 120:29]
+  wire  _T_890 = ~io_in_c_bits_corrupt; // @[Monitor.scala 248:18]
+  wire  _T_894 = io_in_c_bits_opcode == 3'h5; // @[Monitor.scala 251:25]
+  wire  _T_912 = io_in_c_bits_opcode == 3'h6; // @[Monitor.scala 259:25]
+  wire  _T_924 = io_in_c_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_932 = _T_924 & _address_ok_T_9; // @[Parameters.scala 670:56]
+  wire  _T_934 = source_ok_2 & _T_932; // @[Monitor.scala 260:78]
+  wire  _T_941 = 3'h6 == io_in_c_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_942 = _source_ok_T_8 & _T_941; // @[Mux.scala 27:73]
+  wire  _T_958 = _T_942 & _address_ok_T_9; // @[Monitor.scala 261:78]
+  wire  _T_980 = io_in_c_bits_opcode == 3'h7; // @[Monitor.scala 269:25]
+  wire  _T_1044 = io_in_c_bits_opcode == 3'h0; // @[Monitor.scala 278:25]
+  wire  _T_1054 = io_in_c_bits_param == 3'h0; // @[Monitor.scala 282:31]
+  wire  _T_1062 = io_in_c_bits_opcode == 3'h1; // @[Monitor.scala 286:25]
+  wire  _T_1076 = io_in_c_bits_opcode == 3'h2; // @[Monitor.scala 293:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [30:0] address; // @[Monitor.scala 388:22]
+  wire  _T_1098 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_1099 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_1103 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_1107 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_1111 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_1115 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  reg [1:0] sink; // @[Monitor.scala 539:22]
+  wire  _T_1122 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_1123 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_1127 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_1131 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_1135 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_1139 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  b_first_done = io_in_b_ready & io_in_b_valid; // @[Decoupled.scala 50:35]
+  reg [3:0] b_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] b_first_counter1 = b_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  b_first = b_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [1:0] param_2; // @[Monitor.scala 408:22]
+  reg [30:0] address_1; // @[Monitor.scala 411:22]
+  wire  _T_1150 = io_in_b_valid & ~b_first; // @[Monitor.scala 412:19]
+  wire  _T_1155 = io_in_b_bits_param == param_2; // @[Monitor.scala 414:32]
+  wire  _T_1167 = io_in_b_bits_address == address_1; // @[Monitor.scala 417:32]
+  wire  _c_first_T = io_in_c_ready & io_in_c_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] c_first_beats1_decode = is_aligned_mask_2[5:2]; // @[Edges.scala 219:59]
+  wire  c_first_beats1_opdata = io_in_c_bits_opcode[0]; // @[Edges.scala 101:36]
+  reg [3:0] c_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] c_first_counter1 = c_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  c_first = c_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_3; // @[Monitor.scala 512:22]
+  reg [2:0] param_3; // @[Monitor.scala 513:22]
+  reg [2:0] size_3; // @[Monitor.scala 514:22]
+  reg [1:0] source_3; // @[Monitor.scala 515:22]
+  reg [30:0] address_2; // @[Monitor.scala 516:22]
+  wire  _T_1174 = io_in_c_valid & ~c_first; // @[Monitor.scala 517:19]
+  wire  _T_1175 = io_in_c_bits_opcode == opcode_3; // @[Monitor.scala 518:32]
+  wire  _T_1179 = io_in_c_bits_param == param_3; // @[Monitor.scala 519:32]
+  wire  _T_1183 = io_in_c_bits_size == size_3; // @[Monitor.scala 520:32]
+  wire  _T_1187 = io_in_c_bits_source == source_3; // @[Monitor.scala 521:32]
+  wire  _T_1191 = io_in_c_bits_address == address_2; // @[Monitor.scala 522:32]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [11:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_88 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_88}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_89 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_89 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_92 = {{4'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_92 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_1197 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_27 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_1200 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_94 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_94}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [34:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [34:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_1202 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_1204 = ~_T_1202[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_28 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_31 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [34:0] _GEN_32 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_1208 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_1210 = ~_T_427; // @[Monitor.scala 671:74]
+  wire  _T_1211 = io_in_d_valid & d_first_1 & ~_T_427; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_33 = io_in_d_valid & d_first_1 & ~_T_427 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 671:90 672:22]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [3:0] _GEN_34 = _d_first_T & d_first_1 & _T_1210 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_35 = _d_first_T & d_first_1 & _T_1210 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_1197 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_1221 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_1223 = _T_1221[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_39 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_40 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_39; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_41 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_40; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_42 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_41; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_43 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_42; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_44 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_43; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_51 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_42; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_52 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_51; // @[Monitor.scala 686:{39,39}]
+  wire  _T_1228 = io_in_d_bits_opcode == _GEN_52; // @[Monitor.scala 686:39]
+  wire  _T_1229 = io_in_d_bits_opcode == _GEN_44 | _T_1228; // @[Monitor.scala 685:77]
+  wire  _T_1233 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_55 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_56 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_55; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_57 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_56; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_58 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_57; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_59 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_58; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_60 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_59; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_67 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_58; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_68 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_67; // @[Monitor.scala 690:{38,38}]
+  wire  _T_1240 = io_in_d_bits_opcode == _GEN_68; // @[Monitor.scala 690:38]
+  wire  _T_1241 = io_in_d_bits_opcode == _GEN_60 | _T_1240; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_98 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_1245 = _GEN_98 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_1255 = _T_1208 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_1210; // @[Monitor.scala 694:116]
+  wire  _T_1256 = ~io_in_d_ready; // @[Monitor.scala 695:15]
+  wire  _T_1257 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set_wo_ready = _GEN_27[2:0];
+  wire [2:0] d_clr_wo_ready = _GEN_33[2:0];
+  wire  _T_1264 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [2:0] a_set = _GEN_28[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_34[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_31[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_35[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [11:0] a_sizes_set = _GEN_32[11:0];
+  wire [11:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [11:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_1273 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [11:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] c_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] c_first_counter1_1 = c_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  c_first_1 = c_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [11:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_103 = {{4'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_103 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_1283 = io_in_c_bits_opcode[2] & io_in_c_bits_opcode[1]; // @[Edges.scala 67:40]
+  wire  _T_1284 = io_in_c_valid & c_first_1 & _T_1283; // @[Monitor.scala 756:37]
+  wire [3:0] _c_set_wo_ready_T = 4'h1 << io_in_c_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_72 = io_in_c_valid & c_first_1 & _T_1283 ? _c_set_wo_ready_T : 4'h0; // @[Monitor.scala 756:71 757:22]
+  wire  _T_1290 = _c_first_T & c_first_1 & _T_1283; // @[Monitor.scala 760:38]
+  wire [3:0] _c_sizes_set_interm_T = {io_in_c_bits_size, 1'h0}; // @[Monitor.scala 763:51]
+  wire [3:0] _c_sizes_set_interm_T_1 = _c_sizes_set_interm_T | 4'h1; // @[Monitor.scala 763:59]
+  wire [3:0] _GEN_105 = {io_in_c_bits_source, 2'h0}; // @[Monitor.scala 764:79]
+  wire [4:0] _c_opcodes_set_T = {{1'd0}, _GEN_105}; // @[Monitor.scala 764:79]
+  wire [3:0] c_sizes_set_interm = _c_first_T & c_first_1 & _T_1283 ? _c_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 760:72 763:28]
+  wire [34:0] _GEN_4 = {{31'd0}, c_sizes_set_interm}; // @[Monitor.scala 765:52]
+  wire [34:0] _c_sizes_set_T_1 = _GEN_4 << _c_opcodes_set_T; // @[Monitor.scala 765:52]
+  wire [2:0] _T_1291 = inflight_1 >> io_in_c_bits_source; // @[Monitor.scala 766:26]
+  wire  _T_1293 = ~_T_1291[0]; // @[Monitor.scala 766:17]
+  wire [3:0] _GEN_73 = _c_first_T & c_first_1 & _T_1283 ? _c_set_wo_ready_T : 4'h0; // @[Monitor.scala 760:72 761:28]
+  wire [34:0] _GEN_77 = _c_first_T & c_first_1 & _T_1283 ? _c_sizes_set_T_1 : 35'h0; // @[Monitor.scala 760:72 765:28]
+  wire  _T_1297 = io_in_d_valid & d_first_2; // @[Monitor.scala 779:26]
+  wire  _T_1299 = io_in_d_valid & d_first_2 & _T_427; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_78 = io_in_d_valid & d_first_2 & _T_427 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 779:89 780:22]
+  wire [3:0] _GEN_79 = _d_first_T & d_first_2 & _T_427 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_80 = _d_first_T & d_first_2 & _T_427 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 785:21]
+  wire  _same_cycle_resp_T_8 = io_in_c_bits_source == io_in_d_bits_source; // @[Monitor.scala 790:113]
+  wire  same_cycle_resp_1 = _T_1284 & io_in_c_bits_source == io_in_d_bits_source; // @[Monitor.scala 790:88]
+  wire [2:0] _T_1307 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire  _T_1309 = _T_1307[0] | same_cycle_resp_1; // @[Monitor.scala 791:49]
+  wire  _T_1313 = io_in_d_bits_size == io_in_c_bits_size; // @[Monitor.scala 793:36]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_1317 = _GEN_98 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire  _T_1326 = _T_1297 & c_first_1 & io_in_c_valid & _same_cycle_resp_T_8 & _T_427; // @[Monitor.scala 799:116]
+  wire  _T_1328 = _T_1256 | io_in_c_ready; // @[Monitor.scala 800:32]
+  wire [2:0] c_set_wo_ready = _GEN_72[2:0];
+  wire  _T_1332 = |c_set_wo_ready; // @[Monitor.scala 804:28]
+  wire [2:0] d_clr_wo_ready_1 = _GEN_78[2:0];
+  wire  _T_1333 = c_set_wo_ready != d_clr_wo_ready_1; // @[Monitor.scala 805:31]
+  wire [2:0] c_set = _GEN_73[2:0];
+  wire [2:0] _inflight_T_3 = inflight_1 | c_set; // @[Monitor.scala 809:35]
+  wire [2:0] d_clr_1 = _GEN_79[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = _inflight_T_3 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [11:0] d_opcodes_clr_1 = _GEN_80[11:0];
+  wire [11:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [11:0] c_sizes_set = _GEN_77[11:0];
+  wire [11:0] _inflight_sizes_T_3 = inflight_sizes_1 | c_sizes_set; // @[Monitor.scala 811:41]
+  wire [11:0] _inflight_sizes_T_5 = _inflight_sizes_T_3 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_1342 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  reg [3:0] inflight_2; // @[Monitor.scala 823:27]
+  reg [3:0] d_first_counter_3; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_3 = d_first_counter_3 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_3 = d_first_counter_3 == 4'h0; // @[Edges.scala 230:25]
+  wire  _T_1354 = io_in_d_bits_opcode[2] & ~io_in_d_bits_opcode[1]; // @[Edges.scala 70:40]
+  wire  _T_1355 = _d_first_T & d_first_3 & _T_1354; // @[Monitor.scala 829:38]
+  wire [3:0] _d_set_T = 4'h1 << io_in_d_bits_sink; // @[OneHot.scala 57:35]
+  wire [3:0] _T_1356 = inflight_2 >> io_in_d_bits_sink; // @[Monitor.scala 831:23]
+  wire  _T_1358 = ~_T_1356[0]; // @[Monitor.scala 831:14]
+  wire [3:0] d_set = _d_first_T & d_first_3 & _T_1354 ? _d_set_T : 4'h0; // @[Monitor.scala 829:72 830:13]
+  wire [3:0] _e_clr_T = 4'h1 << io_in_e_bits_sink; // @[OneHot.scala 57:35]
+  wire [3:0] _T_1365 = d_set | inflight_2; // @[Monitor.scala 837:24]
+  wire [3:0] _T_1366 = _T_1365 >> io_in_e_bits_sink; // @[Monitor.scala 837:35]
+  wire [3:0] e_clr = io_in_e_valid ? _e_clr_T : 4'h0; // @[Monitor.scala 835:73 836:13]
+  wire [3:0] _inflight_T_6 = inflight_2 | d_set; // @[Monitor.scala 842:27]
+  wire [3:0] _inflight_T_7 = ~e_clr; // @[Monitor.scala 842:38]
+  wire [3:0] _inflight_T_8 = _inflight_T_6 & _inflight_T_7; // @[Monitor.scala 842:36]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      b_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (b_first_done) begin // @[Edges.scala 234:17]
+      if (b_first) begin // @[Edges.scala 235:21]
+        b_first_counter <= 4'h0;
+      end else begin
+        b_first_counter <= b_first_counter1;
+      end
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      param_2 <= io_in_b_bits_param; // @[Monitor.scala 421:15]
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      address_1 <= io_in_b_bits_address; // @[Monitor.scala 424:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      c_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_c_first_T) begin // @[Edges.scala 234:17]
+      if (c_first) begin // @[Edges.scala 235:21]
+        if (c_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          c_first_counter <= c_first_beats1_decode;
+        end else begin
+          c_first_counter <= 4'h0;
+        end
+      end else begin
+        c_first_counter <= c_first_counter1;
+      end
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      opcode_3 <= io_in_c_bits_opcode; // @[Monitor.scala 525:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      param_3 <= io_in_c_bits_param; // @[Monitor.scala 526:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      size_3 <= io_in_c_bits_size; // @[Monitor.scala 527:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      source_3 <= io_in_c_bits_source; // @[Monitor.scala 528:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      address_2 <= io_in_c_bits_address; // @[Monitor.scala 529:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 12'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 12'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      c_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_c_first_T) begin // @[Edges.scala 234:17]
+      if (c_first_1) begin // @[Edges.scala 235:21]
+        if (c_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          c_first_counter_1 <= c_first_beats1_decode;
+        end else begin
+          c_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        c_first_counter_1 <= c_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_c_first_T | _d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    if (reset) begin // @[Monitor.scala 823:27]
+      inflight_2 <= 4'h0; // @[Monitor.scala 823:27]
+    end else begin
+      inflight_2 <= _inflight_T_8; // @[Monitor.scala 842:14]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_3 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_3) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_3 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_3 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_3 <= d_first_counter1_3;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_55 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_55) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_79 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_79) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_93 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_93) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_98 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_98) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_102 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_102) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_55 & (io_in_a_valid & _T_106 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_106 & ~reset & ~_T_55) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_79 & (io_in_a_valid & _T_106 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_106 & ~reset & ~_T_79) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_106 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_106 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_106 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_106 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_106 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_106 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_93 & (io_in_a_valid & _T_106 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_106 & ~reset & ~_T_93) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_170 & (io_in_a_valid & _T_106 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_106 & ~reset & ~_T_170) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_98 & (io_in_a_valid & _T_106 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_106 & ~reset & ~_T_98) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_102 & (io_in_a_valid & _T_106 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_106 & ~reset & ~_T_102) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_183 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_183 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_53 & (io_in_a_valid & _T_183 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_183 & ~reset & ~_T_53) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_183 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_183 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_183 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_183 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_217 & (io_in_a_valid & _T_183 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_183 & ~reset & ~_T_217) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_221 & (io_in_a_valid & _T_183 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_183 & ~reset & ~_T_221) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_102 & (io_in_a_valid & _T_183 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_183 & ~reset & ~_T_102) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_55 & (io_in_a_valid & _T_229 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_229 & ~reset & ~_T_55) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_229 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_229 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_229 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_229 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_217 & (io_in_a_valid & _T_229 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_229 & ~reset & ~_T_217) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_221 & (io_in_a_valid & _T_229 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_229 & ~reset & ~_T_221) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_269 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_269 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_269 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_269 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_269 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_269 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_217 & (io_in_a_valid & _T_269 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_269 & ~reset & ~_T_217) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_304 & (io_in_a_valid & _T_269 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_269 & ~reset & ~_T_304) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_308 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_308 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_308 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_308 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_308 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_308 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_337 & (io_in_a_valid & _T_308 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_308 & ~reset & ~_T_337) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_221 & (io_in_a_valid & _T_308 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_308 & ~reset & ~_T_221) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_374 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_374) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_221 & (io_in_a_valid & _T_345 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_345 & ~reset & ~_T_221) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_382 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_382 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_382 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_382 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_382 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_382 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_411 & (io_in_a_valid & _T_382 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_382 & ~reset & ~_T_411) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_221 & (io_in_a_valid & _T_382 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_382 & ~reset & ~_T_221) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_102 & (io_in_a_valid & _T_382 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_382 & ~reset & ~_T_102) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_423 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_423) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_427 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_427 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_431 & (io_in_d_valid & _T_427 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_427 & _T_2 & ~_T_431) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_435 & (io_in_d_valid & _T_427 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_427 & _T_2 & ~_T_435) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_447 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_447 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_431 & (io_in_d_valid & _T_447 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_447 & _T_2 & ~_T_431) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_458 & (io_in_d_valid & _T_447 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_447 & _T_2 & ~_T_458) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_462 & (io_in_d_valid & _T_447 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_447 & _T_2 & ~_T_462) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_475 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_475 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_431 & (io_in_d_valid & _T_475 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_475 & _T_2 & ~_T_431) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_458 & (io_in_d_valid & _T_475 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_475 & _T_2 & ~_T_458) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_462 & (io_in_d_valid & _T_475 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_475 & _T_2 & ~_T_462) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_504 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_504 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_435 & (io_in_d_valid & _T_504 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_504 & _T_2 & ~_T_435) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_521 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_521 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_435 & (io_in_d_valid & _T_521 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_521 & _T_2 & ~_T_435) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_539 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_539 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_435 & (io_in_d_valid & _T_539 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_539 & _T_2 & ~_T_435) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_address_ok_T_4 & (io_in_b_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2 & ~_address_ok_T_4) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries Probe type which is unexpected using diplomatic parameters (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_address_ok_T_4 & (io_in_b_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2 & ~_address_ok_T_4) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe carries unmanaged address (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_1 & (io_in_b_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2 & ~is_aligned_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_623 & (io_in_b_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2 & ~_T_623) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe carries invalid cap param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_address_ok_T_9 & (io_in_c_valid & _T_872 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_872 & ~reset & ~_address_ok_T_9) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck carries unmanaged address (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_872 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_872 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_879 & (io_in_c_valid & _T_872 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_872 & ~reset & ~_T_879) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck smaller than a beat (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_872 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_872 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_886 & (io_in_c_valid & _T_872 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_872 & ~reset & ~_T_886) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck carries invalid report param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_890 & (io_in_c_valid & _T_872 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_872 & ~reset & ~_T_890) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck is corrupt (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_address_ok_T_9 & (io_in_c_valid & _T_894 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_894 & ~reset & ~_address_ok_T_9) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData carries unmanaged address (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_894 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_894 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_879 & (io_in_c_valid & _T_894 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_894 & ~reset & ~_T_879) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData smaller than a beat (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_894 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_894 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_886 & (io_in_c_valid & _T_894 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_894 & ~reset & ~_T_886) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData carries invalid report param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_934 & (io_in_c_valid & _T_912 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_912 & ~reset & ~_T_934) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries Release type unsupported by manager (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_958 & (io_in_c_valid & _T_912 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_912 & ~reset & ~_T_958) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_912 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_912 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_879 & (io_in_c_valid & _T_912 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_912 & ~reset & ~_T_879) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release smaller than a beat (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_912 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_912 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_886 & (io_in_c_valid & _T_912 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_912 & ~reset & ~_T_886) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release carries invalid report param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_890 & (io_in_c_valid & _T_912 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_912 & ~reset & ~_T_890) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release is corrupt (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_934 & (io_in_c_valid & _T_980 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_980 & ~reset & ~_T_934) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries ReleaseData type unsupported by manager (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_958 & (io_in_c_valid & _T_980 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_980 & ~reset & ~_T_958) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_980 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_980 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_879 & (io_in_c_valid & _T_980 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_980 & ~reset & ~_T_879) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData smaller than a beat (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_980 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_980 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_886 & (io_in_c_valid & _T_980 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_980 & ~reset & ~_T_886) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData carries invalid report param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_address_ok_T_9 & (io_in_c_valid & _T_1044 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_1044 & ~reset & ~_address_ok_T_9) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck carries unmanaged address (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_1044 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_1044 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_1044 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_1044 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1054 & (io_in_c_valid & _T_1044 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_1044 & ~reset & ~_T_1054) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck carries invalid param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_890 & (io_in_c_valid & _T_1044 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_1044 & ~reset & ~_T_890) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck is corrupt (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_address_ok_T_9 & (io_in_c_valid & _T_1062 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_1062 & ~reset & ~_address_ok_T_9) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData carries unmanaged address (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_1062 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_1062 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_1062 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_1062 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1054 & (io_in_c_valid & _T_1062 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_1062 & ~reset & ~_T_1054) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData carries invalid param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_address_ok_T_9 & (io_in_c_valid & _T_1076 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_1076 & ~reset & ~_address_ok_T_9) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck carries unmanaged address (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_1076 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_1076 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck carries invalid source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_1076 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_1076 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck address not aligned to size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1054 & (io_in_c_valid & _T_1076 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_1076 & ~reset & ~_T_1054) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck carries invalid param (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_890 & (io_in_c_valid & _T_1076 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_1076 & ~reset & ~_T_890) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck is corrupt (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1099 & (_T_1098 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1098 & ~reset & ~_T_1099) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1103 & (_T_1098 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1098 & ~reset & ~_T_1103) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1107 & (_T_1098 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1098 & ~reset & ~_T_1107) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1111 & (_T_1098 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1098 & ~reset & ~_T_1111) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1115 & (_T_1098 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1098 & ~reset & ~_T_1115) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1123 & (_T_1122 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1122 & _T_2 & ~_T_1123) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1127 & (_T_1122 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1122 & _T_2 & ~_T_1127) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1131 & (_T_1122 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1122 & _T_2 & ~_T_1131) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1135 & (_T_1122 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1122 & _T_2 & ~_T_1135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1139 & (_T_1122 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1122 & _T_2 & ~_T_1139) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1155 & (_T_1150 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1150 & ~reset & ~_T_1155) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel param changed within multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1167 & (_T_1150 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1150 & ~reset & ~_T_1167) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel addresss changed with multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1175 & (_T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1174 & ~reset & ~_T_1175) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel opcode changed within multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1179 & (_T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1174 & ~reset & ~_T_1179) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel param changed within multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1183 & (_T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1174 & ~reset & ~_T_1183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel size changed within multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1187 & (_T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1174 & ~reset & ~_T_1187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel source changed within multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1191 & (_T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1174 & ~reset & ~_T_1191) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel address changed with multibeat operation (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1204 & (_T_1200 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1200 & ~reset & ~_T_1204) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1223 & (_T_1211 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1211 & _T_2 & ~_T_1223) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1229 & (_T_1211 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1211 & same_cycle_resp & _T_2 & ~_T_1229) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1233 & (_T_1211 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1211 & same_cycle_resp & _T_2 & ~_T_1233) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1241 & (_T_1211 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1211 & ~same_cycle_resp & _T_2 & ~_T_1241) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1245 & (_T_1211 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1211 & ~same_cycle_resp & _T_2 & ~_T_1245) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1257 & (_T_1255 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1255 & _T_2 & ~_T_1257) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1264 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_1264) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1273 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1273) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1293 & (_T_1290 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1290 & ~reset & ~_T_1293) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel re-used a source ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1309 & (_T_1299 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1299 & _T_2 & ~_T_1309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1313 & (_T_1299 & same_cycle_resp_1 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1299 & same_cycle_resp_1 & _T_2 & ~_T_1313) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1317 & (_T_1299 & ~same_cycle_resp_1 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1299 & ~same_cycle_resp_1 & _T_2 & ~_T_1317) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1328 & (_T_1326 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1326 & _T_2 & ~_T_1328) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1333 & (_T_1332 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1332 & _T_2 & ~_T_1333) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' and 'D' concurrent, despite minlatency 1 (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1342 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1342) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1358 & (_T_1355 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1355 & _T_2 & ~_T_1358) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel re-used a sink ID (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1366[0] & (io_in_e_valid & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_e_valid & ~reset & ~_T_1366[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'E' channel acknowledged for nothing inflight (connected at BankedL2Params.scala:60:27)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[30:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  param_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  size_1 = _RAND_9[2:0];
+  _RAND_10 = {1{`RANDOM}};
+  source_1 = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  sink = _RAND_11[1:0];
+  _RAND_12 = {1{`RANDOM}};
+  b_first_counter = _RAND_12[3:0];
+  _RAND_13 = {1{`RANDOM}};
+  param_2 = _RAND_13[1:0];
+  _RAND_14 = {1{`RANDOM}};
+  address_1 = _RAND_14[30:0];
+  _RAND_15 = {1{`RANDOM}};
+  c_first_counter = _RAND_15[3:0];
+  _RAND_16 = {1{`RANDOM}};
+  opcode_3 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  param_3 = _RAND_17[2:0];
+  _RAND_18 = {1{`RANDOM}};
+  size_3 = _RAND_18[2:0];
+  _RAND_19 = {1{`RANDOM}};
+  source_3 = _RAND_19[1:0];
+  _RAND_20 = {1{`RANDOM}};
+  address_2 = _RAND_20[30:0];
+  _RAND_21 = {1{`RANDOM}};
+  inflight = _RAND_21[2:0];
+  _RAND_22 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_22[11:0];
+  _RAND_23 = {1{`RANDOM}};
+  inflight_sizes = _RAND_23[11:0];
+  _RAND_24 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_24[3:0];
+  _RAND_25 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_25[3:0];
+  _RAND_26 = {1{`RANDOM}};
+  watchdog = _RAND_26[31:0];
+  _RAND_27 = {1{`RANDOM}};
+  inflight_1 = _RAND_27[2:0];
+  _RAND_28 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_28[11:0];
+  _RAND_29 = {1{`RANDOM}};
+  c_first_counter_1 = _RAND_29[3:0];
+  _RAND_30 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_30[3:0];
+  _RAND_31 = {1{`RANDOM}};
+  watchdog_1 = _RAND_31[31:0];
+  _RAND_32 = {1{`RANDOM}};
+  inflight_2 = _RAND_32[3:0];
+  _RAND_33 = {1{`RANDOM}};
+  d_first_counter_3 = _RAND_33[3:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module BroadcastFilter(
+  output        io_request_ready,
+  input         io_request_valid,
+  input  [1:0]  io_request_bits_mshr,
+  input  [30:0] io_request_bits_address,
+  input         io_request_bits_allocOH,
+  input         io_request_bits_needT,
+  input         io_response_ready,
+  output        io_response_valid,
+  output [1:0]  io_response_bits_mshr,
+  output [30:0] io_response_bits_address,
+  output        io_response_bits_allocOH,
+  output        io_response_bits_needT
+);
+  assign io_request_ready = io_response_ready; // @[Broadcast.scala 362:20]
+  assign io_response_valid = io_request_valid; // @[Broadcast.scala 363:21]
+  assign io_response_bits_mshr = io_request_bits_mshr; // @[Broadcast.scala 365:28]
+  assign io_response_bits_address = io_request_bits_address; // @[Broadcast.scala 366:28]
+  assign io_response_bits_allocOH = io_request_bits_allocOH; // @[Broadcast.scala 368:28]
+  assign io_response_bits_needT = io_request_bits_needT; // @[Broadcast.scala 367:28]
+endmodule
+module Queue_11(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [3:0]  io_enq_bits_mask,
+  input  [31:0] io_enq_bits_data,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [3:0]  io_deq_bits_mask,
+  output [31:0] io_deq_bits_data
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  reg [3:0] ram_mask [0:15]; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [31:0] ram_data [0:15]; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_data_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] value; // @[Counter.scala 62:40]
+  reg [3:0] value_1; // @[Counter.scala 62:40]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  ptr_match = value == value_1; // @[Decoupled.scala 263:33]
+  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 264:25]
+  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 265:24]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _value_T_1 = value + 4'h1; // @[Counter.scala 78:24]
+  wire [3:0] _value_T_3 = value_1 + 4'h1; // @[Counter.scala 78:24]
+  assign ram_mask_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_mask_io_deq_bits_MPORT_addr = value_1;
+  assign ram_mask_io_deq_bits_MPORT_data = ram_mask[ram_mask_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_mask_MPORT_data = io_enq_bits_mask;
+  assign ram_mask_MPORT_addr = value;
+  assign ram_mask_MPORT_mask = 1'h1;
+  assign ram_mask_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_data_io_deq_bits_MPORT_addr = value_1;
+  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_data_MPORT_data = io_enq_bits_data;
+  assign ram_data_MPORT_addr = value;
+  assign ram_data_MPORT_mask = 1'h1;
+  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_mask = ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_mask_MPORT_en & ram_mask_MPORT_mask) begin
+      ram_mask[ram_mask_MPORT_addr] <= ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
+      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value <= 4'h0; // @[Counter.scala 62:40]
+    end else if (do_enq) begin // @[Decoupled.scala 272:16]
+      value <= _value_T_1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value_1 <= 4'h0; // @[Counter.scala 62:40]
+    end else if (do_deq) begin // @[Decoupled.scala 276:16]
+      value_1 <= _value_T_3; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 16; initvar = initvar+1)
+    ram_mask[initvar] = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 16; initvar = initvar+1)
+    ram_data[initvar] = _RAND_1[31:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_2 = {1{`RANDOM}};
+  value = _RAND_2[3:0];
+  _RAND_3 = {1{`RANDOM}};
+  value_1 = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  maybe_full = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLBroadcastTracker(
+  input         clock,
+  input         reset,
+  input         io_in_a_first,
+  output        io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input  [31:0] io_in_a_bits_data,
+  input         io_out_a_ready,
+  output        io_out_a_valid,
+  output [2:0]  io_out_a_bits_opcode,
+  output [2:0]  io_out_a_bits_param,
+  output [2:0]  io_out_a_bits_size,
+  output [3:0]  io_out_a_bits_source,
+  output [30:0] io_out_a_bits_address,
+  output [3:0]  io_out_a_bits_mask,
+  output [31:0] io_out_a_bits_data,
+  input         io_probe_valid,
+  input         io_probe_bits_count,
+  input         io_probenack,
+  input         io_probedack,
+  input         io_probesack,
+  input         io_d_last,
+  input         io_e_last,
+  output [1:0]  io_source,
+  output [24:0] io_line,
+  output        io_idle,
+  output        io_need_d
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+`endif // RANDOMIZE_REG_INIT
+  wire  o_data_clock; // @[Decoupled.scala 361:21]
+  wire  o_data_reset; // @[Decoupled.scala 361:21]
+  wire  o_data_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  o_data_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [3:0] o_data_io_enq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] o_data_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  o_data_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  o_data_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [3:0] o_data_io_deq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] o_data_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  reg  got_e; // @[Broadcast.scala 423:24]
+  reg  sent_d; // @[Broadcast.scala 424:24]
+  reg  shared; // @[Broadcast.scala 425:20]
+  reg [2:0] opcode; // @[Broadcast.scala 426:20]
+  reg [2:0] param; // @[Broadcast.scala 427:20]
+  reg [2:0] size; // @[Broadcast.scala 428:20]
+  reg [1:0] source; // @[Broadcast.scala 429:20]
+  reg [30:0] address; // @[Broadcast.scala 432:24]
+  reg  count; // @[Broadcast.scala 433:20]
+  wire  idle = got_e & sent_d; // @[Broadcast.scala 435:23]
+  wire  _T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire  _T_1 = _T & io_in_a_first; // @[Broadcast.scala 437:24]
+  wire  _T_3 = ~reset; // @[Broadcast.scala 438:12]
+  wire  _GEN_0 = _T & io_in_a_first ? 1'h0 : sent_d; // @[Broadcast.scala 437:42 439:13 424:24]
+  wire  _GEN_1 = _T & io_in_a_first ? 1'h0 : shared; // @[Broadcast.scala 437:42 440:13 425:20]
+  wire  _GEN_2 = _T & io_in_a_first ? io_in_a_bits_opcode != 3'h6 & io_in_a_bits_opcode != 3'h7 : got_e; // @[Broadcast.scala 437:42 441:13 423:24]
+  wire  _GEN_8 = _T & io_in_a_first | count; // @[Broadcast.scala 437:42 449:13 433:20]
+  wire  _GEN_9 = io_probe_valid ? io_probe_bits_count : _GEN_8; // @[Broadcast.scala 453:25 454:13]
+  wire  _GEN_11 = io_d_last | _GEN_0; // @[Broadcast.scala 458:20 460:12]
+  wire  _GEN_12 = io_e_last | _GEN_2; // @[Broadcast.scala 462:20 464:11]
+  wire  _T_13 = io_probenack | io_probedack; // @[Broadcast.scala 467:22]
+  wire [1:0] _count_T_1 = io_probenack & io_probedack ? 2'h2 : 2'h1; // @[Broadcast.scala 469:25]
+  wire [1:0] _GEN_15 = {{1'd0}, count}; // @[Broadcast.scala 469:20]
+  wire [1:0] _count_T_3 = _GEN_15 - _count_T_1; // @[Broadcast.scala 469:20]
+  wire [1:0] _GEN_13 = io_probenack | io_probedack ? _count_T_3 : {{1'd0}, _GEN_9}; // @[Broadcast.scala 467:39 469:11]
+  wire  _io_in_a_ready_T_1 = idle | ~io_in_a_first; // @[Broadcast.scala 485:26]
+  wire  i_data_ready = o_data_io_enq_ready; // @[Broadcast.scala 482:20 Decoupled.scala 365:17]
+  wire  probe_done = ~count; // @[Broadcast.scala 490:26]
+  wire  acquire = opcode == 3'h6 | opcode == 3'h7; // @[Broadcast.scala 491:52]
+  wire [1:0] transform = shared ? 2'h2 : 2'h3; // @[Broadcast.scala 493:22]
+  wire [1:0] _io_out_a_bits_source_T = acquire ? transform : 2'h0; // @[Broadcast.scala 500:35]
+  Queue_11 o_data ( // @[Decoupled.scala 361:21]
+    .clock(o_data_clock),
+    .reset(o_data_reset),
+    .io_enq_ready(o_data_io_enq_ready),
+    .io_enq_valid(o_data_io_enq_valid),
+    .io_enq_bits_mask(o_data_io_enq_bits_mask),
+    .io_enq_bits_data(o_data_io_enq_bits_data),
+    .io_deq_ready(o_data_io_deq_ready),
+    .io_deq_valid(o_data_io_deq_valid),
+    .io_deq_bits_mask(o_data_io_deq_bits_mask),
+    .io_deq_bits_data(o_data_io_deq_bits_data)
+  );
+  assign io_in_a_ready = (idle | ~io_in_a_first) & i_data_ready; // @[Broadcast.scala 485:45]
+  assign io_out_a_valid = o_data_io_deq_valid & probe_done; // @[Broadcast.scala 496:34]
+  assign io_out_a_bits_opcode = acquire ? 3'h4 : opcode; // @[Broadcast.scala 497:31]
+  assign io_out_a_bits_param = acquire ? 3'h0 : param; // @[Broadcast.scala 498:31]
+  assign io_out_a_bits_size = size; // @[Broadcast.scala 499:25]
+  assign io_out_a_bits_source = {_io_out_a_bits_source_T,source}; // @[Cat.scala 31:58]
+  assign io_out_a_bits_address = address; // @[Broadcast.scala 501:25]
+  assign io_out_a_bits_mask = o_data_io_deq_bits_mask; // @[Broadcast.scala 502:25]
+  assign io_out_a_bits_data = o_data_io_deq_bits_data; // @[Broadcast.scala 503:25]
+  assign io_source = source; // @[Broadcast.scala 478:13]
+  assign io_line = address[30:6]; // @[Broadcast.scala 479:22]
+  assign io_idle = got_e & sent_d; // @[Broadcast.scala 435:23]
+  assign io_need_d = ~sent_d; // @[Broadcast.scala 477:16]
+  assign o_data_clock = clock;
+  assign o_data_reset = reset;
+  assign o_data_io_enq_valid = _io_in_a_ready_T_1 & io_in_a_valid; // @[Broadcast.scala 486:44]
+  assign o_data_io_enq_bits_mask = io_in_a_bits_mask; // @[Broadcast.scala 482:20 487:20]
+  assign o_data_io_enq_bits_data = io_in_a_bits_data; // @[Broadcast.scala 482:20 488:20]
+  assign o_data_io_deq_ready = io_out_a_ready & probe_done; // @[Broadcast.scala 495:34]
+  always @(posedge clock) begin
+    got_e <= reset | _GEN_12; // @[Broadcast.scala 423:{24,24}]
+    sent_d <= reset | _GEN_11; // @[Broadcast.scala 424:{24,24}]
+    shared <= io_probesack | _GEN_1; // @[Broadcast.scala 472:23 473:12]
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      opcode <= io_in_a_bits_opcode; // @[Broadcast.scala 442:13]
+    end
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      param <= io_in_a_bits_param; // @[Broadcast.scala 443:13]
+    end
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      size <= io_in_a_bits_size; // @[Broadcast.scala 444:13]
+    end
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      source <= io_in_a_bits_source; // @[Broadcast.scala 445:13]
+    end
+    if (reset) begin // @[Broadcast.scala 432:24]
+      address <= 31'h0; // @[Broadcast.scala 432:24]
+    end else if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      address <= io_in_a_bits_address; // @[Broadcast.scala 448:13]
+    end
+    count <= _GEN_13[0];
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~idle & (_T_1 & ~reset)) begin
+          $fatal; // @[Broadcast.scala 438:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1 & ~reset & ~idle) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:438 assert (idle)\n"); // @[Broadcast.scala 438:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~sent_d) & (io_d_last & _T_3)) begin
+          $fatal; // @[Broadcast.scala 459:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_d_last & _T_3 & ~(~sent_d)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:459 assert (!sent_d)\n"); // @[Broadcast.scala 459:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~got_e) & (io_e_last & _T_3)) begin
+          $fatal; // @[Broadcast.scala 463:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_e_last & _T_3 & ~(~got_e)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:463 assert (!got_e)\n"); // @[Broadcast.scala 463:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(count > 1'h0) & (_T_13 & _T_3)) begin
+          $fatal; // @[Broadcast.scala 468:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_13 & _T_3 & ~(count > 1'h0)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:468 assert (count > 0.U)\n"); // @[Broadcast.scala 468:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  got_e = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  sent_d = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  shared = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  opcode = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  param = _RAND_4[2:0];
+  _RAND_5 = {1{`RANDOM}};
+  size = _RAND_5[2:0];
+  _RAND_6 = {1{`RANDOM}};
+  source = _RAND_6[1:0];
+  _RAND_7 = {1{`RANDOM}};
+  address = _RAND_7[30:0];
+  _RAND_8 = {1{`RANDOM}};
+  count = _RAND_8[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLBroadcastTracker_1(
+  input         clock,
+  input         reset,
+  input         io_in_a_first,
+  output        io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input  [31:0] io_in_a_bits_data,
+  input         io_out_a_ready,
+  output        io_out_a_valid,
+  output [2:0]  io_out_a_bits_opcode,
+  output [2:0]  io_out_a_bits_param,
+  output [2:0]  io_out_a_bits_size,
+  output [3:0]  io_out_a_bits_source,
+  output [30:0] io_out_a_bits_address,
+  output [3:0]  io_out_a_bits_mask,
+  output [31:0] io_out_a_bits_data,
+  input         io_probe_valid,
+  input         io_probe_bits_count,
+  input         io_probenack,
+  input         io_probedack,
+  input         io_probesack,
+  input         io_d_last,
+  input         io_e_last,
+  output [1:0]  io_source,
+  output [24:0] io_line,
+  output        io_idle,
+  output        io_need_d
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+`endif // RANDOMIZE_REG_INIT
+  wire  o_data_clock; // @[Decoupled.scala 361:21]
+  wire  o_data_reset; // @[Decoupled.scala 361:21]
+  wire  o_data_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  o_data_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [3:0] o_data_io_enq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] o_data_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  o_data_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  o_data_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [3:0] o_data_io_deq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] o_data_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  reg  got_e; // @[Broadcast.scala 423:24]
+  reg  sent_d; // @[Broadcast.scala 424:24]
+  reg  shared; // @[Broadcast.scala 425:20]
+  reg [2:0] opcode; // @[Broadcast.scala 426:20]
+  reg [2:0] param; // @[Broadcast.scala 427:20]
+  reg [2:0] size; // @[Broadcast.scala 428:20]
+  reg [1:0] source; // @[Broadcast.scala 429:20]
+  reg [30:0] address; // @[Broadcast.scala 432:24]
+  reg  count; // @[Broadcast.scala 433:20]
+  wire  idle = got_e & sent_d; // @[Broadcast.scala 435:23]
+  wire  _T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire  _T_1 = _T & io_in_a_first; // @[Broadcast.scala 437:24]
+  wire  _T_3 = ~reset; // @[Broadcast.scala 438:12]
+  wire  _GEN_0 = _T & io_in_a_first ? 1'h0 : sent_d; // @[Broadcast.scala 437:42 439:13 424:24]
+  wire  _GEN_1 = _T & io_in_a_first ? 1'h0 : shared; // @[Broadcast.scala 437:42 440:13 425:20]
+  wire  _GEN_2 = _T & io_in_a_first ? io_in_a_bits_opcode != 3'h6 & io_in_a_bits_opcode != 3'h7 : got_e; // @[Broadcast.scala 437:42 441:13 423:24]
+  wire  _GEN_8 = _T & io_in_a_first | count; // @[Broadcast.scala 437:42 449:13 433:20]
+  wire  _GEN_9 = io_probe_valid ? io_probe_bits_count : _GEN_8; // @[Broadcast.scala 453:25 454:13]
+  wire  _GEN_11 = io_d_last | _GEN_0; // @[Broadcast.scala 458:20 460:12]
+  wire  _GEN_12 = io_e_last | _GEN_2; // @[Broadcast.scala 462:20 464:11]
+  wire  _T_13 = io_probenack | io_probedack; // @[Broadcast.scala 467:22]
+  wire [1:0] _count_T_1 = io_probenack & io_probedack ? 2'h2 : 2'h1; // @[Broadcast.scala 469:25]
+  wire [1:0] _GEN_15 = {{1'd0}, count}; // @[Broadcast.scala 469:20]
+  wire [1:0] _count_T_3 = _GEN_15 - _count_T_1; // @[Broadcast.scala 469:20]
+  wire [1:0] _GEN_13 = io_probenack | io_probedack ? _count_T_3 : {{1'd0}, _GEN_9}; // @[Broadcast.scala 467:39 469:11]
+  wire  _io_in_a_ready_T_1 = idle | ~io_in_a_first; // @[Broadcast.scala 485:26]
+  wire  i_data_ready = o_data_io_enq_ready; // @[Broadcast.scala 482:20 Decoupled.scala 365:17]
+  wire  probe_done = ~count; // @[Broadcast.scala 490:26]
+  wire  acquire = opcode == 3'h6 | opcode == 3'h7; // @[Broadcast.scala 491:52]
+  wire [1:0] transform = shared ? 2'h2 : 2'h3; // @[Broadcast.scala 493:22]
+  wire [1:0] _io_out_a_bits_source_T = acquire ? transform : 2'h0; // @[Broadcast.scala 500:35]
+  Queue_11 o_data ( // @[Decoupled.scala 361:21]
+    .clock(o_data_clock),
+    .reset(o_data_reset),
+    .io_enq_ready(o_data_io_enq_ready),
+    .io_enq_valid(o_data_io_enq_valid),
+    .io_enq_bits_mask(o_data_io_enq_bits_mask),
+    .io_enq_bits_data(o_data_io_enq_bits_data),
+    .io_deq_ready(o_data_io_deq_ready),
+    .io_deq_valid(o_data_io_deq_valid),
+    .io_deq_bits_mask(o_data_io_deq_bits_mask),
+    .io_deq_bits_data(o_data_io_deq_bits_data)
+  );
+  assign io_in_a_ready = (idle | ~io_in_a_first) & i_data_ready; // @[Broadcast.scala 485:45]
+  assign io_out_a_valid = o_data_io_deq_valid & probe_done; // @[Broadcast.scala 496:34]
+  assign io_out_a_bits_opcode = acquire ? 3'h4 : opcode; // @[Broadcast.scala 497:31]
+  assign io_out_a_bits_param = acquire ? 3'h0 : param; // @[Broadcast.scala 498:31]
+  assign io_out_a_bits_size = size; // @[Broadcast.scala 499:25]
+  assign io_out_a_bits_source = {_io_out_a_bits_source_T,source}; // @[Cat.scala 31:58]
+  assign io_out_a_bits_address = address; // @[Broadcast.scala 501:25]
+  assign io_out_a_bits_mask = o_data_io_deq_bits_mask; // @[Broadcast.scala 502:25]
+  assign io_out_a_bits_data = o_data_io_deq_bits_data; // @[Broadcast.scala 503:25]
+  assign io_source = source; // @[Broadcast.scala 478:13]
+  assign io_line = address[30:6]; // @[Broadcast.scala 479:22]
+  assign io_idle = got_e & sent_d; // @[Broadcast.scala 435:23]
+  assign io_need_d = ~sent_d; // @[Broadcast.scala 477:16]
+  assign o_data_clock = clock;
+  assign o_data_reset = reset;
+  assign o_data_io_enq_valid = _io_in_a_ready_T_1 & io_in_a_valid; // @[Broadcast.scala 486:44]
+  assign o_data_io_enq_bits_mask = io_in_a_bits_mask; // @[Broadcast.scala 482:20 487:20]
+  assign o_data_io_enq_bits_data = io_in_a_bits_data; // @[Broadcast.scala 482:20 488:20]
+  assign o_data_io_deq_ready = io_out_a_ready & probe_done; // @[Broadcast.scala 495:34]
+  always @(posedge clock) begin
+    got_e <= reset | _GEN_12; // @[Broadcast.scala 423:{24,24}]
+    sent_d <= reset | _GEN_11; // @[Broadcast.scala 424:{24,24}]
+    shared <= io_probesack | _GEN_1; // @[Broadcast.scala 472:23 473:12]
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      opcode <= io_in_a_bits_opcode; // @[Broadcast.scala 442:13]
+    end
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      param <= io_in_a_bits_param; // @[Broadcast.scala 443:13]
+    end
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      size <= io_in_a_bits_size; // @[Broadcast.scala 444:13]
+    end
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      source <= io_in_a_bits_source; // @[Broadcast.scala 445:13]
+    end
+    if (reset) begin // @[Broadcast.scala 432:24]
+      address <= 31'h40; // @[Broadcast.scala 432:24]
+    end else if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      address <= io_in_a_bits_address; // @[Broadcast.scala 448:13]
+    end
+    count <= _GEN_13[0];
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~idle & (_T_1 & ~reset)) begin
+          $fatal; // @[Broadcast.scala 438:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1 & ~reset & ~idle) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:438 assert (idle)\n"); // @[Broadcast.scala 438:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~sent_d) & (io_d_last & _T_3)) begin
+          $fatal; // @[Broadcast.scala 459:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_d_last & _T_3 & ~(~sent_d)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:459 assert (!sent_d)\n"); // @[Broadcast.scala 459:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~got_e) & (io_e_last & _T_3)) begin
+          $fatal; // @[Broadcast.scala 463:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_e_last & _T_3 & ~(~got_e)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:463 assert (!got_e)\n"); // @[Broadcast.scala 463:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(count > 1'h0) & (_T_13 & _T_3)) begin
+          $fatal; // @[Broadcast.scala 468:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_13 & _T_3 & ~(count > 1'h0)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:468 assert (count > 0.U)\n"); // @[Broadcast.scala 468:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  got_e = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  sent_d = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  shared = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  opcode = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  param = _RAND_4[2:0];
+  _RAND_5 = {1{`RANDOM}};
+  size = _RAND_5[2:0];
+  _RAND_6 = {1{`RANDOM}};
+  source = _RAND_6[1:0];
+  _RAND_7 = {1{`RANDOM}};
+  address = _RAND_7[30:0];
+  _RAND_8 = {1{`RANDOM}};
+  count = _RAND_8[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLBroadcastTracker_2(
+  input         clock,
+  input         reset,
+  input         io_in_a_first,
+  output        io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input  [31:0] io_in_a_bits_data,
+  input         io_out_a_ready,
+  output        io_out_a_valid,
+  output [2:0]  io_out_a_bits_opcode,
+  output [2:0]  io_out_a_bits_param,
+  output [2:0]  io_out_a_bits_size,
+  output [3:0]  io_out_a_bits_source,
+  output [30:0] io_out_a_bits_address,
+  output [3:0]  io_out_a_bits_mask,
+  output [31:0] io_out_a_bits_data,
+  input         io_probe_valid,
+  input         io_probe_bits_count,
+  input         io_probenack,
+  input         io_probedack,
+  input         io_probesack,
+  input         io_d_last,
+  input         io_e_last,
+  output [1:0]  io_source,
+  output [24:0] io_line,
+  output        io_idle,
+  output        io_need_d
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+`endif // RANDOMIZE_REG_INIT
+  wire  o_data_clock; // @[Decoupled.scala 361:21]
+  wire  o_data_reset; // @[Decoupled.scala 361:21]
+  wire  o_data_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  o_data_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [3:0] o_data_io_enq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] o_data_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  o_data_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  o_data_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [3:0] o_data_io_deq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] o_data_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  reg  got_e; // @[Broadcast.scala 423:24]
+  reg  sent_d; // @[Broadcast.scala 424:24]
+  reg  shared; // @[Broadcast.scala 425:20]
+  reg [2:0] opcode; // @[Broadcast.scala 426:20]
+  reg [2:0] param; // @[Broadcast.scala 427:20]
+  reg [2:0] size; // @[Broadcast.scala 428:20]
+  reg [1:0] source; // @[Broadcast.scala 429:20]
+  reg [30:0] address; // @[Broadcast.scala 432:24]
+  reg  count; // @[Broadcast.scala 433:20]
+  wire  idle = got_e & sent_d; // @[Broadcast.scala 435:23]
+  wire  _T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire  _T_1 = _T & io_in_a_first; // @[Broadcast.scala 437:24]
+  wire  _T_3 = ~reset; // @[Broadcast.scala 438:12]
+  wire  _GEN_0 = _T & io_in_a_first ? 1'h0 : sent_d; // @[Broadcast.scala 437:42 439:13 424:24]
+  wire  _GEN_1 = _T & io_in_a_first ? 1'h0 : shared; // @[Broadcast.scala 437:42 440:13 425:20]
+  wire  _GEN_2 = _T & io_in_a_first ? io_in_a_bits_opcode != 3'h6 & io_in_a_bits_opcode != 3'h7 : got_e; // @[Broadcast.scala 437:42 441:13 423:24]
+  wire  _GEN_8 = _T & io_in_a_first | count; // @[Broadcast.scala 437:42 449:13 433:20]
+  wire  _GEN_9 = io_probe_valid ? io_probe_bits_count : _GEN_8; // @[Broadcast.scala 453:25 454:13]
+  wire  _GEN_11 = io_d_last | _GEN_0; // @[Broadcast.scala 458:20 460:12]
+  wire  _GEN_12 = io_e_last | _GEN_2; // @[Broadcast.scala 462:20 464:11]
+  wire  _T_13 = io_probenack | io_probedack; // @[Broadcast.scala 467:22]
+  wire [1:0] _count_T_1 = io_probenack & io_probedack ? 2'h2 : 2'h1; // @[Broadcast.scala 469:25]
+  wire [1:0] _GEN_15 = {{1'd0}, count}; // @[Broadcast.scala 469:20]
+  wire [1:0] _count_T_3 = _GEN_15 - _count_T_1; // @[Broadcast.scala 469:20]
+  wire [1:0] _GEN_13 = io_probenack | io_probedack ? _count_T_3 : {{1'd0}, _GEN_9}; // @[Broadcast.scala 467:39 469:11]
+  wire  _io_in_a_ready_T_1 = idle | ~io_in_a_first; // @[Broadcast.scala 485:26]
+  wire  i_data_ready = o_data_io_enq_ready; // @[Broadcast.scala 482:20 Decoupled.scala 365:17]
+  wire  probe_done = ~count; // @[Broadcast.scala 490:26]
+  wire  acquire = opcode == 3'h6 | opcode == 3'h7; // @[Broadcast.scala 491:52]
+  wire [1:0] transform = shared ? 2'h2 : 2'h3; // @[Broadcast.scala 493:22]
+  wire [1:0] _io_out_a_bits_source_T = acquire ? transform : 2'h0; // @[Broadcast.scala 500:35]
+  Queue_11 o_data ( // @[Decoupled.scala 361:21]
+    .clock(o_data_clock),
+    .reset(o_data_reset),
+    .io_enq_ready(o_data_io_enq_ready),
+    .io_enq_valid(o_data_io_enq_valid),
+    .io_enq_bits_mask(o_data_io_enq_bits_mask),
+    .io_enq_bits_data(o_data_io_enq_bits_data),
+    .io_deq_ready(o_data_io_deq_ready),
+    .io_deq_valid(o_data_io_deq_valid),
+    .io_deq_bits_mask(o_data_io_deq_bits_mask),
+    .io_deq_bits_data(o_data_io_deq_bits_data)
+  );
+  assign io_in_a_ready = (idle | ~io_in_a_first) & i_data_ready; // @[Broadcast.scala 485:45]
+  assign io_out_a_valid = o_data_io_deq_valid & probe_done; // @[Broadcast.scala 496:34]
+  assign io_out_a_bits_opcode = acquire ? 3'h4 : opcode; // @[Broadcast.scala 497:31]
+  assign io_out_a_bits_param = acquire ? 3'h0 : param; // @[Broadcast.scala 498:31]
+  assign io_out_a_bits_size = size; // @[Broadcast.scala 499:25]
+  assign io_out_a_bits_source = {_io_out_a_bits_source_T,source}; // @[Cat.scala 31:58]
+  assign io_out_a_bits_address = address; // @[Broadcast.scala 501:25]
+  assign io_out_a_bits_mask = o_data_io_deq_bits_mask; // @[Broadcast.scala 502:25]
+  assign io_out_a_bits_data = o_data_io_deq_bits_data; // @[Broadcast.scala 503:25]
+  assign io_source = source; // @[Broadcast.scala 478:13]
+  assign io_line = address[30:6]; // @[Broadcast.scala 479:22]
+  assign io_idle = got_e & sent_d; // @[Broadcast.scala 435:23]
+  assign io_need_d = ~sent_d; // @[Broadcast.scala 477:16]
+  assign o_data_clock = clock;
+  assign o_data_reset = reset;
+  assign o_data_io_enq_valid = _io_in_a_ready_T_1 & io_in_a_valid; // @[Broadcast.scala 486:44]
+  assign o_data_io_enq_bits_mask = io_in_a_bits_mask; // @[Broadcast.scala 482:20 487:20]
+  assign o_data_io_enq_bits_data = io_in_a_bits_data; // @[Broadcast.scala 482:20 488:20]
+  assign o_data_io_deq_ready = io_out_a_ready & probe_done; // @[Broadcast.scala 495:34]
+  always @(posedge clock) begin
+    got_e <= reset | _GEN_12; // @[Broadcast.scala 423:{24,24}]
+    sent_d <= reset | _GEN_11; // @[Broadcast.scala 424:{24,24}]
+    shared <= io_probesack | _GEN_1; // @[Broadcast.scala 472:23 473:12]
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      opcode <= io_in_a_bits_opcode; // @[Broadcast.scala 442:13]
+    end
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      param <= io_in_a_bits_param; // @[Broadcast.scala 443:13]
+    end
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      size <= io_in_a_bits_size; // @[Broadcast.scala 444:13]
+    end
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      source <= io_in_a_bits_source; // @[Broadcast.scala 445:13]
+    end
+    if (reset) begin // @[Broadcast.scala 432:24]
+      address <= 31'h80; // @[Broadcast.scala 432:24]
+    end else if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      address <= io_in_a_bits_address; // @[Broadcast.scala 448:13]
+    end
+    count <= _GEN_13[0];
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~idle & (_T_1 & ~reset)) begin
+          $fatal; // @[Broadcast.scala 438:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1 & ~reset & ~idle) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:438 assert (idle)\n"); // @[Broadcast.scala 438:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~sent_d) & (io_d_last & _T_3)) begin
+          $fatal; // @[Broadcast.scala 459:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_d_last & _T_3 & ~(~sent_d)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:459 assert (!sent_d)\n"); // @[Broadcast.scala 459:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~got_e) & (io_e_last & _T_3)) begin
+          $fatal; // @[Broadcast.scala 463:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_e_last & _T_3 & ~(~got_e)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:463 assert (!got_e)\n"); // @[Broadcast.scala 463:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(count > 1'h0) & (_T_13 & _T_3)) begin
+          $fatal; // @[Broadcast.scala 468:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_13 & _T_3 & ~(count > 1'h0)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:468 assert (count > 0.U)\n"); // @[Broadcast.scala 468:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  got_e = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  sent_d = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  shared = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  opcode = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  param = _RAND_4[2:0];
+  _RAND_5 = {1{`RANDOM}};
+  size = _RAND_5[2:0];
+  _RAND_6 = {1{`RANDOM}};
+  source = _RAND_6[1:0];
+  _RAND_7 = {1{`RANDOM}};
+  address = _RAND_7[30:0];
+  _RAND_8 = {1{`RANDOM}};
+  count = _RAND_8[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLBroadcastTracker_3(
+  input         clock,
+  input         reset,
+  input         io_in_a_first,
+  output        io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input  [31:0] io_in_a_bits_data,
+  input         io_out_a_ready,
+  output        io_out_a_valid,
+  output [2:0]  io_out_a_bits_opcode,
+  output [2:0]  io_out_a_bits_param,
+  output [2:0]  io_out_a_bits_size,
+  output [3:0]  io_out_a_bits_source,
+  output [30:0] io_out_a_bits_address,
+  output [3:0]  io_out_a_bits_mask,
+  output [31:0] io_out_a_bits_data,
+  input         io_probe_valid,
+  input         io_probe_bits_count,
+  input         io_probenack,
+  input         io_probedack,
+  input         io_probesack,
+  input         io_d_last,
+  input         io_e_last,
+  output [1:0]  io_source,
+  output [24:0] io_line,
+  output        io_idle,
+  output        io_need_d
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+`endif // RANDOMIZE_REG_INIT
+  wire  o_data_clock; // @[Decoupled.scala 361:21]
+  wire  o_data_reset; // @[Decoupled.scala 361:21]
+  wire  o_data_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  o_data_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [3:0] o_data_io_enq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] o_data_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  o_data_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  o_data_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [3:0] o_data_io_deq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] o_data_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  reg  got_e; // @[Broadcast.scala 423:24]
+  reg  sent_d; // @[Broadcast.scala 424:24]
+  reg  shared; // @[Broadcast.scala 425:20]
+  reg [2:0] opcode; // @[Broadcast.scala 426:20]
+  reg [2:0] param; // @[Broadcast.scala 427:20]
+  reg [2:0] size; // @[Broadcast.scala 428:20]
+  reg [1:0] source; // @[Broadcast.scala 429:20]
+  reg [30:0] address; // @[Broadcast.scala 432:24]
+  reg  count; // @[Broadcast.scala 433:20]
+  wire  idle = got_e & sent_d; // @[Broadcast.scala 435:23]
+  wire  _T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire  _T_1 = _T & io_in_a_first; // @[Broadcast.scala 437:24]
+  wire  _T_3 = ~reset; // @[Broadcast.scala 438:12]
+  wire  _GEN_0 = _T & io_in_a_first ? 1'h0 : sent_d; // @[Broadcast.scala 437:42 439:13 424:24]
+  wire  _GEN_1 = _T & io_in_a_first ? 1'h0 : shared; // @[Broadcast.scala 437:42 440:13 425:20]
+  wire  _GEN_2 = _T & io_in_a_first ? io_in_a_bits_opcode != 3'h6 & io_in_a_bits_opcode != 3'h7 : got_e; // @[Broadcast.scala 437:42 441:13 423:24]
+  wire  _GEN_8 = _T & io_in_a_first | count; // @[Broadcast.scala 437:42 449:13 433:20]
+  wire  _GEN_9 = io_probe_valid ? io_probe_bits_count : _GEN_8; // @[Broadcast.scala 453:25 454:13]
+  wire  _GEN_11 = io_d_last | _GEN_0; // @[Broadcast.scala 458:20 460:12]
+  wire  _GEN_12 = io_e_last | _GEN_2; // @[Broadcast.scala 462:20 464:11]
+  wire  _T_13 = io_probenack | io_probedack; // @[Broadcast.scala 467:22]
+  wire [1:0] _count_T_1 = io_probenack & io_probedack ? 2'h2 : 2'h1; // @[Broadcast.scala 469:25]
+  wire [1:0] _GEN_15 = {{1'd0}, count}; // @[Broadcast.scala 469:20]
+  wire [1:0] _count_T_3 = _GEN_15 - _count_T_1; // @[Broadcast.scala 469:20]
+  wire [1:0] _GEN_13 = io_probenack | io_probedack ? _count_T_3 : {{1'd0}, _GEN_9}; // @[Broadcast.scala 467:39 469:11]
+  wire  _io_in_a_ready_T_1 = idle | ~io_in_a_first; // @[Broadcast.scala 485:26]
+  wire  i_data_ready = o_data_io_enq_ready; // @[Broadcast.scala 482:20 Decoupled.scala 365:17]
+  wire  probe_done = ~count; // @[Broadcast.scala 490:26]
+  wire  acquire = opcode == 3'h6 | opcode == 3'h7; // @[Broadcast.scala 491:52]
+  wire [1:0] transform = shared ? 2'h2 : 2'h3; // @[Broadcast.scala 493:22]
+  wire [1:0] _io_out_a_bits_source_T = acquire ? transform : 2'h0; // @[Broadcast.scala 500:35]
+  Queue_11 o_data ( // @[Decoupled.scala 361:21]
+    .clock(o_data_clock),
+    .reset(o_data_reset),
+    .io_enq_ready(o_data_io_enq_ready),
+    .io_enq_valid(o_data_io_enq_valid),
+    .io_enq_bits_mask(o_data_io_enq_bits_mask),
+    .io_enq_bits_data(o_data_io_enq_bits_data),
+    .io_deq_ready(o_data_io_deq_ready),
+    .io_deq_valid(o_data_io_deq_valid),
+    .io_deq_bits_mask(o_data_io_deq_bits_mask),
+    .io_deq_bits_data(o_data_io_deq_bits_data)
+  );
+  assign io_in_a_ready = (idle | ~io_in_a_first) & i_data_ready; // @[Broadcast.scala 485:45]
+  assign io_out_a_valid = o_data_io_deq_valid & probe_done; // @[Broadcast.scala 496:34]
+  assign io_out_a_bits_opcode = acquire ? 3'h4 : opcode; // @[Broadcast.scala 497:31]
+  assign io_out_a_bits_param = acquire ? 3'h0 : param; // @[Broadcast.scala 498:31]
+  assign io_out_a_bits_size = size; // @[Broadcast.scala 499:25]
+  assign io_out_a_bits_source = {_io_out_a_bits_source_T,source}; // @[Cat.scala 31:58]
+  assign io_out_a_bits_address = address; // @[Broadcast.scala 501:25]
+  assign io_out_a_bits_mask = o_data_io_deq_bits_mask; // @[Broadcast.scala 502:25]
+  assign io_out_a_bits_data = o_data_io_deq_bits_data; // @[Broadcast.scala 503:25]
+  assign io_source = source; // @[Broadcast.scala 478:13]
+  assign io_line = address[30:6]; // @[Broadcast.scala 479:22]
+  assign io_idle = got_e & sent_d; // @[Broadcast.scala 435:23]
+  assign io_need_d = ~sent_d; // @[Broadcast.scala 477:16]
+  assign o_data_clock = clock;
+  assign o_data_reset = reset;
+  assign o_data_io_enq_valid = _io_in_a_ready_T_1 & io_in_a_valid; // @[Broadcast.scala 486:44]
+  assign o_data_io_enq_bits_mask = io_in_a_bits_mask; // @[Broadcast.scala 482:20 487:20]
+  assign o_data_io_enq_bits_data = io_in_a_bits_data; // @[Broadcast.scala 482:20 488:20]
+  assign o_data_io_deq_ready = io_out_a_ready & probe_done; // @[Broadcast.scala 495:34]
+  always @(posedge clock) begin
+    got_e <= reset | _GEN_12; // @[Broadcast.scala 423:{24,24}]
+    sent_d <= reset | _GEN_11; // @[Broadcast.scala 424:{24,24}]
+    shared <= io_probesack | _GEN_1; // @[Broadcast.scala 472:23 473:12]
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      opcode <= io_in_a_bits_opcode; // @[Broadcast.scala 442:13]
+    end
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      param <= io_in_a_bits_param; // @[Broadcast.scala 443:13]
+    end
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      size <= io_in_a_bits_size; // @[Broadcast.scala 444:13]
+    end
+    if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      source <= io_in_a_bits_source; // @[Broadcast.scala 445:13]
+    end
+    if (reset) begin // @[Broadcast.scala 432:24]
+      address <= 31'hc0; // @[Broadcast.scala 432:24]
+    end else if (_T & io_in_a_first) begin // @[Broadcast.scala 437:42]
+      address <= io_in_a_bits_address; // @[Broadcast.scala 448:13]
+    end
+    count <= _GEN_13[0];
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~idle & (_T_1 & ~reset)) begin
+          $fatal; // @[Broadcast.scala 438:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1 & ~reset & ~idle) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:438 assert (idle)\n"); // @[Broadcast.scala 438:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~sent_d) & (io_d_last & _T_3)) begin
+          $fatal; // @[Broadcast.scala 459:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_d_last & _T_3 & ~(~sent_d)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:459 assert (!sent_d)\n"); // @[Broadcast.scala 459:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~got_e) & (io_e_last & _T_3)) begin
+          $fatal; // @[Broadcast.scala 463:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_e_last & _T_3 & ~(~got_e)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:463 assert (!got_e)\n"); // @[Broadcast.scala 463:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(count > 1'h0) & (_T_13 & _T_3)) begin
+          $fatal; // @[Broadcast.scala 468:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_13 & _T_3 & ~(count > 1'h0)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Broadcast.scala:468 assert (count > 0.U)\n"); // @[Broadcast.scala 468:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  got_e = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  sent_d = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  shared = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  opcode = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  param = _RAND_4[2:0];
+  _RAND_5 = {1{`RANDOM}};
+  size = _RAND_5[2:0];
+  _RAND_6 = {1{`RANDOM}};
+  source = _RAND_6[1:0];
+  _RAND_7 = {1{`RANDOM}};
+  address = _RAND_7[30:0];
+  _RAND_8 = {1{`RANDOM}};
+  count = _RAND_8[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLBroadcast(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_b_ready,
+  output        auto_in_b_valid,
+  output [1:0]  auto_in_b_bits_param,
+  output [30:0] auto_in_b_bits_address,
+  output        auto_in_c_ready,
+  input         auto_in_c_valid,
+  input  [2:0]  auto_in_c_bits_opcode,
+  input  [2:0]  auto_in_c_bits_param,
+  input  [2:0]  auto_in_c_bits_size,
+  input  [1:0]  auto_in_c_bits_source,
+  input  [30:0] auto_in_c_bits_address,
+  input  [31:0] auto_in_c_bits_data,
+  input         auto_in_c_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [1:0]  auto_in_d_bits_sink,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_in_e_valid,
+  input  [1:0]  auto_in_e_bits_sink,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [3:0]  auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [3:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_b_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_b_valid; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_b_bits_param; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_b_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_c_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_c_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_c_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_c_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_c_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_c_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_c_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_c_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_e_valid; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_e_bits_sink; // @[Nodes.scala 24:25]
+  wire  BroadcastFilter_io_request_ready; // @[Broadcast.scala 99:26]
+  wire  BroadcastFilter_io_request_valid; // @[Broadcast.scala 99:26]
+  wire [1:0] BroadcastFilter_io_request_bits_mshr; // @[Broadcast.scala 99:26]
+  wire [30:0] BroadcastFilter_io_request_bits_address; // @[Broadcast.scala 99:26]
+  wire  BroadcastFilter_io_request_bits_allocOH; // @[Broadcast.scala 99:26]
+  wire  BroadcastFilter_io_request_bits_needT; // @[Broadcast.scala 99:26]
+  wire  BroadcastFilter_io_response_ready; // @[Broadcast.scala 99:26]
+  wire  BroadcastFilter_io_response_valid; // @[Broadcast.scala 99:26]
+  wire [1:0] BroadcastFilter_io_response_bits_mshr; // @[Broadcast.scala 99:26]
+  wire [30:0] BroadcastFilter_io_response_bits_address; // @[Broadcast.scala 99:26]
+  wire  BroadcastFilter_io_response_bits_allocOH; // @[Broadcast.scala 99:26]
+  wire  BroadcastFilter_io_response_bits_needT; // @[Broadcast.scala 99:26]
+  wire  TLBroadcastTracker_clock; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_reset; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_io_in_a_first; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_io_in_a_ready; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_io_in_a_valid; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_io_in_a_bits_opcode; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_io_in_a_bits_param; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_io_in_a_bits_size; // @[Broadcast.scala 107:15]
+  wire [1:0] TLBroadcastTracker_io_in_a_bits_source; // @[Broadcast.scala 107:15]
+  wire [30:0] TLBroadcastTracker_io_in_a_bits_address; // @[Broadcast.scala 107:15]
+  wire [3:0] TLBroadcastTracker_io_in_a_bits_mask; // @[Broadcast.scala 107:15]
+  wire [31:0] TLBroadcastTracker_io_in_a_bits_data; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_io_out_a_ready; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_io_out_a_valid; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_io_out_a_bits_opcode; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_io_out_a_bits_param; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_io_out_a_bits_size; // @[Broadcast.scala 107:15]
+  wire [3:0] TLBroadcastTracker_io_out_a_bits_source; // @[Broadcast.scala 107:15]
+  wire [30:0] TLBroadcastTracker_io_out_a_bits_address; // @[Broadcast.scala 107:15]
+  wire [3:0] TLBroadcastTracker_io_out_a_bits_mask; // @[Broadcast.scala 107:15]
+  wire [31:0] TLBroadcastTracker_io_out_a_bits_data; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_io_probe_valid; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_io_probe_bits_count; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_io_probenack; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_io_probedack; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_io_probesack; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_io_d_last; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_io_e_last; // @[Broadcast.scala 107:15]
+  wire [1:0] TLBroadcastTracker_io_source; // @[Broadcast.scala 107:15]
+  wire [24:0] TLBroadcastTracker_io_line; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_io_idle; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_io_need_d; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_clock; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_reset; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_io_in_a_first; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_io_in_a_ready; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_io_in_a_valid; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_1_io_in_a_bits_opcode; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_1_io_in_a_bits_param; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_1_io_in_a_bits_size; // @[Broadcast.scala 107:15]
+  wire [1:0] TLBroadcastTracker_1_io_in_a_bits_source; // @[Broadcast.scala 107:15]
+  wire [30:0] TLBroadcastTracker_1_io_in_a_bits_address; // @[Broadcast.scala 107:15]
+  wire [3:0] TLBroadcastTracker_1_io_in_a_bits_mask; // @[Broadcast.scala 107:15]
+  wire [31:0] TLBroadcastTracker_1_io_in_a_bits_data; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_io_out_a_ready; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_io_out_a_valid; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_1_io_out_a_bits_opcode; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_1_io_out_a_bits_param; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_1_io_out_a_bits_size; // @[Broadcast.scala 107:15]
+  wire [3:0] TLBroadcastTracker_1_io_out_a_bits_source; // @[Broadcast.scala 107:15]
+  wire [30:0] TLBroadcastTracker_1_io_out_a_bits_address; // @[Broadcast.scala 107:15]
+  wire [3:0] TLBroadcastTracker_1_io_out_a_bits_mask; // @[Broadcast.scala 107:15]
+  wire [31:0] TLBroadcastTracker_1_io_out_a_bits_data; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_io_probe_valid; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_io_probe_bits_count; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_io_probenack; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_io_probedack; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_io_probesack; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_io_d_last; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_io_e_last; // @[Broadcast.scala 107:15]
+  wire [1:0] TLBroadcastTracker_1_io_source; // @[Broadcast.scala 107:15]
+  wire [24:0] TLBroadcastTracker_1_io_line; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_io_idle; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_1_io_need_d; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_clock; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_reset; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_io_in_a_first; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_io_in_a_ready; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_io_in_a_valid; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_2_io_in_a_bits_opcode; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_2_io_in_a_bits_param; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_2_io_in_a_bits_size; // @[Broadcast.scala 107:15]
+  wire [1:0] TLBroadcastTracker_2_io_in_a_bits_source; // @[Broadcast.scala 107:15]
+  wire [30:0] TLBroadcastTracker_2_io_in_a_bits_address; // @[Broadcast.scala 107:15]
+  wire [3:0] TLBroadcastTracker_2_io_in_a_bits_mask; // @[Broadcast.scala 107:15]
+  wire [31:0] TLBroadcastTracker_2_io_in_a_bits_data; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_io_out_a_ready; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_io_out_a_valid; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_2_io_out_a_bits_opcode; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_2_io_out_a_bits_param; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_2_io_out_a_bits_size; // @[Broadcast.scala 107:15]
+  wire [3:0] TLBroadcastTracker_2_io_out_a_bits_source; // @[Broadcast.scala 107:15]
+  wire [30:0] TLBroadcastTracker_2_io_out_a_bits_address; // @[Broadcast.scala 107:15]
+  wire [3:0] TLBroadcastTracker_2_io_out_a_bits_mask; // @[Broadcast.scala 107:15]
+  wire [31:0] TLBroadcastTracker_2_io_out_a_bits_data; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_io_probe_valid; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_io_probe_bits_count; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_io_probenack; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_io_probedack; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_io_probesack; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_io_d_last; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_io_e_last; // @[Broadcast.scala 107:15]
+  wire [1:0] TLBroadcastTracker_2_io_source; // @[Broadcast.scala 107:15]
+  wire [24:0] TLBroadcastTracker_2_io_line; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_io_idle; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_2_io_need_d; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_clock; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_reset; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_io_in_a_first; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_io_in_a_ready; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_io_in_a_valid; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_3_io_in_a_bits_opcode; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_3_io_in_a_bits_param; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_3_io_in_a_bits_size; // @[Broadcast.scala 107:15]
+  wire [1:0] TLBroadcastTracker_3_io_in_a_bits_source; // @[Broadcast.scala 107:15]
+  wire [30:0] TLBroadcastTracker_3_io_in_a_bits_address; // @[Broadcast.scala 107:15]
+  wire [3:0] TLBroadcastTracker_3_io_in_a_bits_mask; // @[Broadcast.scala 107:15]
+  wire [31:0] TLBroadcastTracker_3_io_in_a_bits_data; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_io_out_a_ready; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_io_out_a_valid; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_3_io_out_a_bits_opcode; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_3_io_out_a_bits_param; // @[Broadcast.scala 107:15]
+  wire [2:0] TLBroadcastTracker_3_io_out_a_bits_size; // @[Broadcast.scala 107:15]
+  wire [3:0] TLBroadcastTracker_3_io_out_a_bits_source; // @[Broadcast.scala 107:15]
+  wire [30:0] TLBroadcastTracker_3_io_out_a_bits_address; // @[Broadcast.scala 107:15]
+  wire [3:0] TLBroadcastTracker_3_io_out_a_bits_mask; // @[Broadcast.scala 107:15]
+  wire [31:0] TLBroadcastTracker_3_io_out_a_bits_data; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_io_probe_valid; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_io_probe_bits_count; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_io_probenack; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_io_probedack; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_io_probesack; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_io_d_last; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_io_e_last; // @[Broadcast.scala 107:15]
+  wire [1:0] TLBroadcastTracker_3_io_source; // @[Broadcast.scala 107:15]
+  wire [24:0] TLBroadcastTracker_3_io_line; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_io_idle; // @[Broadcast.scala 107:15]
+  wire  TLBroadcastTracker_3_io_need_d; // @[Broadcast.scala 107:15]
+  wire [3:0] _T = 4'h1 << auto_in_e_bits_sink; // @[OneHot.scala 57:35]
+  wire  _T_14 = auto_out_d_bits_source[3:2] == 2'h1; // @[Broadcast.scala 119:27]
+  wire  opdata = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] beatsLeft; // @[Arbiter.scala 87:30]
+  wire  idle = beatsLeft == 4'h0; // @[Arbiter.scala 88:28]
+  wire  _T_56 = opdata | ~auto_out_d_bits_source[3]; // @[Broadcast.scala 140:34]
+  reg [3:0] counter; // @[Edges.scala 228:27]
+  wire [2:0] _T_38 = opdata ? 3'h5 : 3'h6; // @[Broadcast.scala 132:36]
+  wire [2:0] out_1_bits_opcode = auto_out_d_bits_source[3] ? _T_38 : auto_out_d_bits_opcode; // @[Broadcast.scala 130:21 131:24 132:30]
+  wire  beats1_opdata = out_1_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [12:0] _beats1_decode_T_1 = 13'h3f << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beats1_decode_T_3 = ~_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] beats1_decode = _beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire [3:0] beats1 = beats1_opdata ? beats1_decode : 4'h0; // @[Edges.scala 220:14]
+  wire  last = counter == 4'h1 | beats1 == 4'h0; // @[Edges.scala 231:37]
+  wire  _T_35 = ~_T_14; // @[Broadcast.scala 129:51]
+  wire  out_1_earlyValid = auto_out_d_valid & ~_T_14; // @[Broadcast.scala 129:48]
+  wire  _T_113 = auto_in_c_bits_opcode == 3'h6; // @[Broadcast.scala 161:45]
+  wire  out_earlyValid = auto_in_c_valid & _T_113; // @[Broadcast.scala 192:79]
+  wire [1:0] _readys_T = {out_1_earlyValid,out_earlyValid}; // @[Cat.scala 31:58]
+  wire [2:0] _readys_T_1 = {_readys_T, 1'h0}; // @[package.scala 244:48]
+  wire [1:0] _readys_T_3 = _readys_T | _readys_T_1[1:0]; // @[package.scala 244:43]
+  wire [2:0] _readys_T_5 = {_readys_T_3, 1'h0}; // @[Arbiter.scala 16:78]
+  wire [1:0] _readys_T_7 = ~_readys_T_5[1:0]; // @[Arbiter.scala 16:61]
+  wire  readys__1 = _readys_T_7[1]; // @[Arbiter.scala 95:86]
+  reg  state__1; // @[Arbiter.scala 116:26]
+  wire  allowed__1 = idle ? readys__1 : state__1; // @[Arbiter.scala 121:24]
+  wire  out_1_ready = auto_in_d_ready & allowed__1; // @[Arbiter.scala 123:31]
+  wire  _T_15 = out_1_ready & out_1_earlyValid; // @[Decoupled.scala 50:35]
+  wire [3:0] counter1 = counter - 4'h1; // @[Edges.scala 229:28]
+  wire  first = counter == 4'h0; // @[Edges.scala 230:25]
+  wire [1:0] out_1_bits_source = auto_out_d_bits_source[1:0]; // @[Broadcast.scala 121:26 130:21]
+  wire  _T_17 = TLBroadcastTracker_io_need_d & TLBroadcastTracker_io_source == out_1_bits_source; // @[Broadcast.scala 123:62]
+  wire  _T_19 = TLBroadcastTracker_1_io_need_d & TLBroadcastTracker_1_io_source == out_1_bits_source; // @[Broadcast.scala 123:62]
+  wire  _T_21 = TLBroadcastTracker_2_io_need_d & TLBroadcastTracker_2_io_source == out_1_bits_source; // @[Broadcast.scala 123:62]
+  wire  _T_23 = TLBroadcastTracker_3_io_need_d & TLBroadcastTracker_3_io_source == out_1_bits_source; // @[Broadcast.scala 123:62]
+  wire [3:0] _T_24 = {_T_23,_T_21,_T_19,_T_17}; // @[Broadcast.scala 123:102]
+  reg [3:0] r; // @[Reg.scala 16:16]
+  wire [3:0] _GEN_1 = first ? _T_24 : r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  _T_32 = ~reset; // @[Broadcast.scala 125:14]
+  wire  bundleOut_0_d_ready = out_1_ready | _T_14; // @[Broadcast.scala 128:50]
+  wire [1:0] _T_40 = auto_out_d_bits_source[2] ? 2'h0 : 2'h1; // @[Broadcast.scala 133:51]
+  wire [1:0] _T_41 = opdata ? _T_40 : 2'h0; // @[Broadcast.scala 133:36]
+  wire [1:0] out_1_bits_param = auto_out_d_bits_source[3] ? _T_41 : 2'h0; // @[Broadcast.scala 130:21 131:24 133:30]
+  wire [1:0] hi_1 = _GEN_1[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] lo_1 = _GEN_1[1:0]; // @[OneHot.scala 31:18]
+  wire  _T_42 = |hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _T_43 = hi_1 | lo_1; // @[OneHot.scala 32:28]
+  wire [1:0] out_1_bits_sink = {_T_42,_T_43[1]}; // @[Cat.scala 31:58]
+  wire  _T_65 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire  _T_110 = auto_in_c_bits_opcode == 3'h4; // @[Broadcast.scala 158:45]
+  wire  _T_111 = auto_in_c_bits_opcode == 3'h5; // @[Broadcast.scala 159:45]
+  wire  _T_112 = auto_in_c_bits_opcode == 3'h7; // @[Broadcast.scala 160:45]
+  wire  _T_115 = TLBroadcastTracker_io_line == auto_in_c_bits_address[30:6]; // @[Broadcast.scala 162:55]
+  wire  _T_117 = TLBroadcastTracker_1_io_line == auto_in_c_bits_address[30:6]; // @[Broadcast.scala 162:55]
+  wire  _T_119 = TLBroadcastTracker_2_io_line == auto_in_c_bits_address[30:6]; // @[Broadcast.scala 162:55]
+  wire  _T_121 = TLBroadcastTracker_3_io_line == auto_in_c_bits_address[30:6]; // @[Broadcast.scala 162:55]
+  wire [1:0] _T_122 = _T_115 ? TLBroadcastTracker_io_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_123 = _T_117 ? TLBroadcastTracker_1_io_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_124 = _T_119 ? TLBroadcastTracker_2_io_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_125 = _T_121 ? TLBroadcastTracker_3_io_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_126 = _T_122 | _T_123; // @[Mux.scala 27:73]
+  wire [1:0] _T_127 = _T_126 | _T_124; // @[Mux.scala 27:73]
+  wire [1:0] _T_128 = _T_127 | _T_125; // @[Mux.scala 27:73]
+  wire  readys__0 = _readys_T_7[0]; // @[Arbiter.scala 95:86]
+  reg  state__0; // @[Arbiter.scala 116:26]
+  wire  allowed__0 = idle ? readys__0 : state__0; // @[Arbiter.scala 121:24]
+  wire  out_ready = auto_in_d_ready & allowed__0; // @[Arbiter.scala 123:31]
+  reg [3:0] beatsLeft_1; // @[Arbiter.scala 87:30]
+  wire  idle_1 = beatsLeft_1 == 4'h0; // @[Arbiter.scala 88:28]
+  wire  out_7_earlyValid = TLBroadcastTracker_3_io_out_a_valid; // @[ReadyValidCancel.scala 68:19 69:20]
+  wire  out_6_earlyValid = TLBroadcastTracker_2_io_out_a_valid; // @[ReadyValidCancel.scala 68:19 69:20]
+  wire  out_5_earlyValid = TLBroadcastTracker_1_io_out_a_valid; // @[ReadyValidCancel.scala 68:19 69:20]
+  wire  out_4_earlyValid = TLBroadcastTracker_io_out_a_valid; // @[ReadyValidCancel.scala 68:19 69:20]
+  wire  out_3_earlyValid = auto_in_c_valid & (_T_111 | _T_112); // @[Broadcast.scala 197:35]
+  wire [4:0] _readys_T_10 = {out_7_earlyValid,out_6_earlyValid,out_5_earlyValid,out_4_earlyValid,out_3_earlyValid}; // @[Cat.scala 31:58]
+  wire [5:0] _readys_T_11 = {_readys_T_10, 1'h0}; // @[package.scala 244:48]
+  wire [4:0] _readys_T_13 = _readys_T_10 | _readys_T_11[4:0]; // @[package.scala 244:43]
+  wire [6:0] _readys_T_14 = {_readys_T_13, 2'h0}; // @[package.scala 244:48]
+  wire [4:0] _readys_T_16 = _readys_T_13 | _readys_T_14[4:0]; // @[package.scala 244:43]
+  wire [8:0] _readys_T_17 = {_readys_T_16, 4'h0}; // @[package.scala 244:48]
+  wire [4:0] _readys_T_19 = _readys_T_16 | _readys_T_17[4:0]; // @[package.scala 244:43]
+  wire [5:0] _readys_T_21 = {_readys_T_19, 1'h0}; // @[Arbiter.scala 16:78]
+  wire [4:0] _readys_T_23 = ~_readys_T_21[4:0]; // @[Arbiter.scala 16:61]
+  wire  readys_1_0 = _readys_T_23[0]; // @[Arbiter.scala 95:86]
+  reg  state_1_0; // @[Arbiter.scala 116:26]
+  wire  allowed_1_0 = idle_1 ? readys_1_0 : state_1_0; // @[Arbiter.scala 121:24]
+  wire  out_3_ready = auto_out_a_ready & allowed_1_0; // @[Arbiter.scala 123:31]
+  wire  _bundleIn_0_c_ready_T = _T_113 ? out_ready : out_3_ready; // @[Broadcast.scala 184:38]
+  wire  bundleIn_0_c_ready = _T_110 | _bundleIn_0_c_ready_T; // @[Broadcast.scala 184:32]
+  wire  _T_135 = bundleIn_0_c_ready & auto_in_c_valid; // @[Decoupled.scala 50:35]
+  wire  _T_136 = _T_110 | _T_111; // @[Broadcast.scala 170:52]
+  wire  _T_149 = auto_in_c_bits_param == 3'h4; // @[Broadcast.scala 178:27]
+  wire  _T_150 = auto_in_c_bits_param == 3'h0 | _T_149; // @[Broadcast.scala 177:50]
+  wire [12:0] _beats1_decode_T_5 = 13'h3f << auto_in_c_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beats1_decode_T_7 = ~_beats1_decode_T_5[5:0]; // @[package.scala 234:46]
+  wire [3:0] beats1_decode_1 = _beats1_decode_T_7[5:2]; // @[Edges.scala 219:59]
+  wire [1:0] _T_197 = _T_112 ? 2'h2 : 2'h1; // @[Broadcast.scala 195:25]
+  wire [1:0] _T_198 = _T_112 ? auto_in_c_bits_source : _T_128; // @[Broadcast.scala 196:25]
+  wire [3:0] a_source = {_T_197,_T_198}; // @[Cat.scala 31:58]
+  wire  a_mask_sizeOH_shiftAmount = auto_in_c_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _a_mask_sizeOH_T_1 = 2'h1 << a_mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] a_mask_sizeOH = _a_mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _a_mask_T = auto_in_c_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  a_mask_size = a_mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  a_mask_bit = auto_in_c_bits_address[1]; // @[Misc.scala 209:26]
+  wire  a_mask_nbit = ~a_mask_bit; // @[Misc.scala 210:20]
+  wire  a_mask_acc = _a_mask_T | a_mask_size & a_mask_nbit; // @[Misc.scala 214:29]
+  wire  a_mask_acc_1 = _a_mask_T | a_mask_size & a_mask_bit; // @[Misc.scala 214:29]
+  wire  a_mask_size_1 = a_mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  a_mask_bit_1 = auto_in_c_bits_address[0]; // @[Misc.scala 209:26]
+  wire  a_mask_nbit_1 = ~a_mask_bit_1; // @[Misc.scala 210:20]
+  wire  a_mask_eq_2 = a_mask_nbit & a_mask_nbit_1; // @[Misc.scala 213:27]
+  wire  a_mask_acc_2 = a_mask_acc | a_mask_size_1 & a_mask_eq_2; // @[Misc.scala 214:29]
+  wire  a_mask_eq_3 = a_mask_nbit & a_mask_bit_1; // @[Misc.scala 213:27]
+  wire  a_mask_acc_3 = a_mask_acc | a_mask_size_1 & a_mask_eq_3; // @[Misc.scala 214:29]
+  wire  a_mask_eq_4 = a_mask_bit & a_mask_nbit_1; // @[Misc.scala 213:27]
+  wire  a_mask_acc_4 = a_mask_acc_1 | a_mask_size_1 & a_mask_eq_4; // @[Misc.scala 214:29]
+  wire  a_mask_eq_5 = a_mask_bit & a_mask_bit_1; // @[Misc.scala 213:27]
+  wire  a_mask_acc_5 = a_mask_acc_1 | a_mask_size_1 & a_mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] a_mask = {a_mask_acc_5,a_mask_acc_4,a_mask_acc_3,a_mask_acc_2}; // @[Cat.scala 31:58]
+  wire  latch = idle & auto_in_d_ready; // @[Arbiter.scala 89:24]
+  wire  earlyWinner__0 = readys__0 & out_earlyValid; // @[Arbiter.scala 97:79]
+  wire  earlyWinner__1 = readys__1 & out_1_earlyValid; // @[Arbiter.scala 97:79]
+  wire  _prefixOR_T = earlyWinner__0 | earlyWinner__1; // @[Arbiter.scala 104:53]
+  wire  _T_217 = out_earlyValid | out_1_earlyValid; // @[Arbiter.scala 107:36]
+  wire  _T_218 = ~(out_earlyValid | out_1_earlyValid); // @[Arbiter.scala 107:15]
+  wire  muxStateEarly__0 = idle ? earlyWinner__0 : state__0; // @[Arbiter.scala 117:30]
+  wire  muxStateEarly__1 = idle ? earlyWinner__1 : state__1; // @[Arbiter.scala 117:30]
+  wire  _sink_ACancel_earlyValid_T_3 = state__0 & out_earlyValid | state__1 & out_1_earlyValid; // @[Mux.scala 27:73]
+  wire  sink_ACancel_earlyValid = idle ? _T_217 : _sink_ACancel_earlyValid_T_3; // @[Arbiter.scala 125:29]
+  wire  _beatsLeft_T_2 = auto_in_d_ready & sink_ACancel_earlyValid; // @[ReadyValidCancel.scala 49:33]
+  wire [3:0] _GEN_14 = {{3'd0}, _beatsLeft_T_2}; // @[Arbiter.scala 113:52]
+  wire [3:0] _beatsLeft_T_4 = beatsLeft - _GEN_14; // @[Arbiter.scala 113:52]
+  wire [1:0] _T_243 = muxStateEarly__0 ? auto_in_c_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_244 = muxStateEarly__1 ? out_1_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_246 = muxStateEarly__0 ? auto_in_c_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_247 = muxStateEarly__1 ? auto_out_d_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_252 = muxStateEarly__0 ? 3'h6 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_253 = muxStateEarly__1 ? out_1_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [12:0] _decode_T_13 = 13'h3f << TLBroadcastTracker_io_out_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] _decode_T_15 = ~_decode_T_13[5:0]; // @[package.scala 234:46]
+  wire [3:0] decode_3 = _decode_T_15[5:2]; // @[Edges.scala 219:59]
+  wire  opdata_4 = ~TLBroadcastTracker_io_out_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  wire [3:0] _T_256 = opdata_4 ? decode_3 : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _decode_T_17 = 13'h3f << TLBroadcastTracker_1_io_out_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] _decode_T_19 = ~_decode_T_17[5:0]; // @[package.scala 234:46]
+  wire [3:0] decode_4 = _decode_T_19[5:2]; // @[Edges.scala 219:59]
+  wire  opdata_5 = ~TLBroadcastTracker_1_io_out_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  wire [3:0] _T_257 = opdata_5 ? decode_4 : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _decode_T_21 = 13'h3f << TLBroadcastTracker_2_io_out_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] _decode_T_23 = ~_decode_T_21[5:0]; // @[package.scala 234:46]
+  wire [3:0] decode_5 = _decode_T_23[5:2]; // @[Edges.scala 219:59]
+  wire  opdata_6 = ~TLBroadcastTracker_2_io_out_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  wire [3:0] _T_258 = opdata_6 ? decode_5 : 4'h0; // @[Edges.scala 220:14]
+  wire [12:0] _decode_T_25 = 13'h3f << TLBroadcastTracker_3_io_out_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] _decode_T_27 = ~_decode_T_25[5:0]; // @[package.scala 234:46]
+  wire [3:0] decode_6 = _decode_T_27[5:2]; // @[Edges.scala 219:59]
+  wire  opdata_7 = ~TLBroadcastTracker_3_io_out_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  wire [3:0] _T_259 = opdata_7 ? decode_6 : 4'h0; // @[Edges.scala 220:14]
+  wire  latch_1 = idle_1 & auto_out_a_ready; // @[Arbiter.scala 89:24]
+  wire  readys_1_1 = _readys_T_23[1]; // @[Arbiter.scala 95:86]
+  wire  readys_1_2 = _readys_T_23[2]; // @[Arbiter.scala 95:86]
+  wire  readys_1_3 = _readys_T_23[3]; // @[Arbiter.scala 95:86]
+  wire  readys_1_4 = _readys_T_23[4]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_1_0 = readys_1_0 & out_3_earlyValid; // @[Arbiter.scala 97:79]
+  wire  earlyWinner_1_1 = readys_1_1 & out_4_earlyValid; // @[Arbiter.scala 97:79]
+  wire  earlyWinner_1_2 = readys_1_2 & out_5_earlyValid; // @[Arbiter.scala 97:79]
+  wire  earlyWinner_1_3 = readys_1_3 & out_6_earlyValid; // @[Arbiter.scala 97:79]
+  wire  earlyWinner_1_4 = readys_1_4 & out_7_earlyValid; // @[Arbiter.scala 97:79]
+  wire  prefixOR_2 = earlyWinner_1_0 | earlyWinner_1_1; // @[Arbiter.scala 104:53]
+  wire  prefixOR_3 = prefixOR_2 | earlyWinner_1_2; // @[Arbiter.scala 104:53]
+  wire  prefixOR_4 = prefixOR_3 | earlyWinner_1_3; // @[Arbiter.scala 104:53]
+  wire  _prefixOR_T_1 = prefixOR_4 | earlyWinner_1_4; // @[Arbiter.scala 104:53]
+  wire  _T_285 = out_3_earlyValid | out_4_earlyValid | out_5_earlyValid | out_6_earlyValid | out_7_earlyValid; // @[Arbiter.scala 107:36]
+  wire  _T_286 = ~(out_3_earlyValid | out_4_earlyValid | out_5_earlyValid | out_6_earlyValid | out_7_earlyValid); // @[Arbiter.scala 107:15]
+  wire [3:0] maskedBeats_0_1 = earlyWinner_1_0 ? beats1_decode_1 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_1_1 = earlyWinner_1_1 ? _T_256 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_2 = earlyWinner_1_2 ? _T_257 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_3 = earlyWinner_1_3 ? _T_258 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] maskedBeats_4 = earlyWinner_1_4 ? _T_259 : 4'h0; // @[Arbiter.scala 111:73]
+  wire [3:0] _initBeats_T = maskedBeats_0_1 | maskedBeats_1_1; // @[Arbiter.scala 112:44]
+  wire [3:0] _initBeats_T_1 = _initBeats_T | maskedBeats_2; // @[Arbiter.scala 112:44]
+  wire [3:0] _initBeats_T_2 = _initBeats_T_1 | maskedBeats_3; // @[Arbiter.scala 112:44]
+  wire [3:0] initBeats_1 = _initBeats_T_2 | maskedBeats_4; // @[Arbiter.scala 112:44]
+  wire  muxStateEarly_1_0 = idle_1 ? earlyWinner_1_0 : state_1_0; // @[Arbiter.scala 117:30]
+  reg  state_1_1; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_1_1 = idle_1 ? earlyWinner_1_1 : state_1_1; // @[Arbiter.scala 117:30]
+  reg  state_1_2; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_1_2 = idle_1 ? earlyWinner_1_2 : state_1_2; // @[Arbiter.scala 117:30]
+  reg  state_1_3; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_1_3 = idle_1 ? earlyWinner_1_3 : state_1_3; // @[Arbiter.scala 117:30]
+  reg  state_1_4; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_1_4 = idle_1 ? earlyWinner_1_4 : state_1_4; // @[Arbiter.scala 117:30]
+  wire  _sink_ACancel_earlyValid_T_17 = state_1_0 & out_3_earlyValid | state_1_1 & out_4_earlyValid | state_1_2 &
+    out_5_earlyValid | state_1_3 & out_6_earlyValid | state_1_4 & out_7_earlyValid; // @[Mux.scala 27:73]
+  wire  sink_ACancel_1_earlyValid = idle_1 ? _T_285 : _sink_ACancel_earlyValid_T_17; // @[Arbiter.scala 125:29]
+  wire  _beatsLeft_T_8 = auto_out_a_ready & sink_ACancel_1_earlyValid; // @[ReadyValidCancel.scala 49:33]
+  wire [3:0] _GEN_15 = {{3'd0}, _beatsLeft_T_8}; // @[Arbiter.scala 113:52]
+  wire [3:0] _beatsLeft_T_10 = beatsLeft_1 - _GEN_15; // @[Arbiter.scala 113:52]
+  wire  allowed_1_1 = idle_1 ? readys_1_1 : state_1_1; // @[Arbiter.scala 121:24]
+  wire  allowed_1_2 = idle_1 ? readys_1_2 : state_1_2; // @[Arbiter.scala 121:24]
+  wire  allowed_1_3 = idle_1 ? readys_1_3 : state_1_3; // @[Arbiter.scala 121:24]
+  wire  allowed_1_4 = idle_1 ? readys_1_4 : state_1_4; // @[Arbiter.scala 121:24]
+  wire [31:0] _T_317 = muxStateEarly_1_0 ? auto_in_c_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] out_4_bits_data = TLBroadcastTracker_io_out_a_bits_data; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [31:0] _T_318 = muxStateEarly_1_1 ? out_4_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] out_5_bits_data = TLBroadcastTracker_1_io_out_a_bits_data; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [31:0] _T_319 = muxStateEarly_1_2 ? out_5_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] out_6_bits_data = TLBroadcastTracker_2_io_out_a_bits_data; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [31:0] _T_320 = muxStateEarly_1_3 ? out_6_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] out_7_bits_data = TLBroadcastTracker_3_io_out_a_bits_data; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [31:0] _T_321 = muxStateEarly_1_4 ? out_7_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_322 = _T_317 | _T_318; // @[Mux.scala 27:73]
+  wire [31:0] _T_323 = _T_322 | _T_319; // @[Mux.scala 27:73]
+  wire [31:0] _T_324 = _T_323 | _T_320; // @[Mux.scala 27:73]
+  wire [3:0] _T_326 = muxStateEarly_1_0 ? a_mask : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] out_4_bits_mask = TLBroadcastTracker_io_out_a_bits_mask; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [3:0] _T_327 = muxStateEarly_1_1 ? out_4_bits_mask : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] out_5_bits_mask = TLBroadcastTracker_1_io_out_a_bits_mask; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [3:0] _T_328 = muxStateEarly_1_2 ? out_5_bits_mask : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] out_6_bits_mask = TLBroadcastTracker_2_io_out_a_bits_mask; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [3:0] _T_329 = muxStateEarly_1_3 ? out_6_bits_mask : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] out_7_bits_mask = TLBroadcastTracker_3_io_out_a_bits_mask; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [3:0] _T_330 = muxStateEarly_1_4 ? out_7_bits_mask : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_331 = _T_326 | _T_327; // @[Mux.scala 27:73]
+  wire [3:0] _T_332 = _T_331 | _T_328; // @[Mux.scala 27:73]
+  wire [3:0] _T_333 = _T_332 | _T_329; // @[Mux.scala 27:73]
+  wire [30:0] _T_335 = muxStateEarly_1_0 ? auto_in_c_bits_address : 31'h0; // @[Mux.scala 27:73]
+  wire [30:0] out_4_bits_address = TLBroadcastTracker_io_out_a_bits_address; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [30:0] _T_336 = muxStateEarly_1_1 ? out_4_bits_address : 31'h0; // @[Mux.scala 27:73]
+  wire [30:0] out_5_bits_address = TLBroadcastTracker_1_io_out_a_bits_address; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [30:0] _T_337 = muxStateEarly_1_2 ? out_5_bits_address : 31'h0; // @[Mux.scala 27:73]
+  wire [30:0] out_6_bits_address = TLBroadcastTracker_2_io_out_a_bits_address; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [30:0] _T_338 = muxStateEarly_1_3 ? out_6_bits_address : 31'h0; // @[Mux.scala 27:73]
+  wire [30:0] out_7_bits_address = TLBroadcastTracker_3_io_out_a_bits_address; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [30:0] _T_339 = muxStateEarly_1_4 ? out_7_bits_address : 31'h0; // @[Mux.scala 27:73]
+  wire [30:0] _T_340 = _T_335 | _T_336; // @[Mux.scala 27:73]
+  wire [30:0] _T_341 = _T_340 | _T_337; // @[Mux.scala 27:73]
+  wire [30:0] _T_342 = _T_341 | _T_338; // @[Mux.scala 27:73]
+  wire [3:0] _T_344 = muxStateEarly_1_0 ? a_source : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] out_4_bits_source = TLBroadcastTracker_io_out_a_bits_source; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [3:0] _T_345 = muxStateEarly_1_1 ? out_4_bits_source : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] out_5_bits_source = TLBroadcastTracker_1_io_out_a_bits_source; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [3:0] _T_346 = muxStateEarly_1_2 ? out_5_bits_source : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] out_6_bits_source = TLBroadcastTracker_2_io_out_a_bits_source; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [3:0] _T_347 = muxStateEarly_1_3 ? out_6_bits_source : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] out_7_bits_source = TLBroadcastTracker_3_io_out_a_bits_source; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [3:0] _T_348 = muxStateEarly_1_4 ? out_7_bits_source : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_349 = _T_344 | _T_345; // @[Mux.scala 27:73]
+  wire [3:0] _T_350 = _T_349 | _T_346; // @[Mux.scala 27:73]
+  wire [3:0] _T_351 = _T_350 | _T_347; // @[Mux.scala 27:73]
+  wire [2:0] _T_353 = muxStateEarly_1_0 ? auto_in_c_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] out_4_bits_size = TLBroadcastTracker_io_out_a_bits_size; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [2:0] _T_354 = muxStateEarly_1_1 ? out_4_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] out_5_bits_size = TLBroadcastTracker_1_io_out_a_bits_size; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [2:0] _T_355 = muxStateEarly_1_2 ? out_5_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] out_6_bits_size = TLBroadcastTracker_2_io_out_a_bits_size; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [2:0] _T_356 = muxStateEarly_1_3 ? out_6_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] out_7_bits_size = TLBroadcastTracker_3_io_out_a_bits_size; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [2:0] _T_357 = muxStateEarly_1_4 ? out_7_bits_size : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_358 = _T_353 | _T_354; // @[Mux.scala 27:73]
+  wire [2:0] _T_359 = _T_358 | _T_355; // @[Mux.scala 27:73]
+  wire [2:0] _T_360 = _T_359 | _T_356; // @[Mux.scala 27:73]
+  wire [2:0] out_4_bits_param = TLBroadcastTracker_io_out_a_bits_param; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [2:0] _T_363 = muxStateEarly_1_1 ? out_4_bits_param : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] out_5_bits_param = TLBroadcastTracker_1_io_out_a_bits_param; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [2:0] _T_364 = muxStateEarly_1_2 ? out_5_bits_param : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] out_6_bits_param = TLBroadcastTracker_2_io_out_a_bits_param; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [2:0] _T_365 = muxStateEarly_1_3 ? out_6_bits_param : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] out_7_bits_param = TLBroadcastTracker_3_io_out_a_bits_param; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [2:0] _T_366 = muxStateEarly_1_4 ? out_7_bits_param : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_368 = _T_363 | _T_364; // @[Mux.scala 27:73]
+  wire [2:0] _T_369 = _T_368 | _T_365; // @[Mux.scala 27:73]
+  wire [2:0] out_4_bits_opcode = TLBroadcastTracker_io_out_a_bits_opcode; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [2:0] _T_372 = muxStateEarly_1_1 ? out_4_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] out_5_bits_opcode = TLBroadcastTracker_1_io_out_a_bits_opcode; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [2:0] _T_373 = muxStateEarly_1_2 ? out_5_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] out_6_bits_opcode = TLBroadcastTracker_2_io_out_a_bits_opcode; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [2:0] _T_374 = muxStateEarly_1_3 ? out_6_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] out_7_bits_opcode = TLBroadcastTracker_3_io_out_a_bits_opcode; // @[ReadyValidCancel.scala 68:19 71:14]
+  wire [2:0] _T_375 = muxStateEarly_1_4 ? out_7_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_377 = _T_372 | _T_373; // @[Mux.scala 27:73]
+  wire [2:0] _T_378 = _T_377 | _T_374; // @[Mux.scala 27:73]
+  reg  REG; // @[Broadcast.scala 215:31]
+  reg [24:0] REG_1; // @[Broadcast.scala 216:27]
+  reg [1:0] REG_2; // @[Broadcast.scala 217:28]
+  wire [1:0] _T_381 = {REG, 1'h0}; // @[Broadcast.scala 218:58]
+  wire [1:0] _T_382 = ~_T_381; // @[Broadcast.scala 218:37]
+  wire [1:0] _GEN_16 = {{1'd0}, REG}; // @[Broadcast.scala 218:35]
+  wire [1:0] _T_383 = _GEN_16 & _T_382; // @[Broadcast.scala 218:35]
+  wire  bundleIn_0_b_valid = |REG; // @[Broadcast.scala 219:38]
+  wire  _T_386 = auto_in_b_ready & bundleIn_0_b_valid; // @[Decoupled.scala 50:35]
+  wire [1:0] _T_387 = ~_T_383; // @[Broadcast.scala 227:55]
+  wire [1:0] _T_388 = _GEN_16 & _T_387; // @[Broadcast.scala 227:53]
+  wire [1:0] _GEN_5 = _T_386 ? _T_388 : {{1'd0}, REG}; // @[Broadcast.scala 227:26 215:31 227:39]
+  reg [3:0] counter_2; // @[Edges.scala 228:27]
+  wire  first_2 = counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire  _bundleIn_0_a_ready_T_1 = ~first_2 | BroadcastFilter_io_request_ready; // @[Broadcast.scala 243:31]
+  wire [3:0] _T_401 = {TLBroadcastTracker_3_io_line == auto_in_a_bits_address[30:6],TLBroadcastTracker_2_io_line ==
+    auto_in_a_bits_address[30:6],TLBroadcastTracker_1_io_line == auto_in_a_bits_address[30:6],TLBroadcastTracker_io_line
+     == auto_in_a_bits_address[30:6]}; // @[Broadcast.scala 236:100]
+  wire  _T_402 = |_T_401; // @[Broadcast.scala 237:43]
+  wire  _WIRE_30_3 = TLBroadcastTracker_3_io_idle; // @[Broadcast.scala 234:{33,33}]
+  wire  _WIRE_30_2 = TLBroadcastTracker_2_io_idle; // @[Broadcast.scala 234:{33,33}]
+  wire  _WIRE_30_1 = TLBroadcastTracker_1_io_idle; // @[Broadcast.scala 234:{33,33}]
+  wire  _WIRE_30_0 = TLBroadcastTracker_io_idle; // @[Broadcast.scala 234:{33,33}]
+  wire [3:0] _T_391 = {_WIRE_30_3,_WIRE_30_2,_WIRE_30_1,_WIRE_30_0}; // @[Broadcast.scala 234:64]
+  wire [4:0] _T_403 = {_T_391, 1'h0}; // @[package.scala 244:48]
+  wire [3:0] _T_405 = _T_391 | _T_403[3:0]; // @[package.scala 244:43]
+  wire [5:0] _T_406 = {_T_405, 2'h0}; // @[package.scala 244:48]
+  wire [3:0] _T_408 = _T_405 | _T_406[3:0]; // @[package.scala 244:43]
+  wire [4:0] _T_410 = {_T_408, 1'h0}; // @[Broadcast.scala 238:64]
+  wire [4:0] _T_411 = ~_T_410; // @[Broadcast.scala 238:41]
+  wire [4:0] _GEN_18 = {{1'd0}, _T_391}; // @[Broadcast.scala 238:39]
+  wire [4:0] _T_412 = _GEN_18 & _T_411; // @[Broadcast.scala 238:39]
+  wire [4:0] _T_413 = _T_402 ? {{1'd0}, _T_401} : _T_412; // @[Broadcast.scala 239:30]
+  wire  _WIRE_32_3 = TLBroadcastTracker_3_io_in_a_ready; // @[Broadcast.scala 240:{34,34}]
+  wire  _WIRE_32_2 = TLBroadcastTracker_2_io_in_a_ready; // @[Broadcast.scala 240:{34,34}]
+  wire  _WIRE_32_1 = TLBroadcastTracker_1_io_in_a_ready; // @[Broadcast.scala 240:{34,34}]
+  wire  _WIRE_32_0 = TLBroadcastTracker_io_in_a_ready; // @[Broadcast.scala 240:{34,34}]
+  wire [3:0] _T_414 = {_WIRE_32_3,_WIRE_32_2,_WIRE_32_1,_WIRE_32_0}; // @[Broadcast.scala 240:63]
+  wire [4:0] _GEN_19 = {{1'd0}, _T_414}; // @[Broadcast.scala 241:41]
+  wire [4:0] _T_415 = _T_413 & _GEN_19; // @[Broadcast.scala 241:41]
+  wire  _T_416 = |_T_415; // @[Broadcast.scala 241:61]
+  wire  bundleIn_0_a_ready = (~first_2 | BroadcastFilter_io_request_ready) & _T_416; // @[Broadcast.scala 243:59]
+  wire  _T_390 = bundleIn_0_a_ready & auto_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _beats1_decode_T_9 = 13'h3f << auto_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] _beats1_decode_T_11 = ~_beats1_decode_T_9[5:0]; // @[package.scala 234:46]
+  wire [3:0] beats1_decode_2 = _beats1_decode_T_11[5:2]; // @[Edges.scala 219:59]
+  wire  beats1_opdata_2 = ~auto_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  wire [3:0] counter1_2 = counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire [3:0] lo_5 = _T_413[3:0]; // @[OneHot.scala 31:18]
+  wire  _T_440 = |_T_413[4]; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_20 = {{3'd0}, _T_413[4]}; // @[OneHot.scala 32:28]
+  wire [3:0] _T_441 = _GEN_20 | lo_5; // @[OneHot.scala 32:28]
+  wire [1:0] hi_6 = _T_441[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] lo_6 = _T_441[1:0]; // @[OneHot.scala 31:18]
+  wire  _T_442 = |hi_6; // @[OneHot.scala 32:14]
+  wire [1:0] _T_443 = hi_6 | lo_6; // @[OneHot.scala 32:28]
+  wire [2:0] _T_446 = {_T_440,_T_442,_T_443[1]}; // @[Cat.scala 31:58]
+  wire  acq_needT = 3'h2 == auto_in_a_bits_param | 3'h1 == auto_in_a_bits_param; // @[Mux.scala 81:58]
+  wire  _T_458 = 3'h4 == auto_in_a_bits_opcode ? 1'h0 : 1'h1; // @[Mux.scala 81:58]
+  wire  _T_460 = 3'h5 == auto_in_a_bits_opcode ? 3'h1 == auto_in_a_bits_param : _T_458; // @[Mux.scala 81:58]
+  wire  _T_462 = 3'h6 == auto_in_a_bits_opcode ? acq_needT : _T_460; // @[Mux.scala 81:58]
+  wire  _T_468 = ~BroadcastFilter_io_response_bits_allocOH; // @[Broadcast.scala 257:54]
+  wire  _T_472 = BroadcastFilter_io_response_ready & BroadcastFilter_io_response_valid; // @[Decoupled.scala 50:35]
+  wire [1:0] _GEN_7 = _T_472 ? {{1'd0}, _T_468} : _GEN_5; // @[Broadcast.scala 260:40 261:21]
+  wire [1:0] shiftAmount = BroadcastFilter_io_response_bits_mshr; // @[OneHot.scala 63:49]
+  wire [3:0] _T_477 = 4'h1 << shiftAmount; // @[OneHot.scala 64:12]
+  TLMonitor_41 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_b_ready(monitor_io_in_b_ready),
+    .io_in_b_valid(monitor_io_in_b_valid),
+    .io_in_b_bits_param(monitor_io_in_b_bits_param),
+    .io_in_b_bits_address(monitor_io_in_b_bits_address),
+    .io_in_c_ready(monitor_io_in_c_ready),
+    .io_in_c_valid(monitor_io_in_c_valid),
+    .io_in_c_bits_opcode(monitor_io_in_c_bits_opcode),
+    .io_in_c_bits_param(monitor_io_in_c_bits_param),
+    .io_in_c_bits_size(monitor_io_in_c_bits_size),
+    .io_in_c_bits_source(monitor_io_in_c_bits_source),
+    .io_in_c_bits_address(monitor_io_in_c_bits_address),
+    .io_in_c_bits_corrupt(monitor_io_in_c_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_e_valid(monitor_io_in_e_valid),
+    .io_in_e_bits_sink(monitor_io_in_e_bits_sink)
+  );
+  BroadcastFilter BroadcastFilter ( // @[Broadcast.scala 99:26]
+    .io_request_ready(BroadcastFilter_io_request_ready),
+    .io_request_valid(BroadcastFilter_io_request_valid),
+    .io_request_bits_mshr(BroadcastFilter_io_request_bits_mshr),
+    .io_request_bits_address(BroadcastFilter_io_request_bits_address),
+    .io_request_bits_allocOH(BroadcastFilter_io_request_bits_allocOH),
+    .io_request_bits_needT(BroadcastFilter_io_request_bits_needT),
+    .io_response_ready(BroadcastFilter_io_response_ready),
+    .io_response_valid(BroadcastFilter_io_response_valid),
+    .io_response_bits_mshr(BroadcastFilter_io_response_bits_mshr),
+    .io_response_bits_address(BroadcastFilter_io_response_bits_address),
+    .io_response_bits_allocOH(BroadcastFilter_io_response_bits_allocOH),
+    .io_response_bits_needT(BroadcastFilter_io_response_bits_needT)
+  );
+  TLBroadcastTracker TLBroadcastTracker ( // @[Broadcast.scala 107:15]
+    .clock(TLBroadcastTracker_clock),
+    .reset(TLBroadcastTracker_reset),
+    .io_in_a_first(TLBroadcastTracker_io_in_a_first),
+    .io_in_a_ready(TLBroadcastTracker_io_in_a_ready),
+    .io_in_a_valid(TLBroadcastTracker_io_in_a_valid),
+    .io_in_a_bits_opcode(TLBroadcastTracker_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLBroadcastTracker_io_in_a_bits_param),
+    .io_in_a_bits_size(TLBroadcastTracker_io_in_a_bits_size),
+    .io_in_a_bits_source(TLBroadcastTracker_io_in_a_bits_source),
+    .io_in_a_bits_address(TLBroadcastTracker_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLBroadcastTracker_io_in_a_bits_mask),
+    .io_in_a_bits_data(TLBroadcastTracker_io_in_a_bits_data),
+    .io_out_a_ready(TLBroadcastTracker_io_out_a_ready),
+    .io_out_a_valid(TLBroadcastTracker_io_out_a_valid),
+    .io_out_a_bits_opcode(TLBroadcastTracker_io_out_a_bits_opcode),
+    .io_out_a_bits_param(TLBroadcastTracker_io_out_a_bits_param),
+    .io_out_a_bits_size(TLBroadcastTracker_io_out_a_bits_size),
+    .io_out_a_bits_source(TLBroadcastTracker_io_out_a_bits_source),
+    .io_out_a_bits_address(TLBroadcastTracker_io_out_a_bits_address),
+    .io_out_a_bits_mask(TLBroadcastTracker_io_out_a_bits_mask),
+    .io_out_a_bits_data(TLBroadcastTracker_io_out_a_bits_data),
+    .io_probe_valid(TLBroadcastTracker_io_probe_valid),
+    .io_probe_bits_count(TLBroadcastTracker_io_probe_bits_count),
+    .io_probenack(TLBroadcastTracker_io_probenack),
+    .io_probedack(TLBroadcastTracker_io_probedack),
+    .io_probesack(TLBroadcastTracker_io_probesack),
+    .io_d_last(TLBroadcastTracker_io_d_last),
+    .io_e_last(TLBroadcastTracker_io_e_last),
+    .io_source(TLBroadcastTracker_io_source),
+    .io_line(TLBroadcastTracker_io_line),
+    .io_idle(TLBroadcastTracker_io_idle),
+    .io_need_d(TLBroadcastTracker_io_need_d)
+  );
+  TLBroadcastTracker_1 TLBroadcastTracker_1 ( // @[Broadcast.scala 107:15]
+    .clock(TLBroadcastTracker_1_clock),
+    .reset(TLBroadcastTracker_1_reset),
+    .io_in_a_first(TLBroadcastTracker_1_io_in_a_first),
+    .io_in_a_ready(TLBroadcastTracker_1_io_in_a_ready),
+    .io_in_a_valid(TLBroadcastTracker_1_io_in_a_valid),
+    .io_in_a_bits_opcode(TLBroadcastTracker_1_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLBroadcastTracker_1_io_in_a_bits_param),
+    .io_in_a_bits_size(TLBroadcastTracker_1_io_in_a_bits_size),
+    .io_in_a_bits_source(TLBroadcastTracker_1_io_in_a_bits_source),
+    .io_in_a_bits_address(TLBroadcastTracker_1_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLBroadcastTracker_1_io_in_a_bits_mask),
+    .io_in_a_bits_data(TLBroadcastTracker_1_io_in_a_bits_data),
+    .io_out_a_ready(TLBroadcastTracker_1_io_out_a_ready),
+    .io_out_a_valid(TLBroadcastTracker_1_io_out_a_valid),
+    .io_out_a_bits_opcode(TLBroadcastTracker_1_io_out_a_bits_opcode),
+    .io_out_a_bits_param(TLBroadcastTracker_1_io_out_a_bits_param),
+    .io_out_a_bits_size(TLBroadcastTracker_1_io_out_a_bits_size),
+    .io_out_a_bits_source(TLBroadcastTracker_1_io_out_a_bits_source),
+    .io_out_a_bits_address(TLBroadcastTracker_1_io_out_a_bits_address),
+    .io_out_a_bits_mask(TLBroadcastTracker_1_io_out_a_bits_mask),
+    .io_out_a_bits_data(TLBroadcastTracker_1_io_out_a_bits_data),
+    .io_probe_valid(TLBroadcastTracker_1_io_probe_valid),
+    .io_probe_bits_count(TLBroadcastTracker_1_io_probe_bits_count),
+    .io_probenack(TLBroadcastTracker_1_io_probenack),
+    .io_probedack(TLBroadcastTracker_1_io_probedack),
+    .io_probesack(TLBroadcastTracker_1_io_probesack),
+    .io_d_last(TLBroadcastTracker_1_io_d_last),
+    .io_e_last(TLBroadcastTracker_1_io_e_last),
+    .io_source(TLBroadcastTracker_1_io_source),
+    .io_line(TLBroadcastTracker_1_io_line),
+    .io_idle(TLBroadcastTracker_1_io_idle),
+    .io_need_d(TLBroadcastTracker_1_io_need_d)
+  );
+  TLBroadcastTracker_2 TLBroadcastTracker_2 ( // @[Broadcast.scala 107:15]
+    .clock(TLBroadcastTracker_2_clock),
+    .reset(TLBroadcastTracker_2_reset),
+    .io_in_a_first(TLBroadcastTracker_2_io_in_a_first),
+    .io_in_a_ready(TLBroadcastTracker_2_io_in_a_ready),
+    .io_in_a_valid(TLBroadcastTracker_2_io_in_a_valid),
+    .io_in_a_bits_opcode(TLBroadcastTracker_2_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLBroadcastTracker_2_io_in_a_bits_param),
+    .io_in_a_bits_size(TLBroadcastTracker_2_io_in_a_bits_size),
+    .io_in_a_bits_source(TLBroadcastTracker_2_io_in_a_bits_source),
+    .io_in_a_bits_address(TLBroadcastTracker_2_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLBroadcastTracker_2_io_in_a_bits_mask),
+    .io_in_a_bits_data(TLBroadcastTracker_2_io_in_a_bits_data),
+    .io_out_a_ready(TLBroadcastTracker_2_io_out_a_ready),
+    .io_out_a_valid(TLBroadcastTracker_2_io_out_a_valid),
+    .io_out_a_bits_opcode(TLBroadcastTracker_2_io_out_a_bits_opcode),
+    .io_out_a_bits_param(TLBroadcastTracker_2_io_out_a_bits_param),
+    .io_out_a_bits_size(TLBroadcastTracker_2_io_out_a_bits_size),
+    .io_out_a_bits_source(TLBroadcastTracker_2_io_out_a_bits_source),
+    .io_out_a_bits_address(TLBroadcastTracker_2_io_out_a_bits_address),
+    .io_out_a_bits_mask(TLBroadcastTracker_2_io_out_a_bits_mask),
+    .io_out_a_bits_data(TLBroadcastTracker_2_io_out_a_bits_data),
+    .io_probe_valid(TLBroadcastTracker_2_io_probe_valid),
+    .io_probe_bits_count(TLBroadcastTracker_2_io_probe_bits_count),
+    .io_probenack(TLBroadcastTracker_2_io_probenack),
+    .io_probedack(TLBroadcastTracker_2_io_probedack),
+    .io_probesack(TLBroadcastTracker_2_io_probesack),
+    .io_d_last(TLBroadcastTracker_2_io_d_last),
+    .io_e_last(TLBroadcastTracker_2_io_e_last),
+    .io_source(TLBroadcastTracker_2_io_source),
+    .io_line(TLBroadcastTracker_2_io_line),
+    .io_idle(TLBroadcastTracker_2_io_idle),
+    .io_need_d(TLBroadcastTracker_2_io_need_d)
+  );
+  TLBroadcastTracker_3 TLBroadcastTracker_3 ( // @[Broadcast.scala 107:15]
+    .clock(TLBroadcastTracker_3_clock),
+    .reset(TLBroadcastTracker_3_reset),
+    .io_in_a_first(TLBroadcastTracker_3_io_in_a_first),
+    .io_in_a_ready(TLBroadcastTracker_3_io_in_a_ready),
+    .io_in_a_valid(TLBroadcastTracker_3_io_in_a_valid),
+    .io_in_a_bits_opcode(TLBroadcastTracker_3_io_in_a_bits_opcode),
+    .io_in_a_bits_param(TLBroadcastTracker_3_io_in_a_bits_param),
+    .io_in_a_bits_size(TLBroadcastTracker_3_io_in_a_bits_size),
+    .io_in_a_bits_source(TLBroadcastTracker_3_io_in_a_bits_source),
+    .io_in_a_bits_address(TLBroadcastTracker_3_io_in_a_bits_address),
+    .io_in_a_bits_mask(TLBroadcastTracker_3_io_in_a_bits_mask),
+    .io_in_a_bits_data(TLBroadcastTracker_3_io_in_a_bits_data),
+    .io_out_a_ready(TLBroadcastTracker_3_io_out_a_ready),
+    .io_out_a_valid(TLBroadcastTracker_3_io_out_a_valid),
+    .io_out_a_bits_opcode(TLBroadcastTracker_3_io_out_a_bits_opcode),
+    .io_out_a_bits_param(TLBroadcastTracker_3_io_out_a_bits_param),
+    .io_out_a_bits_size(TLBroadcastTracker_3_io_out_a_bits_size),
+    .io_out_a_bits_source(TLBroadcastTracker_3_io_out_a_bits_source),
+    .io_out_a_bits_address(TLBroadcastTracker_3_io_out_a_bits_address),
+    .io_out_a_bits_mask(TLBroadcastTracker_3_io_out_a_bits_mask),
+    .io_out_a_bits_data(TLBroadcastTracker_3_io_out_a_bits_data),
+    .io_probe_valid(TLBroadcastTracker_3_io_probe_valid),
+    .io_probe_bits_count(TLBroadcastTracker_3_io_probe_bits_count),
+    .io_probenack(TLBroadcastTracker_3_io_probenack),
+    .io_probedack(TLBroadcastTracker_3_io_probedack),
+    .io_probesack(TLBroadcastTracker_3_io_probesack),
+    .io_d_last(TLBroadcastTracker_3_io_d_last),
+    .io_e_last(TLBroadcastTracker_3_io_e_last),
+    .io_source(TLBroadcastTracker_3_io_source),
+    .io_line(TLBroadcastTracker_3_io_line),
+    .io_idle(TLBroadcastTracker_3_io_idle),
+    .io_need_d(TLBroadcastTracker_3_io_need_d)
+  );
+  assign auto_in_a_ready = (~first_2 | BroadcastFilter_io_request_ready) & _T_416; // @[Broadcast.scala 243:59]
+  assign auto_in_b_valid = |REG; // @[Broadcast.scala 219:38]
+  assign auto_in_b_bits_param = REG_2; // @[Edges.scala 600:17 602:15]
+  assign auto_in_b_bits_address = {REG_1, 6'h0}; // @[Broadcast.scala 225:46]
+  assign auto_in_c_ready = _T_110 | _bundleIn_0_c_ready_T; // @[Broadcast.scala 184:32]
+  assign auto_in_d_valid = idle ? _T_217 : _sink_ACancel_earlyValid_T_3; // @[Arbiter.scala 125:29]
+  assign auto_in_d_bits_opcode = _T_252 | _T_253; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_param = muxStateEarly__1 ? out_1_bits_param : 2'h0; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_size = _T_246 | _T_247; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_source = _T_243 | _T_244; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_sink = muxStateEarly__1 ? out_1_bits_sink : 2'h0; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_data = muxStateEarly__1 ? auto_out_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  assign auto_out_a_valid = idle_1 ? _T_285 : _sink_ACancel_earlyValid_T_17; // @[Arbiter.scala 125:29]
+  assign auto_out_a_bits_opcode = _T_378 | _T_375; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_param = _T_369 | _T_366; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_size = _T_360 | _T_357; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_source = _T_351 | _T_348; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_address = _T_342 | _T_339; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_mask = _T_333 | _T_330; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_data = _T_324 | _T_321; // @[Mux.scala 27:73]
+  assign auto_out_d_ready = out_1_ready | _T_14; // @[Broadcast.scala 128:50]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = (~first_2 | BroadcastFilter_io_request_ready) & _T_416; // @[Broadcast.scala 243:59]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_b_ready = auto_in_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_b_valid = |REG; // @[Broadcast.scala 219:38]
+  assign monitor_io_in_b_bits_param = REG_2; // @[Edges.scala 600:17 602:15]
+  assign monitor_io_in_b_bits_address = {REG_1, 6'h0}; // @[Broadcast.scala 225:46]
+  assign monitor_io_in_c_ready = _T_110 | _bundleIn_0_c_ready_T; // @[Broadcast.scala 184:32]
+  assign monitor_io_in_c_valid = auto_in_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_opcode = auto_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_param = auto_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_size = auto_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_source = auto_in_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_address = auto_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_corrupt = auto_in_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = idle ? _T_217 : _sink_ACancel_earlyValid_T_3; // @[Arbiter.scala 125:29]
+  assign monitor_io_in_d_bits_opcode = _T_252 | _T_253; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_param = muxStateEarly__1 ? out_1_bits_param : 2'h0; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_size = _T_246 | _T_247; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_source = _T_243 | _T_244; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_sink = muxStateEarly__1 ? out_1_bits_sink : 2'h0; // @[Mux.scala 27:73]
+  assign monitor_io_in_e_valid = auto_in_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_e_bits_sink = auto_in_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign BroadcastFilter_io_request_valid = auto_in_a_valid & first_2 & _T_416; // @[Broadcast.scala 250:56]
+  assign BroadcastFilter_io_request_bits_mshr = _T_446[1:0]; // @[Broadcast.scala 251:38]
+  assign BroadcastFilter_io_request_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign BroadcastFilter_io_request_bits_allocOH = auto_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  assign BroadcastFilter_io_request_bits_needT = 3'h7 == auto_in_a_bits_opcode ? acq_needT : _T_462; // @[Mux.scala 81:58]
+  assign BroadcastFilter_io_response_ready = ~bundleIn_0_b_valid; // @[Broadcast.scala 259:35]
+  assign TLBroadcastTracker_clock = clock;
+  assign TLBroadcastTracker_reset = reset;
+  assign TLBroadcastTracker_io_in_a_first = counter_2 == 4'h0; // @[Edges.scala 230:25]
+  assign TLBroadcastTracker_io_in_a_valid = auto_in_a_valid & _T_413[0] & _bundleIn_0_a_ready_T_1; // @[Broadcast.scala 245:46]
+  assign TLBroadcastTracker_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_io_in_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_io_out_a_ready = auto_out_a_ready & allowed_1_1; // @[Arbiter.scala 123:31]
+  assign TLBroadcastTracker_io_probe_valid = _T_472 & _T_477[0]; // @[Broadcast.scala 272:58]
+  assign TLBroadcastTracker_io_probe_bits_count = ~BroadcastFilter_io_response_bits_allocOH; // @[Broadcast.scala 257:54]
+  assign TLBroadcastTracker_io_probenack = _T_135 & _T_110 & _T_115; // @[Broadcast.scala 175:56]
+  assign TLBroadcastTracker_io_probedack = _GEN_1[0] & _T_65 & _T_14; // @[Broadcast.scala 143:53]
+  assign TLBroadcastTracker_io_probesack = _T_135 & _T_115 & _T_136 & _T_150; // @[Broadcast.scala 176:86]
+  assign TLBroadcastTracker_io_d_last = _GEN_1[0] & _T_15 & _T_56 & last; // @[Broadcast.scala 142:67]
+  assign TLBroadcastTracker_io_e_last = _T[0] & auto_in_e_valid; // @[Broadcast.scala 113:34]
+  assign TLBroadcastTracker_1_clock = clock;
+  assign TLBroadcastTracker_1_reset = reset;
+  assign TLBroadcastTracker_1_io_in_a_first = counter_2 == 4'h0; // @[Edges.scala 230:25]
+  assign TLBroadcastTracker_1_io_in_a_valid = auto_in_a_valid & _T_413[1] & _bundleIn_0_a_ready_T_1; // @[Broadcast.scala 245:46]
+  assign TLBroadcastTracker_1_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_1_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_1_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_1_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_1_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_1_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_1_io_in_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_1_io_out_a_ready = auto_out_a_ready & allowed_1_2; // @[Arbiter.scala 123:31]
+  assign TLBroadcastTracker_1_io_probe_valid = _T_472 & _T_477[1]; // @[Broadcast.scala 272:58]
+  assign TLBroadcastTracker_1_io_probe_bits_count = ~BroadcastFilter_io_response_bits_allocOH; // @[Broadcast.scala 257:54]
+  assign TLBroadcastTracker_1_io_probenack = _T_135 & _T_110 & _T_117; // @[Broadcast.scala 175:56]
+  assign TLBroadcastTracker_1_io_probedack = _GEN_1[1] & _T_65 & _T_14; // @[Broadcast.scala 143:53]
+  assign TLBroadcastTracker_1_io_probesack = _T_135 & _T_117 & _T_136 & _T_150; // @[Broadcast.scala 176:86]
+  assign TLBroadcastTracker_1_io_d_last = _GEN_1[1] & _T_15 & _T_56 & last; // @[Broadcast.scala 142:67]
+  assign TLBroadcastTracker_1_io_e_last = _T[1] & auto_in_e_valid; // @[Broadcast.scala 113:34]
+  assign TLBroadcastTracker_2_clock = clock;
+  assign TLBroadcastTracker_2_reset = reset;
+  assign TLBroadcastTracker_2_io_in_a_first = counter_2 == 4'h0; // @[Edges.scala 230:25]
+  assign TLBroadcastTracker_2_io_in_a_valid = auto_in_a_valid & _T_413[2] & _bundleIn_0_a_ready_T_1; // @[Broadcast.scala 245:46]
+  assign TLBroadcastTracker_2_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_2_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_2_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_2_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_2_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_2_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_2_io_in_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_2_io_out_a_ready = auto_out_a_ready & allowed_1_3; // @[Arbiter.scala 123:31]
+  assign TLBroadcastTracker_2_io_probe_valid = _T_472 & _T_477[2]; // @[Broadcast.scala 272:58]
+  assign TLBroadcastTracker_2_io_probe_bits_count = ~BroadcastFilter_io_response_bits_allocOH; // @[Broadcast.scala 257:54]
+  assign TLBroadcastTracker_2_io_probenack = _T_135 & _T_110 & _T_119; // @[Broadcast.scala 175:56]
+  assign TLBroadcastTracker_2_io_probedack = _GEN_1[2] & _T_65 & _T_14; // @[Broadcast.scala 143:53]
+  assign TLBroadcastTracker_2_io_probesack = _T_135 & _T_119 & _T_136 & _T_150; // @[Broadcast.scala 176:86]
+  assign TLBroadcastTracker_2_io_d_last = _GEN_1[2] & _T_15 & _T_56 & last; // @[Broadcast.scala 142:67]
+  assign TLBroadcastTracker_2_io_e_last = _T[2] & auto_in_e_valid; // @[Broadcast.scala 113:34]
+  assign TLBroadcastTracker_3_clock = clock;
+  assign TLBroadcastTracker_3_reset = reset;
+  assign TLBroadcastTracker_3_io_in_a_first = counter_2 == 4'h0; // @[Edges.scala 230:25]
+  assign TLBroadcastTracker_3_io_in_a_valid = auto_in_a_valid & _T_413[3] & _bundleIn_0_a_ready_T_1; // @[Broadcast.scala 245:46]
+  assign TLBroadcastTracker_3_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_3_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_3_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_3_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_3_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_3_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_3_io_in_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign TLBroadcastTracker_3_io_out_a_ready = auto_out_a_ready & allowed_1_4; // @[Arbiter.scala 123:31]
+  assign TLBroadcastTracker_3_io_probe_valid = _T_472 & _T_477[3]; // @[Broadcast.scala 272:58]
+  assign TLBroadcastTracker_3_io_probe_bits_count = ~BroadcastFilter_io_response_bits_allocOH; // @[Broadcast.scala 257:54]
+  assign TLBroadcastTracker_3_io_probenack = _T_135 & _T_110 & _T_121; // @[Broadcast.scala 175:56]
+  assign TLBroadcastTracker_3_io_probedack = _GEN_1[3] & _T_65 & _T_14; // @[Broadcast.scala 143:53]
+  assign TLBroadcastTracker_3_io_probesack = _T_135 & _T_121 & _T_136 & _T_150; // @[Broadcast.scala 176:86]
+  assign TLBroadcastTracker_3_io_d_last = _GEN_1[3] & _T_15 & _T_56 & last; // @[Broadcast.scala 142:67]
+  assign TLBroadcastTracker_3_io_e_last = _T[3] & auto_in_e_valid; // @[Broadcast.scala 113:34]
+  always @(posedge clock) begin
+    if (reset) begin // @[Arbiter.scala 87:30]
+      beatsLeft <= 4'h0; // @[Arbiter.scala 87:30]
+    end else if (latch) begin // @[Arbiter.scala 113:23]
+      if (earlyWinner__1) begin // @[Arbiter.scala 111:73]
+        if (beats1_opdata) begin // @[Edges.scala 220:14]
+          beatsLeft <= beats1_decode;
+        end else begin
+          beatsLeft <= 4'h0;
+        end
+      end else begin
+        beatsLeft <= 4'h0;
+      end
+    end else begin
+      beatsLeft <= _beatsLeft_T_4;
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_T_15) begin // @[Edges.scala 234:17]
+      if (first) begin // @[Edges.scala 235:21]
+        if (beats1_opdata) begin // @[Edges.scala 220:14]
+          counter <= beats1_decode;
+        end else begin
+          counter <= 4'h0;
+        end
+      end else begin
+        counter <= counter1;
+      end
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state__1 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state__1 <= earlyWinner__1;
+    end
+    if (first) begin // @[Reg.scala 17:18]
+      r <= _T_24; // @[Reg.scala 17:22]
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state__0 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state__0 <= earlyWinner__0;
+    end
+    if (reset) begin // @[Arbiter.scala 87:30]
+      beatsLeft_1 <= 4'h0; // @[Arbiter.scala 87:30]
+    end else if (latch_1) begin // @[Arbiter.scala 113:23]
+      beatsLeft_1 <= initBeats_1;
+    end else begin
+      beatsLeft_1 <= _beatsLeft_T_10;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_1_0 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle_1) begin // @[Arbiter.scala 117:30]
+      state_1_0 <= earlyWinner_1_0;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_1_1 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle_1) begin // @[Arbiter.scala 117:30]
+      state_1_1 <= earlyWinner_1_1;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_1_2 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle_1) begin // @[Arbiter.scala 117:30]
+      state_1_2 <= earlyWinner_1_2;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_1_3 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle_1) begin // @[Arbiter.scala 117:30]
+      state_1_3 <= earlyWinner_1_3;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_1_4 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle_1) begin // @[Arbiter.scala 117:30]
+      state_1_4 <= earlyWinner_1_4;
+    end
+    if (reset) begin // @[Broadcast.scala 215:31]
+      REG <= 1'h0; // @[Broadcast.scala 215:31]
+    end else begin
+      REG <= _GEN_7[0];
+    end
+    if (_T_472) begin // @[Broadcast.scala 260:40]
+      REG_1 <= BroadcastFilter_io_response_bits_address[30:6]; // @[Broadcast.scala 262:21]
+    end
+    if (_T_472) begin // @[Broadcast.scala 260:40]
+      if (BroadcastFilter_io_response_bits_needT) begin // @[Broadcast.scala 263:27]
+        REG_2 <= 2'h2;
+      end else begin
+        REG_2 <= 2'h1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_T_390) begin // @[Edges.scala 234:17]
+      if (first_2) begin // @[Edges.scala 235:21]
+        if (beats1_opdata_2) begin // @[Edges.scala 220:14]
+          counter_2 <= beats1_decode_2;
+        end else begin
+          counter_2 <= 4'h0;
+        end
+      end else begin
+        counter_2 <= counter1_2;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~auto_out_d_valid | _T_35 | auto_out_d_bits_opcode == 3'h0) & ~reset) begin
+          $fatal; // @[Broadcast.scala 125:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~(~auto_out_d_valid | _T_35 | auto_out_d_bits_opcode == 3'h0)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Broadcast.scala:125 assert (!out.d.valid || !d_drop || out.d.bits.opcode === TLMessages.AccessAck)\n"
+            ); // @[Broadcast.scala 125:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~out_1_earlyValid | (|_GEN_1 | out_1_bits_opcode == 3'h6)) & _T_32) begin
+          $fatal; // @[Broadcast.scala 137:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_32 & ~(~out_1_earlyValid | (|_GEN_1 | out_1_bits_opcode == 3'h6))) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Broadcast.scala:137 assert (!d_normal.valid || (d_trackerOH.orR() || d_normal.bits.opcode === TLMessages.ReleaseAck))\n"
+            ); // @[Broadcast.scala 137:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~earlyWinner__0 | ~earlyWinner__1) & _T_32) begin
+          $fatal; // @[Arbiter.scala 105:13]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_32 & ~(~earlyWinner__0 | ~earlyWinner__1)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:105 assert((prefixOR zip earlyWinner) map { case (p,w) => !p || !w } reduce {_ && _})\n"
+            ); // @[Arbiter.scala 105:13]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(out_earlyValid | out_1_earlyValid) | _prefixOR_T) & _T_32) begin
+          $fatal; // @[Arbiter.scala 107:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_32 & ~(~(out_earlyValid | out_1_earlyValid) | _prefixOR_T)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:107 assert (!earlyValids.reduce(_||_) || earlyWinner.reduce(_||_))\n"
+            ); // @[Arbiter.scala 107:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_218 | _T_217) & _T_32) begin
+          $fatal; // @[Arbiter.scala 108:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_32 & ~(_T_218 | _T_217)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:108 assert (!validQuals .reduce(_||_) || validQuals .reduce(_||_))\n"
+            ); // @[Arbiter.scala 108:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~((~earlyWinner_1_0 | ~earlyWinner_1_1) & (~prefixOR_2 | ~earlyWinner_1_2) & (~prefixOR_3 | ~earlyWinner_1_3
+          ) & (~prefixOR_4 | ~earlyWinner_1_4)) & _T_32) begin
+          $fatal; // @[Arbiter.scala 105:13]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_32 & ~((~earlyWinner_1_0 | ~earlyWinner_1_1) & (~prefixOR_2 | ~earlyWinner_1_2) & (~prefixOR_3 | ~
+          earlyWinner_1_3) & (~prefixOR_4 | ~earlyWinner_1_4))) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:105 assert((prefixOR zip earlyWinner) map { case (p,w) => !p || !w } reduce {_ && _})\n"
+            ); // @[Arbiter.scala 105:13]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(out_3_earlyValid | out_4_earlyValid | out_5_earlyValid | out_6_earlyValid | out_7_earlyValid) |
+          _prefixOR_T_1) & _T_32) begin
+          $fatal; // @[Arbiter.scala 107:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_32 & ~(~(out_3_earlyValid | out_4_earlyValid | out_5_earlyValid | out_6_earlyValid | out_7_earlyValid) |
+          _prefixOR_T_1)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:107 assert (!earlyValids.reduce(_||_) || earlyWinner.reduce(_||_))\n"
+            ); // @[Arbiter.scala 107:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_286 | _T_285) & _T_32) begin
+          $fatal; // @[Arbiter.scala 108:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_32 & ~(_T_286 | _T_285)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:108 assert (!validQuals .reduce(_||_) || validQuals .reduce(_||_))\n"
+            ); // @[Arbiter.scala 108:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  beatsLeft = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  counter = _RAND_1[3:0];
+  _RAND_2 = {1{`RANDOM}};
+  state__1 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  r = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  state__0 = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  beatsLeft_1 = _RAND_5[3:0];
+  _RAND_6 = {1{`RANDOM}};
+  state_1_0 = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  state_1_1 = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  state_1_2 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  state_1_3 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  state_1_4 = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  REG = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  REG_1 = _RAND_12[24:0];
+  _RAND_13 = {1{`RANDOM}};
+  REG_2 = _RAND_13[1:0];
+  _RAND_14 = {1{`RANDOM}};
+  counter_2 = _RAND_14[3:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLJbar(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_b_ready,
+  output        auto_in_b_valid,
+  output [1:0]  auto_in_b_bits_param,
+  output [30:0] auto_in_b_bits_address,
+  output        auto_in_c_ready,
+  input         auto_in_c_valid,
+  input  [2:0]  auto_in_c_bits_opcode,
+  input  [2:0]  auto_in_c_bits_param,
+  input  [2:0]  auto_in_c_bits_size,
+  input  [1:0]  auto_in_c_bits_source,
+  input  [30:0] auto_in_c_bits_address,
+  input  [31:0] auto_in_c_bits_data,
+  input         auto_in_c_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [1:0]  auto_in_d_bits_sink,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_in_e_valid,
+  input  [1:0]  auto_in_e_bits_sink,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_b_ready,
+  input         auto_out_b_valid,
+  input  [1:0]  auto_out_b_bits_param,
+  input  [30:0] auto_out_b_bits_address,
+  input         auto_out_c_ready,
+  output        auto_out_c_valid,
+  output [2:0]  auto_out_c_bits_opcode,
+  output [2:0]  auto_out_c_bits_param,
+  output [2:0]  auto_out_c_bits_size,
+  output [1:0]  auto_out_c_bits_source,
+  output [30:0] auto_out_c_bits_address,
+  output [31:0] auto_out_c_bits_data,
+  output        auto_out_c_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input  [1:0]  auto_out_d_bits_sink,
+  input  [31:0] auto_out_d_bits_data,
+  output        auto_out_e_valid,
+  output [1:0]  auto_out_e_bits_sink
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_valid = auto_out_b_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_in_b_bits_param = auto_out_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_bits_address = auto_out_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_c_ready = auto_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Xbar.scala 228:69]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[Xbar.scala 323:53]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_b_ready = auto_in_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_valid = auto_in_c_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_out_c_bits_opcode = auto_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_param = auto_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_size = auto_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_source = auto_in_c_bits_source; // @[Xbar.scala 259:55]
+  assign auto_out_c_bits_address = auto_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_data = auto_in_c_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_corrupt = auto_in_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_e_valid = auto_in_e_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_out_e_bits_sink = auto_in_e_bits_sink; // @[Xbar.scala 228:69]
+endmodule
+module TLMonitor_42(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [2:0]  io_in_a_bits_size,
+  input  [3:0]  io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [2:0]  io_in_d_bits_size,
+  input  [3:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [63:0] _RAND_11;
+  reg [63:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [63:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire [12:0] _is_aligned_mask_T_1 = 13'h3f << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [5:0] is_aligned_mask = ~_is_aligned_mask_T_1[5:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_71 = {{25'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 31'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 3'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [30:0] _T_33 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_36 = $signed(_T_34) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_270 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_271 = io_in_a_bits_mask & _T_270; // @[Monitor.scala 127:31]
+  wire  _T_272 = _T_271 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_276 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_306 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_314 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_344 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_352 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_382 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_394 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _T_398 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_402 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 312:27]
+  wire  _T_418 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_446 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] a_first_beats1_decode = is_aligned_mask[5:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1 = a_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [2:0] size; // @[Monitor.scala 386:22]
+  reg [3:0] source; // @[Monitor.scala 387:22]
+  reg [30:0] address; // @[Monitor.scala 388:22]
+  wire  _T_540 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_541 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_545 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_549 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_553 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_557 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [12:0] _d_first_beats1_decode_T_1 = 13'h3f << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [5:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[5:0]; // @[package.scala 234:46]
+  wire [3:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[5:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [3:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1 = d_first_counter - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 4'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [2:0] size_1; // @[Monitor.scala 537:22]
+  reg [3:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_564 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_565 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_573 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_577 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [15:0] inflight; // @[Monitor.scala 611:27]
+  reg [63:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [63:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [3:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] a_first_counter1_1 = a_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  reg [3:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_1 = d_first_counter_1 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 4'h0; // @[Edges.scala 230:25]
+  wire [5:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [6:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [63:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [63:0] _GEN_73 = {{48'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [63:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [63:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[63:1]}; // @[Monitor.scala 634:152]
+  wire [63:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [63:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [63:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[63:1]}; // @[Monitor.scala 638:144]
+  wire  _T_591 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [15:0] _a_set_wo_ready_T = 16'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [15:0] a_set_wo_ready = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 16'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_594 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [3:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 4'h1; // @[Monitor.scala 655:59]
+  wire [5:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [6:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [130:0] _GEN_1 = {{127'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [130:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 655:28]
+  wire [130:0] _GEN_2 = {{127'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [130:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [15:0] _T_596 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_598 = ~_T_596[0]; // @[Monitor.scala 658:17]
+  wire [15:0] a_set = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 16'h0; // @[Monitor.scala 652:72 653:28]
+  wire [130:0] _GEN_19 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 131'h0; // @[Monitor.scala 652:72 656:28]
+  wire [130:0] _GEN_20 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 131'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_602 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_604 = ~_T_398; // @[Monitor.scala 671:74]
+  wire  _T_605 = io_in_d_valid & d_first_1 & ~_T_398; // @[Monitor.scala 671:71]
+  wire [15:0] _d_clr_wo_ready_T = 16'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [15:0] d_clr_wo_ready = io_in_d_valid & d_first_1 & ~_T_398 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 671:90 672:22]
+  wire [142:0] _GEN_3 = {{127'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [142:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [15:0] d_clr = _d_first_T & d_first_1 & _T_604 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 675:91 676:21]
+  wire [142:0] _GEN_23 = _d_first_T & d_first_1 & _T_604 ? _d_opcodes_clr_T_5 : 143'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_591 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [15:0] _T_615 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_617 = _T_615[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_622 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_623 = io_in_d_bits_opcode == _GEN_32 | _T_622; // @[Monitor.scala 685:77]
+  wire  _T_627 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_634 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_635 = io_in_d_bits_opcode == _GEN_48 | _T_634; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_639 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_649 = _T_602 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_604; // @[Monitor.scala 694:116]
+  wire  _T_651 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire  _T_658 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [15:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [15:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [15:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [63:0] a_opcodes_set = _GEN_19[63:0];
+  wire [63:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [63:0] d_opcodes_clr = _GEN_23[63:0];
+  wire [63:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [63:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [63:0] a_sizes_set = _GEN_20[63:0];
+  wire [63:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [63:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_667 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [15:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [63:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [3:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [3:0] d_first_counter1_2 = d_first_counter_2 - 4'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 4'h0; // @[Edges.scala 230:25]
+  wire [63:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [63:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [63:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[63:1]}; // @[Monitor.scala 747:146]
+  wire  _T_693 = io_in_d_valid & d_first_2 & _T_398; // @[Monitor.scala 779:71]
+  wire [15:0] d_clr_1 = _d_first_T & d_first_2 & _T_398 ? _d_clr_wo_ready_T : 16'h0; // @[Monitor.scala 783:90 784:21]
+  wire [142:0] _GEN_68 = _d_first_T & d_first_2 & _T_398 ? _d_opcodes_clr_T_5 : 143'h0; // @[Monitor.scala 783:90 785:21]
+  wire [15:0] _T_701 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_711 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [15:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [15:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [63:0] d_opcodes_clr_1 = _GEN_68[63:0];
+  wire [63:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [63:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_736 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 4'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 4'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 16'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 64'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 64'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 16'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 64'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 4'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 4'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_272 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_272) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_306 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_306) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_344 & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~_T_344) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_382 & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~_T_382) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_352 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_352 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_394 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_394) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_d_valid & _T_398 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        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 & _T_2 & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_d_valid & _T_418 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_418 & _T_2 & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_d_valid & _T_446 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2 & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_541 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_541) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_545 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_545) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_549 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_549) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_553 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_553) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_557 & (_T_540 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_540 & ~reset & ~_T_557) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_565 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_565) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_573 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_573) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_577 & (_T_564 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_564 & _T_2 & ~_T_577) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_598 & (_T_594 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & ~reset & ~_T_598) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_617 & (_T_605 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & _T_2 & ~_T_617) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_623 & (_T_605 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & same_cycle_resp & _T_2 & ~_T_623) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_627 & (_T_605 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & same_cycle_resp & _T_2 & ~_T_627) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_635 & (_T_605 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & ~same_cycle_resp & _T_2 & ~_T_635) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_639 & (_T_605 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_605 & ~same_cycle_resp & _T_2 & ~_T_639) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_651 & (_T_649 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_649 & _T_2 & ~_T_651) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_658 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_658) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_667 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_667) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_701[0] & (_T_693 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_693 & _T_2 & ~_T_701[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_711 & (_T_693 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_693 & _T_2 & ~_T_711) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_736 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_736) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at BankedL2Params.scala:65:103)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[3:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[30:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[15:0];
+  _RAND_11 = {2{`RANDOM}};
+  inflight_opcodes = _RAND_11[63:0];
+  _RAND_12 = {2{`RANDOM}};
+  inflight_sizes = _RAND_12[63:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_1 = _RAND_16[15:0];
+  _RAND_17 = {2{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[63:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[3:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module BankBinder(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [3:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [3:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [3:0]  auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [3:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  TLMonitor_42 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module TLWidthWidget_7(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [3:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [3:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [3:0]  auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [3:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLInterconnectCoupler_27(
+  output        auto_widget_in_a_ready,
+  input         auto_widget_in_a_valid,
+  input  [2:0]  auto_widget_in_a_bits_opcode,
+  input  [2:0]  auto_widget_in_a_bits_param,
+  input  [2:0]  auto_widget_in_a_bits_size,
+  input  [3:0]  auto_widget_in_a_bits_source,
+  input  [30:0] auto_widget_in_a_bits_address,
+  input  [3:0]  auto_widget_in_a_bits_mask,
+  input  [31:0] auto_widget_in_a_bits_data,
+  input         auto_widget_in_d_ready,
+  output        auto_widget_in_d_valid,
+  output [2:0]  auto_widget_in_d_bits_opcode,
+  output [2:0]  auto_widget_in_d_bits_size,
+  output [3:0]  auto_widget_in_d_bits_source,
+  output [31:0] auto_widget_in_d_bits_data,
+  input         auto_bus_xing_out_a_ready,
+  output        auto_bus_xing_out_a_valid,
+  output [2:0]  auto_bus_xing_out_a_bits_opcode,
+  output [2:0]  auto_bus_xing_out_a_bits_param,
+  output [2:0]  auto_bus_xing_out_a_bits_size,
+  output [3:0]  auto_bus_xing_out_a_bits_source,
+  output [30:0] auto_bus_xing_out_a_bits_address,
+  output [3:0]  auto_bus_xing_out_a_bits_mask,
+  output [31:0] auto_bus_xing_out_a_bits_data,
+  output        auto_bus_xing_out_d_ready,
+  input         auto_bus_xing_out_d_valid,
+  input  [2:0]  auto_bus_xing_out_d_bits_opcode,
+  input  [2:0]  auto_bus_xing_out_d_bits_size,
+  input  [3:0]  auto_bus_xing_out_d_bits_source,
+  input  [31:0] auto_bus_xing_out_d_bits_data
+);
+  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_in_a_bits_source; // @[WidthWidget.scala 219:28]
+  wire [30:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_in_a_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_d_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_in_d_bits_source; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_out_a_bits_source; // @[WidthWidget.scala 219:28]
+  wire [30:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_out_a_bits_mask; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_out_a_bits_data; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 219:28]
+  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_d_bits_opcode; // @[WidthWidget.scala 219:28]
+  wire [2:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 219:28]
+  wire [3:0] widget_auto_out_d_bits_source; // @[WidthWidget.scala 219:28]
+  wire [31:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 219:28]
+  TLWidthWidget_7 widget ( // @[WidthWidget.scala 219:28]
+    .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_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_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_data(widget_auto_out_a_bits_data),
+    .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_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 309:16]
+  assign auto_widget_in_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_opcode = widget_auto_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_widget_in_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_bus_xing_out_a_valid = widget_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_param = widget_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_size = widget_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_source = widget_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_address = widget_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_mask = widget_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_a_bits_data = widget_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_bus_xing_out_d_ready = widget_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign widget_auto_in_a_valid = auto_widget_in_a_valid; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_opcode = auto_widget_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_param = auto_widget_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_size = auto_widget_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_source = auto_widget_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_address = auto_widget_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_mask = auto_widget_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_a_bits_data = auto_widget_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign widget_auto_in_d_ready = auto_widget_in_d_ready; // @[LazyModule.scala 309:16]
+  assign widget_auto_out_a_ready = auto_bus_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_valid = auto_bus_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_opcode = auto_bus_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_size = auto_bus_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_source = auto_bus_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign widget_auto_out_d_bits_data = auto_bus_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module CoherenceManagerWrapper(
+  input         auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_ready,
+  output        auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_valid,
+  output [2:0]  auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_opcode,
+  output [2:0]  auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_param,
+  output [2:0]  auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_size,
+  output [3:0]  auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_source,
+  output [30:0] auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_address,
+  output [3:0]  auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_mask,
+  output [31:0] auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_data,
+  output        auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_ready,
+  input         auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_valid,
+  input  [2:0]  auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_opcode,
+  input  [2:0]  auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_size,
+  input  [3:0]  auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_source,
+  input  [31:0] auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_data,
+  output        auto_coherent_jbar_in_a_ready,
+  input         auto_coherent_jbar_in_a_valid,
+  input  [2:0]  auto_coherent_jbar_in_a_bits_opcode,
+  input  [2:0]  auto_coherent_jbar_in_a_bits_param,
+  input  [2:0]  auto_coherent_jbar_in_a_bits_size,
+  input  [1:0]  auto_coherent_jbar_in_a_bits_source,
+  input  [30:0] auto_coherent_jbar_in_a_bits_address,
+  input  [3:0]  auto_coherent_jbar_in_a_bits_mask,
+  input  [31:0] auto_coherent_jbar_in_a_bits_data,
+  input         auto_coherent_jbar_in_a_bits_corrupt,
+  input         auto_coherent_jbar_in_b_ready,
+  output        auto_coherent_jbar_in_b_valid,
+  output [1:0]  auto_coherent_jbar_in_b_bits_param,
+  output [30:0] auto_coherent_jbar_in_b_bits_address,
+  output        auto_coherent_jbar_in_c_ready,
+  input         auto_coherent_jbar_in_c_valid,
+  input  [2:0]  auto_coherent_jbar_in_c_bits_opcode,
+  input  [2:0]  auto_coherent_jbar_in_c_bits_param,
+  input  [2:0]  auto_coherent_jbar_in_c_bits_size,
+  input  [1:0]  auto_coherent_jbar_in_c_bits_source,
+  input  [30:0] auto_coherent_jbar_in_c_bits_address,
+  input  [31:0] auto_coherent_jbar_in_c_bits_data,
+  input         auto_coherent_jbar_in_c_bits_corrupt,
+  input         auto_coherent_jbar_in_d_ready,
+  output        auto_coherent_jbar_in_d_valid,
+  output [2:0]  auto_coherent_jbar_in_d_bits_opcode,
+  output [1:0]  auto_coherent_jbar_in_d_bits_param,
+  output [2:0]  auto_coherent_jbar_in_d_bits_size,
+  output [1:0]  auto_coherent_jbar_in_d_bits_source,
+  output [1:0]  auto_coherent_jbar_in_d_bits_sink,
+  output [31:0] auto_coherent_jbar_in_d_bits_data,
+  input         auto_coherent_jbar_in_e_valid,
+  input  [1:0]  auto_coherent_jbar_in_e_bits_sink,
+  input         auto_subsystem_l2_clock_groups_in_member_subsystem_l2_1_clock,
+  input         auto_subsystem_l2_clock_groups_in_member_subsystem_l2_1_reset,
+  input         auto_subsystem_l2_clock_groups_in_member_subsystem_l2_0_clock,
+  input         auto_subsystem_l2_clock_groups_in_member_subsystem_l2_0_reset,
+  output        auto_subsystem_l2_clock_groups_out_member_subsystem_mbus_0_clock,
+  output        auto_subsystem_l2_clock_groups_out_member_subsystem_mbus_0_reset
+);
+  wire  subsystem_l2_clock_groups_auto_in_member_subsystem_l2_1_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_l2_clock_groups_auto_in_member_subsystem_l2_1_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_l2_clock_groups_auto_in_member_subsystem_l2_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_l2_clock_groups_auto_in_member_subsystem_l2_0_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_l2_clock_groups_auto_out_1_member_subsystem_mbus_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_l2_clock_groups_auto_out_1_member_subsystem_mbus_0_reset; // @[BusWrapper.scala 40:48]
+  wire  subsystem_l2_clock_groups_auto_out_0_member_subsystem_l2_0_clock; // @[BusWrapper.scala 40:48]
+  wire  subsystem_l2_clock_groups_auto_out_0_member_subsystem_l2_0_reset; // @[BusWrapper.scala 40:48]
+  wire  clockGroup_auto_in_member_subsystem_l2_0_clock; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_in_member_subsystem_l2_0_reset; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_out_clock; // @[BusWrapper.scala 41:38]
+  wire  clockGroup_auto_out_reset; // @[BusWrapper.scala 41:38]
+  wire  fixedClockNode_auto_in_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_in_reset; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_clock; // @[ClockGroup.scala 106:107]
+  wire  fixedClockNode_auto_out_reset; // @[ClockGroup.scala 106:107]
+  wire  broadcast_1_clock; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_reset; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_auto_in_a_ready; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_auto_in_a_valid; // @[BankedL2Params.scala 81:24]
+  wire [2:0] broadcast_1_auto_in_a_bits_opcode; // @[BankedL2Params.scala 81:24]
+  wire [2:0] broadcast_1_auto_in_a_bits_param; // @[BankedL2Params.scala 81:24]
+  wire [2:0] broadcast_1_auto_in_a_bits_size; // @[BankedL2Params.scala 81:24]
+  wire [1:0] broadcast_1_auto_in_a_bits_source; // @[BankedL2Params.scala 81:24]
+  wire [30:0] broadcast_1_auto_in_a_bits_address; // @[BankedL2Params.scala 81:24]
+  wire [3:0] broadcast_1_auto_in_a_bits_mask; // @[BankedL2Params.scala 81:24]
+  wire [31:0] broadcast_1_auto_in_a_bits_data; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_auto_in_a_bits_corrupt; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_auto_in_b_ready; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_auto_in_b_valid; // @[BankedL2Params.scala 81:24]
+  wire [1:0] broadcast_1_auto_in_b_bits_param; // @[BankedL2Params.scala 81:24]
+  wire [30:0] broadcast_1_auto_in_b_bits_address; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_auto_in_c_ready; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_auto_in_c_valid; // @[BankedL2Params.scala 81:24]
+  wire [2:0] broadcast_1_auto_in_c_bits_opcode; // @[BankedL2Params.scala 81:24]
+  wire [2:0] broadcast_1_auto_in_c_bits_param; // @[BankedL2Params.scala 81:24]
+  wire [2:0] broadcast_1_auto_in_c_bits_size; // @[BankedL2Params.scala 81:24]
+  wire [1:0] broadcast_1_auto_in_c_bits_source; // @[BankedL2Params.scala 81:24]
+  wire [30:0] broadcast_1_auto_in_c_bits_address; // @[BankedL2Params.scala 81:24]
+  wire [31:0] broadcast_1_auto_in_c_bits_data; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_auto_in_c_bits_corrupt; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_auto_in_d_ready; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_auto_in_d_valid; // @[BankedL2Params.scala 81:24]
+  wire [2:0] broadcast_1_auto_in_d_bits_opcode; // @[BankedL2Params.scala 81:24]
+  wire [1:0] broadcast_1_auto_in_d_bits_param; // @[BankedL2Params.scala 81:24]
+  wire [2:0] broadcast_1_auto_in_d_bits_size; // @[BankedL2Params.scala 81:24]
+  wire [1:0] broadcast_1_auto_in_d_bits_source; // @[BankedL2Params.scala 81:24]
+  wire [1:0] broadcast_1_auto_in_d_bits_sink; // @[BankedL2Params.scala 81:24]
+  wire [31:0] broadcast_1_auto_in_d_bits_data; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_auto_in_e_valid; // @[BankedL2Params.scala 81:24]
+  wire [1:0] broadcast_1_auto_in_e_bits_sink; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_auto_out_a_ready; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_auto_out_a_valid; // @[BankedL2Params.scala 81:24]
+  wire [2:0] broadcast_1_auto_out_a_bits_opcode; // @[BankedL2Params.scala 81:24]
+  wire [2:0] broadcast_1_auto_out_a_bits_param; // @[BankedL2Params.scala 81:24]
+  wire [2:0] broadcast_1_auto_out_a_bits_size; // @[BankedL2Params.scala 81:24]
+  wire [3:0] broadcast_1_auto_out_a_bits_source; // @[BankedL2Params.scala 81:24]
+  wire [30:0] broadcast_1_auto_out_a_bits_address; // @[BankedL2Params.scala 81:24]
+  wire [3:0] broadcast_1_auto_out_a_bits_mask; // @[BankedL2Params.scala 81:24]
+  wire [31:0] broadcast_1_auto_out_a_bits_data; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_auto_out_d_ready; // @[BankedL2Params.scala 81:24]
+  wire  broadcast_1_auto_out_d_valid; // @[BankedL2Params.scala 81:24]
+  wire [2:0] broadcast_1_auto_out_d_bits_opcode; // @[BankedL2Params.scala 81:24]
+  wire [2:0] broadcast_1_auto_out_d_bits_size; // @[BankedL2Params.scala 81:24]
+  wire [3:0] broadcast_1_auto_out_d_bits_source; // @[BankedL2Params.scala 81:24]
+  wire [31:0] broadcast_1_auto_out_d_bits_data; // @[BankedL2Params.scala 81:24]
+  wire  coherent_jbar_auto_in_a_ready; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_in_a_valid; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_in_a_bits_opcode; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_in_a_bits_param; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_in_a_bits_size; // @[BankedL2Params.scala 58:41]
+  wire [1:0] coherent_jbar_auto_in_a_bits_source; // @[BankedL2Params.scala 58:41]
+  wire [30:0] coherent_jbar_auto_in_a_bits_address; // @[BankedL2Params.scala 58:41]
+  wire [3:0] coherent_jbar_auto_in_a_bits_mask; // @[BankedL2Params.scala 58:41]
+  wire [31:0] coherent_jbar_auto_in_a_bits_data; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_in_a_bits_corrupt; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_in_b_ready; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_in_b_valid; // @[BankedL2Params.scala 58:41]
+  wire [1:0] coherent_jbar_auto_in_b_bits_param; // @[BankedL2Params.scala 58:41]
+  wire [30:0] coherent_jbar_auto_in_b_bits_address; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_in_c_ready; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_in_c_valid; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_in_c_bits_opcode; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_in_c_bits_param; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_in_c_bits_size; // @[BankedL2Params.scala 58:41]
+  wire [1:0] coherent_jbar_auto_in_c_bits_source; // @[BankedL2Params.scala 58:41]
+  wire [30:0] coherent_jbar_auto_in_c_bits_address; // @[BankedL2Params.scala 58:41]
+  wire [31:0] coherent_jbar_auto_in_c_bits_data; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_in_c_bits_corrupt; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_in_d_ready; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_in_d_valid; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_in_d_bits_opcode; // @[BankedL2Params.scala 58:41]
+  wire [1:0] coherent_jbar_auto_in_d_bits_param; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_in_d_bits_size; // @[BankedL2Params.scala 58:41]
+  wire [1:0] coherent_jbar_auto_in_d_bits_source; // @[BankedL2Params.scala 58:41]
+  wire [1:0] coherent_jbar_auto_in_d_bits_sink; // @[BankedL2Params.scala 58:41]
+  wire [31:0] coherent_jbar_auto_in_d_bits_data; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_in_e_valid; // @[BankedL2Params.scala 58:41]
+  wire [1:0] coherent_jbar_auto_in_e_bits_sink; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_out_a_ready; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_out_a_valid; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_out_a_bits_opcode; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_out_a_bits_param; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_out_a_bits_size; // @[BankedL2Params.scala 58:41]
+  wire [1:0] coherent_jbar_auto_out_a_bits_source; // @[BankedL2Params.scala 58:41]
+  wire [30:0] coherent_jbar_auto_out_a_bits_address; // @[BankedL2Params.scala 58:41]
+  wire [3:0] coherent_jbar_auto_out_a_bits_mask; // @[BankedL2Params.scala 58:41]
+  wire [31:0] coherent_jbar_auto_out_a_bits_data; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_out_a_bits_corrupt; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_out_b_ready; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_out_b_valid; // @[BankedL2Params.scala 58:41]
+  wire [1:0] coherent_jbar_auto_out_b_bits_param; // @[BankedL2Params.scala 58:41]
+  wire [30:0] coherent_jbar_auto_out_b_bits_address; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_out_c_ready; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_out_c_valid; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_out_c_bits_opcode; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_out_c_bits_param; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_out_c_bits_size; // @[BankedL2Params.scala 58:41]
+  wire [1:0] coherent_jbar_auto_out_c_bits_source; // @[BankedL2Params.scala 58:41]
+  wire [30:0] coherent_jbar_auto_out_c_bits_address; // @[BankedL2Params.scala 58:41]
+  wire [31:0] coherent_jbar_auto_out_c_bits_data; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_out_c_bits_corrupt; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_out_d_ready; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_out_d_valid; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_out_d_bits_opcode; // @[BankedL2Params.scala 58:41]
+  wire [1:0] coherent_jbar_auto_out_d_bits_param; // @[BankedL2Params.scala 58:41]
+  wire [2:0] coherent_jbar_auto_out_d_bits_size; // @[BankedL2Params.scala 58:41]
+  wire [1:0] coherent_jbar_auto_out_d_bits_source; // @[BankedL2Params.scala 58:41]
+  wire [1:0] coherent_jbar_auto_out_d_bits_sink; // @[BankedL2Params.scala 58:41]
+  wire [31:0] coherent_jbar_auto_out_d_bits_data; // @[BankedL2Params.scala 58:41]
+  wire  coherent_jbar_auto_out_e_valid; // @[BankedL2Params.scala 58:41]
+  wire [1:0] coherent_jbar_auto_out_e_bits_sink; // @[BankedL2Params.scala 58:41]
+  wire  binder_clock; // @[BankBinder.scala 67:28]
+  wire  binder_reset; // @[BankBinder.scala 67:28]
+  wire  binder_auto_in_a_ready; // @[BankBinder.scala 67:28]
+  wire  binder_auto_in_a_valid; // @[BankBinder.scala 67:28]
+  wire [2:0] binder_auto_in_a_bits_opcode; // @[BankBinder.scala 67:28]
+  wire [2:0] binder_auto_in_a_bits_param; // @[BankBinder.scala 67:28]
+  wire [2:0] binder_auto_in_a_bits_size; // @[BankBinder.scala 67:28]
+  wire [3:0] binder_auto_in_a_bits_source; // @[BankBinder.scala 67:28]
+  wire [30:0] binder_auto_in_a_bits_address; // @[BankBinder.scala 67:28]
+  wire [3:0] binder_auto_in_a_bits_mask; // @[BankBinder.scala 67:28]
+  wire [31:0] binder_auto_in_a_bits_data; // @[BankBinder.scala 67:28]
+  wire  binder_auto_in_d_ready; // @[BankBinder.scala 67:28]
+  wire  binder_auto_in_d_valid; // @[BankBinder.scala 67:28]
+  wire [2:0] binder_auto_in_d_bits_opcode; // @[BankBinder.scala 67:28]
+  wire [2:0] binder_auto_in_d_bits_size; // @[BankBinder.scala 67:28]
+  wire [3:0] binder_auto_in_d_bits_source; // @[BankBinder.scala 67:28]
+  wire [31:0] binder_auto_in_d_bits_data; // @[BankBinder.scala 67:28]
+  wire  binder_auto_out_a_ready; // @[BankBinder.scala 67:28]
+  wire  binder_auto_out_a_valid; // @[BankBinder.scala 67:28]
+  wire [2:0] binder_auto_out_a_bits_opcode; // @[BankBinder.scala 67:28]
+  wire [2:0] binder_auto_out_a_bits_param; // @[BankBinder.scala 67:28]
+  wire [2:0] binder_auto_out_a_bits_size; // @[BankBinder.scala 67:28]
+  wire [3:0] binder_auto_out_a_bits_source; // @[BankBinder.scala 67:28]
+  wire [30:0] binder_auto_out_a_bits_address; // @[BankBinder.scala 67:28]
+  wire [3:0] binder_auto_out_a_bits_mask; // @[BankBinder.scala 67:28]
+  wire [31:0] binder_auto_out_a_bits_data; // @[BankBinder.scala 67:28]
+  wire  binder_auto_out_d_ready; // @[BankBinder.scala 67:28]
+  wire  binder_auto_out_d_valid; // @[BankBinder.scala 67:28]
+  wire [2:0] binder_auto_out_d_bits_opcode; // @[BankBinder.scala 67:28]
+  wire [2:0] binder_auto_out_d_bits_size; // @[BankBinder.scala 67:28]
+  wire [3:0] binder_auto_out_d_bits_source; // @[BankBinder.scala 67:28]
+  wire [31:0] binder_auto_out_d_bits_data; // @[BankBinder.scala 67:28]
+  wire  coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_param; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_size; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_source; // @[LazyModule.scala 432:27]
+  wire [30:0] coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_address; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_mask; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_data; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_ready; // @[LazyModule.scala 432:27]
+  wire  coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_valid; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_bits_opcode; // @[LazyModule.scala 432:27]
+  wire [2:0] coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_bits_size; // @[LazyModule.scala 432:27]
+  wire [3:0] coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_bits_source; // @[LazyModule.scala 432:27]
+  wire [31:0] coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_bits_data; // @[LazyModule.scala 432:27]
+  ClockGroupAggregator_5 subsystem_l2_clock_groups ( // @[BusWrapper.scala 40:48]
+    .auto_in_member_subsystem_l2_1_clock(subsystem_l2_clock_groups_auto_in_member_subsystem_l2_1_clock),
+    .auto_in_member_subsystem_l2_1_reset(subsystem_l2_clock_groups_auto_in_member_subsystem_l2_1_reset),
+    .auto_in_member_subsystem_l2_0_clock(subsystem_l2_clock_groups_auto_in_member_subsystem_l2_0_clock),
+    .auto_in_member_subsystem_l2_0_reset(subsystem_l2_clock_groups_auto_in_member_subsystem_l2_0_reset),
+    .auto_out_1_member_subsystem_mbus_0_clock(subsystem_l2_clock_groups_auto_out_1_member_subsystem_mbus_0_clock),
+    .auto_out_1_member_subsystem_mbus_0_reset(subsystem_l2_clock_groups_auto_out_1_member_subsystem_mbus_0_reset),
+    .auto_out_0_member_subsystem_l2_0_clock(subsystem_l2_clock_groups_auto_out_0_member_subsystem_l2_0_clock),
+    .auto_out_0_member_subsystem_l2_0_reset(subsystem_l2_clock_groups_auto_out_0_member_subsystem_l2_0_reset)
+  );
+  ClockGroup_5 clockGroup ( // @[BusWrapper.scala 41:38]
+    .auto_in_member_subsystem_l2_0_clock(clockGroup_auto_in_member_subsystem_l2_0_clock),
+    .auto_in_member_subsystem_l2_0_reset(clockGroup_auto_in_member_subsystem_l2_0_reset),
+    .auto_out_clock(clockGroup_auto_out_clock),
+    .auto_out_reset(clockGroup_auto_out_reset)
+  );
+  FixedClockBroadcast_2 fixedClockNode ( // @[ClockGroup.scala 106:107]
+    .auto_in_clock(fixedClockNode_auto_in_clock),
+    .auto_in_reset(fixedClockNode_auto_in_reset),
+    .auto_out_clock(fixedClockNode_auto_out_clock),
+    .auto_out_reset(fixedClockNode_auto_out_reset)
+  );
+  TLBroadcast broadcast_1 ( // @[BankedL2Params.scala 81:24]
+    .clock(broadcast_1_clock),
+    .reset(broadcast_1_reset),
+    .auto_in_a_ready(broadcast_1_auto_in_a_ready),
+    .auto_in_a_valid(broadcast_1_auto_in_a_valid),
+    .auto_in_a_bits_opcode(broadcast_1_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(broadcast_1_auto_in_a_bits_param),
+    .auto_in_a_bits_size(broadcast_1_auto_in_a_bits_size),
+    .auto_in_a_bits_source(broadcast_1_auto_in_a_bits_source),
+    .auto_in_a_bits_address(broadcast_1_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(broadcast_1_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(broadcast_1_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(broadcast_1_auto_in_a_bits_corrupt),
+    .auto_in_b_ready(broadcast_1_auto_in_b_ready),
+    .auto_in_b_valid(broadcast_1_auto_in_b_valid),
+    .auto_in_b_bits_param(broadcast_1_auto_in_b_bits_param),
+    .auto_in_b_bits_address(broadcast_1_auto_in_b_bits_address),
+    .auto_in_c_ready(broadcast_1_auto_in_c_ready),
+    .auto_in_c_valid(broadcast_1_auto_in_c_valid),
+    .auto_in_c_bits_opcode(broadcast_1_auto_in_c_bits_opcode),
+    .auto_in_c_bits_param(broadcast_1_auto_in_c_bits_param),
+    .auto_in_c_bits_size(broadcast_1_auto_in_c_bits_size),
+    .auto_in_c_bits_source(broadcast_1_auto_in_c_bits_source),
+    .auto_in_c_bits_address(broadcast_1_auto_in_c_bits_address),
+    .auto_in_c_bits_data(broadcast_1_auto_in_c_bits_data),
+    .auto_in_c_bits_corrupt(broadcast_1_auto_in_c_bits_corrupt),
+    .auto_in_d_ready(broadcast_1_auto_in_d_ready),
+    .auto_in_d_valid(broadcast_1_auto_in_d_valid),
+    .auto_in_d_bits_opcode(broadcast_1_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(broadcast_1_auto_in_d_bits_param),
+    .auto_in_d_bits_size(broadcast_1_auto_in_d_bits_size),
+    .auto_in_d_bits_source(broadcast_1_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(broadcast_1_auto_in_d_bits_sink),
+    .auto_in_d_bits_data(broadcast_1_auto_in_d_bits_data),
+    .auto_in_e_valid(broadcast_1_auto_in_e_valid),
+    .auto_in_e_bits_sink(broadcast_1_auto_in_e_bits_sink),
+    .auto_out_a_ready(broadcast_1_auto_out_a_ready),
+    .auto_out_a_valid(broadcast_1_auto_out_a_valid),
+    .auto_out_a_bits_opcode(broadcast_1_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(broadcast_1_auto_out_a_bits_param),
+    .auto_out_a_bits_size(broadcast_1_auto_out_a_bits_size),
+    .auto_out_a_bits_source(broadcast_1_auto_out_a_bits_source),
+    .auto_out_a_bits_address(broadcast_1_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(broadcast_1_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(broadcast_1_auto_out_a_bits_data),
+    .auto_out_d_ready(broadcast_1_auto_out_d_ready),
+    .auto_out_d_valid(broadcast_1_auto_out_d_valid),
+    .auto_out_d_bits_opcode(broadcast_1_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(broadcast_1_auto_out_d_bits_size),
+    .auto_out_d_bits_source(broadcast_1_auto_out_d_bits_source),
+    .auto_out_d_bits_data(broadcast_1_auto_out_d_bits_data)
+  );
+  TLJbar coherent_jbar ( // @[BankedL2Params.scala 58:41]
+    .auto_in_a_ready(coherent_jbar_auto_in_a_ready),
+    .auto_in_a_valid(coherent_jbar_auto_in_a_valid),
+    .auto_in_a_bits_opcode(coherent_jbar_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(coherent_jbar_auto_in_a_bits_param),
+    .auto_in_a_bits_size(coherent_jbar_auto_in_a_bits_size),
+    .auto_in_a_bits_source(coherent_jbar_auto_in_a_bits_source),
+    .auto_in_a_bits_address(coherent_jbar_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(coherent_jbar_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(coherent_jbar_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(coherent_jbar_auto_in_a_bits_corrupt),
+    .auto_in_b_ready(coherent_jbar_auto_in_b_ready),
+    .auto_in_b_valid(coherent_jbar_auto_in_b_valid),
+    .auto_in_b_bits_param(coherent_jbar_auto_in_b_bits_param),
+    .auto_in_b_bits_address(coherent_jbar_auto_in_b_bits_address),
+    .auto_in_c_ready(coherent_jbar_auto_in_c_ready),
+    .auto_in_c_valid(coherent_jbar_auto_in_c_valid),
+    .auto_in_c_bits_opcode(coherent_jbar_auto_in_c_bits_opcode),
+    .auto_in_c_bits_param(coherent_jbar_auto_in_c_bits_param),
+    .auto_in_c_bits_size(coherent_jbar_auto_in_c_bits_size),
+    .auto_in_c_bits_source(coherent_jbar_auto_in_c_bits_source),
+    .auto_in_c_bits_address(coherent_jbar_auto_in_c_bits_address),
+    .auto_in_c_bits_data(coherent_jbar_auto_in_c_bits_data),
+    .auto_in_c_bits_corrupt(coherent_jbar_auto_in_c_bits_corrupt),
+    .auto_in_d_ready(coherent_jbar_auto_in_d_ready),
+    .auto_in_d_valid(coherent_jbar_auto_in_d_valid),
+    .auto_in_d_bits_opcode(coherent_jbar_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(coherent_jbar_auto_in_d_bits_param),
+    .auto_in_d_bits_size(coherent_jbar_auto_in_d_bits_size),
+    .auto_in_d_bits_source(coherent_jbar_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(coherent_jbar_auto_in_d_bits_sink),
+    .auto_in_d_bits_data(coherent_jbar_auto_in_d_bits_data),
+    .auto_in_e_valid(coherent_jbar_auto_in_e_valid),
+    .auto_in_e_bits_sink(coherent_jbar_auto_in_e_bits_sink),
+    .auto_out_a_ready(coherent_jbar_auto_out_a_ready),
+    .auto_out_a_valid(coherent_jbar_auto_out_a_valid),
+    .auto_out_a_bits_opcode(coherent_jbar_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(coherent_jbar_auto_out_a_bits_param),
+    .auto_out_a_bits_size(coherent_jbar_auto_out_a_bits_size),
+    .auto_out_a_bits_source(coherent_jbar_auto_out_a_bits_source),
+    .auto_out_a_bits_address(coherent_jbar_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(coherent_jbar_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(coherent_jbar_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(coherent_jbar_auto_out_a_bits_corrupt),
+    .auto_out_b_ready(coherent_jbar_auto_out_b_ready),
+    .auto_out_b_valid(coherent_jbar_auto_out_b_valid),
+    .auto_out_b_bits_param(coherent_jbar_auto_out_b_bits_param),
+    .auto_out_b_bits_address(coherent_jbar_auto_out_b_bits_address),
+    .auto_out_c_ready(coherent_jbar_auto_out_c_ready),
+    .auto_out_c_valid(coherent_jbar_auto_out_c_valid),
+    .auto_out_c_bits_opcode(coherent_jbar_auto_out_c_bits_opcode),
+    .auto_out_c_bits_param(coherent_jbar_auto_out_c_bits_param),
+    .auto_out_c_bits_size(coherent_jbar_auto_out_c_bits_size),
+    .auto_out_c_bits_source(coherent_jbar_auto_out_c_bits_source),
+    .auto_out_c_bits_address(coherent_jbar_auto_out_c_bits_address),
+    .auto_out_c_bits_data(coherent_jbar_auto_out_c_bits_data),
+    .auto_out_c_bits_corrupt(coherent_jbar_auto_out_c_bits_corrupt),
+    .auto_out_d_ready(coherent_jbar_auto_out_d_ready),
+    .auto_out_d_valid(coherent_jbar_auto_out_d_valid),
+    .auto_out_d_bits_opcode(coherent_jbar_auto_out_d_bits_opcode),
+    .auto_out_d_bits_param(coherent_jbar_auto_out_d_bits_param),
+    .auto_out_d_bits_size(coherent_jbar_auto_out_d_bits_size),
+    .auto_out_d_bits_source(coherent_jbar_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(coherent_jbar_auto_out_d_bits_sink),
+    .auto_out_d_bits_data(coherent_jbar_auto_out_d_bits_data),
+    .auto_out_e_valid(coherent_jbar_auto_out_e_valid),
+    .auto_out_e_bits_sink(coherent_jbar_auto_out_e_bits_sink)
+  );
+  BankBinder binder ( // @[BankBinder.scala 67:28]
+    .clock(binder_clock),
+    .reset(binder_reset),
+    .auto_in_a_ready(binder_auto_in_a_ready),
+    .auto_in_a_valid(binder_auto_in_a_valid),
+    .auto_in_a_bits_opcode(binder_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(binder_auto_in_a_bits_param),
+    .auto_in_a_bits_size(binder_auto_in_a_bits_size),
+    .auto_in_a_bits_source(binder_auto_in_a_bits_source),
+    .auto_in_a_bits_address(binder_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(binder_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(binder_auto_in_a_bits_data),
+    .auto_in_d_ready(binder_auto_in_d_ready),
+    .auto_in_d_valid(binder_auto_in_d_valid),
+    .auto_in_d_bits_opcode(binder_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(binder_auto_in_d_bits_size),
+    .auto_in_d_bits_source(binder_auto_in_d_bits_source),
+    .auto_in_d_bits_data(binder_auto_in_d_bits_data),
+    .auto_out_a_ready(binder_auto_out_a_ready),
+    .auto_out_a_valid(binder_auto_out_a_valid),
+    .auto_out_a_bits_opcode(binder_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(binder_auto_out_a_bits_param),
+    .auto_out_a_bits_size(binder_auto_out_a_bits_size),
+    .auto_out_a_bits_source(binder_auto_out_a_bits_source),
+    .auto_out_a_bits_address(binder_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(binder_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(binder_auto_out_a_bits_data),
+    .auto_out_d_ready(binder_auto_out_d_ready),
+    .auto_out_d_valid(binder_auto_out_d_valid),
+    .auto_out_d_bits_opcode(binder_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(binder_auto_out_d_bits_size),
+    .auto_out_d_bits_source(binder_auto_out_d_bits_source),
+    .auto_out_d_bits_data(binder_auto_out_d_bits_data)
+  );
+  TLInterconnectCoupler_27 coupler_to_bus_named_subsystem_mbus ( // @[LazyModule.scala 432:27]
+    .auto_widget_in_a_ready(coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_ready),
+    .auto_widget_in_a_valid(coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_valid),
+    .auto_widget_in_a_bits_opcode(coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_opcode),
+    .auto_widget_in_a_bits_param(coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_param),
+    .auto_widget_in_a_bits_size(coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_size),
+    .auto_widget_in_a_bits_source(coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_source),
+    .auto_widget_in_a_bits_address(coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_address),
+    .auto_widget_in_a_bits_mask(coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_mask),
+    .auto_widget_in_a_bits_data(coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_data),
+    .auto_widget_in_d_ready(coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_ready),
+    .auto_widget_in_d_valid(coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_valid),
+    .auto_widget_in_d_bits_opcode(coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_bits_opcode),
+    .auto_widget_in_d_bits_size(coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_bits_size),
+    .auto_widget_in_d_bits_source(coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_bits_source),
+    .auto_widget_in_d_bits_data(coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_bits_data),
+    .auto_bus_xing_out_a_ready(coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_ready),
+    .auto_bus_xing_out_a_valid(coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_valid),
+    .auto_bus_xing_out_a_bits_opcode(coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_opcode),
+    .auto_bus_xing_out_a_bits_param(coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_param),
+    .auto_bus_xing_out_a_bits_size(coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_size),
+    .auto_bus_xing_out_a_bits_source(coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_source),
+    .auto_bus_xing_out_a_bits_address(coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_address),
+    .auto_bus_xing_out_a_bits_mask(coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_mask),
+    .auto_bus_xing_out_a_bits_data(coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_data),
+    .auto_bus_xing_out_d_ready(coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_ready),
+    .auto_bus_xing_out_d_valid(coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_valid),
+    .auto_bus_xing_out_d_bits_opcode(coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_bits_opcode),
+    .auto_bus_xing_out_d_bits_size(coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_bits_size),
+    .auto_bus_xing_out_d_bits_source(coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_bits_source),
+    .auto_bus_xing_out_d_bits_data(coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_bits_data)
+  );
+  assign auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_valid =
+    coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_opcode =
+    coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_param =
+    coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_size =
+    coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_source =
+    coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_address =
+    coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_mask =
+    coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_data =
+    coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_ready =
+    coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_coherent_jbar_in_a_ready = coherent_jbar_auto_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_coherent_jbar_in_b_valid = coherent_jbar_auto_in_b_valid; // @[LazyModule.scala 309:16]
+  assign auto_coherent_jbar_in_b_bits_param = coherent_jbar_auto_in_b_bits_param; // @[LazyModule.scala 309:16]
+  assign auto_coherent_jbar_in_b_bits_address = coherent_jbar_auto_in_b_bits_address; // @[LazyModule.scala 309:16]
+  assign auto_coherent_jbar_in_c_ready = coherent_jbar_auto_in_c_ready; // @[LazyModule.scala 309:16]
+  assign auto_coherent_jbar_in_d_valid = coherent_jbar_auto_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_coherent_jbar_in_d_bits_opcode = coherent_jbar_auto_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_coherent_jbar_in_d_bits_param = coherent_jbar_auto_in_d_bits_param; // @[LazyModule.scala 309:16]
+  assign auto_coherent_jbar_in_d_bits_size = coherent_jbar_auto_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_coherent_jbar_in_d_bits_source = coherent_jbar_auto_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_coherent_jbar_in_d_bits_sink = coherent_jbar_auto_in_d_bits_sink; // @[LazyModule.scala 309:16]
+  assign auto_coherent_jbar_in_d_bits_data = coherent_jbar_auto_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_subsystem_l2_clock_groups_out_member_subsystem_mbus_0_clock =
+    subsystem_l2_clock_groups_auto_out_1_member_subsystem_mbus_0_clock; // @[LazyModule.scala 311:12]
+  assign auto_subsystem_l2_clock_groups_out_member_subsystem_mbus_0_reset =
+    subsystem_l2_clock_groups_auto_out_1_member_subsystem_mbus_0_reset; // @[LazyModule.scala 311:12]
+  assign subsystem_l2_clock_groups_auto_in_member_subsystem_l2_1_clock =
+    auto_subsystem_l2_clock_groups_in_member_subsystem_l2_1_clock; // @[LazyModule.scala 309:16]
+  assign subsystem_l2_clock_groups_auto_in_member_subsystem_l2_1_reset =
+    auto_subsystem_l2_clock_groups_in_member_subsystem_l2_1_reset; // @[LazyModule.scala 309:16]
+  assign subsystem_l2_clock_groups_auto_in_member_subsystem_l2_0_clock =
+    auto_subsystem_l2_clock_groups_in_member_subsystem_l2_0_clock; // @[LazyModule.scala 309:16]
+  assign subsystem_l2_clock_groups_auto_in_member_subsystem_l2_0_reset =
+    auto_subsystem_l2_clock_groups_in_member_subsystem_l2_0_reset; // @[LazyModule.scala 309:16]
+  assign clockGroup_auto_in_member_subsystem_l2_0_clock =
+    subsystem_l2_clock_groups_auto_out_0_member_subsystem_l2_0_clock; // @[LazyModule.scala 298:16]
+  assign clockGroup_auto_in_member_subsystem_l2_0_reset =
+    subsystem_l2_clock_groups_auto_out_0_member_subsystem_l2_0_reset; // @[LazyModule.scala 298:16]
+  assign fixedClockNode_auto_in_clock = clockGroup_auto_out_clock; // @[LazyModule.scala 298:16]
+  assign fixedClockNode_auto_in_reset = clockGroup_auto_out_reset; // @[LazyModule.scala 298:16]
+  assign broadcast_1_clock = fixedClockNode_auto_out_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign broadcast_1_reset = fixedClockNode_auto_out_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_a_valid = coherent_jbar_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_a_bits_opcode = coherent_jbar_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_a_bits_param = coherent_jbar_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_a_bits_size = coherent_jbar_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_a_bits_source = coherent_jbar_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_a_bits_address = coherent_jbar_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_a_bits_mask = coherent_jbar_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_a_bits_data = coherent_jbar_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_a_bits_corrupt = coherent_jbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_b_ready = coherent_jbar_auto_out_b_ready; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_c_valid = coherent_jbar_auto_out_c_valid; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_c_bits_opcode = coherent_jbar_auto_out_c_bits_opcode; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_c_bits_param = coherent_jbar_auto_out_c_bits_param; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_c_bits_size = coherent_jbar_auto_out_c_bits_size; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_c_bits_source = coherent_jbar_auto_out_c_bits_source; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_c_bits_address = coherent_jbar_auto_out_c_bits_address; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_c_bits_data = coherent_jbar_auto_out_c_bits_data; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_c_bits_corrupt = coherent_jbar_auto_out_c_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_d_ready = coherent_jbar_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_e_valid = coherent_jbar_auto_out_e_valid; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_in_e_bits_sink = coherent_jbar_auto_out_e_bits_sink; // @[LazyModule.scala 296:16]
+  assign broadcast_1_auto_out_a_ready = binder_auto_in_a_ready; // @[LazyModule.scala 298:16]
+  assign broadcast_1_auto_out_d_valid = binder_auto_in_d_valid; // @[LazyModule.scala 298:16]
+  assign broadcast_1_auto_out_d_bits_opcode = binder_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign broadcast_1_auto_out_d_bits_size = binder_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign broadcast_1_auto_out_d_bits_source = binder_auto_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign broadcast_1_auto_out_d_bits_data = binder_auto_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign coherent_jbar_auto_in_a_valid = auto_coherent_jbar_in_a_valid; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_a_bits_opcode = auto_coherent_jbar_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_a_bits_param = auto_coherent_jbar_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_a_bits_size = auto_coherent_jbar_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_a_bits_source = auto_coherent_jbar_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_a_bits_address = auto_coherent_jbar_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_a_bits_mask = auto_coherent_jbar_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_a_bits_data = auto_coherent_jbar_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_a_bits_corrupt = auto_coherent_jbar_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_b_ready = auto_coherent_jbar_in_b_ready; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_c_valid = auto_coherent_jbar_in_c_valid; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_c_bits_opcode = auto_coherent_jbar_in_c_bits_opcode; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_c_bits_param = auto_coherent_jbar_in_c_bits_param; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_c_bits_size = auto_coherent_jbar_in_c_bits_size; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_c_bits_source = auto_coherent_jbar_in_c_bits_source; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_c_bits_address = auto_coherent_jbar_in_c_bits_address; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_c_bits_data = auto_coherent_jbar_in_c_bits_data; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_c_bits_corrupt = auto_coherent_jbar_in_c_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_d_ready = auto_coherent_jbar_in_d_ready; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_e_valid = auto_coherent_jbar_in_e_valid; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_in_e_bits_sink = auto_coherent_jbar_in_e_bits_sink; // @[LazyModule.scala 309:16]
+  assign coherent_jbar_auto_out_a_ready = broadcast_1_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign coherent_jbar_auto_out_b_valid = broadcast_1_auto_in_b_valid; // @[LazyModule.scala 296:16]
+  assign coherent_jbar_auto_out_b_bits_param = broadcast_1_auto_in_b_bits_param; // @[LazyModule.scala 296:16]
+  assign coherent_jbar_auto_out_b_bits_address = broadcast_1_auto_in_b_bits_address; // @[LazyModule.scala 296:16]
+  assign coherent_jbar_auto_out_c_ready = broadcast_1_auto_in_c_ready; // @[LazyModule.scala 296:16]
+  assign coherent_jbar_auto_out_d_valid = broadcast_1_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign coherent_jbar_auto_out_d_bits_opcode = broadcast_1_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign coherent_jbar_auto_out_d_bits_param = broadcast_1_auto_in_d_bits_param; // @[LazyModule.scala 296:16]
+  assign coherent_jbar_auto_out_d_bits_size = broadcast_1_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign coherent_jbar_auto_out_d_bits_source = broadcast_1_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign coherent_jbar_auto_out_d_bits_sink = broadcast_1_auto_in_d_bits_sink; // @[LazyModule.scala 296:16]
+  assign coherent_jbar_auto_out_d_bits_data = broadcast_1_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign binder_clock = fixedClockNode_auto_out_clock; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign binder_reset = fixedClockNode_auto_out_reset; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign binder_auto_in_a_valid = broadcast_1_auto_out_a_valid; // @[LazyModule.scala 298:16]
+  assign binder_auto_in_a_bits_opcode = broadcast_1_auto_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign binder_auto_in_a_bits_param = broadcast_1_auto_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign binder_auto_in_a_bits_size = broadcast_1_auto_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign binder_auto_in_a_bits_source = broadcast_1_auto_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign binder_auto_in_a_bits_address = broadcast_1_auto_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign binder_auto_in_a_bits_mask = broadcast_1_auto_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign binder_auto_in_a_bits_data = broadcast_1_auto_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign binder_auto_in_d_ready = broadcast_1_auto_out_d_ready; // @[LazyModule.scala 298:16]
+  assign binder_auto_out_a_ready = coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_ready; // @[LazyModule.scala 298:16]
+  assign binder_auto_out_d_valid = coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_valid; // @[LazyModule.scala 298:16]
+  assign binder_auto_out_d_bits_opcode = coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign binder_auto_out_d_bits_size = coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign binder_auto_out_d_bits_source = coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign binder_auto_out_d_bits_data = coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_valid = binder_auto_out_a_valid; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_opcode = binder_auto_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_param = binder_auto_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_size = binder_auto_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_source = binder_auto_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_address = binder_auto_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_mask = binder_auto_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_mbus_auto_widget_in_a_bits_data = binder_auto_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_mbus_auto_widget_in_d_ready = binder_auto_out_d_ready; // @[LazyModule.scala 298:16]
+  assign coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_a_ready =
+    auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_ready; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_valid =
+    auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_valid; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_bits_opcode =
+    auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_bits_size =
+    auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_bits_source =
+    auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign coupler_to_bus_named_subsystem_mbus_auto_bus_xing_out_d_bits_data =
+    auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_data; // @[LazyModule.scala 311:12]
+endmodule
+module TLMonitor_43(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [3:0]  io_in_a_bits_size,
+  input         io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_b_ready,
+  input         io_in_b_valid,
+  input  [2:0]  io_in_b_bits_opcode,
+  input  [1:0]  io_in_b_bits_param,
+  input  [3:0]  io_in_b_bits_size,
+  input         io_in_b_bits_source,
+  input  [30:0] io_in_b_bits_address,
+  input  [3:0]  io_in_b_bits_mask,
+  input         io_in_b_bits_corrupt,
+  input         io_in_c_ready,
+  input         io_in_c_valid,
+  input  [2:0]  io_in_c_bits_opcode,
+  input  [2:0]  io_in_c_bits_param,
+  input  [3:0]  io_in_c_bits_size,
+  input         io_in_c_bits_source,
+  input  [30:0] io_in_c_bits_address,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [3:0]  io_in_d_bits_size,
+  input         io_in_d_bits_source,
+  input  [1:0]  io_in_d_bits_sink,
+  input         io_in_d_bits_denied,
+  input         io_in_d_bits_corrupt,
+  input         io_in_e_ready,
+  input         io_in_e_valid,
+  input  [1:0]  io_in_e_bits_sink
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+  reg [31:0] _RAND_34;
+  reg [31:0] _RAND_35;
+  reg [31:0] _RAND_36;
+  reg [31:0] _RAND_37;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = ~io_in_a_bits_source; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | io_in_a_bits_source; // @[Parameters.scala 1125:46]
+  wire [26:0] _is_aligned_mask_T_1 = 27'hfff << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask = ~_is_aligned_mask_T_1[11:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_86 = {{19'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T = io_in_a_bits_address & _GEN_86; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 31'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 4'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire [31:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_24 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire  _T_26 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire  _T_31 = _T_26 & source_ok; // @[Parameters.scala 1160:30]
+  wire [31:0] _T_37 = $signed(_T_7) & -32'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_38 = $signed(_T_37) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_39 = io_in_a_bits_address ^ 31'h3000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_40 = {1'b0,$signed(_T_39)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_42 = $signed(_T_40) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_43 = $signed(_T_42) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_44 = io_in_a_bits_address ^ 31'h10000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_45 = {1'b0,$signed(_T_44)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_47 = $signed(_T_45) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_48 = $signed(_T_47) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_49 = io_in_a_bits_address ^ 31'h2000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_50 = {1'b0,$signed(_T_49)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_52 = $signed(_T_50) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_53 = $signed(_T_52) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_54 = io_in_a_bits_address ^ 31'h8000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_55 = {1'b0,$signed(_T_54)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_57 = $signed(_T_55) & -32'sh4000; // @[Parameters.scala 137:52]
+  wire  _T_58 = $signed(_T_57) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_59 = io_in_a_bits_address ^ 31'hc000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_60 = {1'b0,$signed(_T_59)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_62 = $signed(_T_60) & -32'sh4000000; // @[Parameters.scala 137:52]
+  wire  _T_63 = $signed(_T_62) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_64 = io_in_a_bits_address ^ 31'h10012000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_65 = {1'b0,$signed(_T_64)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_67 = $signed(_T_65) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_68 = $signed(_T_67) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_69 = io_in_a_bits_address ^ 31'h10014000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_70 = {1'b0,$signed(_T_69)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_72 = $signed(_T_70) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_73 = $signed(_T_72) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_74 = io_in_a_bits_address ^ 31'h10016000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_75 = {1'b0,$signed(_T_74)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_77 = $signed(_T_75) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_78 = $signed(_T_77) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_79 = io_in_a_bits_address ^ 31'h10023000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_80 = {1'b0,$signed(_T_79)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_82 = $signed(_T_80) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_83 = $signed(_T_82) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_84 = io_in_a_bits_address ^ 31'h10024000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_85 = {1'b0,$signed(_T_84)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_87 = $signed(_T_85) & -32'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_88 = $signed(_T_87) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_89 = io_in_a_bits_address ^ 31'h10026000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_90 = {1'b0,$signed(_T_89)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_92 = $signed(_T_90) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_93 = $signed(_T_92) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_94 = io_in_a_bits_address ^ 31'h10043000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_97 = $signed(_T_95) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_98 = $signed(_T_97) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_99 = io_in_a_bits_address ^ 31'h20000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_100 = {1'b0,$signed(_T_99)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_102 = $signed(_T_100) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_103 = $signed(_T_102) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_119 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 92:42]
+  wire [30:0] _T_122 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_125 = $signed(_T_123) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_126 = $signed(_T_125) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_127 = _T_119 & _T_126; // @[Parameters.scala 670:56]
+  wire  _T_130 = _T_31 & _T_127; // @[Monitor.scala 82:72]
+  wire  _T_136 = 4'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_137 = _source_ok_T & _T_136; // @[Mux.scala 27:73]
+  wire  _T_232 = _T_38 | _T_43 | _T_48 | _T_53 | _T_58 | _T_63 | _T_68 | _T_73 | _T_78 | _T_83 | _T_88 | _T_93 | _T_98
+     | _T_103 | _T_126; // @[Parameters.scala 671:42]
+  wire  _T_233 = _T_26 & _T_232; // @[Parameters.scala 670:56]
+  wire  _T_235 = _T_137 & _T_233; // @[Monitor.scala 83:78]
+  wire  _T_249 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_253 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_254 = _T_253 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_262 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_491 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_504 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_525 = _T_26 & _T_43; // @[Parameters.scala 670:56]
+  wire  _T_612 = _T_38 | _T_48 | _T_53 | _T_58 | _T_63 | _T_68 | _T_73 | _T_78 | _T_83 | _T_88 | _T_93 | _T_98 | _T_103
+     | _T_126; // @[Parameters.scala 671:42]
+  wire  _T_613 = _T_119 & _T_612; // @[Parameters.scala 670:56]
+  wire  _T_615 = _T_525 | _T_613; // @[Parameters.scala 672:30]
+  wire  _T_625 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_629 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_637 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_729 = _T_38 | _T_53 | _T_58 | _T_63 | _T_68 | _T_73 | _T_78 | _T_83 | _T_88 | _T_93 | _T_98; // @[Parameters.scala 671:42]
+  wire  _T_730 = _T_38 | _T_53 | _T_58 | _T_63 | _T_68 | _T_73 | _T_78 | _T_83 | _T_88 | _T_93 | _T_98 | _T_126; // @[Parameters.scala 671:42]
+  wire  _T_731 = _T_119 & _T_730; // @[Parameters.scala 670:56]
+  wire  _T_746 = _T_525 | _T_731; // @[Parameters.scala 672:30]
+  wire  _T_748 = _T_31 & _T_746; // @[Monitor.scala 115:71]
+  wire  _T_766 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire  _T_854 = _T_119 & _T_729; // @[Parameters.scala 670:56]
+  wire  _T_875 = _T_525 | _T_854; // @[Parameters.scala 672:30]
+  wire  _T_877 = _T_31 & _T_875; // @[Monitor.scala 123:74]
+  wire [3:0] _T_891 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_892 = io_in_a_bits_mask & _T_891; // @[Monitor.scala 127:31]
+  wire  _T_893 = _T_892 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_897 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_907 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 92:42]
+  wire  _T_980 = _T_38 | _T_43 | _T_53 | _T_58 | _T_63 | _T_68 | _T_73 | _T_78 | _T_83 | _T_88 | _T_93 | _T_98; // @[Parameters.scala 671:42]
+  wire  _T_981 = _T_907 & _T_980; // @[Parameters.scala 670:56]
+  wire  _T_1003 = _T_31 & _T_981; // @[Monitor.scala 131:74]
+  wire  _T_1013 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_1021 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_1137 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_1145 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_1251 = _T_31 & _T_525; // @[Monitor.scala 147:68]
+  wire  _T_1261 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_1273 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_2 = ~io_in_d_bits_source; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_2 | io_in_d_bits_source; // @[Parameters.scala 1125:46]
+  wire  _T_1277 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_1281 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 312:27]
+  wire  _T_1285 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_1289 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_1293 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_1297 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_1308 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_1312 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_1325 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_1345 = _T_1293 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_1354 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_1371 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_1389 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _T_1406 = io_in_b_bits_opcode <= 3'h6; // @[Bundles.scala 40:24]
+  wire  _T_1410 = ~io_in_b_bits_source; // @[Parameters.scala 46:9]
+  wire [31:0] _T_1413 = {1'b0,$signed(io_in_b_bits_address)}; // @[Parameters.scala 137:49]
+  wire [30:0] _address_ok_T = io_in_b_bits_address ^ 31'h3000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_1 = {1'b0,$signed(_address_ok_T)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_3 = $signed(_address_ok_T_1) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_4 = $signed(_address_ok_T_3) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_5 = io_in_b_bits_address ^ 31'h10013000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_6 = {1'b0,$signed(_address_ok_T_5)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_8 = $signed(_address_ok_T_6) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_9 = $signed(_address_ok_T_8) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_10 = io_in_b_bits_address ^ 31'h10023000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_11 = {1'b0,$signed(_address_ok_T_10)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_13 = $signed(_address_ok_T_11) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_14 = $signed(_address_ok_T_13) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_15 = io_in_b_bits_address ^ 31'h10033000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_16 = {1'b0,$signed(_address_ok_T_15)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_18 = $signed(_address_ok_T_16) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_19 = $signed(_address_ok_T_18) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_20 = io_in_b_bits_address ^ 31'h10043000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_21 = {1'b0,$signed(_address_ok_T_20)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_23 = $signed(_address_ok_T_21) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_24 = $signed(_address_ok_T_23) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_25 = io_in_b_bits_address ^ 31'h10053000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_26 = {1'b0,$signed(_address_ok_T_25)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_28 = $signed(_address_ok_T_26) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_29 = $signed(_address_ok_T_28) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_30 = io_in_b_bits_address ^ 31'h10014000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_31 = {1'b0,$signed(_address_ok_T_30)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_33 = $signed(_address_ok_T_31) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_34 = $signed(_address_ok_T_33) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_35 = io_in_b_bits_address ^ 31'h20000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_36 = {1'b0,$signed(_address_ok_T_35)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_38 = $signed(_address_ok_T_36) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_39 = $signed(_address_ok_T_38) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_40 = io_in_b_bits_address ^ 31'h10034000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_41 = {1'b0,$signed(_address_ok_T_40)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_43 = $signed(_address_ok_T_41) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_44 = $signed(_address_ok_T_43) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_45 = io_in_b_bits_address ^ 31'h10024000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_46 = {1'b0,$signed(_address_ok_T_45)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_48 = $signed(_address_ok_T_46) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_49 = $signed(_address_ok_T_48) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_50 = io_in_b_bits_address ^ 31'h10012000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_51 = {1'b0,$signed(_address_ok_T_50)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_53 = $signed(_address_ok_T_51) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_54 = $signed(_address_ok_T_53) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_55 = io_in_b_bits_address ^ 31'h10015000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_56 = {1'b0,$signed(_address_ok_T_55)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_58 = $signed(_address_ok_T_56) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_59 = $signed(_address_ok_T_58) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_60 = io_in_b_bits_address ^ 31'h10025000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_61 = {1'b0,$signed(_address_ok_T_60)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_63 = $signed(_address_ok_T_61) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_64 = $signed(_address_ok_T_63) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_65 = io_in_b_bits_address ^ 31'h10035000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_66 = {1'b0,$signed(_address_ok_T_65)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_68 = $signed(_address_ok_T_66) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_69 = $signed(_address_ok_T_68) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_70 = io_in_b_bits_address ^ 31'h10016000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_71 = {1'b0,$signed(_address_ok_T_70)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_73 = $signed(_address_ok_T_71) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_74 = $signed(_address_ok_T_73) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_75 = io_in_b_bits_address ^ 31'h10026000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_76 = {1'b0,$signed(_address_ok_T_75)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_78 = $signed(_address_ok_T_76) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_79 = $signed(_address_ok_T_78) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_80 = io_in_b_bits_address ^ 31'hc000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_81 = {1'b0,$signed(_address_ok_T_80)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_83 = $signed(_address_ok_T_81) & -32'sh4000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_84 = $signed(_address_ok_T_83) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_85 = io_in_b_bits_address ^ 31'h2000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_86 = {1'b0,$signed(_address_ok_T_85)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_88 = $signed(_address_ok_T_86) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_89 = $signed(_address_ok_T_88) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _address_ok_T_93 = $signed(_T_1413) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_94 = $signed(_address_ok_T_93) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_95 = io_in_b_bits_address ^ 31'h8000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_96 = {1'b0,$signed(_address_ok_T_95)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_98 = $signed(_address_ok_T_96) & -32'sh4000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_99 = $signed(_address_ok_T_98) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_100 = io_in_b_bits_address ^ 31'h10000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_101 = {1'b0,$signed(_address_ok_T_100)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_103 = $signed(_address_ok_T_101) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_104 = $signed(_address_ok_T_103) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_105 = io_in_b_bits_address ^ 31'h10000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_106 = {1'b0,$signed(_address_ok_T_105)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_108 = $signed(_address_ok_T_106) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_109 = $signed(_address_ok_T_108) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_110 = io_in_b_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_111 = {1'b0,$signed(_address_ok_T_110)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_113 = $signed(_address_ok_T_111) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_114 = $signed(_address_ok_T_113) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  address_ok = _address_ok_T_4 | _address_ok_T_9 | _address_ok_T_14 | _address_ok_T_19 | _address_ok_T_24 |
+    _address_ok_T_29 | _address_ok_T_34 | _address_ok_T_39 | _address_ok_T_44 | _address_ok_T_49 | _address_ok_T_54 |
+    _address_ok_T_59 | _address_ok_T_64 | _address_ok_T_69 | _address_ok_T_74 | _address_ok_T_79 | _address_ok_T_84 |
+    _address_ok_T_89 | _address_ok_T_94 | _address_ok_T_99 | _address_ok_T_104 | _address_ok_T_109 | _address_ok_T_114; // @[Parameters.scala 622:64]
+  wire [26:0] _is_aligned_mask_T_4 = 27'hfff << io_in_b_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask_1 = ~_is_aligned_mask_T_4[11:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_87 = {{19'd0}, is_aligned_mask_1}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T_1 = io_in_b_bits_address & _GEN_87; // @[Edges.scala 20:16]
+  wire  is_aligned_1 = _is_aligned_T_1 == 31'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount_1 = io_in_b_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_4 = 2'h1 << mask_sizeOH_shiftAmount_1; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH_1 = _mask_sizeOH_T_4 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T_1 = io_in_b_bits_size >= 4'h2; // @[Misc.scala 205:21]
+  wire  mask_size_2 = mask_sizeOH_1[1]; // @[Misc.scala 208:26]
+  wire  mask_bit_2 = io_in_b_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
+  wire  mask_acc_6 = _mask_T_1 | mask_size_2 & mask_nbit_2; // @[Misc.scala 214:29]
+  wire  mask_acc_7 = _mask_T_1 | mask_size_2 & mask_bit_2; // @[Misc.scala 214:29]
+  wire  mask_size_3 = mask_sizeOH_1[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_3 = io_in_b_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_3 = ~mask_bit_3; // @[Misc.scala 210:20]
+  wire  mask_eq_8 = mask_nbit_2 & mask_nbit_3; // @[Misc.scala 213:27]
+  wire  mask_acc_8 = mask_acc_6 | mask_size_3 & mask_eq_8; // @[Misc.scala 214:29]
+  wire  mask_eq_9 = mask_nbit_2 & mask_bit_3; // @[Misc.scala 213:27]
+  wire  mask_acc_9 = mask_acc_6 | mask_size_3 & mask_eq_9; // @[Misc.scala 214:29]
+  wire  mask_eq_10 = mask_bit_2 & mask_nbit_3; // @[Misc.scala 213:27]
+  wire  mask_acc_10 = mask_acc_7 | mask_size_3 & mask_eq_10; // @[Misc.scala 214:29]
+  wire  mask_eq_11 = mask_bit_2 & mask_bit_3; // @[Misc.scala 213:27]
+  wire  mask_acc_11 = mask_acc_7 | mask_size_3 & mask_eq_11; // @[Misc.scala 214:29]
+  wire [3:0] mask_1 = {mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8}; // @[Cat.scala 31:58]
+  wire  _T_1430 = io_in_b_bits_opcode == 3'h6; // @[Monitor.scala 167:25]
+  wire  _T_1433 = 4'h6 == io_in_b_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_1434 = _T_1410 & _T_1433; // @[Mux.scala 27:73]
+  wire  _T_1438 = io_in_b_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire [31:0] _T_1444 = $signed(_T_1413) & -32'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_1445 = $signed(_T_1444) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1474 = $signed(_address_ok_T_51) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_1475 = $signed(_T_1474) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1479 = $signed(_address_ok_T_31) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_1480 = $signed(_T_1479) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1489 = $signed(_address_ok_T_11) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_1490 = $signed(_T_1489) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1494 = $signed(_address_ok_T_46) & -32'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_1495 = $signed(_T_1494) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1504 = $signed(_address_ok_T_21) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_1505 = $signed(_T_1504) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_1529 = _T_1445 | _address_ok_T_4 | _address_ok_T_109 | _address_ok_T_89 | _address_ok_T_99 | _address_ok_T_84
+     | _T_1475 | _T_1480 | _address_ok_T_74 | _T_1490 | _T_1495 | _address_ok_T_79 | _T_1505 | _address_ok_T_39 |
+    _address_ok_T_114; // @[Parameters.scala 671:42]
+  wire  _T_1530 = _T_1438 & _T_1529; // @[Parameters.scala 670:56]
+  wire  _T_1532 = _T_1434 & _T_1530; // @[Monitor.scala 168:75]
+  wire  _T_1538 = ~address_ok; // @[Monitor.scala 49:11]
+  wire  _T_1544 = ~is_aligned_1; // @[Monitor.scala 49:11]
+  wire  _T_1545 = io_in_b_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_1549 = io_in_b_bits_mask == mask_1; // @[Monitor.scala 173:27]
+  wire  _T_1552 = ~_T_1549; // @[Monitor.scala 49:11]
+  wire  _T_1553 = ~io_in_b_bits_corrupt; // @[Monitor.scala 174:15]
+  wire  _T_1556 = ~_T_1553; // @[Monitor.scala 49:11]
+  wire  _T_1557 = io_in_b_bits_opcode == 3'h4; // @[Monitor.scala 177:25]
+  wire  _T_1666 = io_in_b_bits_param == 2'h0; // @[Monitor.scala 182:31]
+  wire  _T_1678 = io_in_b_bits_opcode == 3'h0; // @[Monitor.scala 187:25]
+  wire  _T_1795 = io_in_b_bits_opcode == 3'h1; // @[Monitor.scala 196:25]
+  wire [3:0] _T_1908 = ~mask_1; // @[Monitor.scala 202:33]
+  wire [3:0] _T_1909 = io_in_b_bits_mask & _T_1908; // @[Monitor.scala 202:31]
+  wire  _T_1910 = _T_1909 == 4'h0; // @[Monitor.scala 202:40]
+  wire  _T_1914 = io_in_b_bits_opcode == 3'h2; // @[Monitor.scala 205:25]
+  wire  _T_2031 = io_in_b_bits_opcode == 3'h3; // @[Monitor.scala 214:25]
+  wire  _T_2148 = io_in_b_bits_opcode == 3'h5; // @[Monitor.scala 223:25]
+  wire  _source_ok_T_4 = ~io_in_c_bits_source; // @[Parameters.scala 46:9]
+  wire  source_ok_2 = _source_ok_T_4 | io_in_c_bits_source; // @[Parameters.scala 1125:46]
+  wire [26:0] _is_aligned_mask_T_7 = 27'hfff << io_in_c_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask_2 = ~_is_aligned_mask_T_7[11:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_88 = {{19'd0}, is_aligned_mask_2}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T_2 = io_in_c_bits_address & _GEN_88; // @[Edges.scala 20:16]
+  wire  is_aligned_2 = _is_aligned_T_2 == 31'h0; // @[Edges.scala 20:24]
+  wire [30:0] _address_ok_T_136 = io_in_c_bits_address ^ 31'h3000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_137 = {1'b0,$signed(_address_ok_T_136)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_139 = $signed(_address_ok_T_137) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_140 = $signed(_address_ok_T_139) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_141 = io_in_c_bits_address ^ 31'h10013000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_142 = {1'b0,$signed(_address_ok_T_141)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_144 = $signed(_address_ok_T_142) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_145 = $signed(_address_ok_T_144) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_146 = io_in_c_bits_address ^ 31'h10023000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_147 = {1'b0,$signed(_address_ok_T_146)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_149 = $signed(_address_ok_T_147) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_150 = $signed(_address_ok_T_149) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_151 = io_in_c_bits_address ^ 31'h10033000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_152 = {1'b0,$signed(_address_ok_T_151)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_154 = $signed(_address_ok_T_152) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_155 = $signed(_address_ok_T_154) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_156 = io_in_c_bits_address ^ 31'h10043000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_157 = {1'b0,$signed(_address_ok_T_156)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_159 = $signed(_address_ok_T_157) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_160 = $signed(_address_ok_T_159) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_161 = io_in_c_bits_address ^ 31'h10053000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_162 = {1'b0,$signed(_address_ok_T_161)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_164 = $signed(_address_ok_T_162) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_165 = $signed(_address_ok_T_164) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_166 = io_in_c_bits_address ^ 31'h10014000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_167 = {1'b0,$signed(_address_ok_T_166)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_169 = $signed(_address_ok_T_167) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_170 = $signed(_address_ok_T_169) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_171 = io_in_c_bits_address ^ 31'h20000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_172 = {1'b0,$signed(_address_ok_T_171)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_174 = $signed(_address_ok_T_172) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_175 = $signed(_address_ok_T_174) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_176 = io_in_c_bits_address ^ 31'h10034000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_177 = {1'b0,$signed(_address_ok_T_176)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_179 = $signed(_address_ok_T_177) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_180 = $signed(_address_ok_T_179) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_181 = io_in_c_bits_address ^ 31'h10024000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_182 = {1'b0,$signed(_address_ok_T_181)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_184 = $signed(_address_ok_T_182) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_185 = $signed(_address_ok_T_184) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_186 = io_in_c_bits_address ^ 31'h10012000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_187 = {1'b0,$signed(_address_ok_T_186)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_189 = $signed(_address_ok_T_187) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_190 = $signed(_address_ok_T_189) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_191 = io_in_c_bits_address ^ 31'h10015000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_192 = {1'b0,$signed(_address_ok_T_191)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_194 = $signed(_address_ok_T_192) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_195 = $signed(_address_ok_T_194) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_196 = io_in_c_bits_address ^ 31'h10025000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_197 = {1'b0,$signed(_address_ok_T_196)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_199 = $signed(_address_ok_T_197) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_200 = $signed(_address_ok_T_199) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_201 = io_in_c_bits_address ^ 31'h10035000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_202 = {1'b0,$signed(_address_ok_T_201)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_204 = $signed(_address_ok_T_202) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_205 = $signed(_address_ok_T_204) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_206 = io_in_c_bits_address ^ 31'h10016000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_207 = {1'b0,$signed(_address_ok_T_206)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_209 = $signed(_address_ok_T_207) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_210 = $signed(_address_ok_T_209) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_211 = io_in_c_bits_address ^ 31'h10026000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_212 = {1'b0,$signed(_address_ok_T_211)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_214 = $signed(_address_ok_T_212) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_215 = $signed(_address_ok_T_214) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_216 = io_in_c_bits_address ^ 31'hc000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_217 = {1'b0,$signed(_address_ok_T_216)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_219 = $signed(_address_ok_T_217) & -32'sh4000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_220 = $signed(_address_ok_T_219) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_221 = io_in_c_bits_address ^ 31'h2000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_222 = {1'b0,$signed(_address_ok_T_221)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_224 = $signed(_address_ok_T_222) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_225 = $signed(_address_ok_T_224) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _address_ok_T_227 = {1'b0,$signed(io_in_c_bits_address)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_229 = $signed(_address_ok_T_227) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_230 = $signed(_address_ok_T_229) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_231 = io_in_c_bits_address ^ 31'h8000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_232 = {1'b0,$signed(_address_ok_T_231)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_234 = $signed(_address_ok_T_232) & -32'sh4000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_235 = $signed(_address_ok_T_234) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_236 = io_in_c_bits_address ^ 31'h10000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_237 = {1'b0,$signed(_address_ok_T_236)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_239 = $signed(_address_ok_T_237) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_240 = $signed(_address_ok_T_239) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_241 = io_in_c_bits_address ^ 31'h10000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_242 = {1'b0,$signed(_address_ok_T_241)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_244 = $signed(_address_ok_T_242) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_245 = $signed(_address_ok_T_244) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_246 = io_in_c_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_247 = {1'b0,$signed(_address_ok_T_246)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_249 = $signed(_address_ok_T_247) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_250 = $signed(_address_ok_T_249) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  address_ok_1 = _address_ok_T_140 | _address_ok_T_145 | _address_ok_T_150 | _address_ok_T_155 | _address_ok_T_160
+     | _address_ok_T_165 | _address_ok_T_170 | _address_ok_T_175 | _address_ok_T_180 | _address_ok_T_185 |
+    _address_ok_T_190 | _address_ok_T_195 | _address_ok_T_200 | _address_ok_T_205 | _address_ok_T_210 |
+    _address_ok_T_215 | _address_ok_T_220 | _address_ok_T_225 | _address_ok_T_230 | _address_ok_T_235 |
+    _address_ok_T_240 | _address_ok_T_245 | _address_ok_T_250; // @[Parameters.scala 622:64]
+  wire  _T_2289 = io_in_c_bits_opcode == 3'h4; // @[Monitor.scala 242:25]
+  wire  _T_2296 = io_in_c_bits_size >= 4'h2; // @[Monitor.scala 245:30]
+  wire  _T_2303 = io_in_c_bits_param <= 3'h5; // @[Bundles.scala 120:29]
+  wire  _T_2311 = io_in_c_bits_opcode == 3'h5; // @[Monitor.scala 251:25]
+  wire  _T_2329 = io_in_c_bits_opcode == 3'h6; // @[Monitor.scala 259:25]
+  wire  _T_2331 = io_in_c_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire  _T_2336 = _T_2331 & source_ok_2; // @[Parameters.scala 1160:30]
+  wire [31:0] _T_2342 = $signed(_address_ok_T_227) & -32'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_2343 = $signed(_T_2342) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2372 = $signed(_address_ok_T_187) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_2373 = $signed(_T_2372) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2377 = $signed(_address_ok_T_167) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_2378 = $signed(_T_2377) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2387 = $signed(_address_ok_T_147) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_2388 = $signed(_T_2387) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2392 = $signed(_address_ok_T_182) & -32'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_2393 = $signed(_T_2392) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2402 = $signed(_address_ok_T_157) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_2403 = $signed(_T_2402) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_2424 = io_in_c_bits_size <= 4'h6; // @[Parameters.scala 92:42]
+  wire  _T_2432 = _T_2424 & _address_ok_T_250; // @[Parameters.scala 670:56]
+  wire  _T_2435 = _T_2336 & _T_2432; // @[Monitor.scala 260:78]
+  wire  _T_2441 = 4'h6 == io_in_c_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_2442 = _source_ok_T_4 & _T_2441; // @[Mux.scala 27:73]
+  wire  _T_2537 = _T_2343 | _address_ok_T_140 | _address_ok_T_245 | _address_ok_T_225 | _address_ok_T_235 |
+    _address_ok_T_220 | _T_2373 | _T_2378 | _address_ok_T_210 | _T_2388 | _T_2393 | _address_ok_T_215 | _T_2403 |
+    _address_ok_T_175 | _address_ok_T_250; // @[Parameters.scala 671:42]
+  wire  _T_2538 = _T_2331 & _T_2537; // @[Parameters.scala 670:56]
+  wire  _T_2540 = _T_2442 & _T_2538; // @[Monitor.scala 261:78]
+  wire  _T_2562 = io_in_c_bits_opcode == 3'h7; // @[Monitor.scala 269:25]
+  wire  _T_2791 = io_in_c_bits_opcode == 3'h0; // @[Monitor.scala 278:25]
+  wire  _T_2801 = io_in_c_bits_param == 3'h0; // @[Monitor.scala 282:31]
+  wire  _T_2809 = io_in_c_bits_opcode == 3'h1; // @[Monitor.scala 286:25]
+  wire  _T_2823 = io_in_c_bits_opcode == 3'h2; // @[Monitor.scala 293:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [9:0] a_first_beats1_decode = is_aligned_mask[11:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [9:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1 = a_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [3:0] size; // @[Monitor.scala 386:22]
+  reg  source; // @[Monitor.scala 387:22]
+  reg [30:0] address; // @[Monitor.scala 388:22]
+  wire  _T_2845 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_2846 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_2850 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_2854 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_2858 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_2862 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [26:0] _d_first_beats1_decode_T_1 = 27'hfff << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [9:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1 = d_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [3:0] size_1; // @[Monitor.scala 537:22]
+  reg  source_1; // @[Monitor.scala 538:22]
+  reg [1:0] sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_2869 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_2870 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_2874 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_2878 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_2882 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_2886 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_2890 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  wire  b_first_done = io_in_b_ready & io_in_b_valid; // @[Decoupled.scala 50:35]
+  reg [9:0] b_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] b_first_counter1 = b_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  b_first = b_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_2; // @[Monitor.scala 407:22]
+  reg [1:0] param_2; // @[Monitor.scala 408:22]
+  reg [3:0] size_2; // @[Monitor.scala 409:22]
+  reg  source_2; // @[Monitor.scala 410:22]
+  reg [30:0] address_1; // @[Monitor.scala 411:22]
+  wire  _T_2897 = io_in_b_valid & ~b_first; // @[Monitor.scala 412:19]
+  wire  _T_2898 = io_in_b_bits_opcode == opcode_2; // @[Monitor.scala 413:32]
+  wire  _T_2902 = io_in_b_bits_param == param_2; // @[Monitor.scala 414:32]
+  wire  _T_2906 = io_in_b_bits_size == size_2; // @[Monitor.scala 415:32]
+  wire  _T_2910 = io_in_b_bits_source == source_2; // @[Monitor.scala 416:32]
+  wire  _T_2914 = io_in_b_bits_address == address_1; // @[Monitor.scala 417:32]
+  wire  _c_first_T = io_in_c_ready & io_in_c_valid; // @[Decoupled.scala 50:35]
+  wire [9:0] c_first_beats1_decode = is_aligned_mask_2[11:2]; // @[Edges.scala 219:59]
+  wire  c_first_beats1_opdata = io_in_c_bits_opcode[0]; // @[Edges.scala 101:36]
+  reg [9:0] c_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] c_first_counter1 = c_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  c_first = c_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_3; // @[Monitor.scala 512:22]
+  reg [2:0] param_3; // @[Monitor.scala 513:22]
+  reg [3:0] size_3; // @[Monitor.scala 514:22]
+  reg  source_3; // @[Monitor.scala 515:22]
+  reg [30:0] address_2; // @[Monitor.scala 516:22]
+  wire  _T_2921 = io_in_c_valid & ~c_first; // @[Monitor.scala 517:19]
+  wire  _T_2922 = io_in_c_bits_opcode == opcode_3; // @[Monitor.scala 518:32]
+  wire  _T_2926 = io_in_c_bits_param == param_3; // @[Monitor.scala 519:32]
+  wire  _T_2930 = io_in_c_bits_size == size_3; // @[Monitor.scala 520:32]
+  wire  _T_2934 = io_in_c_bits_source == source_3; // @[Monitor.scala 521:32]
+  wire  _T_2938 = io_in_c_bits_address == address_2; // @[Monitor.scala 522:32]
+  reg [1:0] inflight; // @[Monitor.scala 611:27]
+  reg [7:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [15:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [9:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1_1 = a_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  reg [9:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_1 = d_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  wire [2:0] _GEN_89 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [3:0] _a_opcode_lookup_T = {{1'd0}, _GEN_89}; // @[Monitor.scala 634:69]
+  wire [7:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_90 = {{8'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_90 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [3:0] _a_size_lookup_T = {io_in_d_bits_source, 3'h0}; // @[Monitor.scala 638:65]
+  wire [15:0] _a_size_lookup_T_1 = inflight_sizes >> _a_size_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _a_size_lookup_T_5 = 16'h100 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _a_size_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_2944 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [1:0] _a_set_wo_ready_T = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [1:0] a_set_wo_ready = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_2947 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [4:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [4:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 5'h1; // @[Monitor.scala 655:59]
+  wire [2:0] _GEN_93 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [3:0] _a_opcodes_set_T = {{1'd0}, _GEN_93}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [18:0] _GEN_1 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [18:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [3:0] _a_sizes_set_T = {io_in_a_bits_source, 3'h0}; // @[Monitor.scala 657:77]
+  wire [4:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 5'h0; // @[Monitor.scala 652:72 655:28]
+  wire [19:0] _GEN_2 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [19:0] _a_sizes_set_T_1 = _GEN_2 << _a_sizes_set_T; // @[Monitor.scala 657:52]
+  wire [1:0] _T_2949 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_2951 = ~_T_2949[0]; // @[Monitor.scala 658:17]
+  wire [1:0] a_set = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 652:72 653:28]
+  wire [18:0] _GEN_31 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
+  wire [19:0] _GEN_32 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 20'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_2955 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_2957 = ~_T_1277; // @[Monitor.scala 671:74]
+  wire  _T_2958 = io_in_d_valid & d_first_1 & ~_T_1277; // @[Monitor.scala 671:71]
+  wire [1:0] _d_clr_wo_ready_T = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1:0] d_clr_wo_ready = io_in_d_valid & d_first_1 & ~_T_1277 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 671:90 672:22]
+  wire [30:0] _GEN_3 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [30:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [30:0] _GEN_4 = {{15'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 678:74]
+  wire [30:0] _d_sizes_clr_T_5 = _GEN_4 << _a_size_lookup_T; // @[Monitor.scala 678:74]
+  wire [1:0] d_clr = _d_first_T & d_first_1 & _T_2957 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 675:91 676:21]
+  wire [30:0] _GEN_35 = _d_first_T & d_first_1 & _T_2957 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
+  wire [30:0] _GEN_36 = _d_first_T & d_first_1 & _T_2957 ? _d_sizes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 678:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_2944 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [1:0] _T_2968 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_2970 = _T_2968[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_39 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_40 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_39; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_41 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_40; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_42 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_41; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_43 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_42; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_44 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_43; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_51 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_42; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_52 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_51; // @[Monitor.scala 686:{39,39}]
+  wire  _T_2975 = io_in_d_bits_opcode == _GEN_52; // @[Monitor.scala 686:39]
+  wire  _T_2976 = io_in_d_bits_opcode == _GEN_44 | _T_2975; // @[Monitor.scala 685:77]
+  wire  _T_2980 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_55 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_56 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_55; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_57 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_56; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_58 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_57; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_59 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_58; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_60 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_59; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_67 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_58; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_68 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_67; // @[Monitor.scala 690:{38,38}]
+  wire  _T_2987 = io_in_d_bits_opcode == _GEN_68; // @[Monitor.scala 690:38]
+  wire  _T_2988 = io_in_d_bits_opcode == _GEN_60 | _T_2987; // @[Monitor.scala 689:72]
+  wire [7:0] a_size_lookup = _a_size_lookup_T_7[7:0];
+  wire [7:0] _GEN_95 = {{4'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_2992 = _GEN_95 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_3002 = _T_2955 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_2957; // @[Monitor.scala 694:116]
+  wire  _T_3003 = ~io_in_d_ready; // @[Monitor.scala 695:15]
+  wire  _T_3004 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire  _T_3011 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [1:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [1:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [1:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [7:0] a_opcodes_set = _GEN_31[7:0];
+  wire [7:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [7:0] d_opcodes_clr = _GEN_35[7:0];
+  wire [7:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [7:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [15:0] a_sizes_set = _GEN_32[15:0];
+  wire [15:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [15:0] d_sizes_clr = _GEN_36[15:0];
+  wire [15:0] _inflight_sizes_T_1 = ~d_sizes_clr; // @[Monitor.scala 704:56]
+  wire [15:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_sizes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_3020 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [1:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [15:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [9:0] c_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] c_first_counter1_1 = c_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  c_first_1 = c_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  reg [9:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_2 = d_first_counter_2 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 10'h0; // @[Edges.scala 230:25]
+  wire [15:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_size_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _a_size_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_3030 = io_in_c_bits_opcode[2] & io_in_c_bits_opcode[1]; // @[Edges.scala 67:40]
+  wire  _T_3031 = io_in_c_valid & c_first_1 & _T_3030; // @[Monitor.scala 756:37]
+  wire [1:0] _c_set_wo_ready_T = 2'h1 << io_in_c_bits_source; // @[OneHot.scala 57:35]
+  wire [1:0] c_set_wo_ready = io_in_c_valid & c_first_1 & _T_3030 ? _c_set_wo_ready_T : 2'h0; // @[Monitor.scala 756:71 757:22]
+  wire  _T_3037 = _c_first_T & c_first_1 & _T_3030; // @[Monitor.scala 760:38]
+  wire [4:0] _c_sizes_set_interm_T = {io_in_c_bits_size, 1'h0}; // @[Monitor.scala 763:51]
+  wire [4:0] _c_sizes_set_interm_T_1 = _c_sizes_set_interm_T | 5'h1; // @[Monitor.scala 763:59]
+  wire [3:0] _c_sizes_set_T = {io_in_c_bits_source, 3'h0}; // @[Monitor.scala 765:77]
+  wire [4:0] c_sizes_set_interm = _c_first_T & c_first_1 & _T_3030 ? _c_sizes_set_interm_T_1 : 5'h0; // @[Monitor.scala 760:72 763:28]
+  wire [19:0] _GEN_5 = {{15'd0}, c_sizes_set_interm}; // @[Monitor.scala 765:52]
+  wire [19:0] _c_sizes_set_T_1 = _GEN_5 << _c_sizes_set_T; // @[Monitor.scala 765:52]
+  wire [1:0] _T_3038 = inflight_1 >> io_in_c_bits_source; // @[Monitor.scala 766:26]
+  wire  _T_3040 = ~_T_3038[0]; // @[Monitor.scala 766:17]
+  wire [1:0] c_set = _c_first_T & c_first_1 & _T_3030 ? _c_set_wo_ready_T : 2'h0; // @[Monitor.scala 760:72 761:28]
+  wire [19:0] _GEN_77 = _c_first_T & c_first_1 & _T_3030 ? _c_sizes_set_T_1 : 20'h0; // @[Monitor.scala 760:72 765:28]
+  wire  _T_3044 = io_in_d_valid & d_first_2; // @[Monitor.scala 779:26]
+  wire  _T_3046 = io_in_d_valid & d_first_2 & _T_1277; // @[Monitor.scala 779:71]
+  wire [1:0] d_clr_wo_ready_1 = io_in_d_valid & d_first_2 & _T_1277 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 779:89 780:22]
+  wire [1:0] d_clr_1 = _d_first_T & d_first_2 & _T_1277 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 783:90 784:21]
+  wire [30:0] _GEN_81 = _d_first_T & d_first_2 & _T_1277 ? _d_sizes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 786:21]
+  wire  _same_cycle_resp_T_8 = io_in_c_bits_source == io_in_d_bits_source; // @[Monitor.scala 790:113]
+  wire  same_cycle_resp_1 = _T_3031 & io_in_c_bits_source == io_in_d_bits_source; // @[Monitor.scala 790:88]
+  wire [1:0] _T_3054 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire  _T_3056 = _T_3054[0] | same_cycle_resp_1; // @[Monitor.scala 791:49]
+  wire  _T_3060 = io_in_d_bits_size == io_in_c_bits_size; // @[Monitor.scala 793:36]
+  wire [7:0] c_size_lookup = _c_size_lookup_T_7[7:0];
+  wire  _T_3064 = _GEN_95 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire  _T_3073 = _T_3044 & c_first_1 & io_in_c_valid & _same_cycle_resp_T_8 & _T_1277; // @[Monitor.scala 799:116]
+  wire  _T_3075 = _T_3003 | io_in_c_ready; // @[Monitor.scala 800:32]
+  wire  _T_3079 = |c_set_wo_ready; // @[Monitor.scala 804:28]
+  wire  _T_3080 = c_set_wo_ready != d_clr_wo_ready_1; // @[Monitor.scala 805:31]
+  wire [1:0] _inflight_T_3 = inflight_1 | c_set; // @[Monitor.scala 809:35]
+  wire [1:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [1:0] _inflight_T_5 = _inflight_T_3 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [15:0] c_sizes_set = _GEN_77[15:0];
+  wire [15:0] _inflight_sizes_T_3 = inflight_sizes_1 | c_sizes_set; // @[Monitor.scala 811:41]
+  wire [15:0] d_sizes_clr_1 = _GEN_81[15:0];
+  wire [15:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
+  wire [15:0] _inflight_sizes_T_5 = _inflight_sizes_T_3 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_3089 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  reg [3:0] inflight_2; // @[Monitor.scala 823:27]
+  reg [9:0] d_first_counter_3; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_3 = d_first_counter_3 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_3 = d_first_counter_3 == 10'h0; // @[Edges.scala 230:25]
+  wire  _T_3101 = io_in_d_bits_opcode[2] & ~io_in_d_bits_opcode[1]; // @[Edges.scala 70:40]
+  wire  _T_3102 = _d_first_T & d_first_3 & _T_3101; // @[Monitor.scala 829:38]
+  wire [3:0] _d_set_T = 4'h1 << io_in_d_bits_sink; // @[OneHot.scala 57:35]
+  wire [3:0] _T_3103 = inflight_2 >> io_in_d_bits_sink; // @[Monitor.scala 831:23]
+  wire  _T_3105 = ~_T_3103[0]; // @[Monitor.scala 831:14]
+  wire [3:0] d_set = _d_first_T & d_first_3 & _T_3101 ? _d_set_T : 4'h0; // @[Monitor.scala 829:72 830:13]
+  wire  _T_3109 = io_in_e_ready & io_in_e_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _e_clr_T = 4'h1 << io_in_e_bits_sink; // @[OneHot.scala 57:35]
+  wire [3:0] _T_3112 = d_set | inflight_2; // @[Monitor.scala 837:24]
+  wire [3:0] _T_3113 = _T_3112 >> io_in_e_bits_sink; // @[Monitor.scala 837:35]
+  wire [3:0] e_clr = _T_3109 ? _e_clr_T : 4'h0; // @[Monitor.scala 835:73 836:13]
+  wire [3:0] _inflight_T_6 = inflight_2 | d_set; // @[Monitor.scala 842:27]
+  wire [3:0] _inflight_T_7 = ~e_clr; // @[Monitor.scala 842:38]
+  wire [3:0] _inflight_T_8 = _inflight_T_6 & _inflight_T_7; // @[Monitor.scala 842:36]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 10'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 10'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      b_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (b_first_done) begin // @[Edges.scala 234:17]
+      if (b_first) begin // @[Edges.scala 235:21]
+        b_first_counter <= 10'h0;
+      end else begin
+        b_first_counter <= b_first_counter1;
+      end
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      opcode_2 <= io_in_b_bits_opcode; // @[Monitor.scala 420:15]
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      param_2 <= io_in_b_bits_param; // @[Monitor.scala 421:15]
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      size_2 <= io_in_b_bits_size; // @[Monitor.scala 422:15]
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      source_2 <= io_in_b_bits_source; // @[Monitor.scala 423:15]
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      address_1 <= io_in_b_bits_address; // @[Monitor.scala 424:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      c_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_c_first_T) begin // @[Edges.scala 234:17]
+      if (c_first) begin // @[Edges.scala 235:21]
+        if (c_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          c_first_counter <= c_first_beats1_decode;
+        end else begin
+          c_first_counter <= 10'h0;
+        end
+      end else begin
+        c_first_counter <= c_first_counter1;
+      end
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      opcode_3 <= io_in_c_bits_opcode; // @[Monitor.scala 525:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      param_3 <= io_in_c_bits_param; // @[Monitor.scala 526:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      size_3 <= io_in_c_bits_size; // @[Monitor.scala 527:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      source_3 <= io_in_c_bits_source; // @[Monitor.scala 528:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      address_2 <= io_in_c_bits_address; // @[Monitor.scala 529:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 2'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 8'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 16'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 2'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 16'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      c_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_c_first_T) begin // @[Edges.scala 234:17]
+      if (c_first_1) begin // @[Edges.scala 235:21]
+        if (c_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          c_first_counter_1 <= c_first_beats1_decode;
+        end else begin
+          c_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        c_first_counter_1 <= c_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_c_first_T | _d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    if (reset) begin // @[Monitor.scala 823:27]
+      inflight_2 <= 4'h0; // @[Monitor.scala 823:27]
+    end else begin
+      inflight_2 <= _inflight_T_8; // @[Monitor.scala 842:14]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_3 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_3) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_3 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_3 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_3 <= d_first_counter1_3;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_130 & (io_in_a_valid & _T_24 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_24 & ~reset & ~_T_130) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_235 & (io_in_a_valid & _T_24 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_24 & ~reset & ~_T_235) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_24 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_24 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_24 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_24 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_24 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_24 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_249 & (io_in_a_valid & _T_24 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_24 & ~reset & ~_T_249) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_254 & (io_in_a_valid & _T_24 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_24 & ~reset & ~_T_254) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_130 & (io_in_a_valid & _T_262 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_262 & ~reset & ~_T_130) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_235 & (io_in_a_valid & _T_262 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_262 & ~reset & ~_T_235) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_262 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_262 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_262 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_262 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_262 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_262 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_249 & (io_in_a_valid & _T_262 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_262 & ~reset & ~_T_249) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_491 & (io_in_a_valid & _T_262 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_262 & ~reset & ~_T_491) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_254 & (io_in_a_valid & _T_262 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_262 & ~reset & ~_T_254) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_31 & (io_in_a_valid & _T_504 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_504 & ~reset & ~_T_31) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_615 & (io_in_a_valid & _T_504 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_504 & ~reset & ~_T_615) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_504 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_504 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_504 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_504 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_625 & (io_in_a_valid & _T_504 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_504 & ~reset & ~_T_625) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_629 & (io_in_a_valid & _T_504 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_504 & ~reset & ~_T_629) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_748 & (io_in_a_valid & _T_637 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_637 & ~reset & ~_T_748) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_637 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_637 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_637 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_637 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_625 & (io_in_a_valid & _T_637 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_637 & ~reset & ~_T_625) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_629 & (io_in_a_valid & _T_637 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_637 & ~reset & ~_T_629) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_877 & (io_in_a_valid & _T_766 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_766 & ~reset & ~_T_877) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_766 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_766 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_766 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_766 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_625 & (io_in_a_valid & _T_766 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_766 & ~reset & ~_T_625) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_893 & (io_in_a_valid & _T_766 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_766 & ~reset & ~_T_893) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1003 & (io_in_a_valid & _T_897 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_897 & ~reset & ~_T_1003) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_897 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_897 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_897 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_897 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1013 & (io_in_a_valid & _T_897 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_897 & ~reset & ~_T_1013) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_629 & (io_in_a_valid & _T_897 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_897 & ~reset & ~_T_629) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1003 & (io_in_a_valid & _T_1021 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1021 & ~reset & ~_T_1003) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_1021 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1021 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_1021 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1021 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1137 & (io_in_a_valid & _T_1021 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1021 & ~reset & ~_T_1137) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_629 & (io_in_a_valid & _T_1021 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1021 & ~reset & ~_T_629) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1251 & (io_in_a_valid & _T_1145 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1145 & ~reset & ~_T_1251) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_1145 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1145 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_1145 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1145 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1261 & (io_in_a_valid & _T_1145 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1145 & ~reset & ~_T_1261) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_629 & (io_in_a_valid & _T_1145 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1145 & ~reset & ~_T_629) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1273 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_1273) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1277 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1277 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1281 & (io_in_d_valid & _T_1277 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1277 & _T_2 & ~_T_1281) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1285 & (io_in_d_valid & _T_1277 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1277 & _T_2 & ~_T_1285) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1289 & (io_in_d_valid & _T_1277 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1277 & _T_2 & ~_T_1289) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1293 & (io_in_d_valid & _T_1277 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1277 & _T_2 & ~_T_1293) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1297 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1297 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1281 & (io_in_d_valid & _T_1297 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1297 & _T_2 & ~_T_1281) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1308 & (io_in_d_valid & _T_1297 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1297 & _T_2 & ~_T_1308) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1312 & (io_in_d_valid & _T_1297 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1297 & _T_2 & ~_T_1312) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1289 & (io_in_d_valid & _T_1297 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1297 & _T_2 & ~_T_1289) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1325 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1325 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1281 & (io_in_d_valid & _T_1325 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1325 & _T_2 & ~_T_1281) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1308 & (io_in_d_valid & _T_1325 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1325 & _T_2 & ~_T_1308) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1312 & (io_in_d_valid & _T_1325 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1325 & _T_2 & ~_T_1312) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1345 & (io_in_d_valid & _T_1325 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1325 & _T_2 & ~_T_1345) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1354 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1354 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1285 & (io_in_d_valid & _T_1354 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1354 & _T_2 & ~_T_1285) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1289 & (io_in_d_valid & _T_1354 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1354 & _T_2 & ~_T_1289) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1371 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1371 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1285 & (io_in_d_valid & _T_1371 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1371 & _T_2 & ~_T_1285) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1345 & (io_in_d_valid & _T_1371 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1371 & _T_2 & ~_T_1345) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1389 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1389 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1285 & (io_in_d_valid & _T_1389 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1389 & _T_2 & ~_T_1285) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1289 & (io_in_d_valid & _T_1389 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1389 & _T_2 & ~_T_1289) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1406 & (io_in_b_valid & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & ~reset & ~_T_1406) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel has invalid opcode (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1532 & (io_in_b_valid & _T_1430 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1430 & _T_2 & ~_T_1532) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries Probe type which is unexpected using diplomatic parameters (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok & (io_in_b_valid & _T_1430 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1430 & _T_2 & ~address_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe carries unmanaged address (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_1 & (io_in_b_valid & _T_1430 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1430 & _T_2 & ~is_aligned_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1545 & (io_in_b_valid & _T_1430 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1430 & _T_2 & ~_T_1545) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe carries invalid cap param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1549 & (io_in_b_valid & _T_1430 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1430 & _T_2 & ~_T_1549) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe contains invalid mask (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1553 & (io_in_b_valid & _T_1430 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1430 & _T_2 & ~_T_1553) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe is corrupt (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1557 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1557 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries Get type which is unexpected using diplomatic parameters (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1538 & (io_in_b_valid & _T_1557 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1557 & ~reset & _T_1538) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Get carries unmanaged address (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1544 & (io_in_b_valid & _T_1557 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1557 & ~reset & _T_1544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Get address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1666 & (io_in_b_valid & _T_1557 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1557 & ~reset & ~_T_1666) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Get carries invalid param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1552 & (io_in_b_valid & _T_1557 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1557 & ~reset & _T_1552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Get contains invalid mask (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1556 & (io_in_b_valid & _T_1557 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1557 & ~reset & _T_1556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Get is corrupt (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1678 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1678 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries PutFull type which is unexpected using diplomatic parameters (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1538 & (io_in_b_valid & _T_1678 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1678 & ~reset & _T_1538) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutFull carries unmanaged address (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1544 & (io_in_b_valid & _T_1678 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1678 & ~reset & _T_1544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutFull address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1666 & (io_in_b_valid & _T_1678 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1678 & ~reset & ~_T_1666) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutFull carries invalid param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1552 & (io_in_b_valid & _T_1678 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1678 & ~reset & _T_1552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutFull contains invalid mask (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1795 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1795 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1538 & (io_in_b_valid & _T_1795 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1795 & ~reset & _T_1538) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutPartial carries unmanaged address (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1544 & (io_in_b_valid & _T_1795 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1795 & ~reset & _T_1544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutPartial address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1666 & (io_in_b_valid & _T_1795 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1795 & ~reset & ~_T_1666) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutPartial carries invalid param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1910 & (io_in_b_valid & _T_1795 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1795 & ~reset & ~_T_1910) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutPartial contains invalid mask (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1914 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1914 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries Arithmetic type unsupported by master (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1538 & (io_in_b_valid & _T_1914 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1914 & ~reset & _T_1538) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Arithmetic carries unmanaged address (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1544 & (io_in_b_valid & _T_1914 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1914 & ~reset & _T_1544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Arithmetic address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1552 & (io_in_b_valid & _T_1914 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1914 & ~reset & _T_1552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Arithmetic contains invalid mask (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2031 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2031 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries Logical type unsupported by client (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1538 & (io_in_b_valid & _T_2031 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2031 & ~reset & _T_1538) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Logical carries unmanaged address (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1544 & (io_in_b_valid & _T_2031 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2031 & ~reset & _T_1544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Logical address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1552 & (io_in_b_valid & _T_2031 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2031 & ~reset & _T_1552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Logical contains invalid mask (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2148 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2148 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries Hint type unsupported by client (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1538 & (io_in_b_valid & _T_2148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2148 & ~reset & _T_1538) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Hint carries unmanaged address (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1544 & (io_in_b_valid & _T_2148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2148 & ~reset & _T_1544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Hint address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1552 & (io_in_b_valid & _T_2148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2148 & ~reset & _T_1552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Hint contains invalid mask (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1556 & (io_in_b_valid & _T_2148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2148 & ~reset & _T_1556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Hint is corrupt (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2289 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2289 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck carries unmanaged address (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2289 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2289 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2296 & (io_in_c_valid & _T_2289 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2289 & ~reset & ~_T_2296) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck smaller than a beat (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2289 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2289 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2303 & (io_in_c_valid & _T_2289 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2289 & ~reset & ~_T_2303) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck carries invalid report param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2311 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2311 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData carries unmanaged address (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2311 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2311 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2296 & (io_in_c_valid & _T_2311 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2311 & ~reset & ~_T_2296) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData smaller than a beat (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2311 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2311 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2303 & (io_in_c_valid & _T_2311 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2311 & ~reset & ~_T_2303) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData carries invalid report param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2435 & (io_in_c_valid & _T_2329 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2329 & ~reset & ~_T_2435) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries Release type unsupported by manager (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2540 & (io_in_c_valid & _T_2329 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2329 & ~reset & ~_T_2540) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2329 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2329 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2296 & (io_in_c_valid & _T_2329 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2329 & ~reset & ~_T_2296) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release smaller than a beat (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2329 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2329 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2303 & (io_in_c_valid & _T_2329 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2329 & ~reset & ~_T_2303) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release carries invalid report param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2435 & (io_in_c_valid & _T_2562 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2562 & ~reset & ~_T_2435) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries ReleaseData type unsupported by manager (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2540 & (io_in_c_valid & _T_2562 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2562 & ~reset & ~_T_2540) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2562 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2562 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2296 & (io_in_c_valid & _T_2562 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2562 & ~reset & ~_T_2296) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData smaller than a beat (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2562 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2562 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2303 & (io_in_c_valid & _T_2562 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2562 & ~reset & ~_T_2303) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData carries invalid report param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2791 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2791 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck carries unmanaged address (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2791 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2791 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2791 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2791 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2801 & (io_in_c_valid & _T_2791 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2791 & ~reset & ~_T_2801) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck carries invalid param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2809 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2809 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData carries unmanaged address (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2809 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2809 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2809 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2809 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2801 & (io_in_c_valid & _T_2809 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2809 & ~reset & ~_T_2801) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData carries invalid param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2823 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2823 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck carries unmanaged address (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2823 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2823 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck carries invalid source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2823 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2823 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck address not aligned to size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2801 & (io_in_c_valid & _T_2823 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2823 & ~reset & ~_T_2801) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck carries invalid param (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2846 & (_T_2845 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2845 & ~reset & ~_T_2846) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2850 & (_T_2845 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2845 & ~reset & ~_T_2850) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2854 & (_T_2845 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2845 & ~reset & ~_T_2854) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2858 & (_T_2845 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2845 & ~reset & ~_T_2858) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2862 & (_T_2845 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2845 & ~reset & ~_T_2862) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2870 & (_T_2869 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2869 & _T_2 & ~_T_2870) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2874 & (_T_2869 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2869 & _T_2 & ~_T_2874) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2878 & (_T_2869 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2869 & _T_2 & ~_T_2878) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2882 & (_T_2869 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2869 & _T_2 & ~_T_2882) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2886 & (_T_2869 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2869 & _T_2 & ~_T_2886) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2890 & (_T_2869 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2869 & _T_2 & ~_T_2890) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2898 & (_T_2897 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2897 & ~reset & ~_T_2898) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel opcode changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2902 & (_T_2897 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2897 & ~reset & ~_T_2902) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel param changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2906 & (_T_2897 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2897 & ~reset & ~_T_2906) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel size changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2910 & (_T_2897 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2897 & ~reset & ~_T_2910) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel source changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2914 & (_T_2897 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2897 & ~reset & ~_T_2914) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel addresss changed with multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2922 & (_T_2921 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2921 & ~reset & ~_T_2922) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel opcode changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2926 & (_T_2921 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2921 & ~reset & ~_T_2926) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel param changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2930 & (_T_2921 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2921 & ~reset & ~_T_2930) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel size changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2934 & (_T_2921 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2921 & ~reset & ~_T_2934) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel source changed within multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2938 & (_T_2921 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2921 & ~reset & ~_T_2938) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel address changed with multibeat operation (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2951 & (_T_2947 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2947 & ~reset & ~_T_2951) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2970 & (_T_2958 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2958 & _T_2 & ~_T_2970) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2976 & (_T_2958 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2958 & same_cycle_resp & _T_2 & ~_T_2976) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2980 & (_T_2958 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2958 & same_cycle_resp & _T_2 & ~_T_2980) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2988 & (_T_2958 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2958 & ~same_cycle_resp & _T_2 & ~_T_2988) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2992 & (_T_2958 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2958 & ~same_cycle_resp & _T_2 & ~_T_2992) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3004 & (_T_3002 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3002 & _T_2 & ~_T_3004) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3011 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_3011) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 3 (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3020 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_3020) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3040 & (_T_3037 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3037 & ~reset & ~_T_3040) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel re-used a source ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3056 & (_T_3046 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3046 & _T_2 & ~_T_3056) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3060 & (_T_3046 & same_cycle_resp_1 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3046 & same_cycle_resp_1 & _T_2 & ~_T_3060) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3064 & (_T_3046 & ~same_cycle_resp_1 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3046 & ~same_cycle_resp_1 & _T_2 & ~_T_3064) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3075 & (_T_3073 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3073 & _T_2 & ~_T_3075) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3080 & (_T_3079 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3079 & _T_2 & ~_T_3080) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' and 'D' concurrent, despite minlatency 3 (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3089 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_3089) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3105 & (_T_3102 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3102 & _T_2 & ~_T_3105) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel re-used a sink ID (connected at HellaCache.scala:271:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3113[0] & (_T_3109 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3109 & ~reset & ~_T_3113[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'E' channel acknowledged for nothing inflight (connected at HellaCache.scala:271:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[9:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[30:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[9:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  param_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  size_1 = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  source_1 = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  sink = _RAND_11[1:0];
+  _RAND_12 = {1{`RANDOM}};
+  denied = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  b_first_counter = _RAND_13[9:0];
+  _RAND_14 = {1{`RANDOM}};
+  opcode_2 = _RAND_14[2:0];
+  _RAND_15 = {1{`RANDOM}};
+  param_2 = _RAND_15[1:0];
+  _RAND_16 = {1{`RANDOM}};
+  size_2 = _RAND_16[3:0];
+  _RAND_17 = {1{`RANDOM}};
+  source_2 = _RAND_17[0:0];
+  _RAND_18 = {1{`RANDOM}};
+  address_1 = _RAND_18[30:0];
+  _RAND_19 = {1{`RANDOM}};
+  c_first_counter = _RAND_19[9:0];
+  _RAND_20 = {1{`RANDOM}};
+  opcode_3 = _RAND_20[2:0];
+  _RAND_21 = {1{`RANDOM}};
+  param_3 = _RAND_21[2:0];
+  _RAND_22 = {1{`RANDOM}};
+  size_3 = _RAND_22[3:0];
+  _RAND_23 = {1{`RANDOM}};
+  source_3 = _RAND_23[0:0];
+  _RAND_24 = {1{`RANDOM}};
+  address_2 = _RAND_24[30:0];
+  _RAND_25 = {1{`RANDOM}};
+  inflight = _RAND_25[1:0];
+  _RAND_26 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_26[7:0];
+  _RAND_27 = {1{`RANDOM}};
+  inflight_sizes = _RAND_27[15:0];
+  _RAND_28 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_28[9:0];
+  _RAND_29 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_29[9:0];
+  _RAND_30 = {1{`RANDOM}};
+  watchdog = _RAND_30[31:0];
+  _RAND_31 = {1{`RANDOM}};
+  inflight_1 = _RAND_31[1:0];
+  _RAND_32 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_32[15:0];
+  _RAND_33 = {1{`RANDOM}};
+  c_first_counter_1 = _RAND_33[9:0];
+  _RAND_34 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_34[9:0];
+  _RAND_35 = {1{`RANDOM}};
+  watchdog_1 = _RAND_35[31:0];
+  _RAND_36 = {1{`RANDOM}};
+  inflight_2 = _RAND_36[3:0];
+  _RAND_37 = {1{`RANDOM}};
+  d_first_counter_3 = _RAND_37[9:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLMonitor_44(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [30:0] io_in_a_bits_address,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [3:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_sink,
+  input         io_in_d_bits_denied,
+  input         io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire [30:0] _is_aligned_T = io_in_a_bits_address & 31'h3f; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 31'h0; // @[Edges.scala 20:24]
+  wire [31:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_26 = $signed(_T_7) & -32'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_27 = $signed(_T_26) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_28 = io_in_a_bits_address ^ 31'h3000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_29 = {1'b0,$signed(_T_28)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_31 = $signed(_T_29) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_32 = $signed(_T_31) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_33 = io_in_a_bits_address ^ 31'h10000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_36 = $signed(_T_34) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_38 = io_in_a_bits_address ^ 31'h2000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_39 = {1'b0,$signed(_T_38)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_41 = $signed(_T_39) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_42 = $signed(_T_41) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_43 = io_in_a_bits_address ^ 31'h8000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_44 = {1'b0,$signed(_T_43)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_46 = $signed(_T_44) & -32'sh4000; // @[Parameters.scala 137:52]
+  wire  _T_47 = $signed(_T_46) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_48 = io_in_a_bits_address ^ 31'hc000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_49 = {1'b0,$signed(_T_48)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_51 = $signed(_T_49) & -32'sh4000000; // @[Parameters.scala 137:52]
+  wire  _T_52 = $signed(_T_51) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_53 = io_in_a_bits_address ^ 31'h10012000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_54 = {1'b0,$signed(_T_53)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_56 = $signed(_T_54) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_57 = $signed(_T_56) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_58 = io_in_a_bits_address ^ 31'h10014000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_59 = {1'b0,$signed(_T_58)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_61 = $signed(_T_59) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_62 = $signed(_T_61) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_63 = io_in_a_bits_address ^ 31'h10016000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_64 = {1'b0,$signed(_T_63)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_66 = $signed(_T_64) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_67 = $signed(_T_66) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_68 = io_in_a_bits_address ^ 31'h10023000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_69 = {1'b0,$signed(_T_68)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_71 = $signed(_T_69) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_72 = $signed(_T_71) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_73 = io_in_a_bits_address ^ 31'h10024000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_74 = {1'b0,$signed(_T_73)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_76 = $signed(_T_74) & -32'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_77 = $signed(_T_76) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_78 = io_in_a_bits_address ^ 31'h10026000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_79 = {1'b0,$signed(_T_78)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_81 = $signed(_T_79) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_82 = $signed(_T_81) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_83 = io_in_a_bits_address ^ 31'h10043000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_84 = {1'b0,$signed(_T_83)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_86 = $signed(_T_84) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_87 = $signed(_T_86) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_88 = io_in_a_bits_address ^ 31'h20000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_89 = {1'b0,$signed(_T_88)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_91 = $signed(_T_89) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_92 = $signed(_T_91) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_111 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_112 = {1'b0,$signed(_T_111)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_114 = $signed(_T_112) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_115 = $signed(_T_114) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_585 = _T_27 | _T_37 | _T_42 | _T_47 | _T_52 | _T_57 | _T_62 | _T_67 | _T_72 | _T_77 | _T_82 | _T_87 | _T_92
+     | _T_115; // @[Parameters.scala 671:42]
+  wire  _T_588 = _T_32 | _T_585; // @[Parameters.scala 672:30]
+  wire  _T_1236 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _T_1240 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_1244 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 312:27]
+  wire  _T_1248 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_1252 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_1256 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_1260 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_1271 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_1275 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_1288 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_1308 = _T_1256 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_1317 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_1334 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_1352 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg [9:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1 = a_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [30:0] address; // @[Monitor.scala 388:22]
+  wire  _T_1382 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_1399 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [26:0] _d_first_beats1_decode_T_1 = 27'hfff << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [9:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1 = d_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [3:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_1406 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_1407 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_1411 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_1415 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_1423 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_1427 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  reg  inflight; // @[Monitor.scala 611:27]
+  reg [3:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [7:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [9:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1_1 = a_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  reg [9:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_1 = d_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_71 = {{12'd0}, inflight_opcodes}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_71 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [15:0] _a_size_lookup_T_5 = 16'h100 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{8'd0}, inflight_sizes}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_73 & _a_size_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_1433 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [1:0] _GEN_15 = io_in_a_valid & a_first_1 ? 2'h1 : 2'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_1436 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? 4'h9 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [18:0] _a_opcodes_set_T_1 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [4:0] a_sizes_set_interm = a_first_done & a_first_1 ? 5'hd : 5'h0; // @[Monitor.scala 652:72 655:28]
+  wire [19:0] _a_sizes_set_T_1 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire  _T_1440 = ~inflight; // @[Monitor.scala 658:17]
+  wire [1:0] _GEN_16 = a_first_done & a_first_1 ? 2'h1 : 2'h0; // @[Monitor.scala 652:72 653:28]
+  wire [18:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
+  wire [19:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 20'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_1444 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_1446 = ~_T_1240; // @[Monitor.scala 671:74]
+  wire  _T_1447 = io_in_d_valid & d_first_1 & ~_T_1240; // @[Monitor.scala 671:71]
+  wire [1:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_1240 ? 2'h1 : 2'h0; // @[Monitor.scala 671:90 672:22]
+  wire [30:0] _d_opcodes_clr_T_5 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [30:0] _d_sizes_clr_T_5 = {{15'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 678:74]
+  wire [1:0] _GEN_22 = _d_first_T & d_first_1 & _T_1446 ? 2'h1 : 2'h0; // @[Monitor.scala 675:91 676:21]
+  wire [30:0] _GEN_23 = _d_first_T & d_first_1 & _T_1446 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
+  wire [30:0] _GEN_24 = _d_first_T & d_first_1 & _T_1446 ? _d_sizes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 678:21]
+  wire  _T_1459 = inflight | _T_1433; // @[Monitor.scala 682:49]
+  wire  _T_1465 = _T_1334 | _T_1334; // @[Monitor.scala 685:77]
+  wire  _T_1469 = 4'h6 == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_1476 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_1477 = io_in_d_bits_opcode == _GEN_48 | _T_1476; // @[Monitor.scala 689:72]
+  wire [7:0] a_size_lookup = _a_size_lookup_T_7[7:0];
+  wire [7:0] _GEN_75 = {{4'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_1481 = _GEN_75 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_1491 = _T_1444 & a_first_1 & io_in_a_valid & _T_1446; // @[Monitor.scala 694:116]
+  wire  _T_1493 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire  a_set_wo_ready = _GEN_15[0];
+  wire  d_clr_wo_ready = _GEN_21[0];
+  wire  _T_1500 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire  a_set = _GEN_16[0];
+  wire  d_clr = _GEN_22[0];
+  wire [3:0] a_opcodes_set = _GEN_19[3:0];
+  wire [3:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [3:0] d_opcodes_clr = _GEN_23[3:0];
+  wire [3:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [3:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [7:0] a_sizes_set = _GEN_20[7:0];
+  wire [7:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [7:0] d_sizes_clr = _GEN_24[7:0];
+  wire [7:0] _inflight_sizes_T_1 = ~d_sizes_clr; // @[Monitor.scala 704:56]
+  wire [7:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_sizes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_1509 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [7:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [9:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_2 = d_first_counter_2 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 10'h0; // @[Edges.scala 230:25]
+  wire [15:0] _GEN_78 = {{8'd0}, inflight_sizes_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_78 & _a_size_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_1535 = io_in_d_valid & d_first_2 & _T_1240; // @[Monitor.scala 779:71]
+  wire [30:0] _GEN_69 = _d_first_T & d_first_2 & _T_1240 ? _d_sizes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 786:21]
+  wire [7:0] c_size_lookup = _c_size_lookup_T_7[7:0];
+  wire  _T_1553 = _GEN_75 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [7:0] d_sizes_clr_1 = _GEN_69[7:0];
+  wire [7:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
+  wire [7:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 10'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 10'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 1'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= (inflight | a_set) & ~d_clr; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 4'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 8'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 10'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 8'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_588 & (io_in_a_valid & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & ~reset & ~_T_588) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Frontend.scala:372:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at Frontend.scala:372:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1236 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_1236) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1244 & (io_in_d_valid & _T_1240 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1240 & _T_2 & ~_T_1244) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1248 & (io_in_d_valid & _T_1240 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1240 & _T_2 & ~_T_1248) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1252 & (io_in_d_valid & _T_1240 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1240 & _T_2 & ~_T_1252) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1256 & (io_in_d_valid & _T_1240 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1240 & _T_2 & ~_T_1256) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1244 & (io_in_d_valid & _T_1260 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1260 & _T_2 & ~_T_1244) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1271 & (io_in_d_valid & _T_1260 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1260 & _T_2 & ~_T_1271) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1275 & (io_in_d_valid & _T_1260 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1260 & _T_2 & ~_T_1275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1252 & (io_in_d_valid & _T_1260 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1260 & _T_2 & ~_T_1252) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1244 & (io_in_d_valid & _T_1288 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1288 & _T_2 & ~_T_1244) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1271 & (io_in_d_valid & _T_1288 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1288 & _T_2 & ~_T_1271) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1275 & (io_in_d_valid & _T_1288 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1288 & _T_2 & ~_T_1275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1308 & (io_in_d_valid & _T_1288 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1288 & _T_2 & ~_T_1308) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1248 & (io_in_d_valid & _T_1317 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1317 & _T_2 & ~_T_1248) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1252 & (io_in_d_valid & _T_1317 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1317 & _T_2 & ~_T_1252) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1248 & (io_in_d_valid & _T_1334 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1334 & _T_2 & ~_T_1248) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1308 & (io_in_d_valid & _T_1334 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1334 & _T_2 & ~_T_1308) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1248 & (io_in_d_valid & _T_1352 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1352 & _T_2 & ~_T_1248) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1252 & (io_in_d_valid & _T_1352 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1352 & _T_2 & ~_T_1252) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1399 & (_T_1382 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1382 & ~reset & ~_T_1399) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Frontend.scala:372:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1407 & (_T_1406 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1406 & _T_2 & ~_T_1407) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1411 & (_T_1406 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1406 & _T_2 & ~_T_1411) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1415 & (_T_1406 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1406 & _T_2 & ~_T_1415) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1423 & (_T_1406 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1406 & _T_2 & ~_T_1423) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1427 & (_T_1406 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1406 & _T_2 & ~_T_1427) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1440 & (_T_1436 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1436 & ~reset & ~_T_1440) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at Frontend.scala:372:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1459 & (_T_1447 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1447 & _T_2 & ~_T_1459) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1465 & (_T_1447 & _T_1433 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1447 & _T_1433 & _T_2 & ~_T_1465) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1469 & (_T_1447 & _T_1433 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1447 & _T_1433 & _T_2 & ~_T_1469) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1477 & (_T_1447 & ~_T_1433 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1447 & ~_T_1433 & _T_2 & ~_T_1477) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1481 & (_T_1447 & ~_T_1433 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1447 & ~_T_1433 & _T_2 & ~_T_1481) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1493 & (_T_1491 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1491 & _T_2 & ~_T_1493) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1500 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_1500) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 3 (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1509 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_1509) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at Frontend.scala:372:21)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1535 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1535 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1553 & (_T_1535 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_1535 & _T_2 & ~_T_1553) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Frontend.scala:372:21)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[9:0];
+  _RAND_1 = {1{`RANDOM}};
+  address = _RAND_1[30:0];
+  _RAND_2 = {1{`RANDOM}};
+  d_first_counter = _RAND_2[9:0];
+  _RAND_3 = {1{`RANDOM}};
+  opcode_1 = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  param_1 = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  size_1 = _RAND_5[3:0];
+  _RAND_6 = {1{`RANDOM}};
+  sink = _RAND_6[1:0];
+  _RAND_7 = {1{`RANDOM}};
+  denied = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  inflight = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight_sizes = _RAND_10[7:0];
+  _RAND_11 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_11[9:0];
+  _RAND_12 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_12[9:0];
+  _RAND_13 = {1{`RANDOM}};
+  watchdog = _RAND_13[31:0];
+  _RAND_14 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_14[7:0];
+  _RAND_15 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_15[9:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLXbar_7(
+  input         clock,
+  input         reset,
+  output        auto_in_1_a_ready,
+  input         auto_in_1_a_valid,
+  input  [30:0] auto_in_1_a_bits_address,
+  input         auto_in_1_d_ready,
+  output        auto_in_1_d_valid,
+  output [2:0]  auto_in_1_d_bits_opcode,
+  output [3:0]  auto_in_1_d_bits_size,
+  output [31:0] auto_in_1_d_bits_data,
+  output        auto_in_1_d_bits_corrupt,
+  output        auto_in_0_a_ready,
+  input         auto_in_0_a_valid,
+  input  [2:0]  auto_in_0_a_bits_opcode,
+  input  [2:0]  auto_in_0_a_bits_param,
+  input  [3:0]  auto_in_0_a_bits_size,
+  input         auto_in_0_a_bits_source,
+  input  [30:0] auto_in_0_a_bits_address,
+  input  [3:0]  auto_in_0_a_bits_mask,
+  input  [31:0] auto_in_0_a_bits_data,
+  input         auto_in_0_b_ready,
+  output        auto_in_0_b_valid,
+  output [1:0]  auto_in_0_b_bits_param,
+  output [3:0]  auto_in_0_b_bits_size,
+  output        auto_in_0_b_bits_source,
+  output [30:0] auto_in_0_b_bits_address,
+  output        auto_in_0_c_ready,
+  input         auto_in_0_c_valid,
+  input  [2:0]  auto_in_0_c_bits_opcode,
+  input  [2:0]  auto_in_0_c_bits_param,
+  input  [3:0]  auto_in_0_c_bits_size,
+  input         auto_in_0_c_bits_source,
+  input  [30:0] auto_in_0_c_bits_address,
+  input  [31:0] auto_in_0_c_bits_data,
+  input         auto_in_0_d_ready,
+  output        auto_in_0_d_valid,
+  output [2:0]  auto_in_0_d_bits_opcode,
+  output [1:0]  auto_in_0_d_bits_param,
+  output [3:0]  auto_in_0_d_bits_size,
+  output        auto_in_0_d_bits_source,
+  output [1:0]  auto_in_0_d_bits_sink,
+  output        auto_in_0_d_bits_denied,
+  output [31:0] auto_in_0_d_bits_data,
+  output        auto_in_0_e_ready,
+  input         auto_in_0_e_valid,
+  input  [1:0]  auto_in_0_e_bits_sink,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [3:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_b_ready,
+  input         auto_out_b_valid,
+  input  [2:0]  auto_out_b_bits_opcode,
+  input  [1:0]  auto_out_b_bits_param,
+  input  [3:0]  auto_out_b_bits_size,
+  input  [1:0]  auto_out_b_bits_source,
+  input  [30:0] auto_out_b_bits_address,
+  input  [3:0]  auto_out_b_bits_mask,
+  input         auto_out_b_bits_corrupt,
+  input         auto_out_c_ready,
+  output        auto_out_c_valid,
+  output [2:0]  auto_out_c_bits_opcode,
+  output [2:0]  auto_out_c_bits_param,
+  output [3:0]  auto_out_c_bits_size,
+  output [1:0]  auto_out_c_bits_source,
+  output [30:0] auto_out_c_bits_address,
+  output [31:0] auto_out_c_bits_data,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [3:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input  [1:0]  auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt,
+  input         auto_out_e_ready,
+  output        auto_out_e_valid,
+  output [1:0]  auto_out_e_bits_sink
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_b_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_b_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_b_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_b_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_b_bits_size; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_b_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_b_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_b_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_b_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_c_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_c_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_c_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_c_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_c_bits_size; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_c_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_c_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_e_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_e_valid; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_e_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_1_clock; // @[Nodes.scala 24:25]
+  wire  monitor_1_reset; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_1_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_1_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_1_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_1_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_1_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  requestBOI_0_0 = ~auto_out_b_bits_source[1]; // @[Parameters.scala 54:32]
+  wire  requestDOI_0_0 = ~auto_out_d_bits_source[1]; // @[Parameters.scala 54:32]
+  wire  requestDOI_0_1 = auto_out_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire [26:0] _beatsAI_decode_T_1 = 27'hfff << auto_in_0_a_bits_size; // @[package.scala 234:77]
+  wire [11:0] _beatsAI_decode_T_3 = ~_beatsAI_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] beatsAI_decode = _beatsAI_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  beatsAI_opdata = ~auto_in_0_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [9:0] beatsLeft; // @[Arbiter.scala 87:30]
+  wire  idle = beatsLeft == 10'h0; // @[Arbiter.scala 88:28]
+  wire  latch = idle & auto_out_a_ready; // @[Arbiter.scala 89:24]
+  wire [1:0] readys_valid = {auto_in_1_a_valid,auto_in_0_a_valid}; // @[Cat.scala 31:58]
+  wire  _readys_T_3 = ~reset; // @[Arbiter.scala 22:12]
+  reg [1:0] readys_mask; // @[Arbiter.scala 23:23]
+  wire [1:0] _readys_filter_T = ~readys_mask; // @[Arbiter.scala 24:30]
+  wire [1:0] _readys_filter_T_1 = readys_valid & _readys_filter_T; // @[Arbiter.scala 24:28]
+  wire [3:0] readys_filter = {_readys_filter_T_1,auto_in_1_a_valid,auto_in_0_a_valid}; // @[Cat.scala 31:58]
+  wire [3:0] _GEN_1 = {{1'd0}, readys_filter[3:1]}; // @[package.scala 253:43]
+  wire [3:0] _readys_unready_T_1 = readys_filter | _GEN_1; // @[package.scala 253:43]
+  wire [3:0] _readys_unready_T_4 = {readys_mask, 2'h0}; // @[Arbiter.scala 25:66]
+  wire [3:0] _GEN_2 = {{1'd0}, _readys_unready_T_1[3:1]}; // @[Arbiter.scala 25:58]
+  wire [3:0] readys_unready = _GEN_2 | _readys_unready_T_4; // @[Arbiter.scala 25:58]
+  wire [1:0] _readys_readys_T_2 = readys_unready[3:2] & readys_unready[1:0]; // @[Arbiter.scala 26:39]
+  wire [1:0] readys_readys = ~_readys_readys_T_2; // @[Arbiter.scala 26:18]
+  wire [1:0] _readys_mask_T = readys_readys & readys_valid; // @[Arbiter.scala 28:29]
+  wire [2:0] _readys_mask_T_1 = {_readys_mask_T, 1'h0}; // @[package.scala 244:48]
+  wire [1:0] _readys_mask_T_3 = _readys_mask_T | _readys_mask_T_1[1:0]; // @[package.scala 244:43]
+  wire  readys_0 = readys_readys[0]; // @[Arbiter.scala 95:86]
+  wire  readys_1 = readys_readys[1]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_0 = readys_0 & auto_in_0_a_valid; // @[Arbiter.scala 97:79]
+  wire  earlyWinner_1 = readys_1 & auto_in_1_a_valid; // @[Arbiter.scala 97:79]
+  wire  _prefixOR_T = earlyWinner_0 | earlyWinner_1; // @[Arbiter.scala 104:53]
+  wire  _T_11 = auto_in_0_a_valid | auto_in_1_a_valid; // @[Arbiter.scala 107:36]
+  wire  _T_12 = ~(auto_in_0_a_valid | auto_in_1_a_valid); // @[Arbiter.scala 107:15]
+  reg  state_0; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_0 = idle ? earlyWinner_0 : state_0; // @[Arbiter.scala 117:30]
+  reg  state_1; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_1 = idle ? earlyWinner_1 : state_1; // @[Arbiter.scala 117:30]
+  wire  _out_0_a_earlyValid_T_3 = state_0 & auto_in_0_a_valid | state_1 & auto_in_1_a_valid; // @[Mux.scala 27:73]
+  wire  out_2_0_a_earlyValid = idle ? _T_11 : _out_0_a_earlyValid_T_3; // @[Arbiter.scala 125:29]
+  wire  _beatsLeft_T_2 = auto_out_a_ready & out_2_0_a_earlyValid; // @[ReadyValidCancel.scala 49:33]
+  wire [9:0] _GEN_3 = {{9'd0}, _beatsLeft_T_2}; // @[Arbiter.scala 113:52]
+  wire [9:0] _beatsLeft_T_4 = beatsLeft - _GEN_3; // @[Arbiter.scala 113:52]
+  wire  allowed_0 = idle ? readys_0 : state_0; // @[Arbiter.scala 121:24]
+  wire  allowed_1 = idle ? readys_1 : state_1; // @[Arbiter.scala 121:24]
+  wire [3:0] _T_31 = muxStateEarly_0 ? auto_in_0_a_bits_mask : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_32 = muxStateEarly_1 ? 4'hf : 4'h0; // @[Mux.scala 27:73]
+  wire [30:0] _T_34 = muxStateEarly_0 ? auto_in_0_a_bits_address : 31'h0; // @[Mux.scala 27:73]
+  wire [30:0] _T_35 = muxStateEarly_1 ? auto_in_1_a_bits_address : 31'h0; // @[Mux.scala 27:73]
+  wire [1:0] in_0_a_bits_source = {{1'd0}, auto_in_0_a_bits_source}; // @[Xbar.scala 231:18 237:29]
+  wire [1:0] _T_37 = muxStateEarly_0 ? in_0_a_bits_source : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_38 = muxStateEarly_1 ? 2'h2 : 2'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_40 = muxStateEarly_0 ? auto_in_0_a_bits_size : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _T_41 = muxStateEarly_1 ? 4'h6 : 4'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_46 = muxStateEarly_0 ? auto_in_0_a_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_47 = muxStateEarly_1 ? 3'h4 : 3'h0; // @[Mux.scala 27:73]
+  TLMonitor_43 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_b_ready(monitor_io_in_b_ready),
+    .io_in_b_valid(monitor_io_in_b_valid),
+    .io_in_b_bits_opcode(monitor_io_in_b_bits_opcode),
+    .io_in_b_bits_param(monitor_io_in_b_bits_param),
+    .io_in_b_bits_size(monitor_io_in_b_bits_size),
+    .io_in_b_bits_source(monitor_io_in_b_bits_source),
+    .io_in_b_bits_address(monitor_io_in_b_bits_address),
+    .io_in_b_bits_mask(monitor_io_in_b_bits_mask),
+    .io_in_b_bits_corrupt(monitor_io_in_b_bits_corrupt),
+    .io_in_c_ready(monitor_io_in_c_ready),
+    .io_in_c_valid(monitor_io_in_c_valid),
+    .io_in_c_bits_opcode(monitor_io_in_c_bits_opcode),
+    .io_in_c_bits_param(monitor_io_in_c_bits_param),
+    .io_in_c_bits_size(monitor_io_in_c_bits_size),
+    .io_in_c_bits_source(monitor_io_in_c_bits_source),
+    .io_in_c_bits_address(monitor_io_in_c_bits_address),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt),
+    .io_in_e_ready(monitor_io_in_e_ready),
+    .io_in_e_valid(monitor_io_in_e_valid),
+    .io_in_e_bits_sink(monitor_io_in_e_bits_sink)
+  );
+  TLMonitor_44 monitor_1 ( // @[Nodes.scala 24:25]
+    .clock(monitor_1_clock),
+    .reset(monitor_1_reset),
+    .io_in_a_ready(monitor_1_io_in_a_ready),
+    .io_in_a_valid(monitor_1_io_in_a_valid),
+    .io_in_a_bits_address(monitor_1_io_in_a_bits_address),
+    .io_in_d_ready(monitor_1_io_in_d_ready),
+    .io_in_d_valid(monitor_1_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_1_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_1_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_1_io_in_d_bits_size),
+    .io_in_d_bits_sink(monitor_1_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_1_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_1_io_in_d_bits_corrupt)
+  );
+  assign auto_in_1_a_ready = auto_out_a_ready & allowed_1; // @[Arbiter.scala 123:31]
+  assign auto_in_1_d_valid = auto_out_d_valid & requestDOI_0_1; // @[Xbar.scala 179:40]
+  assign auto_in_1_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_1_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_1_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_1_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_0_a_ready = auto_out_a_ready & allowed_0; // @[Arbiter.scala 123:31]
+  assign auto_in_0_b_valid = auto_out_b_valid & requestBOI_0_0; // @[Xbar.scala 179:40]
+  assign auto_in_0_b_bits_param = auto_out_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_0_b_bits_size = auto_out_b_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_0_b_bits_source = auto_out_b_bits_source[0]; // @[Xbar.scala 228:69]
+  assign auto_in_0_b_bits_address = auto_out_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_0_c_ready = auto_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_0_d_valid = auto_out_d_valid & requestDOI_0_0; // @[Xbar.scala 179:40]
+  assign auto_in_0_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_0_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_0_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_0_d_bits_source = auto_out_d_bits_source[0]; // @[Xbar.scala 228:69]
+  assign auto_in_0_d_bits_sink = auto_out_d_bits_sink; // @[Xbar.scala 323:53]
+  assign auto_in_0_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_0_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_0_e_ready = auto_out_e_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = idle ? _T_11 : _out_0_a_earlyValid_T_3; // @[Arbiter.scala 125:29]
+  assign auto_out_a_bits_opcode = _T_46 | _T_47; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_param = muxStateEarly_0 ? auto_in_0_a_bits_param : 3'h0; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_size = _T_40 | _T_41; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_source = _T_37 | _T_38; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_address = _T_34 | _T_35; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_mask = _T_31 | _T_32; // @[Mux.scala 27:73]
+  assign auto_out_a_bits_data = muxStateEarly_0 ? auto_in_0_a_bits_data : 32'h0; // @[Mux.scala 27:73]
+  assign auto_out_b_ready = requestBOI_0_0 & auto_in_0_b_ready; // @[Mux.scala 27:73]
+  assign auto_out_c_valid = auto_in_0_c_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_out_c_bits_opcode = auto_in_0_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_param = auto_in_0_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_size = auto_in_0_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_source = {{1'd0}, auto_in_0_c_bits_source}; // @[Xbar.scala 231:18 259:29]
+  assign auto_out_c_bits_address = auto_in_0_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_data = auto_in_0_c_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = requestDOI_0_0 & auto_in_0_d_ready | requestDOI_0_1 & auto_in_1_d_ready; // @[Mux.scala 27:73]
+  assign auto_out_e_valid = auto_in_0_e_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_out_e_bits_sink = auto_in_0_e_bits_sink; // @[Xbar.scala 228:69]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = auto_out_a_ready & allowed_0; // @[Arbiter.scala 123:31]
+  assign monitor_io_in_a_valid = auto_in_0_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_0_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_0_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_0_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_0_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_0_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_0_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_b_ready = auto_in_0_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_b_valid = auto_out_b_valid & requestBOI_0_0; // @[Xbar.scala 179:40]
+  assign monitor_io_in_b_bits_opcode = auto_out_b_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_b_bits_param = auto_out_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_b_bits_size = auto_out_b_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_b_bits_source = auto_out_b_bits_source[0]; // @[Xbar.scala 228:69]
+  assign monitor_io_in_b_bits_address = auto_out_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_b_bits_mask = auto_out_b_bits_mask; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_b_bits_corrupt = auto_out_b_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_c_ready = auto_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_c_valid = auto_in_0_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_opcode = auto_in_0_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_param = auto_in_0_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_size = auto_in_0_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_source = auto_in_0_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_address = auto_in_0_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_0_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_out_d_valid & requestDOI_0_0; // @[Xbar.scala 179:40]
+  assign monitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_source = auto_out_d_bits_source[0]; // @[Xbar.scala 228:69]
+  assign monitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Xbar.scala 323:53]
+  assign monitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_e_ready = auto_out_e_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_io_in_e_valid = auto_in_0_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_e_bits_sink = auto_in_0_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_1_clock = clock;
+  assign monitor_1_reset = reset;
+  assign monitor_1_io_in_a_ready = auto_out_a_ready & allowed_1; // @[Arbiter.scala 123:31]
+  assign monitor_1_io_in_a_valid = auto_in_1_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_1_io_in_a_bits_address = auto_in_1_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_1_io_in_d_ready = auto_in_1_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_1_io_in_d_valid = auto_out_d_valid & requestDOI_0_1; // @[Xbar.scala 179:40]
+  assign monitor_1_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_1_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_1_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_1_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Xbar.scala 323:53]
+  assign monitor_1_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign monitor_1_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Arbiter.scala 87:30]
+      beatsLeft <= 10'h0; // @[Arbiter.scala 87:30]
+    end else if (latch) begin // @[Arbiter.scala 113:23]
+      if (earlyWinner_0) begin // @[Arbiter.scala 111:73]
+        if (beatsAI_opdata) begin // @[Edges.scala 220:14]
+          beatsLeft <= beatsAI_decode;
+        end else begin
+          beatsLeft <= 10'h0;
+        end
+      end else begin
+        beatsLeft <= 10'h0;
+      end
+    end else begin
+      beatsLeft <= _beatsLeft_T_4;
+    end
+    if (reset) begin // @[Arbiter.scala 23:23]
+      readys_mask <= 2'h3; // @[Arbiter.scala 23:23]
+    end else if (latch & |readys_valid) begin // @[Arbiter.scala 27:32]
+      readys_mask <= _readys_mask_T_3; // @[Arbiter.scala 28:12]
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_0 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_0 <= earlyWinner_0;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_1 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_1 <= earlyWinner_1;
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~earlyWinner_0 | ~earlyWinner_1) & _readys_T_3) begin
+          $fatal; // @[Arbiter.scala 105:13]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_readys_T_3 & ~(~earlyWinner_0 | ~earlyWinner_1)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:105 assert((prefixOR zip earlyWinner) map { case (p,w) => !p || !w } reduce {_ && _})\n"
+            ); // @[Arbiter.scala 105:13]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(auto_in_0_a_valid | auto_in_1_a_valid) | _prefixOR_T) & _readys_T_3) begin
+          $fatal; // @[Arbiter.scala 107:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_readys_T_3 & ~(~(auto_in_0_a_valid | auto_in_1_a_valid) | _prefixOR_T)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:107 assert (!earlyValids.reduce(_||_) || earlyWinner.reduce(_||_))\n"
+            ); // @[Arbiter.scala 107:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_12 | _T_11) & _readys_T_3) begin
+          $fatal; // @[Arbiter.scala 108:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_readys_T_3 & ~(_T_12 | _T_11)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:108 assert (!validQuals .reduce(_||_) || validQuals .reduce(_||_))\n"
+            ); // @[Arbiter.scala 108:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  beatsLeft = _RAND_0[9:0];
+  _RAND_1 = {1{`RANDOM}};
+  readys_mask = _RAND_1[1:0];
+  _RAND_2 = {1{`RANDOM}};
+  state_0 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  state_1 = _RAND_3[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLXbar_8(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [27:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [27:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Xbar.scala 228:69]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[ReadyValidCancel.scala 21:38]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Xbar.scala 237:55]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module IntXbar_1(
+  input   auto_int_in_3_0,
+  input   auto_int_in_2_0,
+  input   auto_int_in_1_0,
+  input   auto_int_in_1_1,
+  input   auto_int_in_0_0,
+  output  auto_int_out_0,
+  output  auto_int_out_1,
+  output  auto_int_out_2,
+  output  auto_int_out_3,
+  output  auto_int_out_4
+);
+  assign auto_int_out_0 = auto_int_in_0_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_1 = auto_int_in_1_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_2 = auto_int_in_1_1; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_3 = auto_int_in_2_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_int_out_4 = auto_int_in_3_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module BundleBridgeNexus_6(
+  input   auto_in,
+  output  auto_out_0
+);
+  assign auto_out_0 = auto_in; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module PMPChecker(
+  input  [1:0]  io_prv,
+  input         io_pmp_0_cfg_l,
+  input  [1:0]  io_pmp_0_cfg_a,
+  input         io_pmp_0_cfg_x,
+  input         io_pmp_0_cfg_w,
+  input         io_pmp_0_cfg_r,
+  input  [28:0] io_pmp_0_addr,
+  input  [30:0] io_pmp_0_mask,
+  input         io_pmp_1_cfg_l,
+  input  [1:0]  io_pmp_1_cfg_a,
+  input         io_pmp_1_cfg_x,
+  input         io_pmp_1_cfg_w,
+  input         io_pmp_1_cfg_r,
+  input  [28:0] io_pmp_1_addr,
+  input  [30:0] io_pmp_1_mask,
+  input         io_pmp_2_cfg_l,
+  input  [1:0]  io_pmp_2_cfg_a,
+  input         io_pmp_2_cfg_x,
+  input         io_pmp_2_cfg_w,
+  input         io_pmp_2_cfg_r,
+  input  [28:0] io_pmp_2_addr,
+  input  [30:0] io_pmp_2_mask,
+  input         io_pmp_3_cfg_l,
+  input  [1:0]  io_pmp_3_cfg_a,
+  input         io_pmp_3_cfg_x,
+  input         io_pmp_3_cfg_w,
+  input         io_pmp_3_cfg_r,
+  input  [28:0] io_pmp_3_addr,
+  input  [30:0] io_pmp_3_mask,
+  input         io_pmp_4_cfg_l,
+  input  [1:0]  io_pmp_4_cfg_a,
+  input         io_pmp_4_cfg_x,
+  input         io_pmp_4_cfg_w,
+  input         io_pmp_4_cfg_r,
+  input  [28:0] io_pmp_4_addr,
+  input  [30:0] io_pmp_4_mask,
+  input         io_pmp_5_cfg_l,
+  input  [1:0]  io_pmp_5_cfg_a,
+  input         io_pmp_5_cfg_x,
+  input         io_pmp_5_cfg_w,
+  input         io_pmp_5_cfg_r,
+  input  [28:0] io_pmp_5_addr,
+  input  [30:0] io_pmp_5_mask,
+  input         io_pmp_6_cfg_l,
+  input  [1:0]  io_pmp_6_cfg_a,
+  input         io_pmp_6_cfg_x,
+  input         io_pmp_6_cfg_w,
+  input         io_pmp_6_cfg_r,
+  input  [28:0] io_pmp_6_addr,
+  input  [30:0] io_pmp_6_mask,
+  input         io_pmp_7_cfg_l,
+  input  [1:0]  io_pmp_7_cfg_a,
+  input         io_pmp_7_cfg_x,
+  input         io_pmp_7_cfg_w,
+  input         io_pmp_7_cfg_r,
+  input  [28:0] io_pmp_7_addr,
+  input  [30:0] io_pmp_7_mask,
+  input  [30:0] io_addr,
+  output        io_r,
+  output        io_w,
+  output        io_x
+);
+  wire  default_ = io_prv > 2'h1; // @[PMP.scala 156:56]
+  wire [30:0] _res_hit_T_1 = {io_pmp_7_addr, 2'h0}; // @[PMP.scala 61:36]
+  wire [30:0] _res_hit_T_2 = ~_res_hit_T_1; // @[PMP.scala 61:29]
+  wire [30:0] _res_hit_T_3 = _res_hit_T_2 | 31'h3; // @[PMP.scala 61:48]
+  wire [30:0] _res_hit_T_4 = ~_res_hit_T_3; // @[PMP.scala 61:27]
+  wire [30:0] _res_hit_T_5 = io_addr ^ _res_hit_T_4; // @[PMP.scala 64:47]
+  wire [30:0] _res_hit_T_6 = ~io_pmp_7_mask; // @[PMP.scala 64:54]
+  wire [30:0] _res_hit_T_7 = _res_hit_T_5 & _res_hit_T_6; // @[PMP.scala 64:52]
+  wire  _res_hit_T_8 = _res_hit_T_7 == 31'h0; // @[PMP.scala 64:58]
+  wire [30:0] _res_hit_T_14 = {io_pmp_6_addr, 2'h0}; // @[PMP.scala 61:36]
+  wire [30:0] _res_hit_T_15 = ~_res_hit_T_14; // @[PMP.scala 61:29]
+  wire [30:0] _res_hit_T_16 = _res_hit_T_15 | 31'h3; // @[PMP.scala 61:48]
+  wire [30:0] _res_hit_T_17 = ~_res_hit_T_16; // @[PMP.scala 61:27]
+  wire  _res_hit_T_18 = io_addr < _res_hit_T_17; // @[PMP.scala 78:9]
+  wire  _res_hit_T_19 = ~_res_hit_T_18; // @[PMP.scala 89:5]
+  wire  _res_hit_T_24 = io_addr < _res_hit_T_4; // @[PMP.scala 78:9]
+  wire  _res_hit_T_25 = _res_hit_T_19 & _res_hit_T_24; // @[PMP.scala 95:48]
+  wire  res_hit = io_pmp_7_cfg_a[1] ? _res_hit_T_8 : io_pmp_7_cfg_a[0] & _res_hit_T_25; // @[PMP.scala 133:8]
+  wire  res_ignore = default_ & ~io_pmp_7_cfg_l; // @[PMP.scala 164:26]
+  wire  res_cur_cfg_r = io_pmp_7_cfg_r | res_ignore; // @[PMP.scala 182:40]
+  wire  res_cur_cfg_w = io_pmp_7_cfg_w | res_ignore; // @[PMP.scala 183:40]
+  wire  res_cur_cfg_x = io_pmp_7_cfg_x | res_ignore; // @[PMP.scala 184:40]
+  wire  _res_T_44_cfg_x = res_hit ? res_cur_cfg_x : default_; // @[PMP.scala 185:8]
+  wire  _res_T_44_cfg_w = res_hit ? res_cur_cfg_w : default_; // @[PMP.scala 185:8]
+  wire  _res_T_44_cfg_r = res_hit ? res_cur_cfg_r : default_; // @[PMP.scala 185:8]
+  wire [30:0] _res_hit_T_32 = io_addr ^ _res_hit_T_17; // @[PMP.scala 64:47]
+  wire [30:0] _res_hit_T_33 = ~io_pmp_6_mask; // @[PMP.scala 64:54]
+  wire [30:0] _res_hit_T_34 = _res_hit_T_32 & _res_hit_T_33; // @[PMP.scala 64:52]
+  wire  _res_hit_T_35 = _res_hit_T_34 == 31'h0; // @[PMP.scala 64:58]
+  wire [30:0] _res_hit_T_41 = {io_pmp_5_addr, 2'h0}; // @[PMP.scala 61:36]
+  wire [30:0] _res_hit_T_42 = ~_res_hit_T_41; // @[PMP.scala 61:29]
+  wire [30:0] _res_hit_T_43 = _res_hit_T_42 | 31'h3; // @[PMP.scala 61:48]
+  wire [30:0] _res_hit_T_44 = ~_res_hit_T_43; // @[PMP.scala 61:27]
+  wire  _res_hit_T_45 = io_addr < _res_hit_T_44; // @[PMP.scala 78:9]
+  wire  _res_hit_T_46 = ~_res_hit_T_45; // @[PMP.scala 89:5]
+  wire  _res_hit_T_52 = _res_hit_T_46 & _res_hit_T_18; // @[PMP.scala 95:48]
+  wire  res_hit_1 = io_pmp_6_cfg_a[1] ? _res_hit_T_35 : io_pmp_6_cfg_a[0] & _res_hit_T_52; // @[PMP.scala 133:8]
+  wire  res_ignore_1 = default_ & ~io_pmp_6_cfg_l; // @[PMP.scala 164:26]
+  wire  res_cur_1_cfg_r = io_pmp_6_cfg_r | res_ignore_1; // @[PMP.scala 182:40]
+  wire  res_cur_1_cfg_w = io_pmp_6_cfg_w | res_ignore_1; // @[PMP.scala 183:40]
+  wire  res_cur_1_cfg_x = io_pmp_6_cfg_x | res_ignore_1; // @[PMP.scala 184:40]
+  wire  _res_T_89_cfg_x = res_hit_1 ? res_cur_1_cfg_x : _res_T_44_cfg_x; // @[PMP.scala 185:8]
+  wire  _res_T_89_cfg_w = res_hit_1 ? res_cur_1_cfg_w : _res_T_44_cfg_w; // @[PMP.scala 185:8]
+  wire  _res_T_89_cfg_r = res_hit_1 ? res_cur_1_cfg_r : _res_T_44_cfg_r; // @[PMP.scala 185:8]
+  wire [30:0] _res_hit_T_59 = io_addr ^ _res_hit_T_44; // @[PMP.scala 64:47]
+  wire [30:0] _res_hit_T_60 = ~io_pmp_5_mask; // @[PMP.scala 64:54]
+  wire [30:0] _res_hit_T_61 = _res_hit_T_59 & _res_hit_T_60; // @[PMP.scala 64:52]
+  wire  _res_hit_T_62 = _res_hit_T_61 == 31'h0; // @[PMP.scala 64:58]
+  wire [30:0] _res_hit_T_68 = {io_pmp_4_addr, 2'h0}; // @[PMP.scala 61:36]
+  wire [30:0] _res_hit_T_69 = ~_res_hit_T_68; // @[PMP.scala 61:29]
+  wire [30:0] _res_hit_T_70 = _res_hit_T_69 | 31'h3; // @[PMP.scala 61:48]
+  wire [30:0] _res_hit_T_71 = ~_res_hit_T_70; // @[PMP.scala 61:27]
+  wire  _res_hit_T_72 = io_addr < _res_hit_T_71; // @[PMP.scala 78:9]
+  wire  _res_hit_T_73 = ~_res_hit_T_72; // @[PMP.scala 89:5]
+  wire  _res_hit_T_79 = _res_hit_T_73 & _res_hit_T_45; // @[PMP.scala 95:48]
+  wire  res_hit_2 = io_pmp_5_cfg_a[1] ? _res_hit_T_62 : io_pmp_5_cfg_a[0] & _res_hit_T_79; // @[PMP.scala 133:8]
+  wire  res_ignore_2 = default_ & ~io_pmp_5_cfg_l; // @[PMP.scala 164:26]
+  wire  res_cur_2_cfg_r = io_pmp_5_cfg_r | res_ignore_2; // @[PMP.scala 182:40]
+  wire  res_cur_2_cfg_w = io_pmp_5_cfg_w | res_ignore_2; // @[PMP.scala 183:40]
+  wire  res_cur_2_cfg_x = io_pmp_5_cfg_x | res_ignore_2; // @[PMP.scala 184:40]
+  wire  _res_T_134_cfg_x = res_hit_2 ? res_cur_2_cfg_x : _res_T_89_cfg_x; // @[PMP.scala 185:8]
+  wire  _res_T_134_cfg_w = res_hit_2 ? res_cur_2_cfg_w : _res_T_89_cfg_w; // @[PMP.scala 185:8]
+  wire  _res_T_134_cfg_r = res_hit_2 ? res_cur_2_cfg_r : _res_T_89_cfg_r; // @[PMP.scala 185:8]
+  wire [30:0] _res_hit_T_86 = io_addr ^ _res_hit_T_71; // @[PMP.scala 64:47]
+  wire [30:0] _res_hit_T_87 = ~io_pmp_4_mask; // @[PMP.scala 64:54]
+  wire [30:0] _res_hit_T_88 = _res_hit_T_86 & _res_hit_T_87; // @[PMP.scala 64:52]
+  wire  _res_hit_T_89 = _res_hit_T_88 == 31'h0; // @[PMP.scala 64:58]
+  wire [30:0] _res_hit_T_95 = {io_pmp_3_addr, 2'h0}; // @[PMP.scala 61:36]
+  wire [30:0] _res_hit_T_96 = ~_res_hit_T_95; // @[PMP.scala 61:29]
+  wire [30:0] _res_hit_T_97 = _res_hit_T_96 | 31'h3; // @[PMP.scala 61:48]
+  wire [30:0] _res_hit_T_98 = ~_res_hit_T_97; // @[PMP.scala 61:27]
+  wire  _res_hit_T_99 = io_addr < _res_hit_T_98; // @[PMP.scala 78:9]
+  wire  _res_hit_T_100 = ~_res_hit_T_99; // @[PMP.scala 89:5]
+  wire  _res_hit_T_106 = _res_hit_T_100 & _res_hit_T_72; // @[PMP.scala 95:48]
+  wire  res_hit_3 = io_pmp_4_cfg_a[1] ? _res_hit_T_89 : io_pmp_4_cfg_a[0] & _res_hit_T_106; // @[PMP.scala 133:8]
+  wire  res_ignore_3 = default_ & ~io_pmp_4_cfg_l; // @[PMP.scala 164:26]
+  wire  res_cur_3_cfg_r = io_pmp_4_cfg_r | res_ignore_3; // @[PMP.scala 182:40]
+  wire  res_cur_3_cfg_w = io_pmp_4_cfg_w | res_ignore_3; // @[PMP.scala 183:40]
+  wire  res_cur_3_cfg_x = io_pmp_4_cfg_x | res_ignore_3; // @[PMP.scala 184:40]
+  wire  _res_T_179_cfg_x = res_hit_3 ? res_cur_3_cfg_x : _res_T_134_cfg_x; // @[PMP.scala 185:8]
+  wire  _res_T_179_cfg_w = res_hit_3 ? res_cur_3_cfg_w : _res_T_134_cfg_w; // @[PMP.scala 185:8]
+  wire  _res_T_179_cfg_r = res_hit_3 ? res_cur_3_cfg_r : _res_T_134_cfg_r; // @[PMP.scala 185:8]
+  wire [30:0] _res_hit_T_113 = io_addr ^ _res_hit_T_98; // @[PMP.scala 64:47]
+  wire [30:0] _res_hit_T_114 = ~io_pmp_3_mask; // @[PMP.scala 64:54]
+  wire [30:0] _res_hit_T_115 = _res_hit_T_113 & _res_hit_T_114; // @[PMP.scala 64:52]
+  wire  _res_hit_T_116 = _res_hit_T_115 == 31'h0; // @[PMP.scala 64:58]
+  wire [30:0] _res_hit_T_122 = {io_pmp_2_addr, 2'h0}; // @[PMP.scala 61:36]
+  wire [30:0] _res_hit_T_123 = ~_res_hit_T_122; // @[PMP.scala 61:29]
+  wire [30:0] _res_hit_T_124 = _res_hit_T_123 | 31'h3; // @[PMP.scala 61:48]
+  wire [30:0] _res_hit_T_125 = ~_res_hit_T_124; // @[PMP.scala 61:27]
+  wire  _res_hit_T_126 = io_addr < _res_hit_T_125; // @[PMP.scala 78:9]
+  wire  _res_hit_T_127 = ~_res_hit_T_126; // @[PMP.scala 89:5]
+  wire  _res_hit_T_133 = _res_hit_T_127 & _res_hit_T_99; // @[PMP.scala 95:48]
+  wire  res_hit_4 = io_pmp_3_cfg_a[1] ? _res_hit_T_116 : io_pmp_3_cfg_a[0] & _res_hit_T_133; // @[PMP.scala 133:8]
+  wire  res_ignore_4 = default_ & ~io_pmp_3_cfg_l; // @[PMP.scala 164:26]
+  wire  res_cur_4_cfg_r = io_pmp_3_cfg_r | res_ignore_4; // @[PMP.scala 182:40]
+  wire  res_cur_4_cfg_w = io_pmp_3_cfg_w | res_ignore_4; // @[PMP.scala 183:40]
+  wire  res_cur_4_cfg_x = io_pmp_3_cfg_x | res_ignore_4; // @[PMP.scala 184:40]
+  wire  _res_T_224_cfg_x = res_hit_4 ? res_cur_4_cfg_x : _res_T_179_cfg_x; // @[PMP.scala 185:8]
+  wire  _res_T_224_cfg_w = res_hit_4 ? res_cur_4_cfg_w : _res_T_179_cfg_w; // @[PMP.scala 185:8]
+  wire  _res_T_224_cfg_r = res_hit_4 ? res_cur_4_cfg_r : _res_T_179_cfg_r; // @[PMP.scala 185:8]
+  wire [30:0] _res_hit_T_140 = io_addr ^ _res_hit_T_125; // @[PMP.scala 64:47]
+  wire [30:0] _res_hit_T_141 = ~io_pmp_2_mask; // @[PMP.scala 64:54]
+  wire [30:0] _res_hit_T_142 = _res_hit_T_140 & _res_hit_T_141; // @[PMP.scala 64:52]
+  wire  _res_hit_T_143 = _res_hit_T_142 == 31'h0; // @[PMP.scala 64:58]
+  wire [30:0] _res_hit_T_149 = {io_pmp_1_addr, 2'h0}; // @[PMP.scala 61:36]
+  wire [30:0] _res_hit_T_150 = ~_res_hit_T_149; // @[PMP.scala 61:29]
+  wire [30:0] _res_hit_T_151 = _res_hit_T_150 | 31'h3; // @[PMP.scala 61:48]
+  wire [30:0] _res_hit_T_152 = ~_res_hit_T_151; // @[PMP.scala 61:27]
+  wire  _res_hit_T_153 = io_addr < _res_hit_T_152; // @[PMP.scala 78:9]
+  wire  _res_hit_T_154 = ~_res_hit_T_153; // @[PMP.scala 89:5]
+  wire  _res_hit_T_160 = _res_hit_T_154 & _res_hit_T_126; // @[PMP.scala 95:48]
+  wire  res_hit_5 = io_pmp_2_cfg_a[1] ? _res_hit_T_143 : io_pmp_2_cfg_a[0] & _res_hit_T_160; // @[PMP.scala 133:8]
+  wire  res_ignore_5 = default_ & ~io_pmp_2_cfg_l; // @[PMP.scala 164:26]
+  wire  res_cur_5_cfg_r = io_pmp_2_cfg_r | res_ignore_5; // @[PMP.scala 182:40]
+  wire  res_cur_5_cfg_w = io_pmp_2_cfg_w | res_ignore_5; // @[PMP.scala 183:40]
+  wire  res_cur_5_cfg_x = io_pmp_2_cfg_x | res_ignore_5; // @[PMP.scala 184:40]
+  wire  _res_T_269_cfg_x = res_hit_5 ? res_cur_5_cfg_x : _res_T_224_cfg_x; // @[PMP.scala 185:8]
+  wire  _res_T_269_cfg_w = res_hit_5 ? res_cur_5_cfg_w : _res_T_224_cfg_w; // @[PMP.scala 185:8]
+  wire  _res_T_269_cfg_r = res_hit_5 ? res_cur_5_cfg_r : _res_T_224_cfg_r; // @[PMP.scala 185:8]
+  wire [30:0] _res_hit_T_167 = io_addr ^ _res_hit_T_152; // @[PMP.scala 64:47]
+  wire [30:0] _res_hit_T_168 = ~io_pmp_1_mask; // @[PMP.scala 64:54]
+  wire [30:0] _res_hit_T_169 = _res_hit_T_167 & _res_hit_T_168; // @[PMP.scala 64:52]
+  wire  _res_hit_T_170 = _res_hit_T_169 == 31'h0; // @[PMP.scala 64:58]
+  wire [30:0] _res_hit_T_176 = {io_pmp_0_addr, 2'h0}; // @[PMP.scala 61:36]
+  wire [30:0] _res_hit_T_177 = ~_res_hit_T_176; // @[PMP.scala 61:29]
+  wire [30:0] _res_hit_T_178 = _res_hit_T_177 | 31'h3; // @[PMP.scala 61:48]
+  wire [30:0] _res_hit_T_179 = ~_res_hit_T_178; // @[PMP.scala 61:27]
+  wire  _res_hit_T_180 = io_addr < _res_hit_T_179; // @[PMP.scala 78:9]
+  wire  _res_hit_T_181 = ~_res_hit_T_180; // @[PMP.scala 89:5]
+  wire  _res_hit_T_187 = _res_hit_T_181 & _res_hit_T_153; // @[PMP.scala 95:48]
+  wire  res_hit_6 = io_pmp_1_cfg_a[1] ? _res_hit_T_170 : io_pmp_1_cfg_a[0] & _res_hit_T_187; // @[PMP.scala 133:8]
+  wire  res_ignore_6 = default_ & ~io_pmp_1_cfg_l; // @[PMP.scala 164:26]
+  wire  res_cur_6_cfg_r = io_pmp_1_cfg_r | res_ignore_6; // @[PMP.scala 182:40]
+  wire  res_cur_6_cfg_w = io_pmp_1_cfg_w | res_ignore_6; // @[PMP.scala 183:40]
+  wire  res_cur_6_cfg_x = io_pmp_1_cfg_x | res_ignore_6; // @[PMP.scala 184:40]
+  wire  _res_T_314_cfg_x = res_hit_6 ? res_cur_6_cfg_x : _res_T_269_cfg_x; // @[PMP.scala 185:8]
+  wire  _res_T_314_cfg_w = res_hit_6 ? res_cur_6_cfg_w : _res_T_269_cfg_w; // @[PMP.scala 185:8]
+  wire  _res_T_314_cfg_r = res_hit_6 ? res_cur_6_cfg_r : _res_T_269_cfg_r; // @[PMP.scala 185:8]
+  wire [30:0] _res_hit_T_194 = io_addr ^ _res_hit_T_179; // @[PMP.scala 64:47]
+  wire [30:0] _res_hit_T_195 = ~io_pmp_0_mask; // @[PMP.scala 64:54]
+  wire [30:0] _res_hit_T_196 = _res_hit_T_194 & _res_hit_T_195; // @[PMP.scala 64:52]
+  wire  _res_hit_T_197 = _res_hit_T_196 == 31'h0; // @[PMP.scala 64:58]
+  wire  res_hit_7 = io_pmp_0_cfg_a[1] ? _res_hit_T_197 : io_pmp_0_cfg_a[0] & _res_hit_T_180; // @[PMP.scala 133:8]
+  wire  res_ignore_7 = default_ & ~io_pmp_0_cfg_l; // @[PMP.scala 164:26]
+  wire  res_cur_7_cfg_r = io_pmp_0_cfg_r | res_ignore_7; // @[PMP.scala 182:40]
+  wire  res_cur_7_cfg_w = io_pmp_0_cfg_w | res_ignore_7; // @[PMP.scala 183:40]
+  wire  res_cur_7_cfg_x = io_pmp_0_cfg_x | res_ignore_7; // @[PMP.scala 184:40]
+  assign io_r = res_hit_7 ? res_cur_7_cfg_r : _res_T_314_cfg_r; // @[PMP.scala 185:8]
+  assign io_w = res_hit_7 ? res_cur_7_cfg_w : _res_T_314_cfg_w; // @[PMP.scala 185:8]
+  assign io_x = res_hit_7 ? res_cur_7_cfg_x : _res_T_314_cfg_x; // @[PMP.scala 185:8]
+endmodule
+module TLB(
+  input         io_req_valid,
+  input  [31:0] io_req_bits_vaddr,
+  input  [1:0]  io_req_bits_size,
+  input  [4:0]  io_req_bits_cmd,
+  input  [1:0]  io_req_bits_prv,
+  output [30:0] io_resp_paddr,
+  output        io_resp_pf_ld,
+  output        io_resp_pf_st,
+  output        io_resp_ae_ld,
+  output        io_resp_ae_st,
+  output        io_resp_ma_ld,
+  output        io_resp_ma_st,
+  output        io_resp_cacheable,
+  input         io_ptw_status_debug,
+  input         io_ptw_pmp_0_cfg_l,
+  input  [1:0]  io_ptw_pmp_0_cfg_a,
+  input         io_ptw_pmp_0_cfg_x,
+  input         io_ptw_pmp_0_cfg_w,
+  input         io_ptw_pmp_0_cfg_r,
+  input  [28:0] io_ptw_pmp_0_addr,
+  input  [30:0] io_ptw_pmp_0_mask,
+  input         io_ptw_pmp_1_cfg_l,
+  input  [1:0]  io_ptw_pmp_1_cfg_a,
+  input         io_ptw_pmp_1_cfg_x,
+  input         io_ptw_pmp_1_cfg_w,
+  input         io_ptw_pmp_1_cfg_r,
+  input  [28:0] io_ptw_pmp_1_addr,
+  input  [30:0] io_ptw_pmp_1_mask,
+  input         io_ptw_pmp_2_cfg_l,
+  input  [1:0]  io_ptw_pmp_2_cfg_a,
+  input         io_ptw_pmp_2_cfg_x,
+  input         io_ptw_pmp_2_cfg_w,
+  input         io_ptw_pmp_2_cfg_r,
+  input  [28:0] io_ptw_pmp_2_addr,
+  input  [30:0] io_ptw_pmp_2_mask,
+  input         io_ptw_pmp_3_cfg_l,
+  input  [1:0]  io_ptw_pmp_3_cfg_a,
+  input         io_ptw_pmp_3_cfg_x,
+  input         io_ptw_pmp_3_cfg_w,
+  input         io_ptw_pmp_3_cfg_r,
+  input  [28:0] io_ptw_pmp_3_addr,
+  input  [30:0] io_ptw_pmp_3_mask,
+  input         io_ptw_pmp_4_cfg_l,
+  input  [1:0]  io_ptw_pmp_4_cfg_a,
+  input         io_ptw_pmp_4_cfg_x,
+  input         io_ptw_pmp_4_cfg_w,
+  input         io_ptw_pmp_4_cfg_r,
+  input  [28:0] io_ptw_pmp_4_addr,
+  input  [30:0] io_ptw_pmp_4_mask,
+  input         io_ptw_pmp_5_cfg_l,
+  input  [1:0]  io_ptw_pmp_5_cfg_a,
+  input         io_ptw_pmp_5_cfg_x,
+  input         io_ptw_pmp_5_cfg_w,
+  input         io_ptw_pmp_5_cfg_r,
+  input  [28:0] io_ptw_pmp_5_addr,
+  input  [30:0] io_ptw_pmp_5_mask,
+  input         io_ptw_pmp_6_cfg_l,
+  input  [1:0]  io_ptw_pmp_6_cfg_a,
+  input         io_ptw_pmp_6_cfg_x,
+  input         io_ptw_pmp_6_cfg_w,
+  input         io_ptw_pmp_6_cfg_r,
+  input  [28:0] io_ptw_pmp_6_addr,
+  input  [30:0] io_ptw_pmp_6_mask,
+  input         io_ptw_pmp_7_cfg_l,
+  input  [1:0]  io_ptw_pmp_7_cfg_a,
+  input         io_ptw_pmp_7_cfg_x,
+  input         io_ptw_pmp_7_cfg_w,
+  input         io_ptw_pmp_7_cfg_r,
+  input  [28:0] io_ptw_pmp_7_addr,
+  input  [30:0] io_ptw_pmp_7_mask
+);
+  wire [1:0] pmp_io_prv; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_0_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_0_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_0_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_0_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_0_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_0_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_0_mask; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_1_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_1_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_1_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_1_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_1_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_1_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_1_mask; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_2_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_2_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_2_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_2_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_2_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_2_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_2_mask; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_3_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_3_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_3_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_3_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_3_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_3_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_3_mask; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_4_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_4_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_4_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_4_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_4_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_4_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_4_mask; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_5_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_5_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_5_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_5_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_5_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_5_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_5_mask; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_6_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_6_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_6_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_6_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_6_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_6_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_6_mask; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_7_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_7_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_7_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_7_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_7_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_7_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_7_mask; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_addr; // @[TLB.scala 233:19]
+  wire  pmp_io_r; // @[TLB.scala 233:19]
+  wire  pmp_io_w; // @[TLB.scala 233:19]
+  wire  pmp_io_x; // @[TLB.scala 233:19]
+  wire [19:0] vpn = io_req_bits_vaddr[31:12]; // @[TLB.scala 187:30]
+  wire [19:0] mpu_ppn = io_req_bits_vaddr[31:12]; // @[TLB.scala 230:144]
+  wire [31:0] mpu_physaddr = {mpu_ppn,io_req_bits_vaddr[11:0]}; // @[Cat.scala 31:58]
+  wire [2:0] mpu_priv = {io_ptw_status_debug,io_req_bits_prv}; // @[Cat.scala 31:58]
+  wire [31:0] _legal_address_T = mpu_physaddr ^ 32'h3000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_1 = {1'b0,$signed(_legal_address_T)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_3 = $signed(_legal_address_T_1) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_4 = $signed(_legal_address_T_3) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_5 = mpu_physaddr ^ 32'h10013000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_6 = {1'b0,$signed(_legal_address_T_5)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_8 = $signed(_legal_address_T_6) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_9 = $signed(_legal_address_T_8) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_10 = mpu_physaddr ^ 32'h10023000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_11 = {1'b0,$signed(_legal_address_T_10)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_13 = $signed(_legal_address_T_11) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_14 = $signed(_legal_address_T_13) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_15 = mpu_physaddr ^ 32'h10033000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_16 = {1'b0,$signed(_legal_address_T_15)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_18 = $signed(_legal_address_T_16) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_19 = $signed(_legal_address_T_18) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_20 = mpu_physaddr ^ 32'h10043000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_21 = {1'b0,$signed(_legal_address_T_20)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_23 = $signed(_legal_address_T_21) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_24 = $signed(_legal_address_T_23) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_25 = mpu_physaddr ^ 32'h10053000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_26 = {1'b0,$signed(_legal_address_T_25)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_28 = $signed(_legal_address_T_26) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_29 = $signed(_legal_address_T_28) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_30 = mpu_physaddr ^ 32'h10014000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_31 = {1'b0,$signed(_legal_address_T_30)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_33 = $signed(_legal_address_T_31) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_34 = $signed(_legal_address_T_33) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_35 = mpu_physaddr ^ 32'h20000000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_36 = {1'b0,$signed(_legal_address_T_35)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_38 = $signed(_legal_address_T_36) & -33'sh20000000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_39 = $signed(_legal_address_T_38) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_40 = mpu_physaddr ^ 32'h10034000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_41 = {1'b0,$signed(_legal_address_T_40)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_43 = $signed(_legal_address_T_41) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_44 = $signed(_legal_address_T_43) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_45 = mpu_physaddr ^ 32'h10024000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_46 = {1'b0,$signed(_legal_address_T_45)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_48 = $signed(_legal_address_T_46) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_49 = $signed(_legal_address_T_48) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_50 = mpu_physaddr ^ 32'h10012000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_51 = {1'b0,$signed(_legal_address_T_50)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_53 = $signed(_legal_address_T_51) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_54 = $signed(_legal_address_T_53) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_55 = mpu_physaddr ^ 32'h10015000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_56 = {1'b0,$signed(_legal_address_T_55)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_58 = $signed(_legal_address_T_56) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_59 = $signed(_legal_address_T_58) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_60 = mpu_physaddr ^ 32'h10025000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_61 = {1'b0,$signed(_legal_address_T_60)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_63 = $signed(_legal_address_T_61) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_64 = $signed(_legal_address_T_63) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_65 = mpu_physaddr ^ 32'h10035000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_66 = {1'b0,$signed(_legal_address_T_65)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_68 = $signed(_legal_address_T_66) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_69 = $signed(_legal_address_T_68) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_70 = mpu_physaddr ^ 32'h10016000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_71 = {1'b0,$signed(_legal_address_T_70)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_73 = $signed(_legal_address_T_71) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_74 = $signed(_legal_address_T_73) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_75 = mpu_physaddr ^ 32'h10026000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_76 = {1'b0,$signed(_legal_address_T_75)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_78 = $signed(_legal_address_T_76) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_79 = $signed(_legal_address_T_78) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_80 = mpu_physaddr ^ 32'hc000000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_81 = {1'b0,$signed(_legal_address_T_80)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_83 = $signed(_legal_address_T_81) & -33'sh4000000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_84 = $signed(_legal_address_T_83) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_85 = mpu_physaddr ^ 32'h2000000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_86 = {1'b0,$signed(_legal_address_T_85)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_88 = $signed(_legal_address_T_86) & -33'sh10000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_89 = $signed(_legal_address_T_88) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [32:0] _legal_address_T_91 = {1'b0,$signed(mpu_physaddr)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_93 = $signed(_legal_address_T_91) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_94 = $signed(_legal_address_T_93) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_95 = mpu_physaddr ^ 32'h8000000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_96 = {1'b0,$signed(_legal_address_T_95)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_98 = $signed(_legal_address_T_96) & -33'sh4000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_99 = $signed(_legal_address_T_98) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_100 = mpu_physaddr ^ 32'h10000000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_101 = {1'b0,$signed(_legal_address_T_100)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_103 = $signed(_legal_address_T_101) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_104 = $signed(_legal_address_T_103) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_105 = mpu_physaddr ^ 32'h10000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_106 = {1'b0,$signed(_legal_address_T_105)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_108 = $signed(_legal_address_T_106) & -33'sh10000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_109 = $signed(_legal_address_T_108) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_110 = mpu_physaddr ^ 32'h40000000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_111 = {1'b0,$signed(_legal_address_T_110)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_113 = $signed(_legal_address_T_111) & -33'sh20000000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_114 = $signed(_legal_address_T_113) == 33'sh0; // @[Parameters.scala 137:67]
+  wire  legal_address = _legal_address_T_4 | _legal_address_T_9 | _legal_address_T_14 | _legal_address_T_19 |
+    _legal_address_T_24 | _legal_address_T_29 | _legal_address_T_34 | _legal_address_T_39 | _legal_address_T_44 |
+    _legal_address_T_49 | _legal_address_T_54 | _legal_address_T_59 | _legal_address_T_64 | _legal_address_T_69 |
+    _legal_address_T_74 | _legal_address_T_79 | _legal_address_T_84 | _legal_address_T_89 | _legal_address_T_94 |
+    _legal_address_T_99 | _legal_address_T_104 | _legal_address_T_109 | _legal_address_T_114; // @[TLB.scala 238:67]
+  wire [32:0] _cacheable_T_8 = $signed(_legal_address_T_111) & 33'sh40000000; // @[Parameters.scala 137:52]
+  wire  _cacheable_T_9 = $signed(_cacheable_T_8) == 33'sh0; // @[Parameters.scala 137:67]
+  wire  cacheable = legal_address & _cacheable_T_9; // @[TLB.scala 240:19]
+  wire [32:0] _homogeneous_T_116 = $signed(_legal_address_T_111) & 33'sh60000000; // @[Parameters.scala 137:52]
+  wire  _homogeneous_T_117 = $signed(_homogeneous_T_116) == 33'sh0; // @[Parameters.scala 137:67]
+  wire  deny_access_to_debug = mpu_priv <= 3'h3 & _legal_address_T_94; // @[TLB.scala 243:48]
+  wire  _prot_r_T_6 = ~deny_access_to_debug; // @[TLB.scala 244:44]
+  wire  prot_r = legal_address & ~deny_access_to_debug & pmp_io_r; // @[TLB.scala 244:66]
+  wire [32:0] _prot_w_T_3 = $signed(_legal_address_T_91) & 33'sh74010000; // @[Parameters.scala 137:52]
+  wire  _prot_w_T_4 = $signed(_prot_w_T_3) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _prot_w_T_5 = mpu_physaddr ^ 32'h4000000; // @[Parameters.scala 137:31]
+  wire [32:0] _prot_w_T_6 = {1'b0,$signed(_prot_w_T_5)}; // @[Parameters.scala 137:49]
+  wire [32:0] _prot_w_T_8 = $signed(_prot_w_T_6) & 33'sh74000000; // @[Parameters.scala 137:52]
+  wire  _prot_w_T_9 = $signed(_prot_w_T_8) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [32:0] _prot_w_T_13 = $signed(_legal_address_T_101) & 33'sh74000000; // @[Parameters.scala 137:52]
+  wire  _prot_w_T_14 = $signed(_prot_w_T_13) == 33'sh0; // @[Parameters.scala 137:67]
+  wire  _prot_w_T_21 = _prot_w_T_4 | _prot_w_T_9 | _prot_w_T_14; // @[Parameters.scala 615:89]
+  wire  _prot_w_T_22 = _prot_w_T_4 | _prot_w_T_9 | _prot_w_T_14 | _homogeneous_T_117; // @[Parameters.scala 615:89]
+  wire  _prot_w_T_37 = legal_address & _prot_w_T_22; // @[TLB.scala 240:19]
+  wire  prot_w = _prot_w_T_37 & _prot_r_T_6 & pmp_io_w; // @[TLB.scala 245:70]
+  wire  prot_pp = legal_address & _prot_w_T_21; // @[TLB.scala 240:19]
+  wire [31:0] _prot_x_T_32 = mpu_physaddr ^ 32'h10042000; // @[Parameters.scala 137:31]
+  wire [32:0] _prot_x_T_33 = {1'b0,$signed(_prot_x_T_32)}; // @[Parameters.scala 137:49]
+  wire [32:0] _prot_eff_T_32 = $signed(_legal_address_T_91) & 33'sh6e072000; // @[Parameters.scala 137:52]
+  wire  _prot_eff_T_33 = $signed(_prot_eff_T_32) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [32:0] _prot_eff_T_37 = $signed(_legal_address_T_86) & 33'sh7e070000; // @[Parameters.scala 137:52]
+  wire  _prot_eff_T_38 = $signed(_prot_eff_T_37) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [32:0] _prot_eff_T_42 = $signed(_legal_address_T_81) & 33'sh7c000000; // @[Parameters.scala 137:52]
+  wire  _prot_eff_T_43 = $signed(_prot_eff_T_42) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _prot_eff_T_44 = mpu_physaddr ^ 32'h10010000; // @[Parameters.scala 137:31]
+  wire [32:0] _prot_eff_T_45 = {1'b0,$signed(_prot_eff_T_44)}; // @[Parameters.scala 137:49]
+  wire [32:0] _prot_eff_T_47 = $signed(_prot_eff_T_45) & 33'sh7e070000; // @[Parameters.scala 137:52]
+  wire  _prot_eff_T_48 = $signed(_prot_eff_T_47) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _prot_eff_T_49 = mpu_physaddr ^ 32'h10020000; // @[Parameters.scala 137:31]
+  wire [32:0] _prot_eff_T_50 = {1'b0,$signed(_prot_eff_T_49)}; // @[Parameters.scala 137:49]
+  wire [32:0] _prot_eff_T_52 = $signed(_prot_eff_T_50) & 33'sh7e060000; // @[Parameters.scala 137:52]
+  wire  _prot_eff_T_53 = $signed(_prot_eff_T_52) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [32:0] _prot_eff_T_57 = $signed(_prot_x_T_33) & 33'sh7e062000; // @[Parameters.scala 137:52]
+  wire  _prot_eff_T_58 = $signed(_prot_eff_T_57) == 33'sh0; // @[Parameters.scala 137:67]
+  wire  _prot_eff_T_63 = _prot_eff_T_33 | _prot_eff_T_38 | _prot_eff_T_43 | _prot_eff_T_48 | _prot_eff_T_53 |
+    _prot_eff_T_58; // @[Parameters.scala 615:89]
+  wire  prot_eff = legal_address & _prot_eff_T_63; // @[TLB.scala 240:19]
+  wire [18:0] ppn = vpn[18:0]; // @[TLB.scala 310:125]
+  wire [1:0] _pr_array_T_1 = prot_r ? 2'h3 : 2'h0; // @[Bitwise.scala 74:12]
+  wire [6:0] pr_array = {_pr_array_T_1,5'h0}; // @[Cat.scala 31:58]
+  wire [1:0] _pw_array_T_1 = prot_w ? 2'h3 : 2'h0; // @[Bitwise.scala 74:12]
+  wire [6:0] pw_array = {_pw_array_T_1,5'h0}; // @[Cat.scala 31:58]
+  wire [1:0] _eff_array_T_1 = prot_eff ? 2'h3 : 2'h0; // @[Bitwise.scala 74:12]
+  wire [6:0] eff_array = {_eff_array_T_1,5'h0}; // @[Cat.scala 31:58]
+  wire [1:0] _c_array_T_1 = cacheable ? 2'h3 : 2'h0; // @[Bitwise.scala 74:12]
+  wire [6:0] c_array = {_c_array_T_1,5'h0}; // @[Cat.scala 31:58]
+  wire [1:0] _ppp_array_T_1 = prot_pp ? 2'h3 : 2'h0; // @[Bitwise.scala 74:12]
+  wire [6:0] ppp_array = {_ppp_array_T_1,5'h0}; // @[Cat.scala 31:58]
+  wire [6:0] ppp_array_if_cached = ppp_array | c_array; // @[TLB.scala 336:39]
+  wire [3:0] _misaligned_T = 4'h1 << io_req_bits_size; // @[OneHot.scala 57:35]
+  wire [3:0] _misaligned_T_2 = _misaligned_T - 4'h1; // @[TLB.scala 341:69]
+  wire [31:0] _GEN_144 = {{28'd0}, _misaligned_T_2}; // @[TLB.scala 341:39]
+  wire [31:0] _misaligned_T_3 = io_req_bits_vaddr & _GEN_144; // @[TLB.scala 341:39]
+  wire  misaligned = |_misaligned_T_3; // @[TLB.scala 341:75]
+  wire  _cmd_lrsc_T = io_req_bits_cmd == 5'h6; // @[package.scala 15:47]
+  wire  _cmd_lrsc_T_1 = io_req_bits_cmd == 5'h7; // @[package.scala 15:47]
+  wire  cmd_lrsc = _cmd_lrsc_T | _cmd_lrsc_T_1; // @[package.scala 72:59]
+  wire  _cmd_amo_logical_T = io_req_bits_cmd == 5'h4; // @[package.scala 15:47]
+  wire  _cmd_amo_logical_T_1 = io_req_bits_cmd == 5'h9; // @[package.scala 15:47]
+  wire  _cmd_amo_logical_T_2 = io_req_bits_cmd == 5'ha; // @[package.scala 15:47]
+  wire  _cmd_amo_logical_T_3 = io_req_bits_cmd == 5'hb; // @[package.scala 15:47]
+  wire  cmd_amo_logical = _cmd_amo_logical_T | _cmd_amo_logical_T_1 | _cmd_amo_logical_T_2 | _cmd_amo_logical_T_3; // @[package.scala 72:59]
+  wire  _cmd_amo_arithmetic_T = io_req_bits_cmd == 5'h8; // @[package.scala 15:47]
+  wire  _cmd_amo_arithmetic_T_1 = io_req_bits_cmd == 5'hc; // @[package.scala 15:47]
+  wire  _cmd_amo_arithmetic_T_2 = io_req_bits_cmd == 5'hd; // @[package.scala 15:47]
+  wire  _cmd_amo_arithmetic_T_3 = io_req_bits_cmd == 5'he; // @[package.scala 15:47]
+  wire  _cmd_amo_arithmetic_T_4 = io_req_bits_cmd == 5'hf; // @[package.scala 15:47]
+  wire  cmd_amo_arithmetic = _cmd_amo_arithmetic_T | _cmd_amo_arithmetic_T_1 | _cmd_amo_arithmetic_T_2 |
+    _cmd_amo_arithmetic_T_3 | _cmd_amo_arithmetic_T_4; // @[package.scala 72:59]
+  wire  cmd_put_partial = io_req_bits_cmd == 5'h11; // @[TLB.scala 364:41]
+  wire  _cmd_read_T = io_req_bits_cmd == 5'h0; // @[package.scala 15:47]
+  wire  _cmd_read_T_1 = io_req_bits_cmd == 5'h10; // @[package.scala 15:47]
+  wire  _cmd_read_T_6 = _cmd_read_T | _cmd_read_T_1 | _cmd_lrsc_T | _cmd_lrsc_T_1; // @[package.scala 72:59]
+  wire  _cmd_read_T_23 = cmd_amo_logical | cmd_amo_arithmetic; // @[Consts.scala 82:44]
+  wire  cmd_read = _cmd_read_T_6 | _cmd_read_T_23; // @[Consts.scala 84:68]
+  wire  cmd_write = io_req_bits_cmd == 5'h1 | cmd_put_partial | _cmd_lrsc_T_1 | _cmd_read_T_23; // @[Consts.scala 85:76]
+  wire  _cmd_write_perms_T = io_req_bits_cmd == 5'h5; // @[package.scala 15:47]
+  wire  _cmd_write_perms_T_1 = io_req_bits_cmd == 5'h17; // @[package.scala 15:47]
+  wire  _cmd_write_perms_T_2 = _cmd_write_perms_T | _cmd_write_perms_T_1; // @[package.scala 72:59]
+  wire  cmd_write_perms = cmd_write | _cmd_write_perms_T_2; // @[TLB.scala 368:35]
+  wire [6:0] _ae_array_T = misaligned ? eff_array : 7'h0; // @[TLB.scala 373:8]
+  wire [6:0] _ae_array_T_1 = ~c_array; // @[TLB.scala 374:19]
+  wire [6:0] _ae_array_T_2 = cmd_lrsc ? _ae_array_T_1 : 7'h0; // @[TLB.scala 374:8]
+  wire [6:0] ae_array = _ae_array_T | _ae_array_T_2; // @[TLB.scala 373:37]
+  wire [6:0] _ae_ld_array_T = ~pr_array; // @[TLB.scala 375:46]
+  wire [6:0] _ae_ld_array_T_1 = ae_array | _ae_ld_array_T; // @[TLB.scala 375:44]
+  wire [6:0] ae_ld_array = cmd_read ? _ae_ld_array_T_1 : 7'h0; // @[TLB.scala 375:24]
+  wire [6:0] _ae_st_array_T = ~pw_array; // @[TLB.scala 377:37]
+  wire [6:0] _ae_st_array_T_1 = ae_array | _ae_st_array_T; // @[TLB.scala 377:35]
+  wire [6:0] _ae_st_array_T_2 = cmd_write_perms ? _ae_st_array_T_1 : 7'h0; // @[TLB.scala 377:8]
+  wire [6:0] _ae_st_array_T_3 = ~ppp_array_if_cached; // @[TLB.scala 378:26]
+  wire [6:0] _ae_st_array_T_4 = cmd_put_partial ? _ae_st_array_T_3 : 7'h0; // @[TLB.scala 378:8]
+  wire [6:0] _ae_st_array_T_5 = _ae_st_array_T_2 | _ae_st_array_T_4; // @[TLB.scala 377:53]
+  wire [6:0] _ae_st_array_T_7 = cmd_amo_logical ? _ae_st_array_T_3 : 7'h0; // @[TLB.scala 379:8]
+  wire [6:0] _ae_st_array_T_8 = _ae_st_array_T_5 | _ae_st_array_T_7; // @[TLB.scala 378:53]
+  wire [6:0] _ae_st_array_T_10 = cmd_amo_arithmetic ? _ae_st_array_T_3 : 7'h0; // @[TLB.scala 380:8]
+  wire [6:0] ae_st_array = _ae_st_array_T_8 | _ae_st_array_T_10; // @[TLB.scala 379:53]
+  wire [6:0] pf_ld_array = cmd_read ? 7'h3f : 7'h0; // @[TLB.scala 386:24]
+  wire [6:0] pf_st_array = cmd_write_perms ? 7'h3f : 7'h0; // @[TLB.scala 387:24]
+  wire [6:0] _io_resp_pf_ld_T_1 = pf_ld_array & 7'h40; // @[TLB.scala 419:57]
+  wire [6:0] _io_resp_pf_st_T_1 = pf_st_array & 7'h40; // @[TLB.scala 420:64]
+  wire [6:0] _io_resp_ae_ld_T = ae_ld_array & 7'h40; // @[TLB.scala 425:33]
+  wire [6:0] _io_resp_ae_st_T = ae_st_array & 7'h40; // @[TLB.scala 426:33]
+  wire [6:0] _io_resp_cacheable_T = c_array & 7'h40; // @[TLB.scala 431:33]
+  PMPChecker pmp ( // @[TLB.scala 233:19]
+    .io_prv(pmp_io_prv),
+    .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 io_resp_paddr = {ppn,io_req_bits_vaddr[11:0]}; // @[Cat.scala 31:58]
+  assign io_resp_pf_ld = |_io_resp_pf_ld_T_1; // @[TLB.scala 419:65]
+  assign io_resp_pf_st = |_io_resp_pf_st_T_1; // @[TLB.scala 420:72]
+  assign io_resp_ae_ld = |_io_resp_ae_ld_T; // @[TLB.scala 425:41]
+  assign io_resp_ae_st = |_io_resp_ae_st_T; // @[TLB.scala 426:41]
+  assign io_resp_ma_ld = misaligned & cmd_read; // @[TLB.scala 428:31]
+  assign io_resp_ma_st = misaligned & cmd_write; // @[TLB.scala 429:31]
+  assign io_resp_cacheable = |_io_resp_cacheable_T; // @[TLB.scala 431:41]
+  assign pmp_io_prv = mpu_priv[1:0]; // @[TLB.scala 237:14]
+  assign pmp_io_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_0_addr = io_ptw_pmp_0_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_0_mask = io_ptw_pmp_0_mask; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_1_addr = io_ptw_pmp_1_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_1_mask = io_ptw_pmp_1_mask; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_2_addr = io_ptw_pmp_2_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_2_mask = io_ptw_pmp_2_mask; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_3_addr = io_ptw_pmp_3_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_3_mask = io_ptw_pmp_3_mask; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_4_addr = io_ptw_pmp_4_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_4_mask = io_ptw_pmp_4_mask; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_5_addr = io_ptw_pmp_5_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_5_mask = io_ptw_pmp_5_mask; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_6_addr = io_ptw_pmp_6_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_6_mask = io_ptw_pmp_6_mask; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_7_addr = io_ptw_pmp_7_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_7_mask = io_ptw_pmp_7_mask; // @[TLB.scala 236:14]
+  assign pmp_io_addr = mpu_physaddr[30:0]; // @[TLB.scala 234:15]
+endmodule
+module MaxPeriodFibonacciLFSR(
+  input   clock,
+  input   reset,
+  input   io_increment,
+  output  io_out_0,
+  output  io_out_1,
+  output  io_out_2,
+  output  io_out_3,
+  output  io_out_4,
+  output  io_out_5,
+  output  io_out_6,
+  output  io_out_7,
+  output  io_out_8,
+  output  io_out_9,
+  output  io_out_10,
+  output  io_out_11,
+  output  io_out_12,
+  output  io_out_13,
+  output  io_out_14,
+  output  io_out_15
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+`endif // RANDOMIZE_REG_INIT
+  reg  state_0; // @[PRNG.scala 55:49]
+  reg  state_1; // @[PRNG.scala 55:49]
+  reg  state_2; // @[PRNG.scala 55:49]
+  reg  state_3; // @[PRNG.scala 55:49]
+  reg  state_4; // @[PRNG.scala 55:49]
+  reg  state_5; // @[PRNG.scala 55:49]
+  reg  state_6; // @[PRNG.scala 55:49]
+  reg  state_7; // @[PRNG.scala 55:49]
+  reg  state_8; // @[PRNG.scala 55:49]
+  reg  state_9; // @[PRNG.scala 55:49]
+  reg  state_10; // @[PRNG.scala 55:49]
+  reg  state_11; // @[PRNG.scala 55:49]
+  reg  state_12; // @[PRNG.scala 55:49]
+  reg  state_13; // @[PRNG.scala 55:49]
+  reg  state_14; // @[PRNG.scala 55:49]
+  reg  state_15; // @[PRNG.scala 55:49]
+  wire  _T_2 = state_15 ^ state_13 ^ state_12 ^ state_10; // @[LFSR.scala 15:41]
+  wire  _GEN_0 = io_increment ? _T_2 : state_0; // @[PRNG.scala 69:22 70:11 55:49]
+  assign io_out_0 = state_0; // @[PRNG.scala 78:10]
+  assign io_out_1 = state_1; // @[PRNG.scala 78:10]
+  assign io_out_2 = state_2; // @[PRNG.scala 78:10]
+  assign io_out_3 = state_3; // @[PRNG.scala 78:10]
+  assign io_out_4 = state_4; // @[PRNG.scala 78:10]
+  assign io_out_5 = state_5; // @[PRNG.scala 78:10]
+  assign io_out_6 = state_6; // @[PRNG.scala 78:10]
+  assign io_out_7 = state_7; // @[PRNG.scala 78:10]
+  assign io_out_8 = state_8; // @[PRNG.scala 78:10]
+  assign io_out_9 = state_9; // @[PRNG.scala 78:10]
+  assign io_out_10 = state_10; // @[PRNG.scala 78:10]
+  assign io_out_11 = state_11; // @[PRNG.scala 78:10]
+  assign io_out_12 = state_12; // @[PRNG.scala 78:10]
+  assign io_out_13 = state_13; // @[PRNG.scala 78:10]
+  assign io_out_14 = state_14; // @[PRNG.scala 78:10]
+  assign io_out_15 = state_15; // @[PRNG.scala 78:10]
+  always @(posedge clock) begin
+    state_0 <= reset | _GEN_0; // @[PRNG.scala 55:{49,49}]
+    if (reset) begin // @[PRNG.scala 55:49]
+      state_1 <= 1'h0; // @[PRNG.scala 55:49]
+    end else if (io_increment) begin // @[PRNG.scala 69:22]
+      state_1 <= state_0; // @[PRNG.scala 70:11]
+    end
+    if (reset) begin // @[PRNG.scala 55:49]
+      state_2 <= 1'h0; // @[PRNG.scala 55:49]
+    end else if (io_increment) begin // @[PRNG.scala 69:22]
+      state_2 <= state_1; // @[PRNG.scala 70:11]
+    end
+    if (reset) begin // @[PRNG.scala 55:49]
+      state_3 <= 1'h0; // @[PRNG.scala 55:49]
+    end else if (io_increment) begin // @[PRNG.scala 69:22]
+      state_3 <= state_2; // @[PRNG.scala 70:11]
+    end
+    if (reset) begin // @[PRNG.scala 55:49]
+      state_4 <= 1'h0; // @[PRNG.scala 55:49]
+    end else if (io_increment) begin // @[PRNG.scala 69:22]
+      state_4 <= state_3; // @[PRNG.scala 70:11]
+    end
+    if (reset) begin // @[PRNG.scala 55:49]
+      state_5 <= 1'h0; // @[PRNG.scala 55:49]
+    end else if (io_increment) begin // @[PRNG.scala 69:22]
+      state_5 <= state_4; // @[PRNG.scala 70:11]
+    end
+    if (reset) begin // @[PRNG.scala 55:49]
+      state_6 <= 1'h0; // @[PRNG.scala 55:49]
+    end else if (io_increment) begin // @[PRNG.scala 69:22]
+      state_6 <= state_5; // @[PRNG.scala 70:11]
+    end
+    if (reset) begin // @[PRNG.scala 55:49]
+      state_7 <= 1'h0; // @[PRNG.scala 55:49]
+    end else if (io_increment) begin // @[PRNG.scala 69:22]
+      state_7 <= state_6; // @[PRNG.scala 70:11]
+    end
+    if (reset) begin // @[PRNG.scala 55:49]
+      state_8 <= 1'h0; // @[PRNG.scala 55:49]
+    end else if (io_increment) begin // @[PRNG.scala 69:22]
+      state_8 <= state_7; // @[PRNG.scala 70:11]
+    end
+    if (reset) begin // @[PRNG.scala 55:49]
+      state_9 <= 1'h0; // @[PRNG.scala 55:49]
+    end else if (io_increment) begin // @[PRNG.scala 69:22]
+      state_9 <= state_8; // @[PRNG.scala 70:11]
+    end
+    if (reset) begin // @[PRNG.scala 55:49]
+      state_10 <= 1'h0; // @[PRNG.scala 55:49]
+    end else if (io_increment) begin // @[PRNG.scala 69:22]
+      state_10 <= state_9; // @[PRNG.scala 70:11]
+    end
+    if (reset) begin // @[PRNG.scala 55:49]
+      state_11 <= 1'h0; // @[PRNG.scala 55:49]
+    end else if (io_increment) begin // @[PRNG.scala 69:22]
+      state_11 <= state_10; // @[PRNG.scala 70:11]
+    end
+    if (reset) begin // @[PRNG.scala 55:49]
+      state_12 <= 1'h0; // @[PRNG.scala 55:49]
+    end else if (io_increment) begin // @[PRNG.scala 69:22]
+      state_12 <= state_11; // @[PRNG.scala 70:11]
+    end
+    if (reset) begin // @[PRNG.scala 55:49]
+      state_13 <= 1'h0; // @[PRNG.scala 55:49]
+    end else if (io_increment) begin // @[PRNG.scala 69:22]
+      state_13 <= state_12; // @[PRNG.scala 70:11]
+    end
+    if (reset) begin // @[PRNG.scala 55:49]
+      state_14 <= 1'h0; // @[PRNG.scala 55:49]
+    end else if (io_increment) begin // @[PRNG.scala 69:22]
+      state_14 <= state_13; // @[PRNG.scala 70:11]
+    end
+    if (reset) begin // @[PRNG.scala 55:49]
+      state_15 <= 1'h0; // @[PRNG.scala 55:49]
+    end else if (io_increment) begin // @[PRNG.scala 69:22]
+      state_15 <= state_14; // @[PRNG.scala 70:11]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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_0 = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  state_1 = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  state_2 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  state_3 = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  state_4 = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  state_5 = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  state_6 = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  state_7 = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  state_8 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  state_9 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  state_10 = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  state_11 = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  state_12 = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  state_13 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  state_14 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  state_15 = _RAND_15[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module DCacheModuleImpl_Anon_1(
+  input         io_in_0_valid,
+  input  [31:0] io_in_0_bits_addr,
+  input  [5:0]  io_in_0_bits_idx,
+  input         io_in_2_valid,
+  input  [31:0] io_in_2_bits_addr,
+  input  [5:0]  io_in_2_bits_idx,
+  input  [20:0] io_in_2_bits_data,
+  input         io_in_3_valid,
+  input  [31:0] io_in_3_bits_addr,
+  input  [5:0]  io_in_3_bits_idx,
+  input  [20:0] io_in_3_bits_data,
+  output        io_in_4_ready,
+  input         io_in_4_valid,
+  input  [31:0] io_in_4_bits_addr,
+  input  [5:0]  io_in_4_bits_idx,
+  input  [20:0] io_in_4_bits_data,
+  output        io_in_5_ready,
+  input         io_in_5_valid,
+  input  [31:0] io_in_5_bits_addr,
+  input  [5:0]  io_in_5_bits_idx,
+  output        io_in_6_ready,
+  input         io_in_6_valid,
+  input  [31:0] io_in_6_bits_addr,
+  input  [5:0]  io_in_6_bits_idx,
+  input  [20:0] io_in_6_bits_data,
+  output        io_in_7_ready,
+  input         io_in_7_valid,
+  input  [31:0] io_in_7_bits_addr,
+  input  [5:0]  io_in_7_bits_idx,
+  input  [20:0] io_in_7_bits_data,
+  output        io_out_valid,
+  output        io_out_bits_write,
+  output [31:0] io_out_bits_addr,
+  output [5:0]  io_out_bits_idx,
+  output [20:0] io_out_bits_data
+);
+  wire [20:0] _GEN_1 = io_in_6_valid ? io_in_6_bits_data : io_in_7_bits_data; // @[Arbiter.scala 139:15 141:26 143:19]
+  wire [5:0] _GEN_3 = io_in_6_valid ? io_in_6_bits_idx : io_in_7_bits_idx; // @[Arbiter.scala 139:15 141:26 143:19]
+  wire [31:0] _GEN_4 = io_in_6_valid ? io_in_6_bits_addr : io_in_7_bits_addr; // @[Arbiter.scala 139:15 141:26 143:19]
+  wire [20:0] _GEN_13 = io_in_4_valid ? io_in_4_bits_data : _GEN_1; // @[Arbiter.scala 141:26 143:19]
+  wire [5:0] _GEN_15 = io_in_4_valid ? io_in_4_bits_idx : _GEN_3; // @[Arbiter.scala 141:26 143:19]
+  wire [31:0] _GEN_16 = io_in_4_valid ? io_in_4_bits_addr : _GEN_4; // @[Arbiter.scala 141:26 143:19]
+  wire [20:0] _GEN_19 = io_in_3_valid ? io_in_3_bits_data : _GEN_13; // @[Arbiter.scala 141:26 143:19]
+  wire [5:0] _GEN_21 = io_in_3_valid ? io_in_3_bits_idx : _GEN_15; // @[Arbiter.scala 141:26 143:19]
+  wire [31:0] _GEN_22 = io_in_3_valid ? io_in_3_bits_addr : _GEN_16; // @[Arbiter.scala 141:26 143:19]
+  wire [20:0] _GEN_25 = io_in_2_valid ? io_in_2_bits_data : _GEN_19; // @[Arbiter.scala 141:26 143:19]
+  wire [5:0] _GEN_27 = io_in_2_valid ? io_in_2_bits_idx : _GEN_21; // @[Arbiter.scala 141:26 143:19]
+  wire [31:0] _GEN_28 = io_in_2_valid ? io_in_2_bits_addr : _GEN_22; // @[Arbiter.scala 141:26 143:19]
+  wire  grant_7 = ~(io_in_0_valid | io_in_2_valid | io_in_3_valid | io_in_4_valid | io_in_6_valid); // @[Arbiter.scala 46:78]
+  assign io_in_4_ready = ~(io_in_0_valid | io_in_2_valid | io_in_3_valid); // @[Arbiter.scala 46:78]
+  assign io_in_5_ready = ~(io_in_0_valid | io_in_2_valid | io_in_3_valid | io_in_4_valid); // @[Arbiter.scala 46:78]
+  assign io_in_6_ready = ~(io_in_0_valid | io_in_2_valid | io_in_3_valid | io_in_4_valid); // @[Arbiter.scala 46:78]
+  assign io_in_7_ready = ~(io_in_0_valid | io_in_2_valid | io_in_3_valid | io_in_4_valid | io_in_6_valid); // @[Arbiter.scala 46:78]
+  assign io_out_valid = ~grant_7 | io_in_7_valid; // @[Arbiter.scala 150:31]
+  assign io_out_bits_write = io_in_0_valid | (io_in_2_valid | (io_in_3_valid | io_in_4_valid)); // @[Arbiter.scala 141:26 143:19]
+  assign io_out_bits_addr = io_in_0_valid ? io_in_0_bits_addr : _GEN_28; // @[Arbiter.scala 141:26 143:19]
+  assign io_out_bits_idx = io_in_0_valid ? io_in_0_bits_idx : _GEN_27; // @[Arbiter.scala 141:26 143:19]
+  assign io_out_bits_data = io_in_0_valid ? 21'h0 : _GEN_25; // @[Arbiter.scala 141:26 143:19]
+endmodule
+module DCacheDataArray(
+  input         clock,
+  input         io_req_valid,
+  input  [11:0] io_req_bits_addr,
+  input         io_req_bits_write,
+  input  [31:0] io_req_bits_wdata,
+  input  [3:0]  io_req_bits_eccMask,
+  output [31:0] io_resp_0, // <no_sram>
+  output [9:0]  data_arrays_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_ext_RW0_wmode, // <no_sram>
+  output [31:0] data_arrays_0_ext_RW0_wdata, // <no_sram>
+  input  [31:0] data_arrays_0_ext_RW0_rdata, // <no_sram>
+  output [3:0]  data_arrays_0_ext_RW0_wmask // <no_sram>
+);
+  wire [9:0] data_arrays_0_RW0_addr; // @[DescribedSRAM.scala 19:26]
+  wire  data_arrays_0_RW0_en; // @[DescribedSRAM.scala 19:26]
+  wire  data_arrays_0_RW0_clk; // @[DescribedSRAM.scala 19:26]
+  wire  data_arrays_0_RW0_wmode; // @[DescribedSRAM.scala 19:26]
+  wire [7:0] data_arrays_0_RW0_wdata_0; // @[DescribedSRAM.scala 19:26]
+  wire [7:0] data_arrays_0_RW0_wdata_1; // @[DescribedSRAM.scala 19:26]
+  wire [7:0] data_arrays_0_RW0_wdata_2; // @[DescribedSRAM.scala 19:26]
+  wire [7:0] data_arrays_0_RW0_wdata_3; // @[DescribedSRAM.scala 19:26]
+  wire [7:0] data_arrays_0_RW0_rdata_0; // @[DescribedSRAM.scala 19:26]
+  wire [7:0] data_arrays_0_RW0_rdata_1; // @[DescribedSRAM.scala 19:26]
+  wire [7:0] data_arrays_0_RW0_rdata_2; // @[DescribedSRAM.scala 19:26]
+  wire [7:0] data_arrays_0_RW0_rdata_3; // @[DescribedSRAM.scala 19:26]
+  wire  data_arrays_0_RW0_wmask_0; // @[DescribedSRAM.scala 19:26]
+  wire  data_arrays_0_RW0_wmask_1; // @[DescribedSRAM.scala 19:26]
+  wire  data_arrays_0_RW0_wmask_2; // @[DescribedSRAM.scala 19:26]
+  wire  data_arrays_0_RW0_wmask_3; // @[DescribedSRAM.scala 19:26]
+  wire  _rdata_T = io_req_valid & io_req_bits_write; // @[DCache.scala 66:17]
+  wire  _rdata_data_T_1 = io_req_valid & ~io_req_bits_write; // @[DCache.scala 71:39]
+  wire [15:0] rdata_lo = {data_arrays_0_RW0_rdata_1,data_arrays_0_RW0_rdata_0}; // @[Cat.scala 31:58]
+  wire [15:0] rdata_hi = {data_arrays_0_RW0_rdata_3,data_arrays_0_RW0_rdata_2}; // @[Cat.scala 31:58]
+  data_arrays_0 data_arrays_0 ( // @[DescribedSRAM.scala 19:26]
+    .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), // <no_sram>
+    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask) // <no_sram>
+  );
+  assign io_resp_0 = {rdata_hi,rdata_lo}; // @[Cat.scala 31:58]
+  assign data_arrays_0_RW0_clk = clock; // @[DCache.scala 66:39]
+  assign data_arrays_0_RW0_wdata_0 = io_req_bits_wdata[7:0]; // @[package.scala 202:50]
+  assign data_arrays_0_RW0_wdata_1 = io_req_bits_wdata[15:8]; // @[package.scala 202:50]
+  assign data_arrays_0_RW0_wdata_2 = io_req_bits_wdata[23:16]; // @[package.scala 202:50]
+  assign data_arrays_0_RW0_wdata_3 = io_req_bits_wdata[31:24]; // @[package.scala 202:50]
+  assign data_arrays_0_RW0_wmask_0 = io_req_bits_eccMask[0]; // @[DCache.scala 50:82]
+  assign data_arrays_0_RW0_wmask_1 = io_req_bits_eccMask[1]; // @[DCache.scala 50:82]
+  assign data_arrays_0_RW0_wmask_2 = io_req_bits_eccMask[2]; // @[DCache.scala 50:82]
+  assign data_arrays_0_RW0_wmask_3 = io_req_bits_eccMask[3]; // @[DCache.scala 50:82]
+  assign data_arrays_0_RW0_en = _rdata_data_T_1 | _rdata_T;
+  assign data_arrays_0_RW0_wmode = io_req_bits_write;
+  assign data_arrays_0_RW0_addr = io_req_bits_addr[11:2]; // @[DCache.scala 53:31]
+endmodule
+module DCacheModuleImpl_Anon_2(
+  input         io_in_0_valid,
+  input  [11:0] io_in_0_bits_addr,
+  input         io_in_0_bits_write,
+  input  [31:0] io_in_0_bits_wdata,
+  input  [3:0]  io_in_0_bits_eccMask,
+  output        io_in_1_ready,
+  input         io_in_1_valid,
+  input  [11:0] io_in_1_bits_addr,
+  input         io_in_1_bits_write,
+  input  [31:0] io_in_1_bits_wdata,
+  output        io_in_2_ready,
+  input         io_in_2_valid,
+  input  [11:0] io_in_2_bits_addr,
+  input  [31:0] io_in_2_bits_wdata,
+  output        io_in_3_ready,
+  input         io_in_3_valid,
+  input  [11:0] io_in_3_bits_addr,
+  input  [31:0] io_in_3_bits_wdata,
+  input         io_in_3_bits_wordMask,
+  output        io_out_valid,
+  output [11:0] io_out_bits_addr,
+  output        io_out_bits_write,
+  output [31:0] io_out_bits_wdata,
+  output [3:0]  io_out_bits_eccMask
+);
+  wire [31:0] _GEN_4 = io_in_2_valid ? io_in_2_bits_wdata : io_in_3_bits_wdata; // @[Arbiter.scala 139:15 141:26 143:19]
+  wire [11:0] _GEN_6 = io_in_2_valid ? io_in_2_bits_addr : io_in_3_bits_addr; // @[Arbiter.scala 139:15 141:26 143:19]
+  wire [31:0] _GEN_11 = io_in_1_valid ? io_in_1_bits_wdata : _GEN_4; // @[Arbiter.scala 141:26 143:19]
+  wire [11:0] _GEN_13 = io_in_1_valid ? io_in_1_bits_addr : _GEN_6; // @[Arbiter.scala 141:26 143:19]
+  wire  grant_3 = ~(io_in_0_valid | io_in_1_valid | io_in_2_valid); // @[Arbiter.scala 46:78]
+  assign io_in_1_ready = ~io_in_0_valid; // @[Arbiter.scala 46:78]
+  assign io_in_2_ready = ~(io_in_0_valid | io_in_1_valid); // @[Arbiter.scala 46:78]
+  assign io_in_3_ready = ~(io_in_0_valid | io_in_1_valid | io_in_2_valid); // @[Arbiter.scala 46:78]
+  assign io_out_valid = ~grant_3 | io_in_3_valid; // @[Arbiter.scala 150:31]
+  assign io_out_bits_addr = io_in_0_valid ? io_in_0_bits_addr : _GEN_13; // @[Arbiter.scala 141:26 143:19]
+  assign io_out_bits_write = io_in_0_valid ? io_in_0_bits_write : io_in_1_valid & io_in_1_bits_write; // @[Arbiter.scala 141:26 143:19]
+  assign io_out_bits_wdata = io_in_0_valid ? io_in_0_bits_wdata : _GEN_11; // @[Arbiter.scala 141:26 143:19]
+  assign io_out_bits_eccMask = io_in_0_valid ? io_in_0_bits_eccMask : 4'hf; // @[Arbiter.scala 141:26 143:19]
+endmodule
+module AMOALU(
+  input  [3:0]  io_mask,
+  input  [4:0]  io_cmd,
+  input  [31:0] io_lhs,
+  input  [31:0] io_rhs,
+  output [31:0] io_out
+);
+  wire  max = io_cmd == 5'hd | io_cmd == 5'hf; // @[AMOALU.scala 64:33]
+  wire  min = io_cmd == 5'hc | io_cmd == 5'he; // @[AMOALU.scala 65:33]
+  wire  add = io_cmd == 5'h8; // @[AMOALU.scala 66:20]
+  wire  _logic_and_T = io_cmd == 5'ha; // @[AMOALU.scala 67:26]
+  wire  logic_and = io_cmd == 5'ha | io_cmd == 5'hb; // @[AMOALU.scala 67:38]
+  wire  logic_xor = io_cmd == 5'h9 | _logic_and_T; // @[AMOALU.scala 68:39]
+  wire [31:0] adder_out = io_lhs + io_rhs; // @[AMOALU.scala 73:21]
+  wire [4:0] _less_signed_T = io_cmd & 5'h2; // @[AMOALU.scala 86:17]
+  wire  less_signed = _less_signed_T == 5'h0; // @[AMOALU.scala 86:25]
+  wire  _less_T_6 = io_lhs < io_rhs; // @[AMOALU.scala 79:35]
+  wire  _less_T_9 = less_signed ? io_lhs[31] : io_rhs[31]; // @[AMOALU.scala 88:58]
+  wire  less = io_lhs[31] == io_rhs[31] ? _less_T_6 : _less_T_9; // @[AMOALU.scala 88:10]
+  wire  _minmax_T = less ? min : max; // @[AMOALU.scala 94:23]
+  wire [31:0] minmax = _minmax_T ? io_lhs : io_rhs; // @[AMOALU.scala 94:19]
+  wire [31:0] _logic_T = io_lhs & io_rhs; // @[AMOALU.scala 96:27]
+  wire [31:0] _logic_T_1 = logic_and ? _logic_T : 32'h0; // @[AMOALU.scala 96:8]
+  wire [31:0] _logic_T_2 = io_lhs ^ io_rhs; // @[AMOALU.scala 97:27]
+  wire [31:0] _logic_T_3 = logic_xor ? _logic_T_2 : 32'h0; // @[AMOALU.scala 97:8]
+  wire [31:0] logic_ = _logic_T_1 | _logic_T_3; // @[AMOALU.scala 96:42]
+  wire [31:0] _out_T_1 = logic_and | logic_xor ? logic_ : minmax; // @[AMOALU.scala 100:8]
+  wire [31:0] out = add ? adder_out : _out_T_1; // @[AMOALU.scala 99:8]
+  wire [7:0] _wmask_T_5 = io_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _wmask_T_7 = io_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _wmask_T_9 = io_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _wmask_T_11 = io_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] wmask = {_wmask_T_11,_wmask_T_9,_wmask_T_7,_wmask_T_5}; // @[Cat.scala 31:58]
+  wire [31:0] _io_out_T = wmask & out; // @[AMOALU.scala 104:19]
+  wire [31:0] _io_out_T_1 = ~wmask; // @[AMOALU.scala 104:27]
+  wire [31:0] _io_out_T_2 = _io_out_T_1 & io_lhs; // @[AMOALU.scala 104:34]
+  assign io_out = _io_out_T | _io_out_T_2; // @[AMOALU.scala 104:25]
+endmodule
+module DCache(
+  input         clock,
+  input         reset,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [3:0]  auto_out_a_bits_size,
+  output        auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_b_ready,
+  input         auto_out_b_valid,
+  input  [1:0]  auto_out_b_bits_param,
+  input  [3:0]  auto_out_b_bits_size,
+  input         auto_out_b_bits_source,
+  input  [30:0] auto_out_b_bits_address,
+  input         auto_out_c_ready,
+  output        auto_out_c_valid,
+  output [2:0]  auto_out_c_bits_opcode,
+  output [2:0]  auto_out_c_bits_param,
+  output [3:0]  auto_out_c_bits_size,
+  output        auto_out_c_bits_source,
+  output [30:0] auto_out_c_bits_address,
+  output [31:0] auto_out_c_bits_data,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [3:0]  auto_out_d_bits_size,
+  input         auto_out_d_bits_source,
+  input  [1:0]  auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_e_ready,
+  output        auto_out_e_valid,
+  output [1:0]  auto_out_e_bits_sink,
+  output        io_cpu_req_ready,
+  input         io_cpu_req_valid,
+  input  [31:0] io_cpu_req_bits_addr,
+  input  [5:0]  io_cpu_req_bits_tag,
+  input  [4:0]  io_cpu_req_bits_cmd,
+  input  [1:0]  io_cpu_req_bits_size,
+  input         io_cpu_req_bits_signed,
+  input  [1:0]  io_cpu_req_bits_dprv,
+  input         io_cpu_s1_kill,
+  input  [31:0] io_cpu_s1_data_data,
+  input  [3:0]  io_cpu_s1_data_mask,
+  output        io_cpu_s2_nack,
+  output        io_cpu_resp_valid,
+  output [31:0] io_cpu_resp_bits_addr,
+  output [5:0]  io_cpu_resp_bits_tag,
+  output [4:0]  io_cpu_resp_bits_cmd,
+  output [1:0]  io_cpu_resp_bits_size,
+  output        io_cpu_resp_bits_signed,
+  output [1:0]  io_cpu_resp_bits_dprv,
+  output        io_cpu_resp_bits_dv,
+  output [31:0] io_cpu_resp_bits_data,
+  output [3:0]  io_cpu_resp_bits_mask,
+  output        io_cpu_resp_bits_replay,
+  output        io_cpu_resp_bits_has_data,
+  output [31:0] io_cpu_resp_bits_data_word_bypass,
+  output [31:0] io_cpu_resp_bits_data_raw,
+  output [31:0] io_cpu_resp_bits_store_data,
+  output        io_cpu_replay_next,
+  output        io_cpu_s2_xcpt_ma_ld,
+  output        io_cpu_s2_xcpt_ma_st,
+  output        io_cpu_s2_xcpt_pf_ld,
+  output        io_cpu_s2_xcpt_pf_st,
+  output        io_cpu_s2_xcpt_gf_ld,
+  output        io_cpu_s2_xcpt_gf_st,
+  output        io_cpu_s2_xcpt_ae_ld,
+  output        io_cpu_s2_xcpt_ae_st,
+  output        io_cpu_ordered,
+  output        io_cpu_perf_release,
+  output        io_cpu_perf_grant,
+  input         io_ptw_status_debug,
+  input         io_ptw_pmp_0_cfg_l,
+  input  [1:0]  io_ptw_pmp_0_cfg_a,
+  input         io_ptw_pmp_0_cfg_x,
+  input         io_ptw_pmp_0_cfg_w,
+  input         io_ptw_pmp_0_cfg_r,
+  input  [28:0] io_ptw_pmp_0_addr,
+  input  [30:0] io_ptw_pmp_0_mask,
+  input         io_ptw_pmp_1_cfg_l,
+  input  [1:0]  io_ptw_pmp_1_cfg_a,
+  input         io_ptw_pmp_1_cfg_x,
+  input         io_ptw_pmp_1_cfg_w,
+  input         io_ptw_pmp_1_cfg_r,
+  input  [28:0] io_ptw_pmp_1_addr,
+  input  [30:0] io_ptw_pmp_1_mask,
+  input         io_ptw_pmp_2_cfg_l,
+  input  [1:0]  io_ptw_pmp_2_cfg_a,
+  input         io_ptw_pmp_2_cfg_x,
+  input         io_ptw_pmp_2_cfg_w,
+  input         io_ptw_pmp_2_cfg_r,
+  input  [28:0] io_ptw_pmp_2_addr,
+  input  [30:0] io_ptw_pmp_2_mask,
+  input         io_ptw_pmp_3_cfg_l,
+  input  [1:0]  io_ptw_pmp_3_cfg_a,
+  input         io_ptw_pmp_3_cfg_x,
+  input         io_ptw_pmp_3_cfg_w,
+  input         io_ptw_pmp_3_cfg_r,
+  input  [28:0] io_ptw_pmp_3_addr,
+  input  [30:0] io_ptw_pmp_3_mask,
+  input         io_ptw_pmp_4_cfg_l,
+  input  [1:0]  io_ptw_pmp_4_cfg_a,
+  input         io_ptw_pmp_4_cfg_x,
+  input         io_ptw_pmp_4_cfg_w,
+  input         io_ptw_pmp_4_cfg_r,
+  input  [28:0] io_ptw_pmp_4_addr,
+  input  [30:0] io_ptw_pmp_4_mask,
+  input         io_ptw_pmp_5_cfg_l,
+  input  [1:0]  io_ptw_pmp_5_cfg_a,
+  input         io_ptw_pmp_5_cfg_x,
+  input         io_ptw_pmp_5_cfg_w,
+  input         io_ptw_pmp_5_cfg_r,
+  input  [28:0] io_ptw_pmp_5_addr,
+  input  [30:0] io_ptw_pmp_5_mask,
+  input         io_ptw_pmp_6_cfg_l,
+  input  [1:0]  io_ptw_pmp_6_cfg_a,
+  input         io_ptw_pmp_6_cfg_x,
+  input         io_ptw_pmp_6_cfg_w,
+  input         io_ptw_pmp_6_cfg_r,
+  input  [28:0] io_ptw_pmp_6_addr,
+  input  [30:0] io_ptw_pmp_6_mask,
+  input         io_ptw_pmp_7_cfg_l,
+  input  [1:0]  io_ptw_pmp_7_cfg_a,
+  input         io_ptw_pmp_7_cfg_x,
+  input         io_ptw_pmp_7_cfg_w,
+  input         io_ptw_pmp_7_cfg_r,
+  input  [28:0] io_ptw_pmp_7_addr,
+  input  [30:0] io_ptw_pmp_7_mask, // <no_sram>
+  output [5:0]  tag_array_ext_RW0_addr, // <no_sram>
+  output        tag_array_ext_RW0_en, // <no_sram>
+  output        tag_array_ext_RW0_clk, // <no_sram>
+  output        tag_array_ext_RW0_wmode, // <no_sram>
+  output [20:0] tag_array_ext_RW0_wdata, // <no_sram>
+  input  [20:0] tag_array_ext_RW0_rdata, // <no_sram>
+  output [9:0]  data_arrays_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_ext_RW0_wmode, // <no_sram>
+  output [31:0] data_arrays_0_ext_RW0_wdata, // <no_sram>
+  input  [31:0] data_arrays_0_ext_RW0_rdata, // <no_sram>
+  output [3:0]  data_arrays_0_ext_RW0_wmask // <no_sram>
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+  reg [31:0] _RAND_34;
+  reg [31:0] _RAND_35;
+  reg [31:0] _RAND_36;
+  reg [31:0] _RAND_37;
+  reg [31:0] _RAND_38;
+  reg [31:0] _RAND_39;
+  reg [31:0] _RAND_40;
+  reg [31:0] _RAND_41;
+  reg [31:0] _RAND_42;
+  reg [31:0] _RAND_43;
+  reg [31:0] _RAND_44;
+  reg [31:0] _RAND_45;
+  reg [31:0] _RAND_46;
+  reg [31:0] _RAND_47;
+  reg [31:0] _RAND_48;
+  reg [31:0] _RAND_49;
+  reg [31:0] _RAND_50;
+  reg [31:0] _RAND_51;
+  reg [31:0] _RAND_52;
+  reg [31:0] _RAND_53;
+  reg [31:0] _RAND_54;
+  reg [31:0] _RAND_55;
+  reg [31:0] _RAND_56;
+  reg [31:0] _RAND_57;
+  reg [31:0] _RAND_58;
+  reg [31:0] _RAND_59;
+  reg [31:0] _RAND_60;
+  reg [31:0] _RAND_61;
+  reg [31:0] _RAND_62;
+  reg [31:0] _RAND_63;
+  reg [31:0] _RAND_64;
+  reg [31:0] _RAND_65;
+  reg [31:0] _RAND_66;
+  reg [31:0] _RAND_67;
+  reg [31:0] _RAND_68;
+  reg [31:0] _RAND_69;
+  reg [31:0] _RAND_70;
+  reg [31:0] _RAND_71;
+  reg [31:0] _RAND_72;
+  reg [31:0] _RAND_73;
+  reg [31:0] _RAND_74;
+  reg [31:0] _RAND_75;
+  reg [31:0] _RAND_76;
+  reg [31:0] _RAND_77;
+  reg [31:0] _RAND_78;
+  reg [31:0] _RAND_79;
+`endif // RANDOMIZE_REG_INIT
+  wire  tlb_io_req_valid; // @[DCache.scala 117:19]
+  wire [31:0] tlb_io_req_bits_vaddr; // @[DCache.scala 117:19]
+  wire [1:0] tlb_io_req_bits_size; // @[DCache.scala 117:19]
+  wire [4:0] tlb_io_req_bits_cmd; // @[DCache.scala 117:19]
+  wire [1:0] tlb_io_req_bits_prv; // @[DCache.scala 117:19]
+  wire [30:0] tlb_io_resp_paddr; // @[DCache.scala 117:19]
+  wire  tlb_io_resp_pf_ld; // @[DCache.scala 117:19]
+  wire  tlb_io_resp_pf_st; // @[DCache.scala 117:19]
+  wire  tlb_io_resp_ae_ld; // @[DCache.scala 117:19]
+  wire  tlb_io_resp_ae_st; // @[DCache.scala 117:19]
+  wire  tlb_io_resp_ma_ld; // @[DCache.scala 117:19]
+  wire  tlb_io_resp_ma_st; // @[DCache.scala 117:19]
+  wire  tlb_io_resp_cacheable; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_status_debug; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_0_cfg_l; // @[DCache.scala 117:19]
+  wire [1:0] tlb_io_ptw_pmp_0_cfg_a; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_0_cfg_x; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_0_cfg_w; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_0_cfg_r; // @[DCache.scala 117:19]
+  wire [28:0] tlb_io_ptw_pmp_0_addr; // @[DCache.scala 117:19]
+  wire [30:0] tlb_io_ptw_pmp_0_mask; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_1_cfg_l; // @[DCache.scala 117:19]
+  wire [1:0] tlb_io_ptw_pmp_1_cfg_a; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_1_cfg_x; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_1_cfg_w; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_1_cfg_r; // @[DCache.scala 117:19]
+  wire [28:0] tlb_io_ptw_pmp_1_addr; // @[DCache.scala 117:19]
+  wire [30:0] tlb_io_ptw_pmp_1_mask; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_2_cfg_l; // @[DCache.scala 117:19]
+  wire [1:0] tlb_io_ptw_pmp_2_cfg_a; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_2_cfg_x; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_2_cfg_w; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_2_cfg_r; // @[DCache.scala 117:19]
+  wire [28:0] tlb_io_ptw_pmp_2_addr; // @[DCache.scala 117:19]
+  wire [30:0] tlb_io_ptw_pmp_2_mask; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_3_cfg_l; // @[DCache.scala 117:19]
+  wire [1:0] tlb_io_ptw_pmp_3_cfg_a; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_3_cfg_x; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_3_cfg_w; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_3_cfg_r; // @[DCache.scala 117:19]
+  wire [28:0] tlb_io_ptw_pmp_3_addr; // @[DCache.scala 117:19]
+  wire [30:0] tlb_io_ptw_pmp_3_mask; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_4_cfg_l; // @[DCache.scala 117:19]
+  wire [1:0] tlb_io_ptw_pmp_4_cfg_a; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_4_cfg_x; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_4_cfg_w; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_4_cfg_r; // @[DCache.scala 117:19]
+  wire [28:0] tlb_io_ptw_pmp_4_addr; // @[DCache.scala 117:19]
+  wire [30:0] tlb_io_ptw_pmp_4_mask; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_5_cfg_l; // @[DCache.scala 117:19]
+  wire [1:0] tlb_io_ptw_pmp_5_cfg_a; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_5_cfg_x; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_5_cfg_w; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_5_cfg_r; // @[DCache.scala 117:19]
+  wire [28:0] tlb_io_ptw_pmp_5_addr; // @[DCache.scala 117:19]
+  wire [30:0] tlb_io_ptw_pmp_5_mask; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_6_cfg_l; // @[DCache.scala 117:19]
+  wire [1:0] tlb_io_ptw_pmp_6_cfg_a; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_6_cfg_x; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_6_cfg_w; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_6_cfg_r; // @[DCache.scala 117:19]
+  wire [28:0] tlb_io_ptw_pmp_6_addr; // @[DCache.scala 117:19]
+  wire [30:0] tlb_io_ptw_pmp_6_mask; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_7_cfg_l; // @[DCache.scala 117:19]
+  wire [1:0] tlb_io_ptw_pmp_7_cfg_a; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_7_cfg_x; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_7_cfg_w; // @[DCache.scala 117:19]
+  wire  tlb_io_ptw_pmp_7_cfg_r; // @[DCache.scala 117:19]
+  wire [28:0] tlb_io_ptw_pmp_7_addr; // @[DCache.scala 117:19]
+  wire [30:0] tlb_io_ptw_pmp_7_mask; // @[DCache.scala 117:19]
+  wire  pma_checker_io_req_valid; // @[DCache.scala 118:27]
+  wire [31:0] pma_checker_io_req_bits_vaddr; // @[DCache.scala 118:27]
+  wire [1:0] pma_checker_io_req_bits_size; // @[DCache.scala 118:27]
+  wire [4:0] pma_checker_io_req_bits_cmd; // @[DCache.scala 118:27]
+  wire [1:0] pma_checker_io_req_bits_prv; // @[DCache.scala 118:27]
+  wire [30:0] pma_checker_io_resp_paddr; // @[DCache.scala 118:27]
+  wire  pma_checker_io_resp_pf_ld; // @[DCache.scala 118:27]
+  wire  pma_checker_io_resp_pf_st; // @[DCache.scala 118:27]
+  wire  pma_checker_io_resp_ae_ld; // @[DCache.scala 118:27]
+  wire  pma_checker_io_resp_ae_st; // @[DCache.scala 118:27]
+  wire  pma_checker_io_resp_ma_ld; // @[DCache.scala 118:27]
+  wire  pma_checker_io_resp_ma_st; // @[DCache.scala 118:27]
+  wire  pma_checker_io_resp_cacheable; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_status_debug; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_0_cfg_l; // @[DCache.scala 118:27]
+  wire [1:0] pma_checker_io_ptw_pmp_0_cfg_a; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_0_cfg_x; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_0_cfg_w; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_0_cfg_r; // @[DCache.scala 118:27]
+  wire [28:0] pma_checker_io_ptw_pmp_0_addr; // @[DCache.scala 118:27]
+  wire [30:0] pma_checker_io_ptw_pmp_0_mask; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_1_cfg_l; // @[DCache.scala 118:27]
+  wire [1:0] pma_checker_io_ptw_pmp_1_cfg_a; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_1_cfg_x; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_1_cfg_w; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_1_cfg_r; // @[DCache.scala 118:27]
+  wire [28:0] pma_checker_io_ptw_pmp_1_addr; // @[DCache.scala 118:27]
+  wire [30:0] pma_checker_io_ptw_pmp_1_mask; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_2_cfg_l; // @[DCache.scala 118:27]
+  wire [1:0] pma_checker_io_ptw_pmp_2_cfg_a; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_2_cfg_x; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_2_cfg_w; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_2_cfg_r; // @[DCache.scala 118:27]
+  wire [28:0] pma_checker_io_ptw_pmp_2_addr; // @[DCache.scala 118:27]
+  wire [30:0] pma_checker_io_ptw_pmp_2_mask; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_3_cfg_l; // @[DCache.scala 118:27]
+  wire [1:0] pma_checker_io_ptw_pmp_3_cfg_a; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_3_cfg_x; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_3_cfg_w; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_3_cfg_r; // @[DCache.scala 118:27]
+  wire [28:0] pma_checker_io_ptw_pmp_3_addr; // @[DCache.scala 118:27]
+  wire [30:0] pma_checker_io_ptw_pmp_3_mask; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_4_cfg_l; // @[DCache.scala 118:27]
+  wire [1:0] pma_checker_io_ptw_pmp_4_cfg_a; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_4_cfg_x; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_4_cfg_w; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_4_cfg_r; // @[DCache.scala 118:27]
+  wire [28:0] pma_checker_io_ptw_pmp_4_addr; // @[DCache.scala 118:27]
+  wire [30:0] pma_checker_io_ptw_pmp_4_mask; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_5_cfg_l; // @[DCache.scala 118:27]
+  wire [1:0] pma_checker_io_ptw_pmp_5_cfg_a; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_5_cfg_x; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_5_cfg_w; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_5_cfg_r; // @[DCache.scala 118:27]
+  wire [28:0] pma_checker_io_ptw_pmp_5_addr; // @[DCache.scala 118:27]
+  wire [30:0] pma_checker_io_ptw_pmp_5_mask; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_6_cfg_l; // @[DCache.scala 118:27]
+  wire [1:0] pma_checker_io_ptw_pmp_6_cfg_a; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_6_cfg_x; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_6_cfg_w; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_6_cfg_r; // @[DCache.scala 118:27]
+  wire [28:0] pma_checker_io_ptw_pmp_6_addr; // @[DCache.scala 118:27]
+  wire [30:0] pma_checker_io_ptw_pmp_6_mask; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_7_cfg_l; // @[DCache.scala 118:27]
+  wire [1:0] pma_checker_io_ptw_pmp_7_cfg_a; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_7_cfg_x; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_7_cfg_w; // @[DCache.scala 118:27]
+  wire  pma_checker_io_ptw_pmp_7_cfg_r; // @[DCache.scala 118:27]
+  wire [28:0] pma_checker_io_ptw_pmp_7_addr; // @[DCache.scala 118:27]
+  wire [30:0] pma_checker_io_ptw_pmp_7_mask; // @[DCache.scala 118:27]
+  wire  lfsr_prng_clock; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_reset; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_increment; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_0; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_1; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_2; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_3; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_4; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_5; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_6; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_7; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_8; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_9; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_10; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_11; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_12; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_13; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_14; // @[PRNG.scala 91:22]
+  wire  lfsr_prng_io_out_15; // @[PRNG.scala 91:22]
+  wire  metaArb_io_in_0_valid; // @[DCache.scala 122:23]
+  wire [31:0] metaArb_io_in_0_bits_addr; // @[DCache.scala 122:23]
+  wire [5:0] metaArb_io_in_0_bits_idx; // @[DCache.scala 122:23]
+  wire  metaArb_io_in_2_valid; // @[DCache.scala 122:23]
+  wire [31:0] metaArb_io_in_2_bits_addr; // @[DCache.scala 122:23]
+  wire [5:0] metaArb_io_in_2_bits_idx; // @[DCache.scala 122:23]
+  wire [20:0] metaArb_io_in_2_bits_data; // @[DCache.scala 122:23]
+  wire  metaArb_io_in_3_valid; // @[DCache.scala 122:23]
+  wire [31:0] metaArb_io_in_3_bits_addr; // @[DCache.scala 122:23]
+  wire [5:0] metaArb_io_in_3_bits_idx; // @[DCache.scala 122:23]
+  wire [20:0] metaArb_io_in_3_bits_data; // @[DCache.scala 122:23]
+  wire  metaArb_io_in_4_ready; // @[DCache.scala 122:23]
+  wire  metaArb_io_in_4_valid; // @[DCache.scala 122:23]
+  wire [31:0] metaArb_io_in_4_bits_addr; // @[DCache.scala 122:23]
+  wire [5:0] metaArb_io_in_4_bits_idx; // @[DCache.scala 122:23]
+  wire [20:0] metaArb_io_in_4_bits_data; // @[DCache.scala 122:23]
+  wire  metaArb_io_in_5_ready; // @[DCache.scala 122:23]
+  wire  metaArb_io_in_5_valid; // @[DCache.scala 122:23]
+  wire [31:0] metaArb_io_in_5_bits_addr; // @[DCache.scala 122:23]
+  wire [5:0] metaArb_io_in_5_bits_idx; // @[DCache.scala 122:23]
+  wire  metaArb_io_in_6_ready; // @[DCache.scala 122:23]
+  wire  metaArb_io_in_6_valid; // @[DCache.scala 122:23]
+  wire [31:0] metaArb_io_in_6_bits_addr; // @[DCache.scala 122:23]
+  wire [5:0] metaArb_io_in_6_bits_idx; // @[DCache.scala 122:23]
+  wire [20:0] metaArb_io_in_6_bits_data; // @[DCache.scala 122:23]
+  wire  metaArb_io_in_7_ready; // @[DCache.scala 122:23]
+  wire  metaArb_io_in_7_valid; // @[DCache.scala 122:23]
+  wire [31:0] metaArb_io_in_7_bits_addr; // @[DCache.scala 122:23]
+  wire [5:0] metaArb_io_in_7_bits_idx; // @[DCache.scala 122:23]
+  wire [20:0] metaArb_io_in_7_bits_data; // @[DCache.scala 122:23]
+  wire  metaArb_io_out_valid; // @[DCache.scala 122:23]
+  wire  metaArb_io_out_bits_write; // @[DCache.scala 122:23]
+  wire [31:0] metaArb_io_out_bits_addr; // @[DCache.scala 122:23]
+  wire [5:0] metaArb_io_out_bits_idx; // @[DCache.scala 122:23]
+  wire [20:0] metaArb_io_out_bits_data; // @[DCache.scala 122:23]
+  wire [5:0] tag_array_RW0_addr; // @[DescribedSRAM.scala 19:26]
+  wire  tag_array_RW0_en; // @[DescribedSRAM.scala 19:26]
+  wire  tag_array_RW0_clk; // @[DescribedSRAM.scala 19:26]
+  wire  tag_array_RW0_wmode; // @[DescribedSRAM.scala 19:26]
+  wire [20:0] tag_array_RW0_wdata_0; // @[DescribedSRAM.scala 19:26]
+  wire [20:0] tag_array_RW0_rdata_0; // @[DescribedSRAM.scala 19:26]
+  wire  data_clock; // @[DCache.scala 132:20]
+  wire  data_io_req_valid; // @[DCache.scala 132:20]
+  wire [11:0] data_io_req_bits_addr; // @[DCache.scala 132:20]
+  wire  data_io_req_bits_write; // @[DCache.scala 132:20]
+  wire [31:0] data_io_req_bits_wdata; // @[DCache.scala 132:20]
+  wire [3:0] data_io_req_bits_eccMask; // @[DCache.scala 132:20]
+  wire [31:0] data_io_resp_0; // @[DCache.scala 132:20]
+  wire  dataArb_io_in_0_valid; // @[DCache.scala 133:23]
+  wire [11:0] dataArb_io_in_0_bits_addr; // @[DCache.scala 133:23]
+  wire  dataArb_io_in_0_bits_write; // @[DCache.scala 133:23]
+  wire [31:0] dataArb_io_in_0_bits_wdata; // @[DCache.scala 133:23]
+  wire [3:0] dataArb_io_in_0_bits_eccMask; // @[DCache.scala 133:23]
+  wire  dataArb_io_in_1_ready; // @[DCache.scala 133:23]
+  wire  dataArb_io_in_1_valid; // @[DCache.scala 133:23]
+  wire [11:0] dataArb_io_in_1_bits_addr; // @[DCache.scala 133:23]
+  wire  dataArb_io_in_1_bits_write; // @[DCache.scala 133:23]
+  wire [31:0] dataArb_io_in_1_bits_wdata; // @[DCache.scala 133:23]
+  wire  dataArb_io_in_2_ready; // @[DCache.scala 133:23]
+  wire  dataArb_io_in_2_valid; // @[DCache.scala 133:23]
+  wire [11:0] dataArb_io_in_2_bits_addr; // @[DCache.scala 133:23]
+  wire [31:0] dataArb_io_in_2_bits_wdata; // @[DCache.scala 133:23]
+  wire  dataArb_io_in_3_ready; // @[DCache.scala 133:23]
+  wire  dataArb_io_in_3_valid; // @[DCache.scala 133:23]
+  wire [11:0] dataArb_io_in_3_bits_addr; // @[DCache.scala 133:23]
+  wire [31:0] dataArb_io_in_3_bits_wdata; // @[DCache.scala 133:23]
+  wire  dataArb_io_in_3_bits_wordMask; // @[DCache.scala 133:23]
+  wire  dataArb_io_out_valid; // @[DCache.scala 133:23]
+  wire [11:0] dataArb_io_out_bits_addr; // @[DCache.scala 133:23]
+  wire  dataArb_io_out_bits_write; // @[DCache.scala 133:23]
+  wire [31:0] dataArb_io_out_bits_wdata; // @[DCache.scala 133:23]
+  wire [3:0] dataArb_io_out_bits_eccMask; // @[DCache.scala 133:23]
+  wire [3:0] amoalu_io_mask; // @[DCache.scala 956:26]
+  wire [4:0] amoalu_io_cmd; // @[DCache.scala 956:26]
+  wire [31:0] amoalu_io_lhs; // @[DCache.scala 956:26]
+  wire [31:0] amoalu_io_rhs; // @[DCache.scala 956:26]
+  wire [31:0] amoalu_io_out; // @[DCache.scala 956:26]
+  wire  s1_valid_x12 = io_cpu_req_ready & io_cpu_req_valid; // @[Decoupled.scala 50:35]
+  reg  s1_valid; // @[DCache.scala 162:21]
+  reg [2:0] blockProbeAfterGrantCount; // @[DCache.scala 643:38]
+  wire  _block_probe_for_core_progress_T = blockProbeAfterGrantCount > 3'h0; // @[DCache.scala 741:65]
+  reg [6:0] lrscCount; // @[DCache.scala 447:22]
+  wire  lrscValid = lrscCount > 7'h3; // @[DCache.scala 448:29]
+  wire  block_probe_for_core_progress = blockProbeAfterGrantCount > 3'h0 | lrscValid; // @[DCache.scala 741:69]
+  reg  s1_probe; // @[DCache.scala 163:21]
+  reg  s2_probe; // @[DCache.scala 308:21]
+  reg [3:0] release_state; // @[DCache.scala 208:26]
+  wire  releaseInFlight = s1_probe | s2_probe | release_state != 4'h0; // @[DCache.scala 309:46]
+  reg  release_ack_wait; // @[DCache.scala 206:29]
+  reg [30:0] release_ack_addr; // @[DCache.scala 207:29]
+  wire [30:0] _block_probe_for_pending_release_ack_T = auto_out_b_bits_address ^ release_ack_addr; // @[DCache.scala 742:88]
+  wire  block_probe_for_pending_release_ack = release_ack_wait & _block_probe_for_pending_release_ack_T[21:6] == 16'h0; // @[DCache.scala 742:62]
+  reg  grantInProgress; // @[DCache.scala 642:28]
+  wire  block_probe_for_ordering = releaseInFlight | block_probe_for_pending_release_ack | grantInProgress; // @[DCache.scala 743:89]
+  reg  s2_valid; // @[DCache.scala 306:21]
+  wire  tl_out__b_ready = metaArb_io_in_6_ready & ~(block_probe_for_core_progress | block_probe_for_ordering | s1_valid
+     | s2_valid); // @[DCache.scala 745:44]
+  wire  s1_probe_x16 = tl_out__b_ready & auto_out_b_valid; // @[Decoupled.scala 50:35]
+  reg [1:0] probe_bits_param; // @[Reg.scala 16:16]
+  reg [3:0] probe_bits_size; // @[Reg.scala 16:16]
+  reg  probe_bits_source; // @[Reg.scala 16:16]
+  reg [30:0] probe_bits_address; // @[Reg.scala 16:16]
+  wire  s1_valid_masked = s1_valid & ~io_cpu_s1_kill; // @[DCache.scala 166:34]
+  reg [1:0] s2_probe_state_state; // @[Reg.scala 16:16]
+  wire [3:0] _T_107 = {probe_bits_param,s2_probe_state_state}; // @[Cat.scala 31:58]
+  wire  _T_164 = 4'h3 == _T_107; // @[Misc.scala 55:20]
+  wire  _T_160 = 4'h2 == _T_107; // @[Misc.scala 55:20]
+  wire  _T_156 = 4'h1 == _T_107; // @[Misc.scala 55:20]
+  wire  _T_152 = 4'h0 == _T_107; // @[Misc.scala 55:20]
+  wire  _T_148 = 4'h7 == _T_107; // @[Misc.scala 55:20]
+  wire  _T_144 = 4'h6 == _T_107; // @[Misc.scala 55:20]
+  wire  _T_140 = 4'h5 == _T_107; // @[Misc.scala 55:20]
+  wire  _T_136 = 4'h4 == _T_107; // @[Misc.scala 55:20]
+  wire  _T_132 = 4'hb == _T_107; // @[Misc.scala 55:20]
+  wire  _T_128 = 4'ha == _T_107; // @[Misc.scala 55:20]
+  wire  _T_124 = 4'h9 == _T_107; // @[Misc.scala 55:20]
+  wire  _T_120 = 4'h8 == _T_107; // @[Misc.scala 55:20]
+  wire  _T_137 = _T_136 ? 1'h0 : _T_132; // @[Misc.scala 37:9]
+  wire  _T_141 = _T_140 ? 1'h0 : _T_137; // @[Misc.scala 37:9]
+  wire  _T_145 = _T_144 ? 1'h0 : _T_141; // @[Misc.scala 37:9]
+  wire  _T_153 = _T_152 ? 1'h0 : _T_148 | _T_145; // @[Misc.scala 37:9]
+  wire  _T_157 = _T_156 ? 1'h0 : _T_153; // @[Misc.scala 37:9]
+  wire  _T_161 = _T_160 ? 1'h0 : _T_157; // @[Misc.scala 37:9]
+  wire  s2_prb_ack_data = _T_164 | _T_161; // @[Misc.scala 37:9]
+  wire  _T_293 = s2_probe_state_state > 2'h0; // @[Metadata.scala 49:45]
+  reg [9:0] counter_1; // @[Edges.scala 228:27]
+  wire  _T_298 = release_state == 4'h1; // @[package.scala 15:47]
+  wire  _T_299 = release_state == 4'h6; // @[package.scala 15:47]
+  wire  _T_300 = release_state == 4'h9; // @[package.scala 15:47]
+  wire  _T_302 = _T_298 | _T_299 | _T_300; // @[package.scala 72:59]
+  wire [2:0] _GEN_325 = _T_300 ? 3'h6 : 3'h7; // @[DCache.scala 839:52 840:23 845:23]
+  wire  _T_297 = release_state == 4'h2; // @[DCache.scala 834:25]
+  wire [2:0] _GEN_317 = release_state == 4'h2 ? 3'h5 : 3'h4; // @[DCache.scala 834:48 835:21]
+  wire [2:0] tl_out__c_bits_opcode = _T_302 ? _GEN_325 : _GEN_317; // @[DCache.scala 838:102]
+  wire  beats1_opdata_1 = tl_out__c_bits_opcode[0]; // @[Edges.scala 101:36]
+  wire [3:0] tl_out__c_bits_size = _T_302 ? 4'h6 : probe_bits_size; // @[DCache.scala 838:102]
+  wire [26:0] _beats1_decode_T_5 = 27'hfff << tl_out__c_bits_size; // @[package.scala 234:77]
+  wire [11:0] _beats1_decode_T_7 = ~_beats1_decode_T_5[11:0]; // @[package.scala 234:46]
+  wire [9:0] beats1_decode_1 = _beats1_decode_T_7[11:2]; // @[Edges.scala 219:59]
+  wire [9:0] beats1_1 = beats1_opdata_1 ? beats1_decode_1 : 10'h0; // @[Edges.scala 220:14]
+  wire  c_last = counter_1 == 10'h1 | beats1_1 == 10'h0; // @[Edges.scala 231:37]
+  reg  s2_release_data_valid; // @[DCache.scala 777:34]
+  wire  c_first = counter_1 == 10'h0; // @[Edges.scala 230:25]
+  wire  _GEN_266 = s2_prb_ack_data ? s2_release_data_valid & ~(c_first & release_ack_wait) : 1'h1; // @[DCache.scala 785:18 803:36]
+  wire  _GEN_287 = s2_probe ? _GEN_266 : s2_release_data_valid & ~(c_first & release_ack_wait); // @[DCache.scala 785:18 799:21]
+  wire  _GEN_304 = release_state == 4'h5 | _GEN_287; // @[DCache.scala 825:47 826:22]
+  wire  tl_out__c_valid = release_state == 4'h3 | _GEN_304; // @[DCache.scala 829:48 830:22]
+  wire  _T_287 = auto_out_c_ready & tl_out__c_valid; // @[Decoupled.scala 50:35]
+  wire  releaseDone = c_last & _T_287; // @[Edges.scala 232:22]
+  wire  _GEN_264 = _T_293 | ~releaseDone; // @[DCache.scala 805:45 811:19]
+  wire  probeNack = s2_prb_ack_data | _GEN_264; // @[DCache.scala 803:36]
+  reg [4:0] s1_req_cmd; // @[Reg.scala 16:16]
+  wire  _s1_read_T = s1_req_cmd == 5'h0; // @[package.scala 15:47]
+  wire  _s1_read_T_1 = s1_req_cmd == 5'h10; // @[package.scala 15:47]
+  wire  _s1_read_T_2 = s1_req_cmd == 5'h6; // @[package.scala 15:47]
+  wire  _s1_read_T_3 = s1_req_cmd == 5'h7; // @[package.scala 15:47]
+  wire  _s1_read_T_6 = _s1_read_T | _s1_read_T_1 | _s1_read_T_2 | _s1_read_T_3; // @[package.scala 72:59]
+  wire  _s1_read_T_7 = s1_req_cmd == 5'h4; // @[package.scala 15:47]
+  wire  _s1_read_T_8 = s1_req_cmd == 5'h9; // @[package.scala 15:47]
+  wire  _s1_read_T_9 = s1_req_cmd == 5'ha; // @[package.scala 15:47]
+  wire  _s1_read_T_10 = s1_req_cmd == 5'hb; // @[package.scala 15:47]
+  wire  _s1_read_T_13 = _s1_read_T_7 | _s1_read_T_8 | _s1_read_T_9 | _s1_read_T_10; // @[package.scala 72:59]
+  wire  _s1_read_T_14 = s1_req_cmd == 5'h8; // @[package.scala 15:47]
+  wire  _s1_read_T_15 = s1_req_cmd == 5'hc; // @[package.scala 15:47]
+  wire  _s1_read_T_16 = s1_req_cmd == 5'hd; // @[package.scala 15:47]
+  wire  _s1_read_T_17 = s1_req_cmd == 5'he; // @[package.scala 15:47]
+  wire  _s1_read_T_18 = s1_req_cmd == 5'hf; // @[package.scala 15:47]
+  wire  _s1_read_T_22 = _s1_read_T_14 | _s1_read_T_15 | _s1_read_T_16 | _s1_read_T_17 | _s1_read_T_18; // @[package.scala 72:59]
+  wire  _s1_read_T_23 = _s1_read_T_13 | _s1_read_T_22; // @[Consts.scala 82:44]
+  wire  s1_read = _s1_read_T_6 | _s1_read_T_23; // @[Consts.scala 84:68]
+  reg [4:0] s2_req_cmd; // @[DCache.scala 314:19]
+  wire  _s2_write_T_1 = s2_req_cmd == 5'h11; // @[Consts.scala 85:49]
+  wire  _s2_write_T_3 = s2_req_cmd == 5'h7; // @[Consts.scala 85:66]
+  wire  _s2_write_T_5 = s2_req_cmd == 5'h4; // @[package.scala 15:47]
+  wire  _s2_write_T_6 = s2_req_cmd == 5'h9; // @[package.scala 15:47]
+  wire  _s2_write_T_7 = s2_req_cmd == 5'ha; // @[package.scala 15:47]
+  wire  _s2_write_T_8 = s2_req_cmd == 5'hb; // @[package.scala 15:47]
+  wire  _s2_write_T_11 = _s2_write_T_5 | _s2_write_T_6 | _s2_write_T_7 | _s2_write_T_8; // @[package.scala 72:59]
+  wire  _s2_write_T_12 = s2_req_cmd == 5'h8; // @[package.scala 15:47]
+  wire  _s2_write_T_13 = s2_req_cmd == 5'hc; // @[package.scala 15:47]
+  wire  _s2_write_T_14 = s2_req_cmd == 5'hd; // @[package.scala 15:47]
+  wire  _s2_write_T_15 = s2_req_cmd == 5'he; // @[package.scala 15:47]
+  wire  _s2_write_T_16 = s2_req_cmd == 5'hf; // @[package.scala 15:47]
+  wire  _s2_write_T_20 = _s2_write_T_12 | _s2_write_T_13 | _s2_write_T_14 | _s2_write_T_15 | _s2_write_T_16; // @[package.scala 72:59]
+  wire  _s2_write_T_21 = _s2_write_T_11 | _s2_write_T_20; // @[Consts.scala 82:44]
+  wire  s2_write = s2_req_cmd == 5'h1 | s2_req_cmd == 5'h11 | s2_req_cmd == 5'h7 | _s2_write_T_21; // @[Consts.scala 85:76]
+  reg  pstore1_held; // @[DCache.scala 479:29]
+  wire  pstore1_valid_likely = s2_valid & s2_write | pstore1_held; // @[DCache.scala 480:51]
+  reg [31:0] pstore1_addr; // @[Reg.scala 16:16]
+  reg [31:0] s1_req_addr; // @[Reg.scala 16:16]
+  wire [31:0] s1_vaddr = {s1_req_addr[31:12],s1_req_addr[11:0]}; // @[Cat.scala 31:58]
+  wire  _s1_write_T_1 = s1_req_cmd == 5'h11; // @[Consts.scala 85:49]
+  wire  s1_write = s1_req_cmd == 5'h1 | s1_req_cmd == 5'h11 | _s1_read_T_3 | _s1_read_T_23; // @[Consts.scala 85:76]
+  reg [3:0] pstore1_mask; // @[Reg.scala 16:16]
+  wire  _s1_hazard_T_10 = |pstore1_mask[3]; // @[DCache.scala 1155:66]
+  wire  _s1_hazard_T_9 = |pstore1_mask[2]; // @[DCache.scala 1155:66]
+  wire  _s1_hazard_T_8 = |pstore1_mask[1]; // @[DCache.scala 1155:66]
+  wire  _s1_hazard_T_7 = |pstore1_mask[0]; // @[DCache.scala 1155:66]
+  wire [3:0] _s1_hazard_T_11 = {_s1_hazard_T_10,_s1_hazard_T_9,_s1_hazard_T_8,_s1_hazard_T_7}; // @[Cat.scala 31:58]
+  wire [3:0] _s1_hazard_T_16 = {_s1_hazard_T_11[3],_s1_hazard_T_11[2],_s1_hazard_T_11[1],_s1_hazard_T_11[0]}; // @[Cat.scala 31:58]
+  reg [1:0] s1_req_size; // @[Reg.scala 16:16]
+  wire  s1_mask_xwr_upper = s1_req_addr[0] | s1_req_size >= 2'h1; // @[AMOALU.scala 17:46]
+  wire  s1_mask_xwr_lower = s1_req_addr[0] ? 1'h0 : 1'h1; // @[AMOALU.scala 18:22]
+  wire [1:0] _s1_mask_xwr_T = {s1_mask_xwr_upper,s1_mask_xwr_lower}; // @[Cat.scala 31:58]
+  wire [1:0] _s1_mask_xwr_upper_T_5 = s1_req_addr[1] ? _s1_mask_xwr_T : 2'h0; // @[AMOALU.scala 17:22]
+  wire [1:0] _s1_mask_xwr_upper_T_7 = s1_req_size >= 2'h2 ? 2'h3 : 2'h0; // @[AMOALU.scala 17:51]
+  wire [1:0] s1_mask_xwr_upper_1 = _s1_mask_xwr_upper_T_5 | _s1_mask_xwr_upper_T_7; // @[AMOALU.scala 17:46]
+  wire [1:0] s1_mask_xwr_lower_1 = s1_req_addr[1] ? 2'h0 : _s1_mask_xwr_T; // @[AMOALU.scala 18:22]
+  wire [3:0] s1_mask_xwr = {s1_mask_xwr_upper_1,s1_mask_xwr_lower_1}; // @[Cat.scala 31:58]
+  wire  _s1_hazard_T_24 = |s1_mask_xwr[3]; // @[DCache.scala 1155:66]
+  wire  _s1_hazard_T_23 = |s1_mask_xwr[2]; // @[DCache.scala 1155:66]
+  wire  _s1_hazard_T_22 = |s1_mask_xwr[1]; // @[DCache.scala 1155:66]
+  wire  _s1_hazard_T_21 = |s1_mask_xwr[0]; // @[DCache.scala 1155:66]
+  wire [3:0] _s1_hazard_T_25 = {_s1_hazard_T_24,_s1_hazard_T_23,_s1_hazard_T_22,_s1_hazard_T_21}; // @[Cat.scala 31:58]
+  wire [3:0] _s1_hazard_T_30 = {_s1_hazard_T_25[3],_s1_hazard_T_25[2],_s1_hazard_T_25[1],_s1_hazard_T_25[0]}; // @[Cat.scala 31:58]
+  wire [3:0] _s1_hazard_T_31 = _s1_hazard_T_16 & _s1_hazard_T_30; // @[DCache.scala 537:38]
+  wire [3:0] _s1_hazard_T_33 = pstore1_mask & s1_mask_xwr; // @[DCache.scala 537:77]
+  wire  _s1_hazard_T_35 = s1_write ? |_s1_hazard_T_31 : |_s1_hazard_T_33; // @[DCache.scala 537:8]
+  wire  _s1_hazard_T_36 = pstore1_addr[11:2] == s1_vaddr[11:2] & _s1_hazard_T_35; // @[DCache.scala 536:65]
+  reg  pstore2_valid; // @[DCache.scala 476:30]
+  reg [31:0] pstore2_addr; // @[Reg.scala 16:16]
+  reg [3:0] mask; // @[DCache.scala 506:19]
+  wire  _s1_hazard_T_48 = |mask[3]; // @[DCache.scala 1155:66]
+  wire  _s1_hazard_T_47 = |mask[2]; // @[DCache.scala 1155:66]
+  wire  _s1_hazard_T_46 = |mask[1]; // @[DCache.scala 1155:66]
+  wire  _s1_hazard_T_45 = |mask[0]; // @[DCache.scala 1155:66]
+  wire [3:0] _s1_hazard_T_49 = {_s1_hazard_T_48,_s1_hazard_T_47,_s1_hazard_T_46,_s1_hazard_T_45}; // @[Cat.scala 31:58]
+  wire [3:0] _s1_hazard_T_54 = {_s1_hazard_T_49[3],_s1_hazard_T_49[2],_s1_hazard_T_49[1],_s1_hazard_T_49[0]}; // @[Cat.scala 31:58]
+  wire [3:0] _s1_hazard_T_69 = _s1_hazard_T_54 & _s1_hazard_T_30; // @[DCache.scala 537:38]
+  wire [3:0] _s1_hazard_T_71 = mask & s1_mask_xwr; // @[DCache.scala 537:77]
+  wire  _s1_hazard_T_73 = s1_write ? |_s1_hazard_T_69 : |_s1_hazard_T_71; // @[DCache.scala 537:8]
+  wire  _s1_hazard_T_74 = pstore2_addr[11:2] == s1_vaddr[11:2] & _s1_hazard_T_73; // @[DCache.scala 536:65]
+  wire  _s1_hazard_T_75 = pstore2_valid & _s1_hazard_T_74; // @[DCache.scala 540:21]
+  wire  s1_hazard = pstore1_valid_likely & _s1_hazard_T_36 | _s1_hazard_T_75; // @[DCache.scala 539:69]
+  wire  s1_raw_hazard = s1_read & s1_hazard; // @[DCache.scala 541:31]
+  wire [7:0] _s2_valid_no_xcpt_T = {io_cpu_s2_xcpt_ma_ld,io_cpu_s2_xcpt_ma_st,io_cpu_s2_xcpt_pf_ld,io_cpu_s2_xcpt_pf_st,
+    io_cpu_s2_xcpt_gf_ld,io_cpu_s2_xcpt_gf_st,io_cpu_s2_xcpt_ae_ld,io_cpu_s2_xcpt_ae_st}; // @[DCache.scala 307:54]
+  wire  s2_valid_no_xcpt = s2_valid & ~(|_s2_valid_no_xcpt_T); // @[DCache.scala 307:35]
+  reg  s2_not_nacked_in_s1; // @[DCache.scala 310:36]
+  wire  s2_valid_masked = s2_valid_no_xcpt & s2_not_nacked_in_s1; // @[DCache.scala 312:42]
+  wire  _c_cat_T_48 = s2_req_cmd == 5'h6; // @[Consts.scala 86:71]
+  wire  _c_cat_T_49 = s2_write | s2_req_cmd == 5'h3 | s2_req_cmd == 5'h6; // @[Consts.scala 86:64]
+  reg [1:0] s2_hit_state_state; // @[Reg.scala 16:16]
+  wire [3:0] _T_44 = {s2_write,_c_cat_T_49,s2_hit_state_state}; // @[Cat.scala 31:58]
+  wire  _T_102 = 4'h3 == _T_44; // @[Misc.scala 48:20]
+  wire  _T_99 = 4'h2 == _T_44; // @[Misc.scala 48:20]
+  wire  _T_96 = 4'h1 == _T_44; // @[Misc.scala 48:20]
+  wire  _T_93 = 4'h7 == _T_44; // @[Misc.scala 48:20]
+  wire  _T_90 = 4'h6 == _T_44; // @[Misc.scala 48:20]
+  wire  _T_87 = 4'hf == _T_44; // @[Misc.scala 48:20]
+  wire  _T_84 = 4'he == _T_44; // @[Misc.scala 48:20]
+  wire  _T_81 = 4'h0 == _T_44; // @[Misc.scala 48:20]
+  wire  _T_78 = 4'h5 == _T_44; // @[Misc.scala 48:20]
+  wire  _T_75 = 4'h4 == _T_44; // @[Misc.scala 48:20]
+  wire  _T_72 = 4'hd == _T_44; // @[Misc.scala 48:20]
+  wire  _T_69 = 4'hc == _T_44; // @[Misc.scala 48:20]
+  wire  s2_hit = _T_102 | (_T_99 | (_T_96 | (_T_93 | (_T_90 | (_T_87 | _T_84))))); // @[Misc.scala 34:9]
+  wire  s2_valid_hit_maybe_flush_pre_data_ecc_and_waw = s2_valid_masked & s2_hit; // @[DCache.scala 372:89]
+  wire  _s2_read_T = s2_req_cmd == 5'h0; // @[package.scala 15:47]
+  wire  _s2_read_T_1 = s2_req_cmd == 5'h10; // @[package.scala 15:47]
+  wire  _s2_read_T_6 = _s2_read_T | _s2_read_T_1 | _c_cat_T_48 | _s2_write_T_3; // @[package.scala 72:59]
+  wire  s2_read = _s2_read_T_6 | _s2_write_T_21; // @[Consts.scala 84:68]
+  wire  s2_readwrite = s2_read | s2_write; // @[DCache.scala 329:30]
+  wire  s2_valid_hit_pre_data_ecc_and_waw = s2_valid_hit_maybe_flush_pre_data_ecc_and_waw & s2_readwrite; // @[DCache.scala 393:89]
+  wire [1:0] _T_71 = _T_69 ? 2'h1 : 2'h0; // @[Misc.scala 34:36]
+  wire [1:0] _T_74 = _T_72 ? 2'h2 : _T_71; // @[Misc.scala 34:36]
+  wire [1:0] _T_77 = _T_75 ? 2'h1 : _T_74; // @[Misc.scala 34:36]
+  wire [1:0] _T_80 = _T_78 ? 2'h2 : _T_77; // @[Misc.scala 34:36]
+  wire [1:0] _T_83 = _T_81 ? 2'h0 : _T_80; // @[Misc.scala 34:36]
+  wire [1:0] _T_86 = _T_84 ? 2'h3 : _T_83; // @[Misc.scala 34:36]
+  wire [1:0] _T_89 = _T_87 ? 2'h3 : _T_86; // @[Misc.scala 34:36]
+  wire [1:0] _T_92 = _T_90 ? 2'h2 : _T_89; // @[Misc.scala 34:36]
+  wire [1:0] _T_95 = _T_93 ? 2'h3 : _T_92; // @[Misc.scala 34:36]
+  wire [1:0] _T_98 = _T_96 ? 2'h1 : _T_95; // @[Misc.scala 34:36]
+  wire [1:0] _T_101 = _T_99 ? 2'h2 : _T_98; // @[Misc.scala 34:36]
+  wire [1:0] s2_grow_param = _T_102 ? 2'h3 : _T_101; // @[Misc.scala 34:36]
+  wire  _s2_update_meta_T = s2_hit_state_state == s2_grow_param; // @[Metadata.scala 45:46]
+  wire  s2_update_meta = ~_s2_update_meta_T; // @[Metadata.scala 46:40]
+  wire  _T_232 = io_cpu_s2_nack | s2_valid_hit_pre_data_ecc_and_waw & s2_update_meta; // @[DCache.scala 421:24]
+  wire  s1_readwrite = s1_read | s1_write; // @[DCache.scala 192:30]
+  wire  s1_flush_line = s1_req_cmd == 5'h5 & s1_req_size[0]; // @[DCache.scala 194:50]
+  wire  s1_cmd_uses_tlb = s1_readwrite | s1_flush_line | s1_req_cmd == 5'h17; // @[DCache.scala 250:55]
+  wire  _GEN_140 = s1_valid & s1_raw_hazard | _T_232; // @[DCache.scala 546:{36,46}]
+  wire  _GEN_285 = probeNack | _GEN_140; // @[DCache.scala 814:{24,34}]
+  wire  s1_nack = s2_probe ? _GEN_285 : _GEN_140; // @[DCache.scala 799:21]
+  wire  _s1_valid_not_nacked_T = ~s1_nack; // @[DCache.scala 167:41]
+  wire  s1_valid_not_nacked = s1_valid & ~s1_nack; // @[DCache.scala 167:38]
+  wire  s0_clk_en = metaArb_io_out_valid & ~metaArb_io_out_bits_write; // @[DCache.scala 170:40]
+  wire [31:0] s0_req_addr = {metaArb_io_out_bits_addr[31:6],io_cpu_req_bits_addr[5:0]}; // @[Cat.scala 31:58]
+  wire  s0_req_phys = ~metaArb_io_in_7_ready; // @[DCache.scala 175:9]
+  reg [5:0] s1_req_tag; // @[Reg.scala 16:16]
+  reg  s1_req_signed; // @[Reg.scala 16:16]
+  reg [1:0] s1_req_dprv; // @[Reg.scala 16:16]
+  reg [31:0] s1_tlb_req_vaddr; // @[Reg.scala 16:16]
+  reg [1:0] s1_tlb_req_size; // @[Reg.scala 16:16]
+  reg [4:0] s1_tlb_req_cmd; // @[Reg.scala 16:16]
+  reg [1:0] s1_tlb_req_prv; // @[Reg.scala 16:16]
+  wire  s1_sfence = s1_req_cmd == 5'h14 | s1_req_cmd == 5'h15 | s1_req_cmd == 5'h16; // @[DCache.scala 193:71]
+  reg  s1_flush_valid; // @[DCache.scala 195:27]
+  reg  cached_grant_wait; // @[DCache.scala 203:30]
+  reg  resetting; // @[DCache.scala 204:26]
+  reg [5:0] flushCounter; // @[DCache.scala 205:25]
+  wire  inWriteback = _T_298 | _T_297; // @[package.scala 72:59]
+  wire  _io_cpu_req_ready_T = release_state == 4'h0; // @[DCache.scala 213:38]
+  wire  _io_cpu_req_ready_T_1 = ~cached_grant_wait; // @[DCache.scala 213:54]
+  reg  uncachedInFlight_0; // @[DCache.scala 216:33]
+  reg [31:0] uncachedReqs_0_addr; // @[DCache.scala 217:25]
+  reg [5:0] uncachedReqs_0_tag; // @[DCache.scala 217:25]
+  reg [1:0] uncachedReqs_0_size; // @[DCache.scala 217:25]
+  reg  uncachedReqs_0_signed; // @[DCache.scala 217:25]
+  wire  _s0_read_T = io_cpu_req_bits_cmd == 5'h0; // @[package.scala 15:47]
+  wire  _s0_read_T_1 = io_cpu_req_bits_cmd == 5'h10; // @[package.scala 15:47]
+  wire  _s0_read_T_2 = io_cpu_req_bits_cmd == 5'h6; // @[package.scala 15:47]
+  wire  _s0_read_T_3 = io_cpu_req_bits_cmd == 5'h7; // @[package.scala 15:47]
+  wire  _s0_read_T_6 = _s0_read_T | _s0_read_T_1 | _s0_read_T_2 | _s0_read_T_3; // @[package.scala 72:59]
+  wire  _s0_read_T_7 = io_cpu_req_bits_cmd == 5'h4; // @[package.scala 15:47]
+  wire  _s0_read_T_8 = io_cpu_req_bits_cmd == 5'h9; // @[package.scala 15:47]
+  wire  _s0_read_T_9 = io_cpu_req_bits_cmd == 5'ha; // @[package.scala 15:47]
+  wire  _s0_read_T_10 = io_cpu_req_bits_cmd == 5'hb; // @[package.scala 15:47]
+  wire  _s0_read_T_13 = _s0_read_T_7 | _s0_read_T_8 | _s0_read_T_9 | _s0_read_T_10; // @[package.scala 72:59]
+  wire  _s0_read_T_14 = io_cpu_req_bits_cmd == 5'h8; // @[package.scala 15:47]
+  wire  _s0_read_T_15 = io_cpu_req_bits_cmd == 5'hc; // @[package.scala 15:47]
+  wire  _s0_read_T_16 = io_cpu_req_bits_cmd == 5'hd; // @[package.scala 15:47]
+  wire  _s0_read_T_17 = io_cpu_req_bits_cmd == 5'he; // @[package.scala 15:47]
+  wire  _s0_read_T_18 = io_cpu_req_bits_cmd == 5'hf; // @[package.scala 15:47]
+  wire  _s0_read_T_22 = _s0_read_T_14 | _s0_read_T_15 | _s0_read_T_16 | _s0_read_T_17 | _s0_read_T_18; // @[package.scala 72:59]
+  wire  _s0_read_T_23 = _s0_read_T_13 | _s0_read_T_22; // @[Consts.scala 82:44]
+  wire  s0_read = _s0_read_T_6 | _s0_read_T_23; // @[Consts.scala 84:68]
+  wire  _dataArb_io_in_3_valid_res_T = io_cpu_req_bits_cmd == 5'h1; // @[package.scala 15:47]
+  wire  _dataArb_io_in_3_valid_res_T_1 = io_cpu_req_bits_cmd == 5'h3; // @[package.scala 15:47]
+  wire  _dataArb_io_in_3_valid_res_T_2 = _dataArb_io_in_3_valid_res_T | _dataArb_io_in_3_valid_res_T_1; // @[package.scala 72:59]
+  wire  res = ~_dataArb_io_in_3_valid_res_T_2; // @[DCache.scala 1159:15]
+  wire  _dataArb_io_in_3_valid_T_26 = io_cpu_req_bits_cmd == 5'h11; // @[Consts.scala 85:49]
+  wire  _dataArb_io_in_3_valid_T_47 = _dataArb_io_in_3_valid_res_T | io_cpu_req_bits_cmd == 5'h11 | _s0_read_T_3 |
+    _s0_read_T_23; // @[Consts.scala 85:76]
+  wire  _dataArb_io_in_3_valid_T_51 = _dataArb_io_in_3_valid_T_47 & _dataArb_io_in_3_valid_T_26; // @[DCache.scala 1165:23]
+  wire  _dataArb_io_in_3_valid_T_52 = s0_read | _dataArb_io_in_3_valid_T_51; // @[DCache.scala 1164:21]
+  wire  _dataArb_io_in_3_valid_T_56 = ~reset; // @[DCache.scala 1160:11]
+  wire  _dataArb_io_in_3_valid_T_58 = io_cpu_req_valid & res; // @[DCache.scala 222:46]
+  wire [31:0] _dataArb_io_in_3_bits_addr_T_2 = {io_cpu_req_bits_addr[31:12],io_cpu_req_bits_addr[11:0]}; // @[Cat.scala 31:58]
+  wire  _GEN_33 = ~dataArb_io_in_3_ready & s0_read ? 1'h0 : release_state == 4'h0 & ~cached_grant_wait &
+    _s1_valid_not_nacked_T; // @[DCache.scala 213:20 238:{45,64}]
+  wire  _s1_did_read_T_54 = dataArb_io_in_3_ready & (io_cpu_req_valid & _dataArb_io_in_3_valid_T_52); // @[DCache.scala 239:54]
+  reg  s1_did_read; // @[Reg.scala 16:16]
+  reg  s1_read_mask; // @[Reg.scala 16:16]
+  wire  _GEN_36 = s0_req_phys ? 1'h0 : _GEN_33; // @[DCache.scala 247:{34,53}]
+  wire [30:0] s1_paddr = {tlb_io_resp_paddr[30:12],s1_req_addr[11:0]}; // @[Cat.scala 31:58]
+  wire  _T_19 = metaArb_io_out_valid & metaArb_io_out_bits_write; // @[DCache.scala 285:27]
+  wire [5:0] _GEN_42 = metaArb_io_out_bits_idx; // @[DCache.scala 285:50]
+  wire [20:0] _WIRE_2 = tag_array_RW0_rdata_0;
+  wire [18:0] s1_meta_uncorrected_0_tag = _WIRE_2[18:0]; // @[DCache.scala 290:80]
+  wire [1:0] s1_meta_uncorrected_0_coh_state = _WIRE_2[20:19]; // @[DCache.scala 290:80]
+  wire [18:0] s1_tag = s1_paddr[30:12]; // @[DCache.scala 291:29]
+  wire  _T_27 = s1_meta_uncorrected_0_tag == s1_tag; // @[DCache.scala 292:83]
+  wire  _T_29 = ~s1_flush_valid; // @[DCache.scala 294:62]
+  wire [15:0] tl_d_data_encoded_lo = {auto_out_d_bits_data[15:8],auto_out_d_bits_data[7:0]}; // @[Cat.scala 31:58]
+  wire [15:0] tl_d_data_encoded_hi = {auto_out_d_bits_data[31:24],auto_out_d_bits_data[23:16]}; // @[Cat.scala 31:58]
+  wire [31:0] _tl_d_data_encoded_T_4 = {auto_out_d_bits_data[31:24],auto_out_d_bits_data[23:16],auto_out_d_bits_data[15:
+    8],auto_out_d_bits_data[7:0]}; // @[Cat.scala 31:58]
+  wire [3:0] _T_36 = ~io_cpu_s1_data_mask; // @[DCache.scala 304:71]
+  wire [3:0] _T_37 = s1_mask_xwr | _T_36; // @[DCache.scala 304:69]
+  wire  s2_valid_x44 = s1_valid_masked & ~s1_sfence; // @[DCache.scala 306:43]
+  reg [31:0] s2_req_addr; // @[DCache.scala 314:19]
+  reg [5:0] s2_req_tag; // @[DCache.scala 314:19]
+  reg [1:0] s2_req_size; // @[DCache.scala 314:19]
+  reg  s2_req_signed; // @[DCache.scala 314:19]
+  reg [1:0] s2_req_dprv; // @[DCache.scala 314:19]
+  wire  _s2_cmd_flush_all_T = s2_req_cmd == 5'h5; // @[DCache.scala 315:37]
+  wire  s2_cmd_flush_line = _s2_cmd_flush_all_T & s2_req_size[0]; // @[DCache.scala 316:54]
+  reg  s2_tlb_xcpt_pf_ld; // @[DCache.scala 317:24]
+  reg  s2_tlb_xcpt_pf_st; // @[DCache.scala 317:24]
+  reg  s2_tlb_xcpt_ae_ld; // @[DCache.scala 317:24]
+  reg  s2_tlb_xcpt_ae_st; // @[DCache.scala 317:24]
+  reg  s2_tlb_xcpt_ma_ld; // @[DCache.scala 317:24]
+  reg  s2_tlb_xcpt_ma_st; // @[DCache.scala 317:24]
+  reg  s2_pma_cacheable; // @[DCache.scala 318:19]
+  reg [31:0] s2_uncached_resp_addr; // @[DCache.scala 319:34]
+  wire  _T_43 = s1_valid_not_nacked | s1_flush_valid; // @[DCache.scala 320:29]
+  wire [31:0] _GEN_51 = s1_valid_not_nacked | s1_flush_valid ? {{1'd0}, s1_paddr} : s2_req_addr; // @[DCache.scala 320:48 322:17 314:19]
+  wire [5:0] _GEN_52 = s1_valid_not_nacked | s1_flush_valid ? s1_req_tag : s2_req_tag; // @[DCache.scala 320:48 321:12 314:19]
+  wire [4:0] _GEN_53 = s1_valid_not_nacked | s1_flush_valid ? s1_req_cmd : s2_req_cmd; // @[DCache.scala 320:48 321:12 314:19]
+  wire [1:0] _GEN_54 = s1_valid_not_nacked | s1_flush_valid ? s1_req_size : s2_req_size; // @[DCache.scala 320:48 321:12 314:19]
+  wire  _GEN_55 = s1_valid_not_nacked | s1_flush_valid ? s1_req_signed : s2_req_signed; // @[DCache.scala 320:48 321:12 314:19]
+  reg [31:0] s2_vaddr_r; // @[Reg.scala 16:16]
+  wire [31:0] s2_vaddr = {s2_vaddr_r[31:12],s2_req_addr[11:0]}; // @[Cat.scala 31:58]
+  reg  s2_flush_valid_pre_tag_ecc; // @[DCache.scala 330:43]
+  wire  s1_meta_clk_en = _T_43 | s1_probe; // @[DCache.scala 332:62]
+  reg [20:0] s2_meta_corrected_r; // @[Reg.scala 16:16]
+  wire [18:0] s2_meta_corrected_0_tag = s2_meta_corrected_r[18:0]; // @[DCache.scala 336:99]
+  wire [1:0] s2_meta_corrected_0_coh_state = s2_meta_corrected_r[20:19]; // @[DCache.scala 336:99]
+  wire  en = s1_valid | inWriteback | io_cpu_replay_next; // @[DCache.scala 341:38]
+  wire  word_en = inWriteback | s1_did_read & s1_read_mask; // @[DCache.scala 342:22]
+  wire [31:0] s1_all_data_ways_0 = data_io_resp_0; // @[DCache.scala 300:{29,29}]
+  wire  s1_word_en = ~io_cpu_replay_next ? word_en : 1'h1; // @[DCache.scala 352:27]
+  wire  grantIsUncachedData = auto_out_d_bits_opcode == 3'h1; // @[package.scala 15:47]
+  reg  blockUncachedGrant; // @[DCache.scala 725:33]
+  wire  grantIsRefill = auto_out_d_bits_opcode == 3'h5; // @[DCache.scala 641:29]
+  wire  _T_281 = ~dataArb_io_in_1_ready; // @[DCache.scala 697:26]
+  wire  _grantIsCached_T = auto_out_d_bits_opcode == 3'h4; // @[package.scala 15:47]
+  wire  grantIsCached = _grantIsCached_T | grantIsRefill; // @[package.scala 72:59]
+  reg [9:0] counter; // @[Edges.scala 228:27]
+  wire  d_first = counter == 10'h0; // @[Edges.scala 230:25]
+  wire  canAcceptCachedGrant = ~_T_302; // @[DCache.scala 645:30]
+  wire  _bundleOut_0_d_ready_T_3 = grantIsCached ? (~d_first | auto_out_e_ready) & canAcceptCachedGrant : 1'h1; // @[DCache.scala 646:24]
+  wire  _GEN_235 = grantIsRefill & ~dataArb_io_in_1_ready ? 1'h0 : _bundleOut_0_d_ready_T_3; // @[DCache.scala 646:18 697:51 699:20]
+  wire  tl_out__d_ready = grantIsUncachedData & (blockUncachedGrant | s1_valid) ? 1'h0 : _GEN_235; // @[DCache.scala 727:68 728:22]
+  wire  _T_261 = tl_out__d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire  _T_257 = auto_out_d_bits_opcode == 3'h0; // @[package.scala 15:47]
+  wire  _T_258 = auto_out_d_bits_opcode == 3'h2; // @[package.scala 15:47]
+  wire  grantIsUncached = grantIsUncachedData | _T_257 | _T_258; // @[package.scala 72:59]
+  wire [1:0] _GEN_191 = grantIsUncachedData ? 2'h2 : 2'h1; // @[DCache.scala 666:34 669:25]
+  wire [1:0] _GEN_200 = grantIsUncached ? _GEN_191 : 2'h1; // @[DCache.scala 659:35]
+  wire [1:0] _GEN_213 = grantIsCached ? 2'h1 : _GEN_200; // @[DCache.scala 650:26]
+  wire [1:0] s1_data_way = _T_261 ? _GEN_213 : 2'h1; // @[DCache.scala 649:26]
+  wire [1:0] _s2_data_T_1 = s1_word_en ? s1_data_way : 2'h0; // @[DCache.scala 354:28]
+  wire [31:0] _s2_data_T_4 = _s2_data_T_1[0] ? s1_all_data_ways_0 : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _s2_data_T_5 = _s2_data_T_1[1] ? _tl_d_data_encoded_T_4 : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _s2_data_T_6 = _s2_data_T_4 | _s2_data_T_5; // @[Mux.scala 27:73]
+  reg [31:0] s2_data; // @[Reg.scala 16:16]
+  wire  s2_hit_valid = s2_hit_state_state > 2'h0; // @[Metadata.scala 49:45]
+  wire [15:0] s2_data_corrected_lo = {s2_data[15:8],s2_data[7:0]}; // @[Cat.scala 31:58]
+  wire [15:0] s2_data_corrected_hi = {s2_data[31:24],s2_data[23:16]}; // @[Cat.scala 31:58]
+  wire [31:0] s2_data_corrected = {s2_data[31:24],s2_data[23:16],s2_data[15:8],s2_data[7:0]}; // @[Cat.scala 31:58]
+  wire  s2_valid_flush_line = s2_valid_hit_maybe_flush_pre_data_ecc_and_waw & s2_cmd_flush_line; // @[DCache.scala 394:75]
+  wire  s2_valid_miss = s2_valid_masked & s2_readwrite & ~s2_hit; // @[DCache.scala 398:73]
+  wire  s2_uncached = ~s2_pma_cacheable; // @[DCache.scala 399:21]
+  wire  _s2_valid_cached_miss_T = ~s2_uncached; // @[DCache.scala 400:47]
+  wire  _s2_valid_cached_miss_T_2 = |uncachedInFlight_0; // @[DCache.scala 400:88]
+  wire  s2_valid_cached_miss = s2_valid_miss & ~s2_uncached & ~(|uncachedInFlight_0); // @[DCache.scala 400:60]
+  wire  s2_want_victimize = s2_valid_cached_miss | s2_valid_flush_line | s2_flush_valid_pre_tag_ecc; // @[DCache.scala 402:125]
+  wire  _s2_cannot_victimize_T = ~s2_flush_valid_pre_tag_ecc; // @[DCache.scala 403:29]
+  wire  s2_valid_uncached_pending = s2_valid_miss & s2_uncached & ~(&uncachedInFlight_0); // @[DCache.scala 405:64]
+  wire [18:0] s2_victim_tag = s2_valid_flush_line ? s2_req_addr[30:12] : s2_meta_corrected_0_tag; // @[DCache.scala 408:26]
+  wire [1:0] s2_victim_state_state = s2_hit_valid ? s2_hit_state_state : s2_meta_corrected_0_coh_state; // @[DCache.scala 409:28]
+  wire [2:0] _T_122 = _T_120 ? 3'h5 : 3'h0; // @[Misc.scala 37:36]
+  wire [2:0] _T_126 = _T_124 ? 3'h2 : _T_122; // @[Misc.scala 37:36]
+  wire [2:0] _T_130 = _T_128 ? 3'h1 : _T_126; // @[Misc.scala 37:36]
+  wire [2:0] _T_134 = _T_132 ? 3'h1 : _T_130; // @[Misc.scala 37:36]
+  wire [2:0] _T_138 = _T_136 ? 3'h5 : _T_134; // @[Misc.scala 37:36]
+  wire [2:0] _T_142 = _T_140 ? 3'h4 : _T_138; // @[Misc.scala 37:36]
+  wire [1:0] _T_143 = _T_140 ? 2'h1 : 2'h0; // @[Misc.scala 37:63]
+  wire [2:0] _T_146 = _T_144 ? 3'h0 : _T_142; // @[Misc.scala 37:36]
+  wire [1:0] _T_147 = _T_144 ? 2'h1 : _T_143; // @[Misc.scala 37:63]
+  wire [2:0] _T_150 = _T_148 ? 3'h0 : _T_146; // @[Misc.scala 37:36]
+  wire [1:0] _T_151 = _T_148 ? 2'h1 : _T_147; // @[Misc.scala 37:63]
+  wire [2:0] _T_154 = _T_152 ? 3'h5 : _T_150; // @[Misc.scala 37:36]
+  wire [1:0] _T_155 = _T_152 ? 2'h0 : _T_151; // @[Misc.scala 37:63]
+  wire [2:0] _T_158 = _T_156 ? 3'h4 : _T_154; // @[Misc.scala 37:36]
+  wire [1:0] _T_159 = _T_156 ? 2'h1 : _T_155; // @[Misc.scala 37:63]
+  wire [2:0] _T_162 = _T_160 ? 3'h3 : _T_158; // @[Misc.scala 37:36]
+  wire [1:0] _T_163 = _T_160 ? 2'h2 : _T_159; // @[Misc.scala 37:63]
+  wire [2:0] s2_report_param = _T_164 ? 3'h3 : _T_162; // @[Misc.scala 37:36]
+  wire [1:0] probeNewCoh_state = _T_164 ? 2'h2 : _T_163; // @[Misc.scala 37:63]
+  wire [3:0] _T_172 = {2'h2,s2_victim_state_state}; // @[Cat.scala 31:58]
+  wire  _T_185 = 4'h8 == _T_172; // @[Misc.scala 55:20]
+  wire [2:0] _T_187 = _T_185 ? 3'h5 : 3'h0; // @[Misc.scala 37:36]
+  wire  _T_189 = 4'h9 == _T_172; // @[Misc.scala 55:20]
+  wire [2:0] _T_191 = _T_189 ? 3'h2 : _T_187; // @[Misc.scala 37:36]
+  wire  _T_193 = 4'ha == _T_172; // @[Misc.scala 55:20]
+  wire [2:0] _T_195 = _T_193 ? 3'h1 : _T_191; // @[Misc.scala 37:36]
+  wire  _T_197 = 4'hb == _T_172; // @[Misc.scala 55:20]
+  wire [2:0] _T_199 = _T_197 ? 3'h1 : _T_195; // @[Misc.scala 37:36]
+  wire  _T_201 = 4'h4 == _T_172; // @[Misc.scala 55:20]
+  wire  _T_202 = _T_201 ? 1'h0 : _T_197; // @[Misc.scala 37:9]
+  wire [2:0] _T_203 = _T_201 ? 3'h5 : _T_199; // @[Misc.scala 37:36]
+  wire  _T_205 = 4'h5 == _T_172; // @[Misc.scala 55:20]
+  wire  _T_206 = _T_205 ? 1'h0 : _T_202; // @[Misc.scala 37:9]
+  wire [2:0] _T_207 = _T_205 ? 3'h4 : _T_203; // @[Misc.scala 37:36]
+  wire [1:0] _T_208 = _T_205 ? 2'h1 : 2'h0; // @[Misc.scala 37:63]
+  wire  _T_209 = 4'h6 == _T_172; // @[Misc.scala 55:20]
+  wire  _T_210 = _T_209 ? 1'h0 : _T_206; // @[Misc.scala 37:9]
+  wire [2:0] _T_211 = _T_209 ? 3'h0 : _T_207; // @[Misc.scala 37:36]
+  wire [1:0] _T_212 = _T_209 ? 2'h1 : _T_208; // @[Misc.scala 37:63]
+  wire  _T_213 = 4'h7 == _T_172; // @[Misc.scala 55:20]
+  wire [2:0] _T_215 = _T_213 ? 3'h0 : _T_211; // @[Misc.scala 37:36]
+  wire [1:0] _T_216 = _T_213 ? 2'h1 : _T_212; // @[Misc.scala 37:63]
+  wire  _T_217 = 4'h0 == _T_172; // @[Misc.scala 55:20]
+  wire  _T_218 = _T_217 ? 1'h0 : _T_213 | _T_210; // @[Misc.scala 37:9]
+  wire [2:0] _T_219 = _T_217 ? 3'h5 : _T_215; // @[Misc.scala 37:36]
+  wire [1:0] _T_220 = _T_217 ? 2'h0 : _T_216; // @[Misc.scala 37:63]
+  wire  _T_221 = 4'h1 == _T_172; // @[Misc.scala 55:20]
+  wire  _T_222 = _T_221 ? 1'h0 : _T_218; // @[Misc.scala 37:9]
+  wire [2:0] _T_223 = _T_221 ? 3'h4 : _T_219; // @[Misc.scala 37:36]
+  wire [1:0] _T_224 = _T_221 ? 2'h1 : _T_220; // @[Misc.scala 37:63]
+  wire  _T_225 = 4'h2 == _T_172; // @[Misc.scala 55:20]
+  wire  _T_226 = _T_225 ? 1'h0 : _T_222; // @[Misc.scala 37:9]
+  wire [2:0] _T_227 = _T_225 ? 3'h3 : _T_223; // @[Misc.scala 37:36]
+  wire [1:0] _T_228 = _T_225 ? 2'h2 : _T_224; // @[Misc.scala 37:63]
+  wire  _T_229 = 4'h3 == _T_172; // @[Misc.scala 55:20]
+  wire  s2_victim_dirty = _T_229 | _T_226; // @[Misc.scala 37:9]
+  wire [2:0] s2_shrink_param = _T_229 ? 3'h3 : _T_227; // @[Misc.scala 37:36]
+  wire [1:0] voluntaryNewCoh_state = _T_229 ? 2'h2 : _T_228; // @[Misc.scala 37:63]
+  wire  s2_dont_nack_uncached = s2_valid_uncached_pending & auto_out_a_ready; // @[DCache.scala 415:57]
+  wire  _s2_dont_nack_misc_T_10 = s2_req_cmd == 5'h17; // @[DCache.scala 419:17]
+  wire  s2_dont_nack_misc = s2_valid_masked & _s2_dont_nack_misc_T_10; // @[DCache.scala 416:61]
+  wire  _io_cpu_s2_nack_T_4 = ~s2_valid_hit_pre_data_ecc_and_waw; // @[DCache.scala 420:89]
+  wire [18:0] metaArb_io_in_2_bits_data_meta_tag = s2_req_addr[30:12]; // @[HellaCache.scala 293:20 294:14]
+  wire  _lrscBackingOff_T = lrscCount > 7'h0; // @[DCache.scala 449:34]
+  wire  lrscBackingOff = lrscCount > 7'h0 & ~lrscValid; // @[DCache.scala 449:38]
+  reg [25:0] lrscAddr; // @[DCache.scala 450:21]
+  wire  lrscAddrMatch = lrscAddr == s2_req_addr[31:6]; // @[DCache.scala 451:32]
+  wire  s2_sc_fail = _s2_write_T_3 & ~(lrscValid & lrscAddrMatch); // @[DCache.scala 452:26]
+  wire [6:0] _lrscCount_T = s2_hit ? 7'h4f : 7'h0; // @[DCache.scala 454:21]
+  wire [6:0] _GEN_122 = s2_valid_hit_pre_data_ecc_and_waw & _c_cat_T_48 & _io_cpu_req_ready_T_1 | s2_valid_cached_miss
+     ? _lrscCount_T : lrscCount; // @[DCache.scala 453:99 454:15 447:22]
+  wire [6:0] _lrscCount_T_2 = lrscCount - 7'h1; // @[DCache.scala 457:49]
+  wire  _pstore1_cmd_T = s1_valid_not_nacked & s1_write; // @[DCache.scala 467:63]
+  reg [4:0] pstore1_cmd; // @[Reg.scala 16:16]
+  reg [31:0] pstore1_data; // @[Reg.scala 16:16]
+  wire  _pstore1_rmw_T_51 = s1_write & _s1_write_T_1; // @[DCache.scala 1165:23]
+  wire  _pstore1_rmw_T_52 = s1_read | _pstore1_rmw_T_51; // @[DCache.scala 1164:21]
+  reg  pstore1_rmw_r; // @[Reg.scala 16:16]
+  wire  _pstore1_merge_T = s2_valid_hit_pre_data_ecc_and_waw & s2_write; // @[DCache.scala 465:46]
+  wire  _pstore1_merge_T_2 = s2_valid_hit_pre_data_ecc_and_waw & s2_write & ~s2_sc_fail; // @[DCache.scala 465:58]
+  wire  pstore_drain_opportunistic = ~_dataArb_io_in_3_valid_T_58; // @[DCache.scala 477:36]
+  reg  pstore_drain_on_miss_REG; // @[DCache.scala 478:56]
+  wire  pstore_drain_on_miss = releaseInFlight | pstore_drain_on_miss_REG; // @[DCache.scala 478:46]
+  wire  pstore1_valid = _pstore1_merge_T_2 | pstore1_held; // @[DCache.scala 482:38]
+  wire  pstore_drain_structural = pstore1_valid_likely & pstore2_valid & (s1_valid & s1_write | pstore1_rmw_r); // @[DCache.scala 484:71]
+  wire  _T_244 = _pstore1_merge_T | pstore1_held; // @[DCache.scala 481:96]
+  wire  _pstore_drain_T_10 = (_T_244 & ~pstore1_rmw_r | pstore2_valid) & (pstore_drain_opportunistic |
+    pstore_drain_on_miss); // @[DCache.scala 493:76]
+  wire  pstore_drain = pstore_drain_structural | _pstore_drain_T_10; // @[DCache.scala 492:48]
+  wire  _pstore1_held_T_9 = ~pstore_drain; // @[DCache.scala 496:91]
+  wire  advance_pstore1 = pstore1_valid & pstore2_valid == pstore_drain; // @[DCache.scala 497:61]
+  wire [31:0] pstore1_storegen_data = amoalu_io_out;
+  reg [7:0] pstore2_storegen_data_r; // @[Reg.scala 16:16]
+  reg [7:0] pstore2_storegen_data_r_1; // @[Reg.scala 16:16]
+  reg [7:0] pstore2_storegen_data_r_2; // @[Reg.scala 16:16]
+  reg [7:0] pstore2_storegen_data_r_3; // @[Reg.scala 16:16]
+  wire [31:0] pstore2_storegen_data = {pstore2_storegen_data_r_3,pstore2_storegen_data_r_2,pstore2_storegen_data_r_1,
+    pstore2_storegen_data_r}; // @[Cat.scala 31:58]
+  wire [3:0] _pstore2_storegen_mask_mask_T = ~pstore1_mask; // @[DCache.scala 509:37]
+  wire [3:0] _pstore2_storegen_mask_mask_T_2 = ~_pstore2_storegen_mask_mask_T; // @[DCache.scala 509:15]
+  wire [31:0] _dataArb_io_in_0_bits_addr_T = pstore2_valid ? pstore2_addr : pstore1_addr; // @[DCache.scala 524:36]
+  wire [31:0] _dataArb_io_in_0_bits_wdata_T = pstore2_valid ? pstore2_storegen_data : pstore1_data; // @[DCache.scala 526:63]
+  wire [15:0] dataArb_io_in_0_bits_wdata_lo = {_dataArb_io_in_0_bits_wdata_T[15:8],_dataArb_io_in_0_bits_wdata_T[7:0]}; // @[Cat.scala 31:58]
+  wire [15:0] dataArb_io_in_0_bits_wdata_hi = {_dataArb_io_in_0_bits_wdata_T[31:24],_dataArb_io_in_0_bits_wdata_T[23:16]
+    }; // @[Cat.scala 31:58]
+  wire [3:0] _dataArb_io_in_0_bits_eccMask_T = pstore2_valid ? mask : pstore1_mask; // @[DCache.scala 532:47]
+  wire  _dataArb_io_in_0_bits_eccMask_T_5 = |_dataArb_io_in_0_bits_eccMask_T[0]; // @[DCache.scala 1155:66]
+  wire  _dataArb_io_in_0_bits_eccMask_T_6 = |_dataArb_io_in_0_bits_eccMask_T[1]; // @[DCache.scala 1155:66]
+  wire  _dataArb_io_in_0_bits_eccMask_T_7 = |_dataArb_io_in_0_bits_eccMask_T[2]; // @[DCache.scala 1155:66]
+  wire  _dataArb_io_in_0_bits_eccMask_T_8 = |_dataArb_io_in_0_bits_eccMask_T[3]; // @[DCache.scala 1155:66]
+  wire [1:0] dataArb_io_in_0_bits_eccMask_lo = {_dataArb_io_in_0_bits_eccMask_T_6,_dataArb_io_in_0_bits_eccMask_T_5}; // @[Cat.scala 31:58]
+  wire [1:0] dataArb_io_in_0_bits_eccMask_hi = {_dataArb_io_in_0_bits_eccMask_T_8,_dataArb_io_in_0_bits_eccMask_T_7}; // @[Cat.scala 31:58]
+  wire  _a_source_T = ~uncachedInFlight_0; // @[DCache.scala 552:34]
+  wire [1:0] _a_source_T_1 = {_a_source_T, 1'h0}; // @[DCache.scala 552:59]
+  wire  a_source = _a_source_T_1[0] ? 1'h0 : 1'h1; // @[Mux.scala 47:70]
+  wire [31:0] acquire_address = {s2_req_addr[31:6], 6'h0}; // @[DCache.scala 553:49]
+  wire [18:0] a_mask = {{15'd0}, pstore1_mask}; // @[DCache.scala 557:29]
+  wire [1:0] _get_a_mask_sizeOH_T_1 = 2'h1 << s2_req_size[0]; // @[OneHot.scala 64:12]
+  wire [1:0] get_a_mask_sizeOH = _get_a_mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _get_a_mask_T = s2_req_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  get_a_mask_size = get_a_mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  get_a_mask_bit = s2_req_addr[1]; // @[Misc.scala 209:26]
+  wire  get_a_mask_nbit = ~get_a_mask_bit; // @[Misc.scala 210:20]
+  wire  get_a_mask_acc = _get_a_mask_T | get_a_mask_size & get_a_mask_nbit; // @[Misc.scala 214:29]
+  wire  get_a_mask_acc_1 = _get_a_mask_T | get_a_mask_size & get_a_mask_bit; // @[Misc.scala 214:29]
+  wire  get_a_mask_size_1 = get_a_mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  get_a_mask_bit_1 = s2_req_addr[0]; // @[Misc.scala 209:26]
+  wire  get_a_mask_nbit_1 = ~get_a_mask_bit_1; // @[Misc.scala 210:20]
+  wire  get_a_mask_eq_2 = get_a_mask_nbit & get_a_mask_nbit_1; // @[Misc.scala 213:27]
+  wire  get_a_mask_acc_2 = get_a_mask_acc | get_a_mask_size_1 & get_a_mask_eq_2; // @[Misc.scala 214:29]
+  wire  get_a_mask_eq_3 = get_a_mask_nbit & get_a_mask_bit_1; // @[Misc.scala 213:27]
+  wire  get_a_mask_acc_3 = get_a_mask_acc | get_a_mask_size_1 & get_a_mask_eq_3; // @[Misc.scala 214:29]
+  wire  get_a_mask_eq_4 = get_a_mask_bit & get_a_mask_nbit_1; // @[Misc.scala 213:27]
+  wire  get_a_mask_acc_4 = get_a_mask_acc_1 | get_a_mask_size_1 & get_a_mask_eq_4; // @[Misc.scala 214:29]
+  wire  get_a_mask_eq_5 = get_a_mask_bit & get_a_mask_bit_1; // @[Misc.scala 213:27]
+  wire  get_a_mask_acc_5 = get_a_mask_acc_1 | get_a_mask_size_1 & get_a_mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] get_mask = {get_a_mask_acc_5,get_a_mask_acc_4,get_a_mask_acc_3,get_a_mask_acc_2}; // @[Cat.scala 31:58]
+  wire [2:0] _atomics_T_1_opcode = 5'h4 == s2_req_cmd ? 3'h3 : 3'h0; // @[Mux.scala 81:58]
+  wire [3:0] atomics_a_size = {{2'd0}, s2_req_size}; // @[Edges.scala 513:17 516:15]
+  wire [3:0] _atomics_T_1_size = 5'h4 == s2_req_cmd ? atomics_a_size : 4'h0; // @[Mux.scala 81:58]
+  wire [30:0] atomics_a_address = s2_req_addr[30:0]; // @[Edges.scala 513:17 518:15]
+  wire [30:0] _atomics_T_1_address = 5'h4 == s2_req_cmd ? atomics_a_address : 31'h0; // @[Mux.scala 81:58]
+  wire [3:0] _atomics_T_1_mask = 5'h4 == s2_req_cmd ? get_mask : 4'h0; // @[Mux.scala 81:58]
+  wire [31:0] _atomics_T_1_data = 5'h4 == s2_req_cmd ? pstore1_data : 32'h0; // @[Mux.scala 81:58]
+  wire [2:0] _atomics_T_3_opcode = 5'h9 == s2_req_cmd ? 3'h3 : _atomics_T_1_opcode; // @[Mux.scala 81:58]
+  wire [2:0] _atomics_T_3_param = 5'h9 == s2_req_cmd ? 3'h0 : _atomics_T_1_opcode; // @[Mux.scala 81:58]
+  wire [3:0] _atomics_T_3_size = 5'h9 == s2_req_cmd ? atomics_a_size : _atomics_T_1_size; // @[Mux.scala 81:58]
+  wire  _atomics_T_3_source = 5'h9 == s2_req_cmd ? a_source : 5'h4 == s2_req_cmd & a_source; // @[Mux.scala 81:58]
+  wire [30:0] _atomics_T_3_address = 5'h9 == s2_req_cmd ? atomics_a_address : _atomics_T_1_address; // @[Mux.scala 81:58]
+  wire [3:0] _atomics_T_3_mask = 5'h9 == s2_req_cmd ? get_mask : _atomics_T_1_mask; // @[Mux.scala 81:58]
+  wire [31:0] _atomics_T_3_data = 5'h9 == s2_req_cmd ? pstore1_data : _atomics_T_1_data; // @[Mux.scala 81:58]
+  wire [2:0] _atomics_T_5_opcode = 5'ha == s2_req_cmd ? 3'h3 : _atomics_T_3_opcode; // @[Mux.scala 81:58]
+  wire [2:0] _atomics_T_5_param = 5'ha == s2_req_cmd ? 3'h1 : _atomics_T_3_param; // @[Mux.scala 81:58]
+  wire [3:0] _atomics_T_5_size = 5'ha == s2_req_cmd ? atomics_a_size : _atomics_T_3_size; // @[Mux.scala 81:58]
+  wire  _atomics_T_5_source = 5'ha == s2_req_cmd ? a_source : _atomics_T_3_source; // @[Mux.scala 81:58]
+  wire [30:0] _atomics_T_5_address = 5'ha == s2_req_cmd ? atomics_a_address : _atomics_T_3_address; // @[Mux.scala 81:58]
+  wire [3:0] _atomics_T_5_mask = 5'ha == s2_req_cmd ? get_mask : _atomics_T_3_mask; // @[Mux.scala 81:58]
+  wire [31:0] _atomics_T_5_data = 5'ha == s2_req_cmd ? pstore1_data : _atomics_T_3_data; // @[Mux.scala 81:58]
+  wire [2:0] _atomics_T_7_opcode = 5'hb == s2_req_cmd ? 3'h3 : _atomics_T_5_opcode; // @[Mux.scala 81:58]
+  wire [2:0] _atomics_T_7_param = 5'hb == s2_req_cmd ? 3'h2 : _atomics_T_5_param; // @[Mux.scala 81:58]
+  wire [3:0] _atomics_T_7_size = 5'hb == s2_req_cmd ? atomics_a_size : _atomics_T_5_size; // @[Mux.scala 81:58]
+  wire  _atomics_T_7_source = 5'hb == s2_req_cmd ? a_source : _atomics_T_5_source; // @[Mux.scala 81:58]
+  wire [30:0] _atomics_T_7_address = 5'hb == s2_req_cmd ? atomics_a_address : _atomics_T_5_address; // @[Mux.scala 81:58]
+  wire [3:0] _atomics_T_7_mask = 5'hb == s2_req_cmd ? get_mask : _atomics_T_5_mask; // @[Mux.scala 81:58]
+  wire [31:0] _atomics_T_7_data = 5'hb == s2_req_cmd ? pstore1_data : _atomics_T_5_data; // @[Mux.scala 81:58]
+  wire [2:0] _atomics_T_9_opcode = 5'h8 == s2_req_cmd ? 3'h2 : _atomics_T_7_opcode; // @[Mux.scala 81:58]
+  wire [2:0] _atomics_T_9_param = 5'h8 == s2_req_cmd ? 3'h4 : _atomics_T_7_param; // @[Mux.scala 81:58]
+  wire [3:0] _atomics_T_9_size = 5'h8 == s2_req_cmd ? atomics_a_size : _atomics_T_7_size; // @[Mux.scala 81:58]
+  wire  _atomics_T_9_source = 5'h8 == s2_req_cmd ? a_source : _atomics_T_7_source; // @[Mux.scala 81:58]
+  wire [30:0] _atomics_T_9_address = 5'h8 == s2_req_cmd ? atomics_a_address : _atomics_T_7_address; // @[Mux.scala 81:58]
+  wire [3:0] _atomics_T_9_mask = 5'h8 == s2_req_cmd ? get_mask : _atomics_T_7_mask; // @[Mux.scala 81:58]
+  wire [31:0] _atomics_T_9_data = 5'h8 == s2_req_cmd ? pstore1_data : _atomics_T_7_data; // @[Mux.scala 81:58]
+  wire [2:0] _atomics_T_11_opcode = 5'hc == s2_req_cmd ? 3'h2 : _atomics_T_9_opcode; // @[Mux.scala 81:58]
+  wire [2:0] _atomics_T_11_param = 5'hc == s2_req_cmd ? 3'h0 : _atomics_T_9_param; // @[Mux.scala 81:58]
+  wire [3:0] _atomics_T_11_size = 5'hc == s2_req_cmd ? atomics_a_size : _atomics_T_9_size; // @[Mux.scala 81:58]
+  wire  _atomics_T_11_source = 5'hc == s2_req_cmd ? a_source : _atomics_T_9_source; // @[Mux.scala 81:58]
+  wire [30:0] _atomics_T_11_address = 5'hc == s2_req_cmd ? atomics_a_address : _atomics_T_9_address; // @[Mux.scala 81:58]
+  wire [3:0] _atomics_T_11_mask = 5'hc == s2_req_cmd ? get_mask : _atomics_T_9_mask; // @[Mux.scala 81:58]
+  wire [31:0] _atomics_T_11_data = 5'hc == s2_req_cmd ? pstore1_data : _atomics_T_9_data; // @[Mux.scala 81:58]
+  wire [2:0] _atomics_T_13_opcode = 5'hd == s2_req_cmd ? 3'h2 : _atomics_T_11_opcode; // @[Mux.scala 81:58]
+  wire [2:0] _atomics_T_13_param = 5'hd == s2_req_cmd ? 3'h1 : _atomics_T_11_param; // @[Mux.scala 81:58]
+  wire [3:0] _atomics_T_13_size = 5'hd == s2_req_cmd ? atomics_a_size : _atomics_T_11_size; // @[Mux.scala 81:58]
+  wire  _atomics_T_13_source = 5'hd == s2_req_cmd ? a_source : _atomics_T_11_source; // @[Mux.scala 81:58]
+  wire [30:0] _atomics_T_13_address = 5'hd == s2_req_cmd ? atomics_a_address : _atomics_T_11_address; // @[Mux.scala 81:58]
+  wire [3:0] _atomics_T_13_mask = 5'hd == s2_req_cmd ? get_mask : _atomics_T_11_mask; // @[Mux.scala 81:58]
+  wire [31:0] _atomics_T_13_data = 5'hd == s2_req_cmd ? pstore1_data : _atomics_T_11_data; // @[Mux.scala 81:58]
+  wire [2:0] _atomics_T_15_opcode = 5'he == s2_req_cmd ? 3'h2 : _atomics_T_13_opcode; // @[Mux.scala 81:58]
+  wire [2:0] _atomics_T_15_param = 5'he == s2_req_cmd ? 3'h2 : _atomics_T_13_param; // @[Mux.scala 81:58]
+  wire [3:0] _atomics_T_15_size = 5'he == s2_req_cmd ? atomics_a_size : _atomics_T_13_size; // @[Mux.scala 81:58]
+  wire  _atomics_T_15_source = 5'he == s2_req_cmd ? a_source : _atomics_T_13_source; // @[Mux.scala 81:58]
+  wire [30:0] _atomics_T_15_address = 5'he == s2_req_cmd ? atomics_a_address : _atomics_T_13_address; // @[Mux.scala 81:58]
+  wire [3:0] _atomics_T_15_mask = 5'he == s2_req_cmd ? get_mask : _atomics_T_13_mask; // @[Mux.scala 81:58]
+  wire [31:0] _atomics_T_15_data = 5'he == s2_req_cmd ? pstore1_data : _atomics_T_13_data; // @[Mux.scala 81:58]
+  wire [2:0] atomics_opcode = 5'hf == s2_req_cmd ? 3'h2 : _atomics_T_15_opcode; // @[Mux.scala 81:58]
+  wire [2:0] atomics_param = 5'hf == s2_req_cmd ? 3'h3 : _atomics_T_15_param; // @[Mux.scala 81:58]
+  wire [3:0] atomics_size = 5'hf == s2_req_cmd ? atomics_a_size : _atomics_T_15_size; // @[Mux.scala 81:58]
+  wire  atomics_source = 5'hf == s2_req_cmd ? a_source : _atomics_T_15_source; // @[Mux.scala 81:58]
+  wire [30:0] atomics_address = 5'hf == s2_req_cmd ? atomics_a_address : _atomics_T_15_address; // @[Mux.scala 81:58]
+  wire [3:0] atomics_mask = 5'hf == s2_req_cmd ? get_mask : _atomics_T_15_mask; // @[Mux.scala 81:58]
+  wire [31:0] atomics_data = 5'hf == s2_req_cmd ? pstore1_data : _atomics_T_15_data; // @[Mux.scala 81:58]
+  wire [31:0] _GEN_359 = {{1'd0}, release_ack_addr}; // @[DCache.scala 581:43]
+  wire [31:0] _tl_out_a_valid_T_1 = s2_req_addr ^ _GEN_359; // @[DCache.scala 581:43]
+  wire  _tl_out_a_valid_T_5 = ~(release_ack_wait & _tl_out_a_valid_T_1[21:6] == 16'h0); // @[DCache.scala 581:8]
+  wire  _tl_out_a_valid_T_6 = s2_valid_cached_miss & _tl_out_a_valid_T_5; // @[DCache.scala 580:29]
+  wire  _tl_out_a_valid_T_7 = ~release_ack_wait; // @[DCache.scala 582:45]
+  wire  _tl_out_a_valid_T_10 = ~s2_victim_dirty; // @[DCache.scala 582:89]
+  wire  _tl_out_a_valid_T_12 = _tl_out_a_valid_T_6 & _tl_out_a_valid_T_10; // @[DCache.scala 581:125]
+  wire  tl_out_a_valid = s2_valid_uncached_pending | _tl_out_a_valid_T_12; // @[DCache.scala 579:32]
+  wire [2:0] _tl_out_a_bits_T_6_opcode = ~s2_read ? 3'h0 : atomics_opcode; // @[DCache.scala 586:8]
+  wire [2:0] _tl_out_a_bits_T_6_param = ~s2_read ? 3'h0 : atomics_param; // @[DCache.scala 586:8]
+  wire [3:0] _tl_out_a_bits_T_6_size = ~s2_read ? atomics_a_size : atomics_size; // @[DCache.scala 586:8]
+  wire  _tl_out_a_bits_T_6_source = ~s2_read ? a_source : atomics_source; // @[DCache.scala 586:8]
+  wire [30:0] _tl_out_a_bits_T_6_address = ~s2_read ? atomics_a_address : atomics_address; // @[DCache.scala 586:8]
+  wire [3:0] _tl_out_a_bits_T_6_mask = ~s2_read ? get_mask : atomics_mask; // @[DCache.scala 586:8]
+  wire [31:0] _tl_out_a_bits_T_6_data = ~s2_read ? pstore1_data : atomics_data; // @[DCache.scala 586:8]
+  wire [2:0] _tl_out_a_bits_T_7_opcode = _s2_write_T_1 ? 3'h1 : _tl_out_a_bits_T_6_opcode; // @[DCache.scala 585:8]
+  wire [2:0] _tl_out_a_bits_T_7_param = _s2_write_T_1 ? 3'h0 : _tl_out_a_bits_T_6_param; // @[DCache.scala 585:8]
+  wire [3:0] _tl_out_a_bits_T_7_size = _s2_write_T_1 ? atomics_a_size : _tl_out_a_bits_T_6_size; // @[DCache.scala 585:8]
+  wire  _tl_out_a_bits_T_7_source = _s2_write_T_1 ? a_source : _tl_out_a_bits_T_6_source; // @[DCache.scala 585:8]
+  wire [30:0] _tl_out_a_bits_T_7_address = _s2_write_T_1 ? atomics_a_address : _tl_out_a_bits_T_6_address; // @[DCache.scala 585:8]
+  wire [3:0] putpartial_mask = a_mask[3:0]; // @[Edges.scala 483:17 489:15]
+  wire [3:0] _tl_out_a_bits_T_7_mask = _s2_write_T_1 ? putpartial_mask : _tl_out_a_bits_T_6_mask; // @[DCache.scala 585:8]
+  wire [31:0] _tl_out_a_bits_T_7_data = _s2_write_T_1 ? pstore1_data : _tl_out_a_bits_T_6_data; // @[DCache.scala 585:8]
+  wire [2:0] _tl_out_a_bits_T_8_opcode = ~s2_write ? 3'h4 : _tl_out_a_bits_T_7_opcode; // @[DCache.scala 584:8]
+  wire [2:0] _tl_out_a_bits_T_8_param = ~s2_write ? 3'h0 : _tl_out_a_bits_T_7_param; // @[DCache.scala 584:8]
+  wire [3:0] _tl_out_a_bits_T_8_size = ~s2_write ? atomics_a_size : _tl_out_a_bits_T_7_size; // @[DCache.scala 584:8]
+  wire  _tl_out_a_bits_T_8_source = ~s2_write ? a_source : _tl_out_a_bits_T_7_source; // @[DCache.scala 584:8]
+  wire [30:0] _tl_out_a_bits_T_8_address = ~s2_write ? atomics_a_address : _tl_out_a_bits_T_7_address; // @[DCache.scala 584:8]
+  wire [3:0] _tl_out_a_bits_T_8_mask = ~s2_write ? get_mask : _tl_out_a_bits_T_7_mask; // @[DCache.scala 584:8]
+  wire [31:0] _tl_out_a_bits_T_8_data = ~s2_write ? 32'h0 : _tl_out_a_bits_T_7_data; // @[DCache.scala 584:8]
+  wire [2:0] tl_out_a_bits_a_param = {{1'd0}, s2_grow_param}; // @[Edges.scala 345:17 347:15]
+  wire [30:0] tl_out_a_bits_a_address = acquire_address[30:0]; // @[Edges.scala 345:17 350:15]
+  wire [1:0] _a_sel_T = 2'h1 << a_source; // @[OneHot.scala 64:12]
+  wire  a_sel = _a_sel_T[1]; // @[DCache.scala 605:66]
+  wire  _T_253 = auto_out_a_ready & tl_out_a_valid; // @[Decoupled.scala 50:35]
+  wire  _GEN_141 = a_sel | uncachedInFlight_0; // @[DCache.scala 609:18 610:13 216:33]
+  wire  _GEN_154 = s2_uncached ? _GEN_141 : uncachedInFlight_0; // @[DCache.scala 607:24 216:33]
+  wire  _GEN_167 = s2_uncached ? cached_grant_wait : 1'h1; // @[DCache.scala 607:24 203:30 616:25]
+  wire  _GEN_169 = _T_253 ? _GEN_154 : uncachedInFlight_0; // @[DCache.scala 606:26 216:33]
+  wire  _GEN_182 = _T_253 ? _GEN_167 : cached_grant_wait; // @[DCache.scala 606:26 203:30]
+  wire [26:0] _beats1_decode_T_1 = 27'hfff << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _beats1_decode_T_3 = ~_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] beats1_decode = _beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  beats1_opdata = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire [9:0] beats1 = beats1_opdata ? beats1_decode : 10'h0; // @[Edges.scala 220:14]
+  wire [9:0] counter1 = counter - 10'h1; // @[Edges.scala 229:28]
+  wire  d_last = counter == 10'h1 | beats1 == 10'h0; // @[Edges.scala 231:37]
+  wire  d_done = d_last & _T_261; // @[Edges.scala 232:22]
+  wire [9:0] _count_T = ~counter1; // @[Edges.scala 233:27]
+  wire [9:0] count = beats1 & _count_T; // @[Edges.scala 233:25]
+  wire [11:0] d_address_inc = {count, 2'h0}; // @[Edges.scala 268:29]
+  wire  _tl_d_data_encoded_T_8 = ~grantIsUncached; // @[DCache.scala 638:129]
+  wire  grantIsVoluntary = auto_out_d_bits_opcode == 3'h6; // @[DCache.scala 640:32]
+  wire [2:0] _blockProbeAfterGrantCount_T_1 = blockProbeAfterGrantCount - 3'h1; // @[DCache.scala 644:97]
+  wire [2:0] _GEN_185 = _block_probe_for_core_progress_T ? _blockProbeAfterGrantCount_T_1 : blockProbeAfterGrantCount; // @[DCache.scala 643:38 644:{40,68}]
+  wire [1:0] _uncachedRespIdxOH_T = 2'h1 << auto_out_d_bits_source; // @[OneHot.scala 64:12]
+  wire  uncachedRespIdxOH = _uncachedRespIdxOH_T[1]; // @[DCache.scala 647:90]
+  wire  _T_266 = uncachedRespIdxOH & d_last; // @[DCache.scala 661:17]
+  wire  _GEN_190 = uncachedRespIdxOH & d_last ? 1'h0 : _GEN_169; // @[DCache.scala 661:28 663:13]
+  wire [30:0] dontCareBits = {s1_paddr[30:2], 2'h0}; // @[DCache.scala 676:55]
+  wire [30:0] _GEN_360 = {{29'd0}, uncachedReqs_0_addr[1:0]}; // @[DCache.scala 677:26]
+  wire [30:0] _s2_req_addr_T_1 = dontCareBits | _GEN_360; // @[DCache.scala 677:26]
+  wire  _GEN_198 = grantIsVoluntary ? 1'h0 : release_ack_wait; // @[DCache.scala 682:36 684:24 206:29]
+  wire  _GEN_207 = grantIsUncached ? release_ack_wait : _GEN_198; // @[DCache.scala 206:29 659:35]
+  wire  _GEN_211 = grantIsCached & d_last; // @[DCache.scala 650:26 Replacement.scala 38:11]
+  wire  _GEN_220 = grantIsCached ? release_ack_wait : _GEN_207; // @[DCache.scala 650:26 206:29]
+  wire  _GEN_233 = _T_261 ? _GEN_220 : release_ack_wait; // @[DCache.scala 649:26 206:29]
+  wire  tl_out__e_valid = grantIsRefill & ~dataArb_io_in_1_ready ? 1'h0 : auto_out_d_valid & d_first & grantIsCached &
+    canAcceptCachedGrant; // @[DCache.scala 689:18 697:51 698:20]
+  wire  _T_273 = auto_out_e_ready & tl_out__e_valid; // @[Decoupled.scala 50:35]
+  wire [31:0] _dataArb_io_in_1_bits_addr_T_1 = {s2_vaddr[31:6], 6'h0}; // @[DCache.scala 703:57]
+  wire [31:0] _GEN_361 = {{20'd0}, d_address_inc}; // @[DCache.scala 703:67]
+  wire [31:0] _dataArb_io_in_1_bits_addr_T_2 = _dataArb_io_in_1_bits_addr_T_1 | _GEN_361; // @[DCache.scala 703:67]
+  wire [3:0] _metaArb_io_in_3_bits_data_T_1 = {s2_write,_c_cat_T_49,auto_out_d_bits_param}; // @[Cat.scala 31:58]
+  wire [1:0] _metaArb_io_in_3_bits_data_T_11 = 4'h1 == _metaArb_io_in_3_bits_data_T_1 ? 2'h1 : 2'h0; // @[Mux.scala 81:58]
+  wire [1:0] _metaArb_io_in_3_bits_data_T_13 = 4'h0 == _metaArb_io_in_3_bits_data_T_1 ? 2'h2 :
+    _metaArb_io_in_3_bits_data_T_11; // @[Mux.scala 81:58]
+  wire [1:0] _metaArb_io_in_3_bits_data_T_15 = 4'h4 == _metaArb_io_in_3_bits_data_T_1 ? 2'h2 :
+    _metaArb_io_in_3_bits_data_T_13; // @[Mux.scala 81:58]
+  wire [1:0] metaArb_io_in_3_bits_data_meta_state = 4'hc == _metaArb_io_in_3_bits_data_T_1 ? 2'h3 :
+    _metaArb_io_in_3_bits_data_T_15; // @[Mux.scala 81:58]
+  wire  _GEN_236 = auto_out_d_valid ? 1'h0 : _GEN_36; // @[DCache.scala 730:29 731:26]
+  wire  _GEN_237 = auto_out_d_valid | auto_out_d_valid & grantIsRefill & canAcceptCachedGrant; // @[DCache.scala 696:26 730:29 732:32]
+  wire  _GEN_238 = auto_out_d_valid ? 1'h0 : 1'h1; // @[DCache.scala 730:29 702:33 733:37]
+  wire [31:0] _metaArb_io_in_6_bits_addr_T_1 = {io_cpu_req_bits_addr[31],auto_out_b_bits_address}; // @[Cat.scala 31:58]
+  wire [9:0] counter1_1 = counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire [9:0] _count_T_1 = ~counter1_1; // @[Edges.scala 233:27]
+  wire [9:0] c_count = beats1_1 & _count_T_1; // @[Edges.scala 233:25]
+  reg  s1_release_data_valid; // @[DCache.scala 776:34]
+  wire  releaseRejected = s2_release_data_valid & ~_T_287; // @[DCache.scala 778:44]
+  wire [10:0] _releaseDataBeat_T = {1'h0,c_count}; // @[Cat.scala 31:58]
+  wire [1:0] _releaseDataBeat_T_1 = {1'h0,s2_release_data_valid}; // @[Cat.scala 31:58]
+  wire [1:0] _GEN_362 = {{1'd0}, s1_release_data_valid}; // @[DCache.scala 779:101]
+  wire [1:0] _releaseDataBeat_T_3 = _GEN_362 + _releaseDataBeat_T_1; // @[DCache.scala 779:101]
+  wire [1:0] _releaseDataBeat_T_4 = releaseRejected ? 2'h0 : _releaseDataBeat_T_3; // @[DCache.scala 779:52]
+  wire [10:0] _GEN_363 = {{9'd0}, _releaseDataBeat_T_4}; // @[DCache.scala 779:47]
+  wire [10:0] releaseDataBeat = _releaseDataBeat_T + _GEN_363; // @[DCache.scala 779:47]
+  wire  discard_line = s2_valid_flush_line & s2_req_size[1]; // @[DCache.scala 793:46]
+  wire [3:0] _release_state_T_13 = s2_victim_dirty & ~discard_line ? 4'h1 : 4'h6; // @[DCache.scala 794:27]
+  wire [24:0] _probe_bits_T_2 = {s2_victim_tag,s2_req_addr[11:6]}; // @[Cat.scala 31:58]
+  wire [30:0] res_2_address = {_probe_bits_T_2, 6'h0}; // @[DCache.scala 797:96]
+  wire [3:0] _GEN_246 = s2_want_victimize ? _release_state_T_13 : release_state; // @[DCache.scala 791:25 794:21 208:26]
+  wire [3:0] _release_state_T_14 = releaseDone ? 4'h7 : 4'h3; // @[DCache.scala 808:29]
+  wire [3:0] _release_state_T_15 = releaseDone ? 4'h0 : 4'h5; // @[DCache.scala 812:29]
+  wire [2:0] _GEN_257 = _T_293 ? s2_report_param : 3'h5; // @[DCache.scala 786:17 805:45 807:23]
+  wire [3:0] _GEN_263 = _T_293 ? _release_state_T_14 : _release_state_T_15; // @[DCache.scala 805:45 808:23 812:23]
+  wire [3:0] _GEN_265 = s2_prb_ack_data ? 4'h2 : _GEN_263; // @[DCache.scala 803:36 804:23]
+  wire [2:0] _GEN_268 = s2_prb_ack_data ? 3'h5 : _GEN_257; // @[DCache.scala 786:17 803:36]
+  wire [3:0] _GEN_286 = s2_probe ? _GEN_265 : _GEN_246; // @[DCache.scala 799:21]
+  wire [2:0] _GEN_289 = s2_probe ? _GEN_268 : 3'h5; // @[DCache.scala 786:17 799:21]
+  wire [31:0] _metaArb_io_in_6_bits_addr_T_3 = {io_cpu_req_bits_addr[31],probe_bits_address}; // @[Cat.scala 31:58]
+  wire [3:0] _GEN_296 = metaArb_io_in_6_ready ? 4'h0 : _GEN_286; // @[DCache.scala 820:37 821:23]
+  wire  _GEN_297 = metaArb_io_in_6_ready | s1_probe_x16; // @[DCache.scala 820:37 822:18 163:21]
+  wire [3:0] _GEN_301 = release_state == 4'h4 ? _GEN_296 : _GEN_286; // @[DCache.scala 816:44]
+  wire [3:0] _GEN_303 = releaseDone ? 4'h0 : _GEN_301; // @[DCache.scala 827:{26,42}]
+  wire [3:0] _GEN_305 = release_state == 4'h5 ? _GEN_303 : _GEN_301; // @[DCache.scala 825:47]
+  wire [3:0] _GEN_306 = releaseDone ? 4'h7 : _GEN_305; // @[DCache.scala 832:{26,42}]
+  wire [2:0] _GEN_309 = release_state == 4'h3 ? s2_report_param : _GEN_289; // @[DCache.scala 829:48 831:21]
+  wire [3:0] _GEN_315 = release_state == 4'h3 ? _GEN_306 : _GEN_305; // @[DCache.scala 829:48]
+  wire [3:0] _GEN_316 = releaseDone ? 4'h7 : _GEN_315; // @[DCache.scala 836:{26,42}]
+  wire [2:0] _GEN_318 = release_state == 4'h2 ? s2_report_param : _GEN_309; // @[DCache.scala 834:48 835:21]
+  wire [3:0] _GEN_324 = release_state == 4'h2 ? _GEN_316 : _GEN_315; // @[DCache.scala 834:48]
+  wire  _GEN_333 = _T_287 & c_first | _GEN_233; // @[DCache.scala 854:41 855:26]
+  wire [1:0] newCoh_state = _T_302 ? voluntaryNewCoh_state : probeNewCoh_state; // @[DCache.scala 838:102 851:14]
+  wire [11:0] _dataArb_io_in_2_bits_addr_T_1 = {probe_bits_address[11:6], 6'h0}; // @[DCache.scala 878:55]
+  wire [5:0] _dataArb_io_in_2_bits_addr_T_3 = {releaseDataBeat[3:0], 2'h0}; // @[DCache.scala 878:117]
+  wire [11:0] _GEN_366 = {{6'd0}, _dataArb_io_in_2_bits_addr_T_3}; // @[DCache.scala 878:72]
+  wire  _metaArb_io_in_4_valid_T_1 = release_state == 4'h7; // @[package.scala 15:47]
+  wire [18:0] metaArb_io_in_4_bits_data_meta_tag = probe_bits_address[30:12]; // @[DCache.scala 888:78]
+  wire  _T_306 = metaArb_io_in_4_ready & metaArb_io_in_4_valid; // @[Decoupled.scala 50:35]
+  reg  io_cpu_s2_xcpt_REG; // @[DCache.scala 907:32]
+  reg  doUncachedResp; // @[DCache.scala 922:27]
+  wire [15:0] io_cpu_resp_bits_data_shifted = get_a_mask_bit ? s2_data_corrected[31:16] : s2_data_corrected[15:0]; // @[AMOALU.scala 39:24]
+  wire  _io_cpu_resp_bits_data_T_3 = s2_req_signed & io_cpu_resp_bits_data_shifted[15]; // @[AMOALU.scala 42:76]
+  wire [15:0] _io_cpu_resp_bits_data_T_5 = _io_cpu_resp_bits_data_T_3 ? 16'hffff : 16'h0; // @[Bitwise.scala 74:12]
+  wire [15:0] _io_cpu_resp_bits_data_T_7 = s2_req_size == 2'h1 ? _io_cpu_resp_bits_data_T_5 : s2_data_corrected[31:16]; // @[AMOALU.scala 42:20]
+  wire [31:0] _io_cpu_resp_bits_data_T_8 = {_io_cpu_resp_bits_data_T_7,io_cpu_resp_bits_data_shifted}; // @[Cat.scala 31:58]
+  wire [7:0] io_cpu_resp_bits_data_shifted_1 = get_a_mask_bit_1 ? _io_cpu_resp_bits_data_T_8[15:8] :
+    _io_cpu_resp_bits_data_T_8[7:0]; // @[AMOALU.scala 39:24]
+  wire [7:0] io_cpu_resp_bits_data_zeroed_1 = _s2_write_T_3 ? 8'h0 : io_cpu_resp_bits_data_shifted_1; // @[AMOALU.scala 41:23]
+  wire  _io_cpu_resp_bits_data_T_12 = s2_req_signed & io_cpu_resp_bits_data_zeroed_1[7]; // @[AMOALU.scala 42:76]
+  wire [23:0] _io_cpu_resp_bits_data_T_14 = _io_cpu_resp_bits_data_T_12 ? 24'hffffff : 24'h0; // @[Bitwise.scala 74:12]
+  wire [23:0] _io_cpu_resp_bits_data_T_16 = s2_req_size == 2'h0 | _s2_write_T_3 ? _io_cpu_resp_bits_data_T_14 :
+    _io_cpu_resp_bits_data_T_8[31:8]; // @[AMOALU.scala 42:20]
+  wire [31:0] _io_cpu_resp_bits_data_T_17 = {_io_cpu_resp_bits_data_T_16,io_cpu_resp_bits_data_zeroed_1}; // @[Cat.scala 31:58]
+  wire [31:0] _GEN_367 = {{31'd0}, s2_sc_fail}; // @[DCache.scala 948:41]
+  reg  REG; // @[DCache.scala 982:18]
+  wire  _GEN_351 = REG | resetting; // @[DCache.scala 204:26 982:{27,39}]
+  wire [6:0] flushCounterNext = flushCounter + 6'h1; // @[DCache.scala 983:39]
+  wire  flushDone = flushCounterNext[6]; // @[DCache.scala 984:37]
+  wire  _s1_flush_valid_T = metaArb_io_in_5_ready & metaArb_io_in_5_valid; // @[Decoupled.scala 50:35]
+  wire [11:0] _metaArb_io_in_5_bits_addr_T_1 = {metaArb_io_in_5_bits_idx, 6'h0}; // @[DCache.scala 992:98]
+  wire [6:0] _GEN_353 = resetting ? flushCounterNext : {{1'd0}, flushCounter}; // @[DCache.scala 1025:20 1026:18 205:25]
+  reg [9:0] io_cpu_perf_release_counter; // @[Edges.scala 228:27]
+  wire [9:0] io_cpu_perf_release_counter1 = io_cpu_perf_release_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  io_cpu_perf_release_first = io_cpu_perf_release_counter == 10'h0; // @[Edges.scala 230:25]
+  wire  io_cpu_perf_release_last = io_cpu_perf_release_counter == 10'h1 | beats1_1 == 10'h0; // @[Edges.scala 231:37]
+  wire  _T_322 = ~grantIsCached; // @[DCache.scala 1107:35]
+  wire  _GEN_380 = _T_261 & _T_322; // @[DCache.scala 662:17]
+  TLB tlb ( // @[DCache.scala 117:19]
+    .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_req_bits_prv(tlb_io_req_bits_prv),
+    .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_resp_cacheable(tlb_io_resp_cacheable),
+    .io_ptw_status_debug(tlb_io_ptw_status_debug),
+    .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)
+  );
+  TLB pma_checker ( // @[DCache.scala 118:27]
+    .io_req_valid(pma_checker_io_req_valid),
+    .io_req_bits_vaddr(pma_checker_io_req_bits_vaddr),
+    .io_req_bits_size(pma_checker_io_req_bits_size),
+    .io_req_bits_cmd(pma_checker_io_req_bits_cmd),
+    .io_req_bits_prv(pma_checker_io_req_bits_prv),
+    .io_resp_paddr(pma_checker_io_resp_paddr),
+    .io_resp_pf_ld(pma_checker_io_resp_pf_ld),
+    .io_resp_pf_st(pma_checker_io_resp_pf_st),
+    .io_resp_ae_ld(pma_checker_io_resp_ae_ld),
+    .io_resp_ae_st(pma_checker_io_resp_ae_st),
+    .io_resp_ma_ld(pma_checker_io_resp_ma_ld),
+    .io_resp_ma_st(pma_checker_io_resp_ma_st),
+    .io_resp_cacheable(pma_checker_io_resp_cacheable),
+    .io_ptw_status_debug(pma_checker_io_ptw_status_debug),
+    .io_ptw_pmp_0_cfg_l(pma_checker_io_ptw_pmp_0_cfg_l),
+    .io_ptw_pmp_0_cfg_a(pma_checker_io_ptw_pmp_0_cfg_a),
+    .io_ptw_pmp_0_cfg_x(pma_checker_io_ptw_pmp_0_cfg_x),
+    .io_ptw_pmp_0_cfg_w(pma_checker_io_ptw_pmp_0_cfg_w),
+    .io_ptw_pmp_0_cfg_r(pma_checker_io_ptw_pmp_0_cfg_r),
+    .io_ptw_pmp_0_addr(pma_checker_io_ptw_pmp_0_addr),
+    .io_ptw_pmp_0_mask(pma_checker_io_ptw_pmp_0_mask),
+    .io_ptw_pmp_1_cfg_l(pma_checker_io_ptw_pmp_1_cfg_l),
+    .io_ptw_pmp_1_cfg_a(pma_checker_io_ptw_pmp_1_cfg_a),
+    .io_ptw_pmp_1_cfg_x(pma_checker_io_ptw_pmp_1_cfg_x),
+    .io_ptw_pmp_1_cfg_w(pma_checker_io_ptw_pmp_1_cfg_w),
+    .io_ptw_pmp_1_cfg_r(pma_checker_io_ptw_pmp_1_cfg_r),
+    .io_ptw_pmp_1_addr(pma_checker_io_ptw_pmp_1_addr),
+    .io_ptw_pmp_1_mask(pma_checker_io_ptw_pmp_1_mask),
+    .io_ptw_pmp_2_cfg_l(pma_checker_io_ptw_pmp_2_cfg_l),
+    .io_ptw_pmp_2_cfg_a(pma_checker_io_ptw_pmp_2_cfg_a),
+    .io_ptw_pmp_2_cfg_x(pma_checker_io_ptw_pmp_2_cfg_x),
+    .io_ptw_pmp_2_cfg_w(pma_checker_io_ptw_pmp_2_cfg_w),
+    .io_ptw_pmp_2_cfg_r(pma_checker_io_ptw_pmp_2_cfg_r),
+    .io_ptw_pmp_2_addr(pma_checker_io_ptw_pmp_2_addr),
+    .io_ptw_pmp_2_mask(pma_checker_io_ptw_pmp_2_mask),
+    .io_ptw_pmp_3_cfg_l(pma_checker_io_ptw_pmp_3_cfg_l),
+    .io_ptw_pmp_3_cfg_a(pma_checker_io_ptw_pmp_3_cfg_a),
+    .io_ptw_pmp_3_cfg_x(pma_checker_io_ptw_pmp_3_cfg_x),
+    .io_ptw_pmp_3_cfg_w(pma_checker_io_ptw_pmp_3_cfg_w),
+    .io_ptw_pmp_3_cfg_r(pma_checker_io_ptw_pmp_3_cfg_r),
+    .io_ptw_pmp_3_addr(pma_checker_io_ptw_pmp_3_addr),
+    .io_ptw_pmp_3_mask(pma_checker_io_ptw_pmp_3_mask),
+    .io_ptw_pmp_4_cfg_l(pma_checker_io_ptw_pmp_4_cfg_l),
+    .io_ptw_pmp_4_cfg_a(pma_checker_io_ptw_pmp_4_cfg_a),
+    .io_ptw_pmp_4_cfg_x(pma_checker_io_ptw_pmp_4_cfg_x),
+    .io_ptw_pmp_4_cfg_w(pma_checker_io_ptw_pmp_4_cfg_w),
+    .io_ptw_pmp_4_cfg_r(pma_checker_io_ptw_pmp_4_cfg_r),
+    .io_ptw_pmp_4_addr(pma_checker_io_ptw_pmp_4_addr),
+    .io_ptw_pmp_4_mask(pma_checker_io_ptw_pmp_4_mask),
+    .io_ptw_pmp_5_cfg_l(pma_checker_io_ptw_pmp_5_cfg_l),
+    .io_ptw_pmp_5_cfg_a(pma_checker_io_ptw_pmp_5_cfg_a),
+    .io_ptw_pmp_5_cfg_x(pma_checker_io_ptw_pmp_5_cfg_x),
+    .io_ptw_pmp_5_cfg_w(pma_checker_io_ptw_pmp_5_cfg_w),
+    .io_ptw_pmp_5_cfg_r(pma_checker_io_ptw_pmp_5_cfg_r),
+    .io_ptw_pmp_5_addr(pma_checker_io_ptw_pmp_5_addr),
+    .io_ptw_pmp_5_mask(pma_checker_io_ptw_pmp_5_mask),
+    .io_ptw_pmp_6_cfg_l(pma_checker_io_ptw_pmp_6_cfg_l),
+    .io_ptw_pmp_6_cfg_a(pma_checker_io_ptw_pmp_6_cfg_a),
+    .io_ptw_pmp_6_cfg_x(pma_checker_io_ptw_pmp_6_cfg_x),
+    .io_ptw_pmp_6_cfg_w(pma_checker_io_ptw_pmp_6_cfg_w),
+    .io_ptw_pmp_6_cfg_r(pma_checker_io_ptw_pmp_6_cfg_r),
+    .io_ptw_pmp_6_addr(pma_checker_io_ptw_pmp_6_addr),
+    .io_ptw_pmp_6_mask(pma_checker_io_ptw_pmp_6_mask),
+    .io_ptw_pmp_7_cfg_l(pma_checker_io_ptw_pmp_7_cfg_l),
+    .io_ptw_pmp_7_cfg_a(pma_checker_io_ptw_pmp_7_cfg_a),
+    .io_ptw_pmp_7_cfg_x(pma_checker_io_ptw_pmp_7_cfg_x),
+    .io_ptw_pmp_7_cfg_w(pma_checker_io_ptw_pmp_7_cfg_w),
+    .io_ptw_pmp_7_cfg_r(pma_checker_io_ptw_pmp_7_cfg_r),
+    .io_ptw_pmp_7_addr(pma_checker_io_ptw_pmp_7_addr),
+    .io_ptw_pmp_7_mask(pma_checker_io_ptw_pmp_7_mask)
+  );
+  MaxPeriodFibonacciLFSR lfsr_prng ( // @[PRNG.scala 91:22]
+    .clock(lfsr_prng_clock),
+    .reset(lfsr_prng_reset),
+    .io_increment(lfsr_prng_io_increment),
+    .io_out_0(lfsr_prng_io_out_0),
+    .io_out_1(lfsr_prng_io_out_1),
+    .io_out_2(lfsr_prng_io_out_2),
+    .io_out_3(lfsr_prng_io_out_3),
+    .io_out_4(lfsr_prng_io_out_4),
+    .io_out_5(lfsr_prng_io_out_5),
+    .io_out_6(lfsr_prng_io_out_6),
+    .io_out_7(lfsr_prng_io_out_7),
+    .io_out_8(lfsr_prng_io_out_8),
+    .io_out_9(lfsr_prng_io_out_9),
+    .io_out_10(lfsr_prng_io_out_10),
+    .io_out_11(lfsr_prng_io_out_11),
+    .io_out_12(lfsr_prng_io_out_12),
+    .io_out_13(lfsr_prng_io_out_13),
+    .io_out_14(lfsr_prng_io_out_14),
+    .io_out_15(lfsr_prng_io_out_15)
+  );
+  DCacheModuleImpl_Anon_1 metaArb ( // @[DCache.scala 122:23]
+    .io_in_0_valid(metaArb_io_in_0_valid),
+    .io_in_0_bits_addr(metaArb_io_in_0_bits_addr),
+    .io_in_0_bits_idx(metaArb_io_in_0_bits_idx),
+    .io_in_2_valid(metaArb_io_in_2_valid),
+    .io_in_2_bits_addr(metaArb_io_in_2_bits_addr),
+    .io_in_2_bits_idx(metaArb_io_in_2_bits_idx),
+    .io_in_2_bits_data(metaArb_io_in_2_bits_data),
+    .io_in_3_valid(metaArb_io_in_3_valid),
+    .io_in_3_bits_addr(metaArb_io_in_3_bits_addr),
+    .io_in_3_bits_idx(metaArb_io_in_3_bits_idx),
+    .io_in_3_bits_data(metaArb_io_in_3_bits_data),
+    .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_4_bits_idx(metaArb_io_in_4_bits_idx),
+    .io_in_4_bits_data(metaArb_io_in_4_bits_data),
+    .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_6_ready(metaArb_io_in_6_ready),
+    .io_in_6_valid(metaArb_io_in_6_valid),
+    .io_in_6_bits_addr(metaArb_io_in_6_bits_addr),
+    .io_in_6_bits_idx(metaArb_io_in_6_bits_idx),
+    .io_in_6_bits_data(metaArb_io_in_6_bits_data),
+    .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_in_7_bits_idx(metaArb_io_in_7_bits_idx),
+    .io_in_7_bits_data(metaArb_io_in_7_bits_data),
+    .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),
+    .io_out_bits_idx(metaArb_io_out_bits_idx),
+    .io_out_bits_data(metaArb_io_out_bits_data)
+  );
+  tag_array tag_array ( // @[DescribedSRAM.scala 19:26]
+    .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_rdata_0(tag_array_RW0_rdata_0), // <no_sram>
+    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr), // <no_sram>
+    .tag_array_ext_RW0_en(tag_array_ext_RW0_en), // <no_sram>
+    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk), // <no_sram>
+    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode), // <no_sram>
+    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata), // <no_sram>
+    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata) // <no_sram>
+  );
+  DCacheDataArray data ( // @[DCache.scala 132:20]
+    .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), // <no_sram>
+    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask) // <no_sram>
+  );
+  DCacheModuleImpl_Anon_2 dataArb ( // @[DCache.scala 133:23]
+    .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_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_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_wordMask(dataArb_io_in_3_bits_wordMask),
+    .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)
+  );
+  AMOALU amoalu ( // @[DCache.scala 956:26]
+    .io_mask(amoalu_io_mask),
+    .io_cmd(amoalu_io_cmd),
+    .io_lhs(amoalu_io_lhs),
+    .io_rhs(amoalu_io_rhs),
+    .io_out(amoalu_io_out)
+  );
+  assign auto_out_a_valid = s2_valid_uncached_pending | _tl_out_a_valid_T_12; // @[DCache.scala 579:32]
+  assign auto_out_a_bits_opcode = _s2_valid_cached_miss_T ? 3'h6 : _tl_out_a_bits_T_8_opcode; // @[DCache.scala 583:23]
+  assign auto_out_a_bits_param = _s2_valid_cached_miss_T ? tl_out_a_bits_a_param : _tl_out_a_bits_T_8_param; // @[DCache.scala 583:23]
+  assign auto_out_a_bits_size = _s2_valid_cached_miss_T ? 4'h6 : _tl_out_a_bits_T_8_size; // @[DCache.scala 583:23]
+  assign auto_out_a_bits_source = _s2_valid_cached_miss_T ? 1'h0 : _tl_out_a_bits_T_8_source; // @[DCache.scala 583:23]
+  assign auto_out_a_bits_address = _s2_valid_cached_miss_T ? tl_out_a_bits_a_address : _tl_out_a_bits_T_8_address; // @[DCache.scala 583:23]
+  assign auto_out_a_bits_mask = _s2_valid_cached_miss_T ? 4'hf : _tl_out_a_bits_T_8_mask; // @[DCache.scala 583:23]
+  assign auto_out_a_bits_data = _s2_valid_cached_miss_T ? 32'h0 : _tl_out_a_bits_T_8_data; // @[DCache.scala 583:23]
+  assign auto_out_b_ready = metaArb_io_in_6_ready & ~(block_probe_for_core_progress | block_probe_for_ordering |
+    s1_valid | s2_valid); // @[DCache.scala 745:44]
+  assign auto_out_c_valid = release_state == 4'h3 | _GEN_304; // @[DCache.scala 829:48 830:22]
+  assign auto_out_c_bits_opcode = _T_302 ? _GEN_325 : _GEN_317; // @[DCache.scala 838:102]
+  assign auto_out_c_bits_param = _T_302 ? s2_shrink_param : _GEN_318; // @[DCache.scala 838:102]
+  assign auto_out_c_bits_size = _T_302 ? 4'h6 : probe_bits_size; // @[DCache.scala 838:102]
+  assign auto_out_c_bits_source = probe_bits_source; // @[Nodes.scala 1207:84 DCache.scala 859:26]
+  assign auto_out_c_bits_address = probe_bits_address; // @[Nodes.scala 1207:84 DCache.scala 860:27]
+  assign auto_out_c_bits_data = {s2_data_corrected_hi,s2_data_corrected_lo}; // @[Cat.scala 31:58]
+  assign auto_out_d_ready = grantIsUncachedData & (blockUncachedGrant | s1_valid) ? 1'h0 : _GEN_235; // @[DCache.scala 727:68 728:22]
+  assign auto_out_e_valid = grantIsRefill & ~dataArb_io_in_1_ready ? 1'h0 : auto_out_d_valid & d_first & grantIsCached
+     & canAcceptCachedGrant; // @[DCache.scala 689:18 697:51 698:20]
+  assign auto_out_e_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign io_cpu_req_ready = grantIsUncachedData & (blockUncachedGrant | s1_valid) ? _GEN_236 : _GEN_36; // @[DCache.scala 727:68]
+  assign io_cpu_s2_nack = s2_valid_no_xcpt & ~s2_dont_nack_uncached & ~s2_dont_nack_misc & ~
+    s2_valid_hit_pre_data_ecc_and_waw; // @[DCache.scala 420:86]
+  assign io_cpu_resp_valid = s2_valid_hit_pre_data_ecc_and_waw | doUncachedResp; // @[DCache.scala 923:51]
+  assign io_cpu_resp_bits_addr = doUncachedResp ? s2_uncached_resp_addr : s2_req_addr; // @[DCache.scala 892:20 925:25 928:27]
+  assign io_cpu_resp_bits_tag = s2_req_tag; // @[DCache.scala 892:20]
+  assign io_cpu_resp_bits_cmd = s2_req_cmd; // @[DCache.scala 892:20]
+  assign io_cpu_resp_bits_size = s2_req_size; // @[DCache.scala 892:20]
+  assign io_cpu_resp_bits_signed = s2_req_signed; // @[DCache.scala 892:20]
+  assign io_cpu_resp_bits_dprv = s2_req_dprv; // @[DCache.scala 892:20]
+  assign io_cpu_resp_bits_dv = 1'h0; // @[DCache.scala 892:20]
+  assign io_cpu_resp_bits_data = _io_cpu_resp_bits_data_T_17 | _GEN_367; // @[DCache.scala 948:41]
+  assign io_cpu_resp_bits_mask = 4'h0; // @[DCache.scala 892:20]
+  assign io_cpu_resp_bits_replay = doUncachedResp; // @[DCache.scala 925:25 894:27 927:29]
+  assign io_cpu_resp_bits_has_data = _s2_read_T_6 | _s2_write_T_21; // @[Consts.scala 84:68]
+  assign io_cpu_resp_bits_data_word_bypass = {s2_data_corrected_hi,s2_data_corrected_lo}; // @[Cat.scala 31:58]
+  assign io_cpu_resp_bits_data_raw = {s2_data_corrected_hi,s2_data_corrected_lo}; // @[Cat.scala 31:58]
+  assign io_cpu_resp_bits_store_data = pstore1_data; // @[DCache.scala 951:31]
+  assign io_cpu_replay_next = _T_261 & grantIsUncachedData; // @[DCache.scala 924:41]
+  assign io_cpu_s2_xcpt_ma_ld = io_cpu_s2_xcpt_REG & s2_tlb_xcpt_ma_ld; // @[DCache.scala 907:24]
+  assign io_cpu_s2_xcpt_ma_st = io_cpu_s2_xcpt_REG & s2_tlb_xcpt_ma_st; // @[DCache.scala 907:24]
+  assign io_cpu_s2_xcpt_pf_ld = io_cpu_s2_xcpt_REG & s2_tlb_xcpt_pf_ld; // @[DCache.scala 907:24]
+  assign io_cpu_s2_xcpt_pf_st = io_cpu_s2_xcpt_REG & s2_tlb_xcpt_pf_st; // @[DCache.scala 907:24]
+  assign io_cpu_s2_xcpt_gf_ld = 1'h0; // @[DCache.scala 907:24]
+  assign io_cpu_s2_xcpt_gf_st = 1'h0; // @[DCache.scala 907:24]
+  assign io_cpu_s2_xcpt_ae_ld = io_cpu_s2_xcpt_REG & s2_tlb_xcpt_ae_ld; // @[DCache.scala 907:24]
+  assign io_cpu_s2_xcpt_ae_st = io_cpu_s2_xcpt_REG & s2_tlb_xcpt_ae_st; // @[DCache.scala 907:24]
+  assign io_cpu_ordered = ~(s1_valid | s2_valid | cached_grant_wait | _s2_valid_cached_miss_T_2); // @[DCache.scala 904:21]
+  assign io_cpu_perf_release = io_cpu_perf_release_last & _T_287; // @[Edges.scala 232:22]
+  assign io_cpu_perf_grant = auto_out_d_valid & d_last; // @[DCache.scala 1052:39]
+  assign tlb_io_req_valid = s1_valid_masked & s1_cmd_uses_tlb; // @[DCache.scala 253:71]
+  assign tlb_io_req_bits_vaddr = s1_tlb_req_vaddr; // @[DCache.scala 254:19]
+  assign tlb_io_req_bits_size = s1_tlb_req_size; // @[DCache.scala 254:19]
+  assign tlb_io_req_bits_cmd = s1_tlb_req_cmd; // @[DCache.scala 254:19]
+  assign tlb_io_req_bits_prv = s1_tlb_req_prv; // @[DCache.scala 254:19]
+  assign tlb_io_ptw_status_debug = io_ptw_status_debug; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_0_addr = io_ptw_pmp_0_addr; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_0_mask = io_ptw_pmp_0_mask; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_1_addr = io_ptw_pmp_1_addr; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_1_mask = io_ptw_pmp_1_mask; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_2_addr = io_ptw_pmp_2_addr; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_2_mask = io_ptw_pmp_2_mask; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_3_addr = io_ptw_pmp_3_addr; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_3_mask = io_ptw_pmp_3_mask; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_4_addr = io_ptw_pmp_4_addr; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_4_mask = io_ptw_pmp_4_mask; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_5_addr = io_ptw_pmp_5_addr; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_5_mask = io_ptw_pmp_5_mask; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_6_addr = io_ptw_pmp_6_addr; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_6_mask = io_ptw_pmp_6_mask; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_7_addr = io_ptw_pmp_7_addr; // @[DCache.scala 251:10]
+  assign tlb_io_ptw_pmp_7_mask = io_ptw_pmp_7_mask; // @[DCache.scala 251:10]
+  assign pma_checker_io_req_valid = 1'h0;
+  assign pma_checker_io_req_bits_vaddr = 32'h0;
+  assign pma_checker_io_req_bits_size = s1_req_size; // @[DCache.scala 271:27]
+  assign pma_checker_io_req_bits_cmd = s1_req_cmd; // @[DCache.scala 271:27]
+  assign pma_checker_io_req_bits_prv = 2'h0;
+  assign pma_checker_io_ptw_status_debug = 1'h0;
+  assign pma_checker_io_ptw_pmp_0_cfg_l = 1'h0;
+  assign pma_checker_io_ptw_pmp_0_cfg_a = 2'h0;
+  assign pma_checker_io_ptw_pmp_0_cfg_x = 1'h0;
+  assign pma_checker_io_ptw_pmp_0_cfg_w = 1'h0;
+  assign pma_checker_io_ptw_pmp_0_cfg_r = 1'h0;
+  assign pma_checker_io_ptw_pmp_0_addr = 29'h0;
+  assign pma_checker_io_ptw_pmp_0_mask = 31'h0;
+  assign pma_checker_io_ptw_pmp_1_cfg_l = 1'h0;
+  assign pma_checker_io_ptw_pmp_1_cfg_a = 2'h0;
+  assign pma_checker_io_ptw_pmp_1_cfg_x = 1'h0;
+  assign pma_checker_io_ptw_pmp_1_cfg_w = 1'h0;
+  assign pma_checker_io_ptw_pmp_1_cfg_r = 1'h0;
+  assign pma_checker_io_ptw_pmp_1_addr = 29'h0;
+  assign pma_checker_io_ptw_pmp_1_mask = 31'h0;
+  assign pma_checker_io_ptw_pmp_2_cfg_l = 1'h0;
+  assign pma_checker_io_ptw_pmp_2_cfg_a = 2'h0;
+  assign pma_checker_io_ptw_pmp_2_cfg_x = 1'h0;
+  assign pma_checker_io_ptw_pmp_2_cfg_w = 1'h0;
+  assign pma_checker_io_ptw_pmp_2_cfg_r = 1'h0;
+  assign pma_checker_io_ptw_pmp_2_addr = 29'h0;
+  assign pma_checker_io_ptw_pmp_2_mask = 31'h0;
+  assign pma_checker_io_ptw_pmp_3_cfg_l = 1'h0;
+  assign pma_checker_io_ptw_pmp_3_cfg_a = 2'h0;
+  assign pma_checker_io_ptw_pmp_3_cfg_x = 1'h0;
+  assign pma_checker_io_ptw_pmp_3_cfg_w = 1'h0;
+  assign pma_checker_io_ptw_pmp_3_cfg_r = 1'h0;
+  assign pma_checker_io_ptw_pmp_3_addr = 29'h0;
+  assign pma_checker_io_ptw_pmp_3_mask = 31'h0;
+  assign pma_checker_io_ptw_pmp_4_cfg_l = 1'h0;
+  assign pma_checker_io_ptw_pmp_4_cfg_a = 2'h0;
+  assign pma_checker_io_ptw_pmp_4_cfg_x = 1'h0;
+  assign pma_checker_io_ptw_pmp_4_cfg_w = 1'h0;
+  assign pma_checker_io_ptw_pmp_4_cfg_r = 1'h0;
+  assign pma_checker_io_ptw_pmp_4_addr = 29'h0;
+  assign pma_checker_io_ptw_pmp_4_mask = 31'h0;
+  assign pma_checker_io_ptw_pmp_5_cfg_l = 1'h0;
+  assign pma_checker_io_ptw_pmp_5_cfg_a = 2'h0;
+  assign pma_checker_io_ptw_pmp_5_cfg_x = 1'h0;
+  assign pma_checker_io_ptw_pmp_5_cfg_w = 1'h0;
+  assign pma_checker_io_ptw_pmp_5_cfg_r = 1'h0;
+  assign pma_checker_io_ptw_pmp_5_addr = 29'h0;
+  assign pma_checker_io_ptw_pmp_5_mask = 31'h0;
+  assign pma_checker_io_ptw_pmp_6_cfg_l = 1'h0;
+  assign pma_checker_io_ptw_pmp_6_cfg_a = 2'h0;
+  assign pma_checker_io_ptw_pmp_6_cfg_x = 1'h0;
+  assign pma_checker_io_ptw_pmp_6_cfg_w = 1'h0;
+  assign pma_checker_io_ptw_pmp_6_cfg_r = 1'h0;
+  assign pma_checker_io_ptw_pmp_6_addr = 29'h0;
+  assign pma_checker_io_ptw_pmp_6_mask = 31'h0;
+  assign pma_checker_io_ptw_pmp_7_cfg_l = 1'h0;
+  assign pma_checker_io_ptw_pmp_7_cfg_a = 2'h0;
+  assign pma_checker_io_ptw_pmp_7_cfg_x = 1'h0;
+  assign pma_checker_io_ptw_pmp_7_cfg_w = 1'h0;
+  assign pma_checker_io_ptw_pmp_7_cfg_r = 1'h0;
+  assign pma_checker_io_ptw_pmp_7_addr = 29'h0;
+  assign pma_checker_io_ptw_pmp_7_mask = 31'h0;
+  assign lfsr_prng_clock = clock;
+  assign lfsr_prng_reset = reset;
+  assign lfsr_prng_io_increment = _T_261 & _GEN_211; // @[DCache.scala 649:26 Replacement.scala 38:11]
+  assign metaArb_io_in_0_valid = resetting; // @[DCache.scala 1020:26]
+  assign metaArb_io_in_0_bits_addr = metaArb_io_in_5_bits_addr; // @[DCache.scala 1021:25]
+  assign metaArb_io_in_0_bits_idx = metaArb_io_in_5_bits_idx; // @[DCache.scala 1021:25]
+  assign metaArb_io_in_2_valid = s2_valid_hit_pre_data_ecc_and_waw & s2_update_meta; // @[DCache.scala 437:63]
+  assign metaArb_io_in_2_bits_addr = {io_cpu_req_bits_addr[31:12],s2_vaddr[11:0]}; // @[Cat.scala 31:58]
+  assign metaArb_io_in_2_bits_idx = s2_vaddr[11:6]; // @[DCache.scala 440:40]
+  assign metaArb_io_in_2_bits_data = {s2_grow_param,metaArb_io_in_2_bits_data_meta_tag}; // @[DCache.scala 442:97]
+  assign metaArb_io_in_3_valid = grantIsCached & d_done & ~auto_out_d_bits_denied; // @[DCache.scala 716:53]
+  assign metaArb_io_in_3_bits_addr = {io_cpu_req_bits_addr[31:12],s2_vaddr[11:0]}; // @[Cat.scala 31:58]
+  assign metaArb_io_in_3_bits_idx = s2_vaddr[11:6]; // @[DCache.scala 719:40]
+  assign metaArb_io_in_3_bits_data = {metaArb_io_in_3_bits_data_meta_state,metaArb_io_in_2_bits_data_meta_tag}; // @[DCache.scala 721:134]
+  assign metaArb_io_in_4_valid = _T_299 | _metaArb_io_in_4_valid_T_1; // @[package.scala 72:59]
+  assign metaArb_io_in_4_bits_addr = {io_cpu_req_bits_addr[31:12],probe_bits_address[11:0]}; // @[Cat.scala 31:58]
+  assign metaArb_io_in_4_bits_idx = probe_bits_address[11:6]; // @[DCache.scala 1174:47]
+  assign metaArb_io_in_4_bits_data = {newCoh_state,metaArb_io_in_4_bits_data_meta_tag}; // @[DCache.scala 888:97]
+  assign metaArb_io_in_5_valid = 1'h0; // @[DCache.scala 989:38]
+  assign metaArb_io_in_5_bits_addr = {io_cpu_req_bits_addr[31:12],_metaArb_io_in_5_bits_addr_T_1}; // @[Cat.scala 31:58]
+  assign metaArb_io_in_5_bits_idx = flushCounter; // @[DCache.scala 991:44]
+  assign metaArb_io_in_6_valid = release_state == 4'h4 | auto_out_b_valid & (~block_probe_for_core_progress |
+    lrscBackingOff); // @[DCache.scala 744:26 816:44 817:30]
+  assign metaArb_io_in_6_bits_addr = release_state == 4'h4 ? _metaArb_io_in_6_bits_addr_T_3 :
+    _metaArb_io_in_6_bits_addr_T_1; // @[DCache.scala 748:30 816:44 819:34]
+  assign metaArb_io_in_6_bits_idx = release_state == 4'h4 ? probe_bits_address[11:6] : auto_out_b_bits_address[11:6]; // @[DCache.scala 747:29 816:44 818:33]
+  assign metaArb_io_in_6_bits_data = metaArb_io_in_4_bits_data; // @[DCache.scala 750:30]
+  assign metaArb_io_in_7_valid = io_cpu_req_valid; // @[DCache.scala 241:26]
+  assign metaArb_io_in_7_bits_addr = io_cpu_req_bits_addr; // @[DCache.scala 244:30]
+  assign metaArb_io_in_7_bits_idx = dataArb_io_in_3_bits_addr[11:6]; // @[DCache.scala 243:58]
+  assign metaArb_io_in_7_bits_data = metaArb_io_in_4_bits_data; // @[DCache.scala 246:30]
+  assign tag_array_RW0_clk = clock; // @[DCache.scala 285:50]
+  assign tag_array_RW0_wdata_0 = metaArb_io_out_bits_data; // @[compatibility.scala 134:{12,12}]
+  assign data_clock = clock;
+  assign data_io_req_valid = dataArb_io_out_valid; // @[DCache.scala 135:15]
+  assign data_io_req_bits_addr = dataArb_io_out_bits_addr; // @[DCache.scala 135:15]
+  assign data_io_req_bits_write = dataArb_io_out_bits_write; // @[DCache.scala 135:15]
+  assign data_io_req_bits_wdata = dataArb_io_out_bits_wdata; // @[DCache.scala 135:15]
+  assign data_io_req_bits_eccMask = dataArb_io_out_bits_eccMask; // @[DCache.scala 135:15]
+  assign dataArb_io_in_0_valid = pstore_drain_structural | _pstore_drain_T_10; // @[DCache.scala 492:48]
+  assign dataArb_io_in_0_bits_addr = _dataArb_io_in_0_bits_addr_T[11:0]; // @[DCache.scala 524:30]
+  assign dataArb_io_in_0_bits_write = pstore_drain_structural | _pstore_drain_T_10; // @[DCache.scala 492:48]
+  assign dataArb_io_in_0_bits_wdata = {dataArb_io_in_0_bits_wdata_hi,dataArb_io_in_0_bits_wdata_lo}; // @[Cat.scala 31:58]
+  assign dataArb_io_in_0_bits_eccMask = {dataArb_io_in_0_bits_eccMask_hi,dataArb_io_in_0_bits_eccMask_lo}; // @[Cat.scala 31:58]
+  assign dataArb_io_in_1_valid = grantIsUncachedData & (blockUncachedGrant | s1_valid) ? _GEN_237 : auto_out_d_valid &
+    grantIsRefill & canAcceptCachedGrant; // @[DCache.scala 696:26 727:68]
+  assign dataArb_io_in_1_bits_addr = _dataArb_io_in_1_bits_addr_T_2[11:0]; // @[DCache.scala 703:32]
+  assign dataArb_io_in_1_bits_write = grantIsUncachedData & (blockUncachedGrant | s1_valid) ? _GEN_238 : 1'h1; // @[DCache.scala 702:33 727:68]
+  assign dataArb_io_in_1_bits_wdata = {tl_d_data_encoded_hi,tl_d_data_encoded_lo}; // @[Cat.scala 31:58]
+  assign dataArb_io_in_2_valid = inWriteback & releaseDataBeat < 11'h10; // @[DCache.scala 875:41]
+  assign dataArb_io_in_2_bits_addr = _dataArb_io_in_2_bits_addr_T_1 | _GEN_366; // @[DCache.scala 878:72]
+  assign dataArb_io_in_2_bits_wdata = dataArb_io_in_1_bits_wdata; // @[DCache.scala 876:25]
+  assign dataArb_io_in_3_valid = io_cpu_req_valid & res; // @[DCache.scala 222:46]
+  assign dataArb_io_in_3_bits_addr = _dataArb_io_in_3_bits_addr_T_2[11:0]; // @[DCache.scala 225:30]
+  assign dataArb_io_in_3_bits_wdata = dataArb_io_in_1_bits_wdata; // @[DCache.scala 223:25]
+  assign dataArb_io_in_3_bits_wordMask = 1'h1; // @[DCache.scala 226:34]
+  assign amoalu_io_mask = pstore1_mask; // @[DCache.scala 957:38]
+  assign amoalu_io_cmd = pstore1_cmd; // @[DCache.scala 958:21]
+  assign amoalu_io_lhs = {s2_data_corrected_hi,s2_data_corrected_lo}; // @[Cat.scala 31:58]
+  assign amoalu_io_rhs = pstore1_data; // @[DCache.scala 960:37]
+  assign tag_array_RW0_en = s0_clk_en | _T_19;
+  assign tag_array_RW0_wmode = metaArb_io_out_bits_write;
+  assign tag_array_RW0_addr = _T_19 ? _GEN_42 : _GEN_42;
+  always @(posedge clock) begin
+    if (reset) begin // @[DCache.scala 162:21]
+      s1_valid <= 1'h0; // @[DCache.scala 162:21]
+    end else begin
+      s1_valid <= s1_valid_x12; // @[DCache.scala 162:21]
+    end
+    if (reset) begin // @[DCache.scala 643:38]
+      blockProbeAfterGrantCount <= 3'h0; // @[DCache.scala 643:38]
+    end else if (_T_261) begin // @[DCache.scala 649:26]
+      if (grantIsCached) begin // @[DCache.scala 650:26]
+        if (d_last) begin // @[DCache.scala 653:20]
+          blockProbeAfterGrantCount <= 3'h7; // @[DCache.scala 656:35]
+        end else begin
+          blockProbeAfterGrantCount <= _GEN_185;
+        end
+      end else begin
+        blockProbeAfterGrantCount <= _GEN_185;
+      end
+    end else begin
+      blockProbeAfterGrantCount <= _GEN_185;
+    end
+    if (reset) begin // @[DCache.scala 447:22]
+      lrscCount <= 7'h0; // @[DCache.scala 447:22]
+    end else if (s1_probe) begin // @[DCache.scala 459:19]
+      lrscCount <= 7'h0; // @[DCache.scala 459:31]
+    end else if (s2_valid_masked & lrscValid) begin // @[DCache.scala 458:43]
+      lrscCount <= 7'h3; // @[DCache.scala 458:55]
+    end else if (_lrscBackingOff_T) begin // @[DCache.scala 457:24]
+      lrscCount <= _lrscCount_T_2; // @[DCache.scala 457:36]
+    end else begin
+      lrscCount <= _GEN_122;
+    end
+    if (reset) begin // @[DCache.scala 163:21]
+      s1_probe <= 1'h0; // @[DCache.scala 163:21]
+    end else if (release_state == 4'h4) begin // @[DCache.scala 816:44]
+      s1_probe <= _GEN_297;
+    end else begin
+      s1_probe <= s1_probe_x16; // @[DCache.scala 163:21]
+    end
+    if (reset) begin // @[DCache.scala 308:21]
+      s2_probe <= 1'h0; // @[DCache.scala 308:21]
+    end else begin
+      s2_probe <= s1_probe; // @[DCache.scala 308:21]
+    end
+    if (reset) begin // @[DCache.scala 208:26]
+      release_state <= 4'h0; // @[DCache.scala 208:26]
+    end else if (_T_306) begin // @[DCache.scala 889:34]
+      release_state <= 4'h0; // @[DCache.scala 889:50]
+    end else if (_T_302) begin // @[DCache.scala 838:102]
+      if (releaseDone) begin // @[DCache.scala 853:26]
+        release_state <= 4'h6; // @[DCache.scala 853:42]
+      end else begin
+        release_state <= _GEN_324;
+      end
+    end else begin
+      release_state <= _GEN_324;
+    end
+    if (reset) begin // @[DCache.scala 206:29]
+      release_ack_wait <= 1'h0; // @[DCache.scala 206:29]
+    end else if (_T_302) begin // @[DCache.scala 838:102]
+      release_ack_wait <= _GEN_333;
+    end else if (_T_261) begin // @[DCache.scala 649:26]
+      if (!(grantIsCached)) begin // @[DCache.scala 650:26]
+        release_ack_wait <= _GEN_207;
+      end
+    end
+    if (_T_302) begin // @[DCache.scala 838:102]
+      if (_T_287 & c_first) begin // @[DCache.scala 854:41]
+        release_ack_addr <= probe_bits_address; // @[DCache.scala 856:26]
+      end
+    end
+    if (reset) begin // @[DCache.scala 642:28]
+      grantInProgress <= 1'h0; // @[DCache.scala 642:28]
+    end else if (_T_261) begin // @[DCache.scala 649:26]
+      if (grantIsCached) begin // @[DCache.scala 650:26]
+        if (d_last) begin // @[DCache.scala 653:20]
+          grantInProgress <= 1'h0; // @[DCache.scala 655:25]
+        end else begin
+          grantInProgress <= 1'h1; // @[DCache.scala 651:23]
+        end
+      end
+    end
+    if (reset) begin // @[DCache.scala 306:21]
+      s2_valid <= 1'h0; // @[DCache.scala 306:21]
+    end else begin
+      s2_valid <= s2_valid_x44; // @[DCache.scala 306:21]
+    end
+    if (s2_want_victimize) begin // @[DCache.scala 791:25]
+      probe_bits_param <= 2'h0; // @[DCache.scala 797:18]
+    end else if (s1_probe_x16) begin // @[Reg.scala 17:18]
+      probe_bits_param <= auto_out_b_bits_param; // @[Reg.scala 17:22]
+    end
+    if (s2_want_victimize) begin // @[DCache.scala 791:25]
+      probe_bits_size <= 4'h0; // @[DCache.scala 797:18]
+    end else if (s1_probe_x16) begin // @[Reg.scala 17:18]
+      probe_bits_size <= auto_out_b_bits_size; // @[Reg.scala 17:22]
+    end
+    if (s2_want_victimize) begin // @[DCache.scala 791:25]
+      probe_bits_source <= 1'h0; // @[DCache.scala 797:18]
+    end else if (s1_probe_x16) begin // @[Reg.scala 17:18]
+      probe_bits_source <= auto_out_b_bits_source; // @[Reg.scala 17:22]
+    end
+    if (s2_want_victimize) begin // @[DCache.scala 791:25]
+      probe_bits_address <= res_2_address; // @[DCache.scala 797:18]
+    end else if (s1_probe_x16) begin // @[Reg.scala 17:18]
+      probe_bits_address <= auto_out_b_bits_address; // @[Reg.scala 17:22]
+    end
+    if (s1_probe) begin // @[Reg.scala 17:18]
+      if (_T_27 & ~s1_flush_valid) begin // @[DCache.scala 294:41]
+        s2_probe_state_state <= s1_meta_uncorrected_0_coh_state;
+      end else begin
+        s2_probe_state_state <= 2'h0;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_T_287) begin // @[Edges.scala 234:17]
+      if (c_first) begin // @[Edges.scala 235:21]
+        if (beats1_opdata_1) begin // @[Edges.scala 220:14]
+          counter_1 <= beats1_decode_1;
+        end else begin
+          counter_1 <= 10'h0;
+        end
+      end else begin
+        counter_1 <= counter1_1;
+      end
+    end
+    s2_release_data_valid <= s1_release_data_valid & ~releaseRejected; // @[DCache.scala 777:64]
+    if (s0_clk_en) begin // @[Reg.scala 17:18]
+      s1_req_cmd <= io_cpu_req_bits_cmd; // @[Reg.scala 17:22]
+    end
+    if (_T_261) begin // @[DCache.scala 649:26]
+      if (grantIsCached) begin // @[DCache.scala 650:26]
+        s2_req_cmd <= _GEN_53;
+      end else if (grantIsUncached) begin // @[DCache.scala 659:35]
+        if (grantIsUncachedData) begin // @[DCache.scala 666:34]
+          s2_req_cmd <= 5'h0; // @[DCache.scala 670:22]
+        end else begin
+          s2_req_cmd <= _GEN_53;
+        end
+      end else begin
+        s2_req_cmd <= _GEN_53;
+      end
+    end else begin
+      s2_req_cmd <= _GEN_53;
+    end
+    if (reset) begin // @[DCache.scala 479:29]
+      pstore1_held <= 1'h0; // @[DCache.scala 479:29]
+    end else begin
+      pstore1_held <= pstore1_valid & pstore2_valid & ~pstore_drain; // @[DCache.scala 496:16]
+    end
+    if (_pstore1_cmd_T) begin // @[Reg.scala 17:18]
+      pstore1_addr <= s1_vaddr; // @[Reg.scala 17:22]
+    end
+    if (s0_clk_en) begin // @[Reg.scala 17:18]
+      s1_req_addr <= s0_req_addr; // @[Reg.scala 17:22]
+    end
+    if (_pstore1_cmd_T) begin // @[Reg.scala 17:18]
+      if (_s1_write_T_1) begin // @[DCache.scala 302:20]
+        pstore1_mask <= io_cpu_s1_data_mask;
+      end else begin
+        pstore1_mask <= s1_mask_xwr;
+      end
+    end
+    if (s0_clk_en) begin // @[Reg.scala 17:18]
+      s1_req_size <= io_cpu_req_bits_size; // @[Reg.scala 17:22]
+    end
+    if (reset) begin // @[DCache.scala 476:30]
+      pstore2_valid <= 1'h0; // @[DCache.scala 476:30]
+    end else begin
+      pstore2_valid <= pstore2_valid & _pstore1_held_T_9 | advance_pstore1; // @[DCache.scala 498:17]
+    end
+    if (advance_pstore1) begin // @[Reg.scala 17:18]
+      pstore2_addr <= pstore1_addr; // @[Reg.scala 17:22]
+    end
+    if (advance_pstore1) begin // @[DCache.scala 507:45]
+      mask <= _pstore2_storegen_mask_mask_T_2; // @[DCache.scala 509:12]
+    end
+    s2_not_nacked_in_s1 <= ~s1_nack; // @[DCache.scala 310:37]
+    if (_T_43) begin // @[Reg.scala 17:18]
+      if (_T_27 & ~s1_flush_valid) begin // @[DCache.scala 294:41]
+        s2_hit_state_state <= s1_meta_uncorrected_0_coh_state;
+      end else begin
+        s2_hit_state_state <= 2'h0;
+      end
+    end
+    if (s0_clk_en) begin // @[Reg.scala 17:18]
+      s1_req_tag <= io_cpu_req_bits_tag; // @[Reg.scala 17:22]
+    end
+    if (s0_clk_en) begin // @[Reg.scala 17:18]
+      s1_req_signed <= io_cpu_req_bits_signed; // @[Reg.scala 17:22]
+    end
+    if (s0_clk_en) begin // @[Reg.scala 17:18]
+      s1_req_dprv <= io_cpu_req_bits_dprv; // @[Reg.scala 17:22]
+    end
+    if (s0_clk_en) begin // @[Reg.scala 17:18]
+      s1_tlb_req_vaddr <= s0_req_addr; // @[Reg.scala 17:22]
+    end
+    if (s0_clk_en) begin // @[Reg.scala 17:18]
+      s1_tlb_req_size <= io_cpu_req_bits_size; // @[Reg.scala 17:22]
+    end
+    if (s0_clk_en) begin // @[Reg.scala 17:18]
+      s1_tlb_req_cmd <= io_cpu_req_bits_cmd; // @[Reg.scala 17:22]
+    end
+    if (s0_clk_en) begin // @[Reg.scala 17:18]
+      s1_tlb_req_prv <= io_cpu_req_bits_dprv; // @[Reg.scala 17:22]
+    end
+    s1_flush_valid <= _s1_flush_valid_T & _T_29 & _s2_cannot_victimize_T & _io_cpu_req_ready_T & _tl_out_a_valid_T_7; // @[DCache.scala 988:124]
+    if (reset) begin // @[DCache.scala 203:30]
+      cached_grant_wait <= 1'h0; // @[DCache.scala 203:30]
+    end else if (_T_261) begin // @[DCache.scala 649:26]
+      if (grantIsCached) begin // @[DCache.scala 650:26]
+        if (d_last) begin // @[DCache.scala 653:20]
+          cached_grant_wait <= 1'h0; // @[DCache.scala 654:27]
+        end else begin
+          cached_grant_wait <= _GEN_182;
+        end
+      end else begin
+        cached_grant_wait <= _GEN_182;
+      end
+    end else begin
+      cached_grant_wait <= _GEN_182;
+    end
+    if (reset) begin // @[DCache.scala 204:26]
+      resetting <= 1'h0; // @[DCache.scala 204:26]
+    end else if (resetting) begin // @[DCache.scala 1025:20]
+      if (flushDone) begin // @[DCache.scala 1027:22]
+        resetting <= 1'h0; // @[DCache.scala 1028:17]
+      end else begin
+        resetting <= _GEN_351;
+      end
+    end else begin
+      resetting <= _GEN_351;
+    end
+    if (reset) begin // @[DCache.scala 205:25]
+      flushCounter <= 6'h0; // @[DCache.scala 205:25]
+    end else begin
+      flushCounter <= _GEN_353[5:0];
+    end
+    if (reset) begin // @[DCache.scala 216:33]
+      uncachedInFlight_0 <= 1'h0; // @[DCache.scala 216:33]
+    end else if (_T_261) begin // @[DCache.scala 649:26]
+      if (grantIsCached) begin // @[DCache.scala 650:26]
+        uncachedInFlight_0 <= _GEN_169;
+      end else if (grantIsUncached) begin // @[DCache.scala 659:35]
+        uncachedInFlight_0 <= _GEN_190;
+      end else begin
+        uncachedInFlight_0 <= _GEN_169;
+      end
+    end else begin
+      uncachedInFlight_0 <= _GEN_169;
+    end
+    if (_T_253) begin // @[DCache.scala 606:26]
+      if (s2_uncached) begin // @[DCache.scala 607:24]
+        if (a_sel) begin // @[DCache.scala 609:18]
+          uncachedReqs_0_addr <= s2_req_addr; // @[DCache.scala 611:13]
+        end
+      end
+    end
+    if (_T_253) begin // @[DCache.scala 606:26]
+      if (s2_uncached) begin // @[DCache.scala 607:24]
+        if (a_sel) begin // @[DCache.scala 609:18]
+          uncachedReqs_0_tag <= s2_req_tag; // @[DCache.scala 611:13]
+        end
+      end
+    end
+    if (_T_253) begin // @[DCache.scala 606:26]
+      if (s2_uncached) begin // @[DCache.scala 607:24]
+        if (a_sel) begin // @[DCache.scala 609:18]
+          uncachedReqs_0_size <= s2_req_size; // @[DCache.scala 611:13]
+        end
+      end
+    end
+    if (_T_253) begin // @[DCache.scala 606:26]
+      if (s2_uncached) begin // @[DCache.scala 607:24]
+        if (a_sel) begin // @[DCache.scala 609:18]
+          uncachedReqs_0_signed <= s2_req_signed; // @[DCache.scala 611:13]
+        end
+      end
+    end
+    if (s0_clk_en) begin // @[Reg.scala 17:18]
+      s1_did_read <= _s1_did_read_T_54; // @[Reg.scala 17:22]
+    end
+    if (s0_clk_en) begin // @[Reg.scala 17:18]
+      s1_read_mask <= dataArb_io_in_3_bits_wordMask; // @[Reg.scala 17:22]
+    end
+    if (_T_261) begin // @[DCache.scala 649:26]
+      if (grantIsCached) begin // @[DCache.scala 650:26]
+        s2_req_addr <= _GEN_51;
+      end else if (grantIsUncached) begin // @[DCache.scala 659:35]
+        if (grantIsUncachedData) begin // @[DCache.scala 666:34]
+          s2_req_addr <= {{1'd0}, _s2_req_addr_T_1}; // @[DCache.scala 674:23]
+        end else begin
+          s2_req_addr <= _GEN_51;
+        end
+      end else begin
+        s2_req_addr <= _GEN_51;
+      end
+    end else begin
+      s2_req_addr <= _GEN_51;
+    end
+    if (_T_261) begin // @[DCache.scala 649:26]
+      if (grantIsCached) begin // @[DCache.scala 650:26]
+        s2_req_tag <= _GEN_52;
+      end else if (grantIsUncached) begin // @[DCache.scala 659:35]
+        if (grantIsUncachedData) begin // @[DCache.scala 666:34]
+          s2_req_tag <= uncachedReqs_0_tag; // @[DCache.scala 673:22]
+        end else begin
+          s2_req_tag <= _GEN_52;
+        end
+      end else begin
+        s2_req_tag <= _GEN_52;
+      end
+    end else begin
+      s2_req_tag <= _GEN_52;
+    end
+    if (_T_261) begin // @[DCache.scala 649:26]
+      if (grantIsCached) begin // @[DCache.scala 650:26]
+        s2_req_size <= _GEN_54;
+      end else if (grantIsUncached) begin // @[DCache.scala 659:35]
+        if (grantIsUncachedData) begin // @[DCache.scala 666:34]
+          s2_req_size <= uncachedReqs_0_size; // @[DCache.scala 671:23]
+        end else begin
+          s2_req_size <= _GEN_54;
+        end
+      end else begin
+        s2_req_size <= _GEN_54;
+      end
+    end else begin
+      s2_req_size <= _GEN_54;
+    end
+    if (_T_261) begin // @[DCache.scala 649:26]
+      if (grantIsCached) begin // @[DCache.scala 650:26]
+        s2_req_signed <= _GEN_55;
+      end else if (grantIsUncached) begin // @[DCache.scala 659:35]
+        if (grantIsUncachedData) begin // @[DCache.scala 666:34]
+          s2_req_signed <= uncachedReqs_0_signed; // @[DCache.scala 672:25]
+        end else begin
+          s2_req_signed <= _GEN_55;
+        end
+      end else begin
+        s2_req_signed <= _GEN_55;
+      end
+    end else begin
+      s2_req_signed <= _GEN_55;
+    end
+    if (s1_valid_not_nacked | s1_flush_valid) begin // @[DCache.scala 320:48]
+      s2_req_dprv <= s1_req_dprv; // @[DCache.scala 321:12]
+    end
+    if (s1_valid_not_nacked | s1_flush_valid) begin // @[DCache.scala 320:48]
+      s2_tlb_xcpt_pf_ld <= tlb_io_resp_pf_ld; // @[DCache.scala 323:17]
+    end
+    if (s1_valid_not_nacked | s1_flush_valid) begin // @[DCache.scala 320:48]
+      s2_tlb_xcpt_pf_st <= tlb_io_resp_pf_st; // @[DCache.scala 323:17]
+    end
+    if (s1_valid_not_nacked | s1_flush_valid) begin // @[DCache.scala 320:48]
+      s2_tlb_xcpt_ae_ld <= tlb_io_resp_ae_ld; // @[DCache.scala 323:17]
+    end
+    if (s1_valid_not_nacked | s1_flush_valid) begin // @[DCache.scala 320:48]
+      s2_tlb_xcpt_ae_st <= tlb_io_resp_ae_st; // @[DCache.scala 323:17]
+    end
+    if (s1_valid_not_nacked | s1_flush_valid) begin // @[DCache.scala 320:48]
+      s2_tlb_xcpt_ma_ld <= tlb_io_resp_ma_ld; // @[DCache.scala 323:17]
+    end
+    if (s1_valid_not_nacked | s1_flush_valid) begin // @[DCache.scala 320:48]
+      s2_tlb_xcpt_ma_st <= tlb_io_resp_ma_st; // @[DCache.scala 323:17]
+    end
+    if (s1_valid_not_nacked | s1_flush_valid) begin // @[DCache.scala 320:48]
+      s2_pma_cacheable <= tlb_io_resp_cacheable; // @[DCache.scala 324:12]
+    end
+    if (_T_261) begin // @[DCache.scala 649:26]
+      if (!(grantIsCached)) begin // @[DCache.scala 650:26]
+        if (grantIsUncached) begin // @[DCache.scala 659:35]
+          if (grantIsUncachedData) begin // @[DCache.scala 666:34]
+            s2_uncached_resp_addr <= uncachedReqs_0_addr; // @[DCache.scala 679:33]
+          end
+        end
+      end
+    end
+    if (_T_43) begin // @[Reg.scala 17:18]
+      s2_vaddr_r <= s1_vaddr; // @[Reg.scala 17:22]
+    end
+    s2_flush_valid_pre_tag_ecc <= s1_flush_valid; // @[DCache.scala 330:43]
+    if (s1_meta_clk_en) begin // @[Reg.scala 17:18]
+      s2_meta_corrected_r <= tag_array_RW0_rdata_0; // @[Reg.scala 17:22]
+    end
+    if (grantIsUncachedData & (blockUncachedGrant | s1_valid)) begin // @[DCache.scala 727:68]
+      if (auto_out_d_valid) begin // @[DCache.scala 730:29]
+        blockUncachedGrant <= _T_281; // @[DCache.scala 734:28]
+      end else begin
+        blockUncachedGrant <= dataArb_io_out_valid; // @[DCache.scala 726:24]
+      end
+    end else begin
+      blockUncachedGrant <= dataArb_io_out_valid; // @[DCache.scala 726:24]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_T_261) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (beats1_opdata) begin // @[Edges.scala 220:14]
+          counter <= beats1_decode;
+        end else begin
+          counter <= 10'h0;
+        end
+      end else begin
+        counter <= counter1;
+      end
+    end
+    if (en) begin // @[Reg.scala 17:18]
+      s2_data <= _s2_data_T_6; // @[Reg.scala 17:22]
+    end
+    if (s2_valid_hit_pre_data_ecc_and_waw & _c_cat_T_48 & _io_cpu_req_ready_T_1 | s2_valid_cached_miss) begin // @[DCache.scala 453:99]
+      lrscAddr <= s2_req_addr[31:6]; // @[DCache.scala 455:14]
+    end
+    if (_pstore1_cmd_T) begin // @[Reg.scala 17:18]
+      pstore1_cmd <= s1_req_cmd; // @[Reg.scala 17:22]
+    end
+    if (_pstore1_cmd_T) begin // @[Reg.scala 17:18]
+      pstore1_data <= io_cpu_s1_data_data; // @[Reg.scala 17:22]
+    end
+    if (_pstore1_cmd_T) begin // @[Reg.scala 17:18]
+      pstore1_rmw_r <= _pstore1_rmw_T_52; // @[Reg.scala 17:22]
+    end
+    pstore_drain_on_miss_REG <= io_cpu_s2_nack; // @[DCache.scala 478:56]
+    if (advance_pstore1) begin // @[Reg.scala 17:18]
+      pstore2_storegen_data_r <= pstore1_storegen_data[7:0]; // @[Reg.scala 17:22]
+    end
+    if (advance_pstore1) begin // @[Reg.scala 17:18]
+      pstore2_storegen_data_r_1 <= pstore1_storegen_data[15:8]; // @[Reg.scala 17:22]
+    end
+    if (advance_pstore1) begin // @[Reg.scala 17:18]
+      pstore2_storegen_data_r_2 <= pstore1_storegen_data[23:16]; // @[Reg.scala 17:22]
+    end
+    if (advance_pstore1) begin // @[Reg.scala 17:18]
+      pstore2_storegen_data_r_3 <= pstore1_storegen_data[31:24]; // @[Reg.scala 17:22]
+    end
+    s1_release_data_valid <= dataArb_io_in_2_ready & dataArb_io_in_2_valid; // @[Decoupled.scala 50:35]
+    io_cpu_s2_xcpt_REG <= tlb_io_req_valid & _s1_valid_not_nacked_T; // @[DCache.scala 906:65]
+    doUncachedResp <= io_cpu_replay_next; // @[DCache.scala 922:27]
+    REG <= reset; // @[compatibility.scala 290:56]
+    if (reset) begin // @[Edges.scala 228:27]
+      io_cpu_perf_release_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_T_287) begin // @[Edges.scala 234:17]
+      if (io_cpu_perf_release_first) begin // @[Edges.scala 235:21]
+        if (beats1_opdata_1) begin // @[Edges.scala 220:14]
+          io_cpu_perf_release_counter <= beats1_decode_1;
+        end else begin
+          io_cpu_perf_release_counter <= 10'h0;
+        end
+      end else begin
+        io_cpu_perf_release_counter <= io_cpu_perf_release_counter1;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~_dataArb_io_in_3_valid_T_52 | res) & ~reset) begin
+          $fatal; // @[DCache.scala 1160:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~(~_dataArb_io_in_3_valid_T_52 | res)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:1160 assert(!needsRead(req) || res)\n"); // @[DCache.scala 1160:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(s1_valid_masked & _s1_write_T_1) | &_T_37) & _dataArb_io_in_3_valid_T_56) begin
+          $fatal; // @[DCache.scala 304:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_dataArb_io_in_3_valid_T_56 & ~(~(s1_valid_masked & _s1_write_T_1) | &_T_37)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at DCache.scala:304 assert(!(s1_valid_masked && s1_req.cmd === M_PWR) || (s1_mask_xwr | ~io.cpu.s1_data.mask).andR)\n"
+            ); // @[DCache.scala 304:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~_dataArb_io_in_3_valid_T_52 | res) & ~reset) begin
+          $fatal; // @[DCache.scala 1160:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~(~_dataArb_io_in_3_valid_T_52 | res)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:1160 assert(!needsRead(req) || res)\n"); // @[DCache.scala 1160:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(pstore1_rmw_r | _T_244 == pstore1_valid) & _dataArb_io_in_3_valid_T_56) begin
+          $fatal; // @[DCache.scala 485:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_dataArb_io_in_3_valid_T_56 & ~(pstore1_rmw_r | _T_244 == pstore1_valid)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at DCache.scala:485 assert(pstore1_rmw || pstore1_valid_not_rmw(io.cpu.s2_kill) === pstore1_valid)\n"
+            ); // @[DCache.scala 485:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_io_cpu_req_ready_T_1 & (_T_261 & grantIsCached & _dataArb_io_in_3_valid_T_56)) begin
+          $fatal; // @[DCache.scala 652:13]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_261 & grantIsCached & _dataArb_io_in_3_valid_T_56 & _io_cpu_req_ready_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: A GrantData was unexpected by the dcache.\n    at DCache.scala:652 assert(cached_grant_wait, \"A GrantData was unexpected by the dcache.\")\n"
+            ); // @[DCache.scala 652:13]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_a_source_T & (_T_261 & _T_322 & grantIsUncached & _T_266 & _dataArb_io_in_3_valid_T_56)) begin
+          $fatal; // @[DCache.scala 662:17]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_261 & _T_322 & grantIsUncached & _T_266 & _dataArb_io_in_3_valid_T_56 & _a_source_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: An AccessAck was unexpected by the dcache.\n    at DCache.scala:662 assert(f, \"An AccessAck was unexpected by the dcache.\") // TODO must handle Ack coming back on same cycle!\n"
+            ); // @[DCache.scala 662:17]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_tl_out_a_valid_T_7 & (_GEN_380 & _tl_d_data_encoded_T_8 & grantIsVoluntary & _dataArb_io_in_3_valid_T_56)
+          ) begin
+          $fatal; // @[DCache.scala 683:13]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_380 & _tl_d_data_encoded_T_8 & grantIsVoluntary & _dataArb_io_in_3_valid_T_56 & _tl_out_a_valid_T_7
+          ) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: A ReleaseAck was unexpected by the dcache.\n    at DCache.scala:683 assert(release_ack_wait, \"A ReleaseAck was unexpected by the dcache.\") // TODO should handle Ack coming back on same cycle!\n"
+            ); // @[DCache.scala 683:13]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_273 == (_T_261 & d_first & grantIsCached)) & _dataArb_io_in_3_valid_T_56) begin
+          $fatal; // @[DCache.scala 691:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_dataArb_io_in_3_valid_T_56 & ~(_T_273 == (_T_261 & d_first & grantIsCached))) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at DCache.scala:691 assert(tl_out.e.fire() === (tl_out.d.fire() && d_first && grantIsCached))\n"
+            ); // @[DCache.scala 691:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(s2_valid_flush_line | s2_flush_valid_pre_tag_ecc | io_cpu_s2_nack) & (s2_want_victimize &
+          _dataArb_io_in_3_valid_T_56)) begin
+          $fatal; // @[DCache.scala 792:13]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (s2_want_victimize & _dataArb_io_in_3_valid_T_56 & ~(s2_valid_flush_line | s2_flush_valid_pre_tag_ecc |
+          io_cpu_s2_nack)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at DCache.scala:792 assert(s2_valid_flush_line || s2_flush_valid || io.cpu.s2_nack)\n"
+            ); // @[DCache.scala 792:13]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_io_cpu_s2_nack_T_4 & (doUncachedResp & _dataArb_io_in_3_valid_T_56)) begin
+          $fatal; // @[DCache.scala 926:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (doUncachedResp & _dataArb_io_in_3_valid_T_56 & ~_io_cpu_s2_nack_T_4) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:926 assert(!s2_valid_hit)\n"); // @[DCache.scala 926:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  s1_valid = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  blockProbeAfterGrantCount = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  lrscCount = _RAND_2[6:0];
+  _RAND_3 = {1{`RANDOM}};
+  s1_probe = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  s2_probe = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  release_state = _RAND_5[3:0];
+  _RAND_6 = {1{`RANDOM}};
+  release_ack_wait = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  release_ack_addr = _RAND_7[30:0];
+  _RAND_8 = {1{`RANDOM}};
+  grantInProgress = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  s2_valid = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  probe_bits_param = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  probe_bits_size = _RAND_11[3:0];
+  _RAND_12 = {1{`RANDOM}};
+  probe_bits_source = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  probe_bits_address = _RAND_13[30:0];
+  _RAND_14 = {1{`RANDOM}};
+  s2_probe_state_state = _RAND_14[1:0];
+  _RAND_15 = {1{`RANDOM}};
+  counter_1 = _RAND_15[9:0];
+  _RAND_16 = {1{`RANDOM}};
+  s2_release_data_valid = _RAND_16[0:0];
+  _RAND_17 = {1{`RANDOM}};
+  s1_req_cmd = _RAND_17[4:0];
+  _RAND_18 = {1{`RANDOM}};
+  s2_req_cmd = _RAND_18[4:0];
+  _RAND_19 = {1{`RANDOM}};
+  pstore1_held = _RAND_19[0:0];
+  _RAND_20 = {1{`RANDOM}};
+  pstore1_addr = _RAND_20[31:0];
+  _RAND_21 = {1{`RANDOM}};
+  s1_req_addr = _RAND_21[31:0];
+  _RAND_22 = {1{`RANDOM}};
+  pstore1_mask = _RAND_22[3:0];
+  _RAND_23 = {1{`RANDOM}};
+  s1_req_size = _RAND_23[1:0];
+  _RAND_24 = {1{`RANDOM}};
+  pstore2_valid = _RAND_24[0:0];
+  _RAND_25 = {1{`RANDOM}};
+  pstore2_addr = _RAND_25[31:0];
+  _RAND_26 = {1{`RANDOM}};
+  mask = _RAND_26[3:0];
+  _RAND_27 = {1{`RANDOM}};
+  s2_not_nacked_in_s1 = _RAND_27[0:0];
+  _RAND_28 = {1{`RANDOM}};
+  s2_hit_state_state = _RAND_28[1:0];
+  _RAND_29 = {1{`RANDOM}};
+  s1_req_tag = _RAND_29[5:0];
+  _RAND_30 = {1{`RANDOM}};
+  s1_req_signed = _RAND_30[0:0];
+  _RAND_31 = {1{`RANDOM}};
+  s1_req_dprv = _RAND_31[1:0];
+  _RAND_32 = {1{`RANDOM}};
+  s1_tlb_req_vaddr = _RAND_32[31:0];
+  _RAND_33 = {1{`RANDOM}};
+  s1_tlb_req_size = _RAND_33[1:0];
+  _RAND_34 = {1{`RANDOM}};
+  s1_tlb_req_cmd = _RAND_34[4:0];
+  _RAND_35 = {1{`RANDOM}};
+  s1_tlb_req_prv = _RAND_35[1:0];
+  _RAND_36 = {1{`RANDOM}};
+  s1_flush_valid = _RAND_36[0:0];
+  _RAND_37 = {1{`RANDOM}};
+  cached_grant_wait = _RAND_37[0:0];
+  _RAND_38 = {1{`RANDOM}};
+  resetting = _RAND_38[0:0];
+  _RAND_39 = {1{`RANDOM}};
+  flushCounter = _RAND_39[5:0];
+  _RAND_40 = {1{`RANDOM}};
+  uncachedInFlight_0 = _RAND_40[0:0];
+  _RAND_41 = {1{`RANDOM}};
+  uncachedReqs_0_addr = _RAND_41[31:0];
+  _RAND_42 = {1{`RANDOM}};
+  uncachedReqs_0_tag = _RAND_42[5:0];
+  _RAND_43 = {1{`RANDOM}};
+  uncachedReqs_0_size = _RAND_43[1:0];
+  _RAND_44 = {1{`RANDOM}};
+  uncachedReqs_0_signed = _RAND_44[0:0];
+  _RAND_45 = {1{`RANDOM}};
+  s1_did_read = _RAND_45[0:0];
+  _RAND_46 = {1{`RANDOM}};
+  s1_read_mask = _RAND_46[0:0];
+  _RAND_47 = {1{`RANDOM}};
+  s2_req_addr = _RAND_47[31:0];
+  _RAND_48 = {1{`RANDOM}};
+  s2_req_tag = _RAND_48[5:0];
+  _RAND_49 = {1{`RANDOM}};
+  s2_req_size = _RAND_49[1:0];
+  _RAND_50 = {1{`RANDOM}};
+  s2_req_signed = _RAND_50[0:0];
+  _RAND_51 = {1{`RANDOM}};
+  s2_req_dprv = _RAND_51[1:0];
+  _RAND_52 = {1{`RANDOM}};
+  s2_tlb_xcpt_pf_ld = _RAND_52[0:0];
+  _RAND_53 = {1{`RANDOM}};
+  s2_tlb_xcpt_pf_st = _RAND_53[0:0];
+  _RAND_54 = {1{`RANDOM}};
+  s2_tlb_xcpt_ae_ld = _RAND_54[0:0];
+  _RAND_55 = {1{`RANDOM}};
+  s2_tlb_xcpt_ae_st = _RAND_55[0:0];
+  _RAND_56 = {1{`RANDOM}};
+  s2_tlb_xcpt_ma_ld = _RAND_56[0:0];
+  _RAND_57 = {1{`RANDOM}};
+  s2_tlb_xcpt_ma_st = _RAND_57[0:0];
+  _RAND_58 = {1{`RANDOM}};
+  s2_pma_cacheable = _RAND_58[0:0];
+  _RAND_59 = {1{`RANDOM}};
+  s2_uncached_resp_addr = _RAND_59[31:0];
+  _RAND_60 = {1{`RANDOM}};
+  s2_vaddr_r = _RAND_60[31:0];
+  _RAND_61 = {1{`RANDOM}};
+  s2_flush_valid_pre_tag_ecc = _RAND_61[0:0];
+  _RAND_62 = {1{`RANDOM}};
+  s2_meta_corrected_r = _RAND_62[20:0];
+  _RAND_63 = {1{`RANDOM}};
+  blockUncachedGrant = _RAND_63[0:0];
+  _RAND_64 = {1{`RANDOM}};
+  counter = _RAND_64[9:0];
+  _RAND_65 = {1{`RANDOM}};
+  s2_data = _RAND_65[31:0];
+  _RAND_66 = {1{`RANDOM}};
+  lrscAddr = _RAND_66[25:0];
+  _RAND_67 = {1{`RANDOM}};
+  pstore1_cmd = _RAND_67[4:0];
+  _RAND_68 = {1{`RANDOM}};
+  pstore1_data = _RAND_68[31:0];
+  _RAND_69 = {1{`RANDOM}};
+  pstore1_rmw_r = _RAND_69[0:0];
+  _RAND_70 = {1{`RANDOM}};
+  pstore_drain_on_miss_REG = _RAND_70[0:0];
+  _RAND_71 = {1{`RANDOM}};
+  pstore2_storegen_data_r = _RAND_71[7:0];
+  _RAND_72 = {1{`RANDOM}};
+  pstore2_storegen_data_r_1 = _RAND_72[7:0];
+  _RAND_73 = {1{`RANDOM}};
+  pstore2_storegen_data_r_2 = _RAND_73[7:0];
+  _RAND_74 = {1{`RANDOM}};
+  pstore2_storegen_data_r_3 = _RAND_74[7:0];
+  _RAND_75 = {1{`RANDOM}};
+  s1_release_data_valid = _RAND_75[0:0];
+  _RAND_76 = {1{`RANDOM}};
+  io_cpu_s2_xcpt_REG = _RAND_76[0:0];
+  _RAND_77 = {1{`RANDOM}};
+  doUncachedResp = _RAND_77[0:0];
+  _RAND_78 = {1{`RANDOM}};
+  REG = _RAND_78[0:0];
+  _RAND_79 = {1{`RANDOM}};
+  io_cpu_perf_release_counter = _RAND_79[9:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ICache(
+  input         clock,
+  input         reset,
+  output        auto_slave_in_a_ready,
+  input         auto_slave_in_a_valid,
+  input  [2:0]  auto_slave_in_a_bits_opcode,
+  input  [1:0]  auto_slave_in_a_bits_size,
+  input  [7:0]  auto_slave_in_a_bits_source,
+  input  [27:0] auto_slave_in_a_bits_address,
+  input  [3:0]  auto_slave_in_a_bits_mask,
+  input  [31:0] auto_slave_in_a_bits_data,
+  input         auto_slave_in_d_ready,
+  output        auto_slave_in_d_valid,
+  output [2:0]  auto_slave_in_d_bits_opcode,
+  output [1:0]  auto_slave_in_d_bits_size,
+  output [7:0]  auto_slave_in_d_bits_source,
+  output [31:0] auto_slave_in_d_bits_data,
+  input         auto_master_out_a_ready,
+  output        auto_master_out_a_valid,
+  output [30:0] auto_master_out_a_bits_address,
+  output        auto_master_out_d_ready,
+  input         auto_master_out_d_valid,
+  input  [2:0]  auto_master_out_d_bits_opcode,
+  input  [3:0]  auto_master_out_d_bits_size,
+  input  [31:0] auto_master_out_d_bits_data,
+  input         auto_master_out_d_bits_corrupt,
+  output        io_req_ready,
+  input         io_req_valid,
+  input  [31:0] io_req_bits_addr,
+  input  [30:0] io_s1_paddr,
+  input  [31:0] io_s2_vaddr,
+  input         io_s1_kill,
+  input         io_s2_kill,
+  output        io_resp_valid,
+  output [31:0] io_resp_bits_data,
+  output        io_resp_bits_ae,
+  input         io_invalidate, // <no_sram>
+  output [6:0]  tag_array_0_ext_RW0_addr, // <no_sram>
+  output        tag_array_0_ext_RW0_en, // <no_sram>
+  output        tag_array_0_ext_RW0_clk, // <no_sram>
+  output        tag_array_0_ext_RW0_wmode, // <no_sram>
+  output [37:0] tag_array_0_ext_RW0_wdata, // <no_sram>
+  input  [37:0] tag_array_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  tag_array_0_ext_RW0_wmask, // <no_sram>
+  output [10:0] data_arrays_0_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_wmode, // <no_sram>
+  output [63:0] data_arrays_0_0_ext_RW0_wdata, // <no_sram>
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  data_arrays_0_0_ext_RW0_wmask // <no_sram>
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [255:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+`endif // RANDOMIZE_REG_INIT
+  wire  repl_way_v0_prng_clock; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_reset; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_increment; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_0; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_1; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_2; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_3; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_4; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_5; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_6; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_7; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_8; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_9; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_10; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_11; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_12; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_13; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_14; // @[PRNG.scala 91:22]
+  wire  repl_way_v0_prng_io_out_15; // @[PRNG.scala 91:22]
+  wire [6:0] tag_array_RW0_addr; // @[DescribedSRAM.scala 19:26]
+  wire  tag_array_RW0_en; // @[DescribedSRAM.scala 19:26]
+  wire  tag_array_RW0_clk; // @[DescribedSRAM.scala 19:26]
+  wire  tag_array_RW0_wmode; // @[DescribedSRAM.scala 19:26]
+  wire [18:0] tag_array_RW0_wdata_0; // @[DescribedSRAM.scala 19:26]
+  wire [18:0] tag_array_RW0_wdata_1; // @[DescribedSRAM.scala 19:26]
+  wire [18:0] tag_array_RW0_rdata_0; // @[DescribedSRAM.scala 19:26]
+  wire [18:0] tag_array_RW0_rdata_1; // @[DescribedSRAM.scala 19:26]
+  wire  tag_array_RW0_wmask_0; // @[DescribedSRAM.scala 19:26]
+  wire  tag_array_RW0_wmask_1; // @[DescribedSRAM.scala 19:26]
+  wire [10:0] data_arrays_0_RW0_addr; // @[DescribedSRAM.scala 19:26]
+  wire  data_arrays_0_RW0_en; // @[DescribedSRAM.scala 19:26]
+  wire  data_arrays_0_RW0_clk; // @[DescribedSRAM.scala 19:26]
+  wire  data_arrays_0_RW0_wmode; // @[DescribedSRAM.scala 19:26]
+  wire [31:0] data_arrays_0_RW0_wdata_0; // @[DescribedSRAM.scala 19:26]
+  wire [31:0] data_arrays_0_RW0_wdata_1; // @[DescribedSRAM.scala 19:26]
+  wire [31:0] data_arrays_0_RW0_rdata_0; // @[DescribedSRAM.scala 19:26]
+  wire [31:0] data_arrays_0_RW0_rdata_1; // @[DescribedSRAM.scala 19:26]
+  wire  data_arrays_0_RW0_wmask_0; // @[DescribedSRAM.scala 19:26]
+  wire  data_arrays_0_RW0_wmask_1; // @[DescribedSRAM.scala 19:26]
+  reg  scratchpadOn; // @[ICache.scala 149:29]
+  reg [6:0] scratchpadMax; // @[ICache.scala 150:42]
+  reg  s1_slaveValid; // @[ICache.scala 161:30]
+  reg  s2_slaveValid; // @[ICache.scala 162:30]
+  reg  s3_slaveValid; // @[ICache.scala 163:30]
+  reg  respValid; // @[ICache.scala 350:32]
+  wire  tl_in_a_ready = ~(auto_master_out_d_valid | s1_slaveValid | s2_slaveValid | s3_slaveValid | respValid); // @[ICache.scala 351:23]
+  wire  s0_slaveValid = tl_in_a_ready & auto_slave_in_a_valid; // @[Decoupled.scala 50:35]
+  wire  s0_valid = io_req_ready & io_req_valid; // @[Decoupled.scala 50:35]
+  reg  s1_valid; // @[ICache.scala 168:21]
+  reg [255:0] vb_array; // @[ICache.scala 230:21]
+  wire [6:0] s1_idx = io_s1_paddr[12:6]; // @[ICache.scala 485:21]
+  wire [7:0] _s1_vb_T = {1'h0,s1_idx}; // @[Cat.scala 31:58]
+  wire [255:0] _s1_vb_T_1 = vb_array >> _s1_vb_T; // @[ICache.scala 258:25]
+  wire  s1_vb = _s1_vb_T_1[0] & ~s1_slaveValid; // @[ICache.scala 258:48]
+  wire [17:0] tag = tag_array_RW0_rdata_0[17:0]; // @[package.scala 154:13]
+  wire [17:0] s1_tag = io_s1_paddr[30:13]; // @[ICache.scala 253:30]
+  wire  tagMatch = s1_vb & tag == s1_tag; // @[ICache.scala 261:26]
+  reg [13:0] s1s3_slaveAddr; // @[ICache.scala 248:27]
+  wire [7:0] _GEN_77 = {{1'd0}, scratchpadMax}; // @[ICache.scala 151:77]
+  wire  _scratchpadHit_T_3 = scratchpadOn & s1s3_slaveAddr[13:6] <= _GEN_77; // @[ICache.scala 151:69]
+  wire  _scratchpadHit_T_6 = _scratchpadHit_T_3 & ~s1s3_slaveAddr[13]; // @[ICache.scala 256:58]
+  wire  _scratchpadHit_T_11 = io_s1_paddr >= 31'h8000000 & io_s1_paddr < 31'h8004000; // @[ICache.scala 155:83]
+  wire  _scratchpadHit_T_14 = scratchpadOn & io_s1_paddr[13:6] <= _GEN_77; // @[ICache.scala 151:69]
+  wire  _scratchpadHit_T_15 = _scratchpadHit_T_11 & _scratchpadHit_T_14; // @[ICache.scala 156:66]
+  wire  _scratchpadHit_T_18 = _scratchpadHit_T_15 & ~io_s1_paddr[13]; // @[ICache.scala 257:39]
+  wire  scratchpadHit = s1_slaveValid ? _scratchpadHit_T_6 : _scratchpadHit_T_18; // @[ICache.scala 255:10]
+  wire  s1_tag_hit_0 = tagMatch | scratchpadHit; // @[ICache.scala 264:31]
+  wire [7:0] _s1_vb_T_4 = {1'h1,s1_idx}; // @[Cat.scala 31:58]
+  wire [255:0] _s1_vb_T_5 = vb_array >> _s1_vb_T_4; // @[ICache.scala 258:25]
+  wire  s1_vb_1 = _s1_vb_T_5[0] & ~s1_slaveValid; // @[ICache.scala 258:48]
+  wire [17:0] tag_1 = tag_array_RW0_rdata_1[17:0]; // @[package.scala 154:13]
+  wire  tagMatch_1 = s1_vb_1 & tag_1 == s1_tag; // @[ICache.scala 261:26]
+  wire  s1_hit = s1_tag_hit_0 | tagMatch_1 | (s1_slaveValid | _scratchpadHit_T_11); // @[ICache.scala 171:40]
+  reg  s2_valid; // @[ICache.scala 173:25]
+  reg  s2_hit; // @[ICache.scala 174:23]
+  reg  invalidated; // @[ICache.scala 176:24]
+  reg  refill_valid; // @[ICache.scala 177:29]
+  wire  s2_miss = s2_valid & ~s2_hit & ~io_s2_kill; // @[ICache.scala 181:37]
+  reg  s2_request_refill_REG; // @[ICache.scala 183:45]
+  wire  s2_request_refill = s2_miss & s2_request_refill_REG; // @[ICache.scala 183:35]
+  wire  refill_fire = auto_master_out_a_ready & s2_request_refill; // @[Decoupled.scala 50:35]
+  wire  s1_can_request_refill = ~(s2_miss | refill_valid); // @[ICache.scala 182:31]
+  wire  _refill_paddr_T = s1_valid & s1_can_request_refill; // @[ICache.scala 184:54]
+  reg [30:0] refill_paddr; // @[Reg.scala 16:16]
+  wire [17:0] refill_tag = refill_paddr[30:13]; // @[ICache.scala 186:33]
+  wire [6:0] refill_idx = refill_paddr[12:6]; // @[ICache.scala 485:21]
+  wire  tl_out_d_ready = ~s3_slaveValid; // @[ICache.scala 195:21]
+  wire  _refill_one_beat_T = tl_out_d_ready & auto_master_out_d_valid; // @[Decoupled.scala 50:35]
+  wire  refill_one_beat_opdata = auto_master_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  refill_one_beat = _refill_one_beat_T & refill_one_beat_opdata; // @[ICache.scala 188:41]
+  wire [26:0] _beats1_decode_T_1 = 27'hfff << auto_master_out_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _beats1_decode_T_3 = ~_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] beats1_decode = _beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire [9:0] beats1 = refill_one_beat_opdata ? beats1_decode : 10'h0; // @[Edges.scala 220:14]
+  reg [9:0] counter; // @[Edges.scala 228:27]
+  wire [9:0] counter1 = counter - 10'h1; // @[Edges.scala 229:28]
+  wire  first = counter == 10'h0; // @[Edges.scala 230:25]
+  wire  last = counter == 10'h1 | beats1 == 10'h0; // @[Edges.scala 231:37]
+  wire  d_done = last & _refill_one_beat_T; // @[Edges.scala 232:22]
+  wire [9:0] _count_T = ~counter1; // @[Edges.scala 233:27]
+  wire [9:0] refill_cnt = beats1 & _count_T; // @[Edges.scala 233:25]
+  wire  refill_done = refill_one_beat & d_done; // @[ICache.scala 194:37]
+  wire [7:0] repl_way_v0_lo = {repl_way_v0_prng_io_out_7,repl_way_v0_prng_io_out_6,repl_way_v0_prng_io_out_5,
+    repl_way_v0_prng_io_out_4,repl_way_v0_prng_io_out_3,repl_way_v0_prng_io_out_2,repl_way_v0_prng_io_out_1,
+    repl_way_v0_prng_io_out_0}; // @[PRNG.scala 95:17]
+  wire [15:0] _repl_way_v0_T = {repl_way_v0_prng_io_out_15,repl_way_v0_prng_io_out_14,repl_way_v0_prng_io_out_13,
+    repl_way_v0_prng_io_out_12,repl_way_v0_prng_io_out_11,repl_way_v0_prng_io_out_10,repl_way_v0_prng_io_out_9,
+    repl_way_v0_prng_io_out_8,repl_way_v0_lo}; // @[PRNG.scala 95:17]
+  wire  repl_way_v0 = _repl_way_v0_T[0]; // @[ICache.scala 200:35]
+  wire [7:0] _repl_way_T_1 = {repl_way_v0,refill_idx}; // @[Cat.scala 31:58]
+  wire  _repl_way_T_3 = scratchpadOn & _repl_way_T_1 <= _GEN_77; // @[ICache.scala 151:69]
+  wire  repl_way = repl_way_v0 | _repl_way_T_3; // @[ICache.scala 204:13]
+  wire [7:0] _repl_way_T_5 = {repl_way,refill_idx}; // @[Cat.scala 31:58]
+  wire  _repl_way_T_7 = scratchpadOn & _repl_way_T_5 <= _GEN_77; // @[ICache.scala 151:69]
+  wire  _repl_way_T_10 = ~reset; // @[ICache.scala 206:11]
+  wire  _tag_rdata_T_2 = ~refill_done & s0_valid; // @[ICache.scala 217:83]
+  reg  accruedRefillError; // @[ICache.scala 218:31]
+  wire  refillError = auto_master_out_d_bits_corrupt | refill_cnt > 10'h0 & accruedRefillError; // @[ICache.scala 219:43]
+  wire [30:0] _io_errors_bus_bits_T_1 = {refill_paddr[30:6], 6'h0}; // @[ICache.scala 228:57]
+  wire  _vb_array_T_1 = ~invalidated; // @[ICache.scala 234:75]
+  wire [255:0] _vb_array_T_3 = 256'h1 << _repl_way_T_5; // @[ICache.scala 234:32]
+  wire [255:0] _vb_array_T_4 = vb_array | _vb_array_T_3; // @[ICache.scala 234:32]
+  wire [255:0] _vb_array_T_5 = ~vb_array; // @[ICache.scala 234:32]
+  wire [255:0] _vb_array_T_6 = _vb_array_T_5 | _vb_array_T_3; // @[ICache.scala 234:32]
+  wire [255:0] _vb_array_T_7 = ~_vb_array_T_6; // @[ICache.scala 234:32]
+  wire  opdata = ~auto_slave_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  wire  _T_23 = scratchpadOn & auto_slave_in_a_bits_address[13:6] <= _GEN_77; // @[ICache.scala 151:69]
+  wire  _GEN_58 = ~_T_23 | io_invalidate; // @[ICache.scala 360:65 362:26]
+  wire  _GEN_60 = opdata ? _GEN_58 : io_invalidate; // @[ICache.scala 358:41]
+  wire  invalidate = s0_slaveValid ? _GEN_60 : io_invalidate; // @[ICache.scala 354:30]
+  wire  _GEN_22 = invalidate | invalidated; // @[ICache.scala 237:21 239:17 176:24]
+  reg [31:0] s1s3_slaveData; // @[ICache.scala 249:27]
+  wire  tl_error = tag_array_RW0_rdata_0[18]; // @[package.scala 154:13]
+  wire  s1_tl_error_0 = tagMatch & tl_error; // @[ICache.scala 263:32]
+  wire  tl_error_1 = tag_array_RW0_rdata_1[18]; // @[package.scala 154:13]
+  wire  s1_tl_error_1 = tagMatch_1 & tl_error_1; // @[ICache.scala 263:32]
+  wire  _T_3 = s1_valid | s1_slaveValid; // @[ICache.scala 266:21]
+  wire [1:0] _T_9 = s1_tag_hit_0 + tagMatch_1; // @[Bitwise.scala 48:55]
+  wire  s0_ren = s0_valid | s0_slaveValid; // @[ICache.scala 283:52]
+  wire  wen = refill_one_beat & _vb_array_T_1 | s3_slaveValid; // @[ICache.scala 284:49]
+  wire [10:0] _mem_idx_T = {refill_idx, 4'h0}; // @[ICache.scala 285:52]
+  wire [10:0] _GEN_84 = {{1'd0}, refill_cnt}; // @[ICache.scala 285:79]
+  wire [10:0] _mem_idx_T_1 = _mem_idx_T | _GEN_84; // @[ICache.scala 285:79]
+  wire [10:0] _mem_idx_T_5 = s0_slaveValid ? auto_slave_in_a_bits_address[12:2] : io_req_bits_addr[12:2]; // @[ICache.scala 287:22]
+  wire [10:0] _mem_idx_T_6 = s3_slaveValid ? s1s3_slaveAddr[12:2] : _mem_idx_T_5; // @[ICache.scala 286:22]
+  wire  way = s3_slaveValid ? s1s3_slaveAddr[13] : repl_way; // @[ICache.scala 291:20]
+  wire  _dout_T_1 = ~wen & s0_ren; // @[ICache.scala 294:46]
+  wire [31:0] s1_dout_0 = data_arrays_0_RW0_rdata_0; // @[ICache.scala 295:71 296:15]
+  wire [31:0] s1_dout_1 = data_arrays_0_RW0_rdata_1; // @[ICache.scala 295:71 296:15]
+  reg [2:0] s1_a_opcode; // @[Reg.scala 16:16]
+  wire  s1s2_full_word_write_opdata = ~s1_a_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] s1_a_mask; // @[Reg.scala 16:16]
+  wire  s1s2_full_word_write = s1s2_full_word_write_opdata & &s1_a_mask; // @[ICache.scala 353:59]
+  wire  s1_dont_read = s1_slaveValid & s1s2_full_word_write; // @[ICache.scala 302:36]
+  reg  s2_tag_hit_0; // @[Reg.scala 16:16]
+  reg  s2_tag_hit_1; // @[Reg.scala 16:16]
+  reg [31:0] s2_dout_0; // @[Reg.scala 16:16]
+  reg [31:0] s2_dout_1; // @[Reg.scala 16:16]
+  wire [31:0] _s2_way_mux_T = s2_tag_hit_0 ? s2_dout_0 : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _s2_way_mux_T_1 = s2_tag_hit_1 ? s2_dout_1 : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] s2_way_mux = _s2_way_mux_T | _s2_way_mux_T_1; // @[Mux.scala 27:73]
+  wire [1:0] _s2_tl_error_T = {s1_tl_error_1,s1_tl_error_0}; // @[ICache.scala 312:43]
+  wire  _s2_tl_error_T_1 = |_s2_tl_error_T; // @[ICache.scala 312:50]
+  reg  s2_tl_error; // @[Reg.scala 16:16]
+  reg [1:0] s1_a_size; // @[Reg.scala 16:16]
+  reg [7:0] s1_a_source; // @[Reg.scala 16:16]
+  wire  enable = auto_slave_in_a_bits_address[13] < 1'h1; // @[ICache.scala 158:43]
+  wire [7:0] _GEN_57 = ~_T_23 ? auto_slave_in_a_bits_address[13:6] : {{1'd0}, scratchpadMax}; // @[ICache.scala 360:65 361:33 150:42]
+  wire [7:0] _GEN_59 = opdata ? _GEN_57 : {{1'd0}, scratchpadMax}; // @[ICache.scala 358:41 150:42]
+  wire [27:0] _GEN_62 = s0_slaveValid ? auto_slave_in_a_bits_address : {{14'd0}, s1s3_slaveAddr}; // @[ICache.scala 354:30 356:26 248:27]
+  wire [7:0] _GEN_64 = s0_slaveValid ? _GEN_59 : {{1'd0}, scratchpadMax}; // @[ICache.scala 354:30 150:42]
+  reg [31:0] REG; // @[ICache.scala 379:44]
+  reg [31:0] REG_1; // @[ICache.scala 379:36]
+  wire  _s1s3_slaveData_T_2 = ~(s1s2_full_word_write_opdata & s1_a_mask[0]); // @[ICache.scala 395:32]
+  wire [31:0] _s1s3_slaveData_T_3 = _s1s3_slaveData_T_2 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 396:62]
+  wire  _s1s3_slaveData_T_7 = ~(s1s2_full_word_write_opdata & s1_a_mask[1]); // @[ICache.scala 395:32]
+  wire [31:0] _s1s3_slaveData_T_8 = _s1s3_slaveData_T_7 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 396:62]
+  wire  _s1s3_slaveData_T_12 = ~(s1s2_full_word_write_opdata & s1_a_mask[2]); // @[ICache.scala 395:32]
+  wire [31:0] _s1s3_slaveData_T_13 = _s1s3_slaveData_T_12 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 396:62]
+  wire  _s1s3_slaveData_T_17 = ~(s1s2_full_word_write_opdata & s1_a_mask[3]); // @[ICache.scala 395:32]
+  wire [31:0] _s1s3_slaveData_T_18 = _s1s3_slaveData_T_17 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 396:62]
+  wire [31:0] _s1s3_slaveData_T_20 = {_s1s3_slaveData_T_18[31:24],_s1s3_slaveData_T_13[23:16],_s1s3_slaveData_T_8[15:8],
+    _s1s3_slaveData_T_3[7:0]}; // @[Cat.scala 31:58]
+  wire  _T_55 = _io_errors_bus_bits_T_1 >= 31'h8000000 & _io_errors_bus_bits_T_1 < 31'h8004000; // @[ICache.scala 155:83]
+  wire  _GEN_75 = refill_fire | refill_valid; // @[ICache.scala 476:22 177:29 476:37]
+  MaxPeriodFibonacciLFSR repl_way_v0_prng ( // @[PRNG.scala 91:22]
+    .clock(repl_way_v0_prng_clock),
+    .reset(repl_way_v0_prng_reset),
+    .io_increment(repl_way_v0_prng_io_increment),
+    .io_out_0(repl_way_v0_prng_io_out_0),
+    .io_out_1(repl_way_v0_prng_io_out_1),
+    .io_out_2(repl_way_v0_prng_io_out_2),
+    .io_out_3(repl_way_v0_prng_io_out_3),
+    .io_out_4(repl_way_v0_prng_io_out_4),
+    .io_out_5(repl_way_v0_prng_io_out_5),
+    .io_out_6(repl_way_v0_prng_io_out_6),
+    .io_out_7(repl_way_v0_prng_io_out_7),
+    .io_out_8(repl_way_v0_prng_io_out_8),
+    .io_out_9(repl_way_v0_prng_io_out_9),
+    .io_out_10(repl_way_v0_prng_io_out_10),
+    .io_out_11(repl_way_v0_prng_io_out_11),
+    .io_out_12(repl_way_v0_prng_io_out_12),
+    .io_out_13(repl_way_v0_prng_io_out_13),
+    .io_out_14(repl_way_v0_prng_io_out_14),
+    .io_out_15(repl_way_v0_prng_io_out_15)
+  );
+  tag_array_0 tag_array ( // @[DescribedSRAM.scala 19:26]
+    .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), // <no_sram>
+    .tag_array_0_ext_RW0_addr(tag_array_0_ext_RW0_addr), // <no_sram>
+    .tag_array_0_ext_RW0_en(tag_array_0_ext_RW0_en), // <no_sram>
+    .tag_array_0_ext_RW0_clk(tag_array_0_ext_RW0_clk), // <no_sram>
+    .tag_array_0_ext_RW0_wmode(tag_array_0_ext_RW0_wmode), // <no_sram>
+    .tag_array_0_ext_RW0_wdata(tag_array_0_ext_RW0_wdata), // <no_sram>
+    .tag_array_0_ext_RW0_rdata(tag_array_0_ext_RW0_rdata), // <no_sram>
+    .tag_array_0_ext_RW0_wmask(tag_array_0_ext_RW0_wmask) // <no_sram>
+  );
+  data_arrays_0_0 data_arrays_0 ( // @[DescribedSRAM.scala 19:26]
+    .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), // <no_sram>
+    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask) // <no_sram>
+  );
+  assign auto_slave_in_a_ready = ~(auto_master_out_d_valid | s1_slaveValid | s2_slaveValid | s3_slaveValid | respValid); // @[ICache.scala 351:23]
+  assign auto_slave_in_d_valid = respValid; // @[Nodes.scala 1210:84 ICache.scala 399:20]
+  assign auto_slave_in_d_bits_opcode = s1s2_full_word_write_opdata ? 3'h0 : 3'h1; // @[ICache.scala 400:25]
+  assign auto_slave_in_d_bits_size = s1_a_size; // @[ICache.scala 400:25]
+  assign auto_slave_in_d_bits_source = s1_a_source; // @[ICache.scala 400:25]
+  assign auto_slave_in_d_bits_data = s1s3_slaveData; // @[Nodes.scala 1210:84 ICache.scala 403:24]
+  assign auto_master_out_a_valid = s2_miss & s2_request_refill_REG; // @[ICache.scala 183:35]
+  assign auto_master_out_a_bits_address = {refill_paddr[30:6], 6'h0}; // @[ICache.scala 420:64]
+  assign auto_master_out_d_ready = ~s3_slaveValid; // @[ICache.scala 195:21]
+  assign io_req_ready = ~(refill_one_beat | s0_slaveValid | s3_slaveValid); // @[ICache.scala 190:19]
+  assign io_resp_valid = s2_valid & s2_hit; // @[ICache.scala 338:33]
+  assign io_resp_bits_data = _s2_way_mux_T | _s2_way_mux_T_1; // @[Mux.scala 27:73]
+  assign io_resp_bits_ae = s2_tl_error; // @[ICache.scala 336:23]
+  assign repl_way_v0_prng_clock = clock;
+  assign repl_way_v0_prng_reset = reset;
+  assign repl_way_v0_prng_io_increment = auto_master_out_a_ready & s2_request_refill; // @[Decoupled.scala 50:35]
+  assign tag_array_RW0_clk = clock; // @[ICache.scala 220:22]
+  assign tag_array_RW0_wdata_0 = {refillError,refill_tag}; // @[Cat.scala 31:58]
+  assign tag_array_RW0_wdata_1 = {refillError,refill_tag}; // @[Cat.scala 31:58]
+  assign tag_array_RW0_wmask_0 = ~repl_way; // @[ICache.scala 223:88]
+  assign tag_array_RW0_wmask_1 = repl_way_v0 | _repl_way_T_3; // @[ICache.scala 204:13]
+  assign data_arrays_0_RW0_clk = clock; // @[ICache.scala 289:16]
+  assign data_arrays_0_RW0_wdata_0 = s3_slaveValid ? s1s3_slaveData : auto_master_out_d_bits_data; // @[ICache.scala 290:21]
+  assign data_arrays_0_RW0_wdata_1 = s3_slaveValid ? s1s3_slaveData : auto_master_out_d_bits_data; // @[ICache.scala 290:21]
+  assign data_arrays_0_RW0_wmask_0 = ~way; // @[ICache.scala 292:93]
+  assign data_arrays_0_RW0_wmask_1 = s3_slaveValid ? s1s3_slaveAddr[13] : repl_way; // @[ICache.scala 291:20]
+  assign tag_array_RW0_en = _tag_rdata_T_2 | refill_done;
+  assign tag_array_RW0_wmode = refill_one_beat & d_done; // @[ICache.scala 194:37]
+  assign tag_array_RW0_addr = refill_done ? refill_idx : io_req_bits_addr[12:6];
+  assign data_arrays_0_RW0_en = _dout_T_1 | wen;
+  assign data_arrays_0_RW0_wmode = refill_one_beat & _vb_array_T_1 | s3_slaveValid; // @[ICache.scala 284:49]
+  assign data_arrays_0_RW0_addr = refill_one_beat ? _mem_idx_T_1 : _mem_idx_T_6; // @[ICache.scala 285:22]
+  always @(posedge clock) begin
+    if (reset) begin // @[ICache.scala 149:29]
+      scratchpadOn <= 1'h0; // @[ICache.scala 149:29]
+    end else if (s0_slaveValid) begin // @[ICache.scala 354:30]
+      if (opdata) begin // @[ICache.scala 358:41]
+        scratchpadOn <= enable; // @[ICache.scala 364:26]
+      end
+    end
+    scratchpadMax <= _GEN_64[6:0];
+    if (reset) begin // @[ICache.scala 161:30]
+      s1_slaveValid <= 1'h0; // @[ICache.scala 161:30]
+    end else begin
+      s1_slaveValid <= s0_slaveValid; // @[ICache.scala 161:30]
+    end
+    if (reset) begin // @[ICache.scala 162:30]
+      s2_slaveValid <= 1'h0; // @[ICache.scala 162:30]
+    end else begin
+      s2_slaveValid <= s1_slaveValid; // @[ICache.scala 162:30]
+    end
+    s3_slaveValid <= s2_slaveValid & s1s2_full_word_write_opdata; // @[ICache.scala 393:30]
+    if (reset) begin // @[ICache.scala 350:32]
+      respValid <= 1'h0; // @[ICache.scala 350:32]
+    end else begin
+      respValid <= s2_slaveValid | respValid & ~auto_slave_in_d_ready; // @[ICache.scala 391:19]
+    end
+    if (reset) begin // @[ICache.scala 168:21]
+      s1_valid <= 1'h0; // @[ICache.scala 168:21]
+    end else begin
+      s1_valid <= s0_valid; // @[ICache.scala 191:12]
+    end
+    if (reset) begin // @[ICache.scala 230:21]
+      vb_array <= 256'h0; // @[ICache.scala 230:21]
+    end else if (invalidate) begin // @[ICache.scala 237:21]
+      vb_array <= 256'h0; // @[ICache.scala 238:14]
+    end else if (refill_one_beat) begin // @[ICache.scala 231:26]
+      if (refill_done & ~invalidated) begin // @[ICache.scala 234:32]
+        vb_array <= _vb_array_T_4;
+      end else begin
+        vb_array <= _vb_array_T_7;
+      end
+    end
+    s1s3_slaveAddr <= _GEN_62[13:0];
+    if (reset) begin // @[ICache.scala 173:25]
+      s2_valid <= 1'h0; // @[ICache.scala 173:25]
+    end else begin
+      s2_valid <= s1_valid & ~io_s1_kill; // @[ICache.scala 173:25]
+    end
+    s2_hit <= s1_hit; // @[ICache.scala 174:23]
+    if (~refill_valid) begin // @[ICache.scala 475:24]
+      invalidated <= 1'h0; // @[ICache.scala 475:38]
+    end else begin
+      invalidated <= _GEN_22;
+    end
+    if (reset) begin // @[ICache.scala 177:29]
+      refill_valid <= 1'h0; // @[ICache.scala 177:29]
+    end else if (refill_done) begin // @[ICache.scala 477:22]
+      refill_valid <= 1'h0; // @[ICache.scala 477:37]
+    end else begin
+      refill_valid <= _GEN_75;
+    end
+    s2_request_refill_REG <= ~(s2_miss | refill_valid); // @[ICache.scala 182:31]
+    if (_refill_paddr_T) begin // @[Reg.scala 17:18]
+      refill_paddr <= io_s1_paddr; // @[Reg.scala 17:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_refill_one_beat_T) begin // @[Edges.scala 234:17]
+      if (first) begin // @[Edges.scala 235:21]
+        if (refill_one_beat_opdata) begin // @[Edges.scala 220:14]
+          counter <= beats1_decode;
+        end else begin
+          counter <= 10'h0;
+        end
+      end else begin
+        counter <= counter1;
+      end
+    end
+    if (refill_one_beat) begin // @[ICache.scala 231:26]
+      accruedRefillError <= refillError; // @[ICache.scala 232:24]
+    end
+    if (s2_slaveValid) begin // @[ICache.scala 393:30]
+      s1s3_slaveData <= _s1s3_slaveData_T_20; // @[ICache.scala 396:26]
+    end else if (s0_slaveValid) begin // @[ICache.scala 354:30]
+      s1s3_slaveData <= auto_slave_in_a_bits_data; // @[ICache.scala 357:26]
+    end
+    if (s0_slaveValid) begin // @[Reg.scala 17:18]
+      s1_a_opcode <= auto_slave_in_a_bits_opcode; // @[Reg.scala 17:22]
+    end
+    if (s0_slaveValid) begin // @[Reg.scala 17:18]
+      s1_a_mask <= auto_slave_in_a_bits_mask; // @[Reg.scala 17:22]
+    end
+    if (_T_3) begin // @[Reg.scala 17:18]
+      if (s1_dont_read) begin // @[ICache.scala 305:33]
+        s2_tag_hit_0 <= 1'h0;
+      end else begin
+        s2_tag_hit_0 <= s1_tag_hit_0;
+      end
+    end
+    if (_T_3) begin // @[Reg.scala 17:18]
+      if (s1_dont_read) begin // @[ICache.scala 305:33]
+        s2_tag_hit_1 <= 1'h0;
+      end else begin
+        s2_tag_hit_1 <= tagMatch_1;
+      end
+    end
+    if (_T_3) begin // @[Reg.scala 17:18]
+      s2_dout_0 <= s1_dout_0; // @[Reg.scala 17:22]
+    end
+    if (_T_3) begin // @[Reg.scala 17:18]
+      s2_dout_1 <= s1_dout_1; // @[Reg.scala 17:22]
+    end
+    if (_T_3) begin // @[Reg.scala 17:18]
+      s2_tl_error <= _s2_tl_error_T_1; // @[Reg.scala 17:22]
+    end
+    if (s0_slaveValid) begin // @[Reg.scala 17:18]
+      s1_a_size <= auto_slave_in_a_bits_size; // @[Reg.scala 17:22]
+    end
+    if (s0_slaveValid) begin // @[Reg.scala 17:18]
+      s1_a_source <= auto_slave_in_a_bits_source; // @[Reg.scala 17:22]
+    end
+    REG <= io_req_bits_addr; // @[ICache.scala 379:44]
+    REG_1 <= REG; // @[ICache.scala 379:36]
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~_repl_way_T_7) & ~reset) begin
+          $fatal; // @[ICache.scala 206:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~(~_repl_way_T_7)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at ICache.scala:206 assert(!lineInScratchpad(Cat(v, refill_idx)))\n"); // @[ICache.scala 206:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(s1_valid | s1_slaveValid) | _T_9 <= 2'h1) & _repl_way_T_10) begin
+          $fatal; // @[ICache.scala 266:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_repl_way_T_10 & ~(~(s1_valid | s1_slaveValid) | _T_9 <= 2'h1)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at ICache.scala:266 assert(!(s1_valid || s1_slaveValid) || PopCount(s1_tag_hit zip s1_tag_disparity map { case (h, d) => h && !d }) <= 1)\n"
+            ); // @[ICache.scala 266:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~s2_valid | REG_1 == io_s2_vaddr) & _repl_way_T_10) begin
+          $fatal; // @[ICache.scala 379:15]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_repl_way_T_10 & ~(~s2_valid | REG_1 == io_s2_vaddr)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at ICache.scala:379 assert(!s2_valid || RegNext(RegNext(s0_vaddr)) === io.s2_vaddr)\n"
+            ); // @[ICache.scala 379:15]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(s2_request_refill & _T_55)) & _repl_way_T_10) begin
+          $fatal; // @[ICache.scala 473:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_repl_way_T_10 & ~(~(s2_request_refill & _T_55))) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at ICache.scala:473 assert(!(tl_out.a.valid && addrMaybeInScratchpad(tl_out.a.bits.address)))\n"
+            ); // @[ICache.scala 473:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  scratchpadMax = _RAND_1[6:0];
+  _RAND_2 = {1{`RANDOM}};
+  s1_slaveValid = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  s2_slaveValid = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  s3_slaveValid = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  respValid = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  s1_valid = _RAND_6[0:0];
+  _RAND_7 = {8{`RANDOM}};
+  vb_array = _RAND_7[255:0];
+  _RAND_8 = {1{`RANDOM}};
+  s1s3_slaveAddr = _RAND_8[13:0];
+  _RAND_9 = {1{`RANDOM}};
+  s2_valid = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  s2_hit = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  invalidated = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  refill_valid = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  s2_request_refill_REG = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  refill_paddr = _RAND_14[30:0];
+  _RAND_15 = {1{`RANDOM}};
+  counter = _RAND_15[9:0];
+  _RAND_16 = {1{`RANDOM}};
+  accruedRefillError = _RAND_16[0:0];
+  _RAND_17 = {1{`RANDOM}};
+  s1s3_slaveData = _RAND_17[31:0];
+  _RAND_18 = {1{`RANDOM}};
+  s1_a_opcode = _RAND_18[2:0];
+  _RAND_19 = {1{`RANDOM}};
+  s1_a_mask = _RAND_19[3:0];
+  _RAND_20 = {1{`RANDOM}};
+  s2_tag_hit_0 = _RAND_20[0:0];
+  _RAND_21 = {1{`RANDOM}};
+  s2_tag_hit_1 = _RAND_21[0:0];
+  _RAND_22 = {1{`RANDOM}};
+  s2_dout_0 = _RAND_22[31:0];
+  _RAND_23 = {1{`RANDOM}};
+  s2_dout_1 = _RAND_23[31:0];
+  _RAND_24 = {1{`RANDOM}};
+  s2_tl_error = _RAND_24[0:0];
+  _RAND_25 = {1{`RANDOM}};
+  s1_a_size = _RAND_25[1:0];
+  _RAND_26 = {1{`RANDOM}};
+  s1_a_source = _RAND_26[7:0];
+  _RAND_27 = {1{`RANDOM}};
+  REG = _RAND_27[31:0];
+  _RAND_28 = {1{`RANDOM}};
+  REG_1 = _RAND_28[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ShiftQueue(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input         io_enq_bits_btb_taken,
+  input         io_enq_bits_btb_bridx,
+  input  [4:0]  io_enq_bits_btb_entry,
+  input  [7:0]  io_enq_bits_btb_bht_history,
+  input  [31:0] io_enq_bits_pc,
+  input  [31:0] io_enq_bits_data,
+  input  [1:0]  io_enq_bits_mask,
+  input         io_enq_bits_xcpt_ae_inst,
+  input         io_enq_bits_replay,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output        io_deq_bits_btb_taken,
+  output        io_deq_bits_btb_bridx,
+  output [4:0]  io_deq_bits_btb_entry,
+  output [7:0]  io_deq_bits_btb_bht_history,
+  output [31:0] io_deq_bits_pc,
+  output [31:0] io_deq_bits_data,
+  output        io_deq_bits_xcpt_ae_inst,
+  output        io_deq_bits_replay,
+  output [4:0]  io_mask
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+  reg [31:0] _RAND_34;
+  reg [31:0] _RAND_35;
+  reg [31:0] _RAND_36;
+  reg [31:0] _RAND_37;
+  reg [31:0] _RAND_38;
+  reg [31:0] _RAND_39;
+  reg [31:0] _RAND_40;
+  reg [31:0] _RAND_41;
+  reg [31:0] _RAND_42;
+  reg [31:0] _RAND_43;
+  reg [31:0] _RAND_44;
+`endif // RANDOMIZE_REG_INIT
+  reg  valid_0; // @[ShiftQueue.scala 21:30]
+  reg  valid_1; // @[ShiftQueue.scala 21:30]
+  reg  valid_2; // @[ShiftQueue.scala 21:30]
+  reg  valid_3; // @[ShiftQueue.scala 21:30]
+  reg  valid_4; // @[ShiftQueue.scala 21:30]
+  reg  elts_0_btb_taken; // @[ShiftQueue.scala 22:25]
+  reg  elts_0_btb_bridx; // @[ShiftQueue.scala 22:25]
+  reg [4:0] elts_0_btb_entry; // @[ShiftQueue.scala 22:25]
+  reg [7:0] elts_0_btb_bht_history; // @[ShiftQueue.scala 22:25]
+  reg [31:0] elts_0_pc; // @[ShiftQueue.scala 22:25]
+  reg [31:0] elts_0_data; // @[ShiftQueue.scala 22:25]
+  reg  elts_0_xcpt_ae_inst; // @[ShiftQueue.scala 22:25]
+  reg  elts_0_replay; // @[ShiftQueue.scala 22:25]
+  reg  elts_1_btb_taken; // @[ShiftQueue.scala 22:25]
+  reg  elts_1_btb_bridx; // @[ShiftQueue.scala 22:25]
+  reg [4:0] elts_1_btb_entry; // @[ShiftQueue.scala 22:25]
+  reg [7:0] elts_1_btb_bht_history; // @[ShiftQueue.scala 22:25]
+  reg [31:0] elts_1_pc; // @[ShiftQueue.scala 22:25]
+  reg [31:0] elts_1_data; // @[ShiftQueue.scala 22:25]
+  reg  elts_1_xcpt_ae_inst; // @[ShiftQueue.scala 22:25]
+  reg  elts_1_replay; // @[ShiftQueue.scala 22:25]
+  reg  elts_2_btb_taken; // @[ShiftQueue.scala 22:25]
+  reg  elts_2_btb_bridx; // @[ShiftQueue.scala 22:25]
+  reg [4:0] elts_2_btb_entry; // @[ShiftQueue.scala 22:25]
+  reg [7:0] elts_2_btb_bht_history; // @[ShiftQueue.scala 22:25]
+  reg [31:0] elts_2_pc; // @[ShiftQueue.scala 22:25]
+  reg [31:0] elts_2_data; // @[ShiftQueue.scala 22:25]
+  reg  elts_2_xcpt_ae_inst; // @[ShiftQueue.scala 22:25]
+  reg  elts_2_replay; // @[ShiftQueue.scala 22:25]
+  reg  elts_3_btb_taken; // @[ShiftQueue.scala 22:25]
+  reg  elts_3_btb_bridx; // @[ShiftQueue.scala 22:25]
+  reg [4:0] elts_3_btb_entry; // @[ShiftQueue.scala 22:25]
+  reg [7:0] elts_3_btb_bht_history; // @[ShiftQueue.scala 22:25]
+  reg [31:0] elts_3_pc; // @[ShiftQueue.scala 22:25]
+  reg [31:0] elts_3_data; // @[ShiftQueue.scala 22:25]
+  reg  elts_3_xcpt_ae_inst; // @[ShiftQueue.scala 22:25]
+  reg  elts_3_replay; // @[ShiftQueue.scala 22:25]
+  reg  elts_4_btb_taken; // @[ShiftQueue.scala 22:25]
+  reg  elts_4_btb_bridx; // @[ShiftQueue.scala 22:25]
+  reg [4:0] elts_4_btb_entry; // @[ShiftQueue.scala 22:25]
+  reg [7:0] elts_4_btb_bht_history; // @[ShiftQueue.scala 22:25]
+  reg [31:0] elts_4_pc; // @[ShiftQueue.scala 22:25]
+  reg [31:0] elts_4_data; // @[ShiftQueue.scala 22:25]
+  reg  elts_4_xcpt_ae_inst; // @[ShiftQueue.scala 22:25]
+  reg  elts_4_replay; // @[ShiftQueue.scala 22:25]
+  wire  _wen_T = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  _wen_T_2 = _wen_T & valid_0; // @[ShiftQueue.scala 30:45]
+  wire  _wen_T_3 = valid_1 | _wen_T & valid_0; // @[ShiftQueue.scala 30:28]
+  wire  _wen_T_6 = ~valid_0; // @[ShiftQueue.scala 31:48]
+  wire  _wen_T_7 = _wen_T & ~valid_0; // @[ShiftQueue.scala 31:45]
+  wire  wen = io_deq_ready ? _wen_T_3 : _wen_T_7; // @[ShiftQueue.scala 29:10]
+  wire  _valid_0_T_6 = _wen_T | valid_0; // @[ShiftQueue.scala 37:45]
+  wire  _wen_T_10 = _wen_T & valid_1; // @[ShiftQueue.scala 30:45]
+  wire  _wen_T_11 = valid_2 | _wen_T & valid_1; // @[ShiftQueue.scala 30:28]
+  wire  _wen_T_15 = _wen_T_2 & ~valid_1; // @[ShiftQueue.scala 31:45]
+  wire  wen_1 = io_deq_ready ? _wen_T_11 : _wen_T_15; // @[ShiftQueue.scala 29:10]
+  wire  _valid_1_T_6 = _wen_T_2 | valid_1; // @[ShiftQueue.scala 37:45]
+  wire  _wen_T_18 = _wen_T & valid_2; // @[ShiftQueue.scala 30:45]
+  wire  _wen_T_19 = valid_3 | _wen_T & valid_2; // @[ShiftQueue.scala 30:28]
+  wire  _wen_T_23 = _wen_T_10 & ~valid_2; // @[ShiftQueue.scala 31:45]
+  wire  wen_2 = io_deq_ready ? _wen_T_19 : _wen_T_23; // @[ShiftQueue.scala 29:10]
+  wire  _valid_2_T_6 = _wen_T_10 | valid_2; // @[ShiftQueue.scala 37:45]
+  wire  _wen_T_26 = _wen_T & valid_3; // @[ShiftQueue.scala 30:45]
+  wire  _wen_T_27 = valid_4 | _wen_T & valid_3; // @[ShiftQueue.scala 30:28]
+  wire  _wen_T_31 = _wen_T_18 & ~valid_3; // @[ShiftQueue.scala 31:45]
+  wire  wen_3 = io_deq_ready ? _wen_T_27 : _wen_T_31; // @[ShiftQueue.scala 29:10]
+  wire  _valid_3_T_6 = _wen_T_18 | valid_3; // @[ShiftQueue.scala 37:45]
+  wire  _wen_T_34 = _wen_T & valid_4; // @[ShiftQueue.scala 30:45]
+  wire  _wen_T_39 = _wen_T_26 & ~valid_4; // @[ShiftQueue.scala 31:45]
+  wire  wen_4 = io_deq_ready ? _wen_T_34 : _wen_T_39; // @[ShiftQueue.scala 29:10]
+  wire  _valid_4_T_6 = _wen_T_26 | valid_4; // @[ShiftQueue.scala 37:45]
+  wire [1:0] io_mask_lo = {valid_1,valid_0}; // @[ShiftQueue.scala 53:20]
+  wire [2:0] io_mask_hi = {valid_4,valid_3,valid_2}; // @[ShiftQueue.scala 53:20]
+  assign io_enq_ready = ~valid_4; // @[ShiftQueue.scala 40:19]
+  assign io_deq_valid = io_enq_valid | valid_0; // @[ShiftQueue.scala 41:16 45:{25,40}]
+  assign io_deq_bits_btb_taken = _wen_T_6 ? io_enq_bits_btb_taken : elts_0_btb_taken; // @[ShiftQueue.scala 42:15 46:{22,36}]
+  assign io_deq_bits_btb_bridx = _wen_T_6 ? io_enq_bits_btb_bridx : elts_0_btb_bridx; // @[ShiftQueue.scala 42:15 46:{22,36}]
+  assign io_deq_bits_btb_entry = _wen_T_6 ? io_enq_bits_btb_entry : elts_0_btb_entry; // @[ShiftQueue.scala 42:15 46:{22,36}]
+  assign io_deq_bits_btb_bht_history = _wen_T_6 ? io_enq_bits_btb_bht_history : elts_0_btb_bht_history; // @[ShiftQueue.scala 42:15 46:{22,36}]
+  assign io_deq_bits_pc = _wen_T_6 ? io_enq_bits_pc : elts_0_pc; // @[ShiftQueue.scala 42:15 46:{22,36}]
+  assign io_deq_bits_data = _wen_T_6 ? io_enq_bits_data : elts_0_data; // @[ShiftQueue.scala 42:15 46:{22,36}]
+  assign io_deq_bits_xcpt_ae_inst = _wen_T_6 ? io_enq_bits_xcpt_ae_inst : elts_0_xcpt_ae_inst; // @[ShiftQueue.scala 42:15 46:{22,36}]
+  assign io_deq_bits_replay = _wen_T_6 ? io_enq_bits_replay : elts_0_replay; // @[ShiftQueue.scala 42:15 46:{22,36}]
+  assign io_mask = {io_mask_hi,io_mask_lo}; // @[ShiftQueue.scala 53:20]
+  always @(posedge clock) begin
+    if (reset) begin // @[ShiftQueue.scala 21:30]
+      valid_0 <= 1'h0; // @[ShiftQueue.scala 21:30]
+    end else if (io_deq_ready) begin // @[ShiftQueue.scala 35:10]
+      valid_0 <= _wen_T_3;
+    end else begin
+      valid_0 <= _valid_0_T_6;
+    end
+    if (reset) begin // @[ShiftQueue.scala 21:30]
+      valid_1 <= 1'h0; // @[ShiftQueue.scala 21:30]
+    end else if (io_deq_ready) begin // @[ShiftQueue.scala 35:10]
+      valid_1 <= _wen_T_11;
+    end else begin
+      valid_1 <= _valid_1_T_6;
+    end
+    if (reset) begin // @[ShiftQueue.scala 21:30]
+      valid_2 <= 1'h0; // @[ShiftQueue.scala 21:30]
+    end else if (io_deq_ready) begin // @[ShiftQueue.scala 35:10]
+      valid_2 <= _wen_T_19;
+    end else begin
+      valid_2 <= _valid_2_T_6;
+    end
+    if (reset) begin // @[ShiftQueue.scala 21:30]
+      valid_3 <= 1'h0; // @[ShiftQueue.scala 21:30]
+    end else if (io_deq_ready) begin // @[ShiftQueue.scala 35:10]
+      valid_3 <= _wen_T_27;
+    end else begin
+      valid_3 <= _valid_3_T_6;
+    end
+    if (reset) begin // @[ShiftQueue.scala 21:30]
+      valid_4 <= 1'h0; // @[ShiftQueue.scala 21:30]
+    end else if (io_deq_ready) begin // @[ShiftQueue.scala 35:10]
+      valid_4 <= _wen_T_34;
+    end else begin
+      valid_4 <= _valid_4_T_6;
+    end
+    if (wen) begin // @[ShiftQueue.scala 32:16]
+      if (valid_1) begin // @[ShiftQueue.scala 27:57]
+        elts_0_btb_taken <= elts_1_btb_taken;
+      end else begin
+        elts_0_btb_taken <= io_enq_bits_btb_taken;
+      end
+    end
+    if (wen) begin // @[ShiftQueue.scala 32:16]
+      if (valid_1) begin // @[ShiftQueue.scala 27:57]
+        elts_0_btb_bridx <= elts_1_btb_bridx;
+      end else begin
+        elts_0_btb_bridx <= io_enq_bits_btb_bridx;
+      end
+    end
+    if (wen) begin // @[ShiftQueue.scala 32:16]
+      if (valid_1) begin // @[ShiftQueue.scala 27:57]
+        elts_0_btb_entry <= elts_1_btb_entry;
+      end else begin
+        elts_0_btb_entry <= io_enq_bits_btb_entry;
+      end
+    end
+    if (wen) begin // @[ShiftQueue.scala 32:16]
+      if (valid_1) begin // @[ShiftQueue.scala 27:57]
+        elts_0_btb_bht_history <= elts_1_btb_bht_history;
+      end else begin
+        elts_0_btb_bht_history <= io_enq_bits_btb_bht_history;
+      end
+    end
+    if (wen) begin // @[ShiftQueue.scala 32:16]
+      if (valid_1) begin // @[ShiftQueue.scala 27:57]
+        elts_0_pc <= elts_1_pc;
+      end else begin
+        elts_0_pc <= io_enq_bits_pc;
+      end
+    end
+    if (wen) begin // @[ShiftQueue.scala 32:16]
+      if (valid_1) begin // @[ShiftQueue.scala 27:57]
+        elts_0_data <= elts_1_data;
+      end else begin
+        elts_0_data <= io_enq_bits_data;
+      end
+    end
+    if (wen) begin // @[ShiftQueue.scala 32:16]
+      if (valid_1) begin // @[ShiftQueue.scala 27:57]
+        elts_0_xcpt_ae_inst <= elts_1_xcpt_ae_inst;
+      end else begin
+        elts_0_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst;
+      end
+    end
+    if (wen) begin // @[ShiftQueue.scala 32:16]
+      if (valid_1) begin // @[ShiftQueue.scala 27:57]
+        elts_0_replay <= elts_1_replay;
+      end else begin
+        elts_0_replay <= io_enq_bits_replay;
+      end
+    end
+    if (wen_1) begin // @[ShiftQueue.scala 32:16]
+      if (valid_2) begin // @[ShiftQueue.scala 27:57]
+        elts_1_btb_taken <= elts_2_btb_taken;
+      end else begin
+        elts_1_btb_taken <= io_enq_bits_btb_taken;
+      end
+    end
+    if (wen_1) begin // @[ShiftQueue.scala 32:16]
+      if (valid_2) begin // @[ShiftQueue.scala 27:57]
+        elts_1_btb_bridx <= elts_2_btb_bridx;
+      end else begin
+        elts_1_btb_bridx <= io_enq_bits_btb_bridx;
+      end
+    end
+    if (wen_1) begin // @[ShiftQueue.scala 32:16]
+      if (valid_2) begin // @[ShiftQueue.scala 27:57]
+        elts_1_btb_entry <= elts_2_btb_entry;
+      end else begin
+        elts_1_btb_entry <= io_enq_bits_btb_entry;
+      end
+    end
+    if (wen_1) begin // @[ShiftQueue.scala 32:16]
+      if (valid_2) begin // @[ShiftQueue.scala 27:57]
+        elts_1_btb_bht_history <= elts_2_btb_bht_history;
+      end else begin
+        elts_1_btb_bht_history <= io_enq_bits_btb_bht_history;
+      end
+    end
+    if (wen_1) begin // @[ShiftQueue.scala 32:16]
+      if (valid_2) begin // @[ShiftQueue.scala 27:57]
+        elts_1_pc <= elts_2_pc;
+      end else begin
+        elts_1_pc <= io_enq_bits_pc;
+      end
+    end
+    if (wen_1) begin // @[ShiftQueue.scala 32:16]
+      if (valid_2) begin // @[ShiftQueue.scala 27:57]
+        elts_1_data <= elts_2_data;
+      end else begin
+        elts_1_data <= io_enq_bits_data;
+      end
+    end
+    if (wen_1) begin // @[ShiftQueue.scala 32:16]
+      if (valid_2) begin // @[ShiftQueue.scala 27:57]
+        elts_1_xcpt_ae_inst <= elts_2_xcpt_ae_inst;
+      end else begin
+        elts_1_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst;
+      end
+    end
+    if (wen_1) begin // @[ShiftQueue.scala 32:16]
+      if (valid_2) begin // @[ShiftQueue.scala 27:57]
+        elts_1_replay <= elts_2_replay;
+      end else begin
+        elts_1_replay <= io_enq_bits_replay;
+      end
+    end
+    if (wen_2) begin // @[ShiftQueue.scala 32:16]
+      if (valid_3) begin // @[ShiftQueue.scala 27:57]
+        elts_2_btb_taken <= elts_3_btb_taken;
+      end else begin
+        elts_2_btb_taken <= io_enq_bits_btb_taken;
+      end
+    end
+    if (wen_2) begin // @[ShiftQueue.scala 32:16]
+      if (valid_3) begin // @[ShiftQueue.scala 27:57]
+        elts_2_btb_bridx <= elts_3_btb_bridx;
+      end else begin
+        elts_2_btb_bridx <= io_enq_bits_btb_bridx;
+      end
+    end
+    if (wen_2) begin // @[ShiftQueue.scala 32:16]
+      if (valid_3) begin // @[ShiftQueue.scala 27:57]
+        elts_2_btb_entry <= elts_3_btb_entry;
+      end else begin
+        elts_2_btb_entry <= io_enq_bits_btb_entry;
+      end
+    end
+    if (wen_2) begin // @[ShiftQueue.scala 32:16]
+      if (valid_3) begin // @[ShiftQueue.scala 27:57]
+        elts_2_btb_bht_history <= elts_3_btb_bht_history;
+      end else begin
+        elts_2_btb_bht_history <= io_enq_bits_btb_bht_history;
+      end
+    end
+    if (wen_2) begin // @[ShiftQueue.scala 32:16]
+      if (valid_3) begin // @[ShiftQueue.scala 27:57]
+        elts_2_pc <= elts_3_pc;
+      end else begin
+        elts_2_pc <= io_enq_bits_pc;
+      end
+    end
+    if (wen_2) begin // @[ShiftQueue.scala 32:16]
+      if (valid_3) begin // @[ShiftQueue.scala 27:57]
+        elts_2_data <= elts_3_data;
+      end else begin
+        elts_2_data <= io_enq_bits_data;
+      end
+    end
+    if (wen_2) begin // @[ShiftQueue.scala 32:16]
+      if (valid_3) begin // @[ShiftQueue.scala 27:57]
+        elts_2_xcpt_ae_inst <= elts_3_xcpt_ae_inst;
+      end else begin
+        elts_2_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst;
+      end
+    end
+    if (wen_2) begin // @[ShiftQueue.scala 32:16]
+      if (valid_3) begin // @[ShiftQueue.scala 27:57]
+        elts_2_replay <= elts_3_replay;
+      end else begin
+        elts_2_replay <= io_enq_bits_replay;
+      end
+    end
+    if (wen_3) begin // @[ShiftQueue.scala 32:16]
+      if (valid_4) begin // @[ShiftQueue.scala 27:57]
+        elts_3_btb_taken <= elts_4_btb_taken;
+      end else begin
+        elts_3_btb_taken <= io_enq_bits_btb_taken;
+      end
+    end
+    if (wen_3) begin // @[ShiftQueue.scala 32:16]
+      if (valid_4) begin // @[ShiftQueue.scala 27:57]
+        elts_3_btb_bridx <= elts_4_btb_bridx;
+      end else begin
+        elts_3_btb_bridx <= io_enq_bits_btb_bridx;
+      end
+    end
+    if (wen_3) begin // @[ShiftQueue.scala 32:16]
+      if (valid_4) begin // @[ShiftQueue.scala 27:57]
+        elts_3_btb_entry <= elts_4_btb_entry;
+      end else begin
+        elts_3_btb_entry <= io_enq_bits_btb_entry;
+      end
+    end
+    if (wen_3) begin // @[ShiftQueue.scala 32:16]
+      if (valid_4) begin // @[ShiftQueue.scala 27:57]
+        elts_3_btb_bht_history <= elts_4_btb_bht_history;
+      end else begin
+        elts_3_btb_bht_history <= io_enq_bits_btb_bht_history;
+      end
+    end
+    if (wen_3) begin // @[ShiftQueue.scala 32:16]
+      if (valid_4) begin // @[ShiftQueue.scala 27:57]
+        elts_3_pc <= elts_4_pc;
+      end else begin
+        elts_3_pc <= io_enq_bits_pc;
+      end
+    end
+    if (wen_3) begin // @[ShiftQueue.scala 32:16]
+      if (valid_4) begin // @[ShiftQueue.scala 27:57]
+        elts_3_data <= elts_4_data;
+      end else begin
+        elts_3_data <= io_enq_bits_data;
+      end
+    end
+    if (wen_3) begin // @[ShiftQueue.scala 32:16]
+      if (valid_4) begin // @[ShiftQueue.scala 27:57]
+        elts_3_xcpt_ae_inst <= elts_4_xcpt_ae_inst;
+      end else begin
+        elts_3_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst;
+      end
+    end
+    if (wen_3) begin // @[ShiftQueue.scala 32:16]
+      if (valid_4) begin // @[ShiftQueue.scala 27:57]
+        elts_3_replay <= elts_4_replay;
+      end else begin
+        elts_3_replay <= io_enq_bits_replay;
+      end
+    end
+    if (wen_4) begin // @[ShiftQueue.scala 32:16]
+      elts_4_btb_taken <= io_enq_bits_btb_taken; // @[ShiftQueue.scala 32:26]
+    end
+    if (wen_4) begin // @[ShiftQueue.scala 32:16]
+      elts_4_btb_bridx <= io_enq_bits_btb_bridx; // @[ShiftQueue.scala 32:26]
+    end
+    if (wen_4) begin // @[ShiftQueue.scala 32:16]
+      elts_4_btb_entry <= io_enq_bits_btb_entry; // @[ShiftQueue.scala 32:26]
+    end
+    if (wen_4) begin // @[ShiftQueue.scala 32:16]
+      elts_4_btb_bht_history <= io_enq_bits_btb_bht_history; // @[ShiftQueue.scala 32:26]
+    end
+    if (wen_4) begin // @[ShiftQueue.scala 32:16]
+      elts_4_pc <= io_enq_bits_pc; // @[ShiftQueue.scala 32:26]
+    end
+    if (wen_4) begin // @[ShiftQueue.scala 32:16]
+      elts_4_data <= io_enq_bits_data; // @[ShiftQueue.scala 32:26]
+    end
+    if (wen_4) begin // @[ShiftQueue.scala 32:16]
+      elts_4_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst; // @[ShiftQueue.scala 32:26]
+    end
+    if (wen_4) begin // @[ShiftQueue.scala 32:16]
+      elts_4_replay <= io_enq_bits_replay; // @[ShiftQueue.scala 32:26]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  valid_0 = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  valid_1 = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  valid_2 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  valid_3 = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  valid_4 = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  elts_0_btb_taken = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  elts_0_btb_bridx = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  elts_0_btb_entry = _RAND_7[4:0];
+  _RAND_8 = {1{`RANDOM}};
+  elts_0_btb_bht_history = _RAND_8[7:0];
+  _RAND_9 = {1{`RANDOM}};
+  elts_0_pc = _RAND_9[31:0];
+  _RAND_10 = {1{`RANDOM}};
+  elts_0_data = _RAND_10[31:0];
+  _RAND_11 = {1{`RANDOM}};
+  elts_0_xcpt_ae_inst = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  elts_0_replay = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  elts_1_btb_taken = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  elts_1_btb_bridx = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  elts_1_btb_entry = _RAND_15[4:0];
+  _RAND_16 = {1{`RANDOM}};
+  elts_1_btb_bht_history = _RAND_16[7:0];
+  _RAND_17 = {1{`RANDOM}};
+  elts_1_pc = _RAND_17[31:0];
+  _RAND_18 = {1{`RANDOM}};
+  elts_1_data = _RAND_18[31:0];
+  _RAND_19 = {1{`RANDOM}};
+  elts_1_xcpt_ae_inst = _RAND_19[0:0];
+  _RAND_20 = {1{`RANDOM}};
+  elts_1_replay = _RAND_20[0:0];
+  _RAND_21 = {1{`RANDOM}};
+  elts_2_btb_taken = _RAND_21[0:0];
+  _RAND_22 = {1{`RANDOM}};
+  elts_2_btb_bridx = _RAND_22[0:0];
+  _RAND_23 = {1{`RANDOM}};
+  elts_2_btb_entry = _RAND_23[4:0];
+  _RAND_24 = {1{`RANDOM}};
+  elts_2_btb_bht_history = _RAND_24[7:0];
+  _RAND_25 = {1{`RANDOM}};
+  elts_2_pc = _RAND_25[31:0];
+  _RAND_26 = {1{`RANDOM}};
+  elts_2_data = _RAND_26[31:0];
+  _RAND_27 = {1{`RANDOM}};
+  elts_2_xcpt_ae_inst = _RAND_27[0:0];
+  _RAND_28 = {1{`RANDOM}};
+  elts_2_replay = _RAND_28[0:0];
+  _RAND_29 = {1{`RANDOM}};
+  elts_3_btb_taken = _RAND_29[0:0];
+  _RAND_30 = {1{`RANDOM}};
+  elts_3_btb_bridx = _RAND_30[0:0];
+  _RAND_31 = {1{`RANDOM}};
+  elts_3_btb_entry = _RAND_31[4:0];
+  _RAND_32 = {1{`RANDOM}};
+  elts_3_btb_bht_history = _RAND_32[7:0];
+  _RAND_33 = {1{`RANDOM}};
+  elts_3_pc = _RAND_33[31:0];
+  _RAND_34 = {1{`RANDOM}};
+  elts_3_data = _RAND_34[31:0];
+  _RAND_35 = {1{`RANDOM}};
+  elts_3_xcpt_ae_inst = _RAND_35[0:0];
+  _RAND_36 = {1{`RANDOM}};
+  elts_3_replay = _RAND_36[0:0];
+  _RAND_37 = {1{`RANDOM}};
+  elts_4_btb_taken = _RAND_37[0:0];
+  _RAND_38 = {1{`RANDOM}};
+  elts_4_btb_bridx = _RAND_38[0:0];
+  _RAND_39 = {1{`RANDOM}};
+  elts_4_btb_entry = _RAND_39[4:0];
+  _RAND_40 = {1{`RANDOM}};
+  elts_4_btb_bht_history = _RAND_40[7:0];
+  _RAND_41 = {1{`RANDOM}};
+  elts_4_pc = _RAND_41[31:0];
+  _RAND_42 = {1{`RANDOM}};
+  elts_4_data = _RAND_42[31:0];
+  _RAND_43 = {1{`RANDOM}};
+  elts_4_xcpt_ae_inst = _RAND_43[0:0];
+  _RAND_44 = {1{`RANDOM}};
+  elts_4_replay = _RAND_44[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLB_1(
+  input  [31:0] io_req_bits_vaddr,
+  input  [1:0]  io_req_bits_prv,
+  output [30:0] io_resp_paddr,
+  output        io_resp_ae_inst,
+  output        io_resp_cacheable,
+  input         io_ptw_status_debug,
+  input         io_ptw_pmp_0_cfg_l,
+  input  [1:0]  io_ptw_pmp_0_cfg_a,
+  input         io_ptw_pmp_0_cfg_x,
+  input         io_ptw_pmp_0_cfg_w,
+  input         io_ptw_pmp_0_cfg_r,
+  input  [28:0] io_ptw_pmp_0_addr,
+  input  [30:0] io_ptw_pmp_0_mask,
+  input         io_ptw_pmp_1_cfg_l,
+  input  [1:0]  io_ptw_pmp_1_cfg_a,
+  input         io_ptw_pmp_1_cfg_x,
+  input         io_ptw_pmp_1_cfg_w,
+  input         io_ptw_pmp_1_cfg_r,
+  input  [28:0] io_ptw_pmp_1_addr,
+  input  [30:0] io_ptw_pmp_1_mask,
+  input         io_ptw_pmp_2_cfg_l,
+  input  [1:0]  io_ptw_pmp_2_cfg_a,
+  input         io_ptw_pmp_2_cfg_x,
+  input         io_ptw_pmp_2_cfg_w,
+  input         io_ptw_pmp_2_cfg_r,
+  input  [28:0] io_ptw_pmp_2_addr,
+  input  [30:0] io_ptw_pmp_2_mask,
+  input         io_ptw_pmp_3_cfg_l,
+  input  [1:0]  io_ptw_pmp_3_cfg_a,
+  input         io_ptw_pmp_3_cfg_x,
+  input         io_ptw_pmp_3_cfg_w,
+  input         io_ptw_pmp_3_cfg_r,
+  input  [28:0] io_ptw_pmp_3_addr,
+  input  [30:0] io_ptw_pmp_3_mask,
+  input         io_ptw_pmp_4_cfg_l,
+  input  [1:0]  io_ptw_pmp_4_cfg_a,
+  input         io_ptw_pmp_4_cfg_x,
+  input         io_ptw_pmp_4_cfg_w,
+  input         io_ptw_pmp_4_cfg_r,
+  input  [28:0] io_ptw_pmp_4_addr,
+  input  [30:0] io_ptw_pmp_4_mask,
+  input         io_ptw_pmp_5_cfg_l,
+  input  [1:0]  io_ptw_pmp_5_cfg_a,
+  input         io_ptw_pmp_5_cfg_x,
+  input         io_ptw_pmp_5_cfg_w,
+  input         io_ptw_pmp_5_cfg_r,
+  input  [28:0] io_ptw_pmp_5_addr,
+  input  [30:0] io_ptw_pmp_5_mask,
+  input         io_ptw_pmp_6_cfg_l,
+  input  [1:0]  io_ptw_pmp_6_cfg_a,
+  input         io_ptw_pmp_6_cfg_x,
+  input         io_ptw_pmp_6_cfg_w,
+  input         io_ptw_pmp_6_cfg_r,
+  input  [28:0] io_ptw_pmp_6_addr,
+  input  [30:0] io_ptw_pmp_6_mask,
+  input         io_ptw_pmp_7_cfg_l,
+  input  [1:0]  io_ptw_pmp_7_cfg_a,
+  input         io_ptw_pmp_7_cfg_x,
+  input         io_ptw_pmp_7_cfg_w,
+  input         io_ptw_pmp_7_cfg_r,
+  input  [28:0] io_ptw_pmp_7_addr,
+  input  [30:0] io_ptw_pmp_7_mask
+);
+  wire [1:0] pmp_io_prv; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_0_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_0_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_0_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_0_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_0_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_0_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_0_mask; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_1_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_1_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_1_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_1_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_1_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_1_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_1_mask; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_2_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_2_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_2_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_2_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_2_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_2_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_2_mask; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_3_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_3_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_3_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_3_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_3_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_3_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_3_mask; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_4_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_4_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_4_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_4_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_4_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_4_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_4_mask; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_5_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_5_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_5_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_5_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_5_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_5_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_5_mask; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_6_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_6_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_6_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_6_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_6_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_6_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_6_mask; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_7_cfg_l; // @[TLB.scala 233:19]
+  wire [1:0] pmp_io_pmp_7_cfg_a; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_7_cfg_x; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_7_cfg_w; // @[TLB.scala 233:19]
+  wire  pmp_io_pmp_7_cfg_r; // @[TLB.scala 233:19]
+  wire [28:0] pmp_io_pmp_7_addr; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_pmp_7_mask; // @[TLB.scala 233:19]
+  wire [30:0] pmp_io_addr; // @[TLB.scala 233:19]
+  wire  pmp_io_r; // @[TLB.scala 233:19]
+  wire  pmp_io_w; // @[TLB.scala 233:19]
+  wire  pmp_io_x; // @[TLB.scala 233:19]
+  wire [19:0] vpn = io_req_bits_vaddr[31:12]; // @[TLB.scala 187:30]
+  wire [19:0] mpu_ppn = io_req_bits_vaddr[31:12]; // @[TLB.scala 230:144]
+  wire [31:0] mpu_physaddr = {mpu_ppn,io_req_bits_vaddr[11:0]}; // @[Cat.scala 31:58]
+  wire [2:0] mpu_priv = {io_ptw_status_debug,io_req_bits_prv}; // @[Cat.scala 31:58]
+  wire [31:0] _legal_address_T = mpu_physaddr ^ 32'h3000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_1 = {1'b0,$signed(_legal_address_T)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_3 = $signed(_legal_address_T_1) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_4 = $signed(_legal_address_T_3) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_5 = mpu_physaddr ^ 32'h10013000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_6 = {1'b0,$signed(_legal_address_T_5)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_8 = $signed(_legal_address_T_6) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_9 = $signed(_legal_address_T_8) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_10 = mpu_physaddr ^ 32'h10023000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_11 = {1'b0,$signed(_legal_address_T_10)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_13 = $signed(_legal_address_T_11) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_14 = $signed(_legal_address_T_13) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_15 = mpu_physaddr ^ 32'h10033000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_16 = {1'b0,$signed(_legal_address_T_15)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_18 = $signed(_legal_address_T_16) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_19 = $signed(_legal_address_T_18) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_20 = mpu_physaddr ^ 32'h10043000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_21 = {1'b0,$signed(_legal_address_T_20)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_23 = $signed(_legal_address_T_21) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_24 = $signed(_legal_address_T_23) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_25 = mpu_physaddr ^ 32'h10053000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_26 = {1'b0,$signed(_legal_address_T_25)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_28 = $signed(_legal_address_T_26) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_29 = $signed(_legal_address_T_28) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_30 = mpu_physaddr ^ 32'h10014000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_31 = {1'b0,$signed(_legal_address_T_30)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_33 = $signed(_legal_address_T_31) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_34 = $signed(_legal_address_T_33) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_35 = mpu_physaddr ^ 32'h20000000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_36 = {1'b0,$signed(_legal_address_T_35)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_38 = $signed(_legal_address_T_36) & -33'sh20000000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_39 = $signed(_legal_address_T_38) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_40 = mpu_physaddr ^ 32'h10034000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_41 = {1'b0,$signed(_legal_address_T_40)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_43 = $signed(_legal_address_T_41) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_44 = $signed(_legal_address_T_43) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_45 = mpu_physaddr ^ 32'h10024000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_46 = {1'b0,$signed(_legal_address_T_45)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_48 = $signed(_legal_address_T_46) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_49 = $signed(_legal_address_T_48) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_50 = mpu_physaddr ^ 32'h10012000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_51 = {1'b0,$signed(_legal_address_T_50)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_53 = $signed(_legal_address_T_51) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_54 = $signed(_legal_address_T_53) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_55 = mpu_physaddr ^ 32'h10015000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_56 = {1'b0,$signed(_legal_address_T_55)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_58 = $signed(_legal_address_T_56) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_59 = $signed(_legal_address_T_58) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_60 = mpu_physaddr ^ 32'h10025000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_61 = {1'b0,$signed(_legal_address_T_60)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_63 = $signed(_legal_address_T_61) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_64 = $signed(_legal_address_T_63) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_65 = mpu_physaddr ^ 32'h10035000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_66 = {1'b0,$signed(_legal_address_T_65)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_68 = $signed(_legal_address_T_66) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_69 = $signed(_legal_address_T_68) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_70 = mpu_physaddr ^ 32'h10016000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_71 = {1'b0,$signed(_legal_address_T_70)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_73 = $signed(_legal_address_T_71) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_74 = $signed(_legal_address_T_73) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_75 = mpu_physaddr ^ 32'h10026000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_76 = {1'b0,$signed(_legal_address_T_75)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_78 = $signed(_legal_address_T_76) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_79 = $signed(_legal_address_T_78) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_80 = mpu_physaddr ^ 32'hc000000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_81 = {1'b0,$signed(_legal_address_T_80)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_83 = $signed(_legal_address_T_81) & -33'sh4000000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_84 = $signed(_legal_address_T_83) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_85 = mpu_physaddr ^ 32'h2000000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_86 = {1'b0,$signed(_legal_address_T_85)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_88 = $signed(_legal_address_T_86) & -33'sh10000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_89 = $signed(_legal_address_T_88) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [32:0] _legal_address_T_91 = {1'b0,$signed(mpu_physaddr)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_93 = $signed(_legal_address_T_91) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_94 = $signed(_legal_address_T_93) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_95 = mpu_physaddr ^ 32'h8000000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_96 = {1'b0,$signed(_legal_address_T_95)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_98 = $signed(_legal_address_T_96) & -33'sh4000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_99 = $signed(_legal_address_T_98) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_100 = mpu_physaddr ^ 32'h10000000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_101 = {1'b0,$signed(_legal_address_T_100)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_103 = $signed(_legal_address_T_101) & -33'sh1000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_104 = $signed(_legal_address_T_103) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_105 = mpu_physaddr ^ 32'h10000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_106 = {1'b0,$signed(_legal_address_T_105)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_108 = $signed(_legal_address_T_106) & -33'sh10000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_109 = $signed(_legal_address_T_108) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _legal_address_T_110 = mpu_physaddr ^ 32'h40000000; // @[Parameters.scala 137:31]
+  wire [32:0] _legal_address_T_111 = {1'b0,$signed(_legal_address_T_110)}; // @[Parameters.scala 137:49]
+  wire [32:0] _legal_address_T_113 = $signed(_legal_address_T_111) & -33'sh20000000; // @[Parameters.scala 137:52]
+  wire  _legal_address_T_114 = $signed(_legal_address_T_113) == 33'sh0; // @[Parameters.scala 137:67]
+  wire  legal_address = _legal_address_T_4 | _legal_address_T_9 | _legal_address_T_14 | _legal_address_T_19 |
+    _legal_address_T_24 | _legal_address_T_29 | _legal_address_T_34 | _legal_address_T_39 | _legal_address_T_44 |
+    _legal_address_T_49 | _legal_address_T_54 | _legal_address_T_59 | _legal_address_T_64 | _legal_address_T_69 |
+    _legal_address_T_74 | _legal_address_T_79 | _legal_address_T_84 | _legal_address_T_89 | _legal_address_T_94 |
+    _legal_address_T_99 | _legal_address_T_104 | _legal_address_T_109 | _legal_address_T_114; // @[TLB.scala 238:67]
+  wire [32:0] _cacheable_T_8 = $signed(_legal_address_T_111) & 33'sh40000000; // @[Parameters.scala 137:52]
+  wire  _cacheable_T_9 = $signed(_cacheable_T_8) == 33'sh0; // @[Parameters.scala 137:67]
+  wire  cacheable = legal_address & _cacheable_T_9; // @[TLB.scala 240:19]
+  wire [32:0] _homogeneous_T_98 = $signed(_legal_address_T_36) & 33'sh60000000; // @[Parameters.scala 137:52]
+  wire  _homogeneous_T_99 = $signed(_homogeneous_T_98) == 33'sh0; // @[Parameters.scala 137:67]
+  wire [32:0] _homogeneous_T_116 = $signed(_legal_address_T_111) & 33'sh60000000; // @[Parameters.scala 137:52]
+  wire  _homogeneous_T_117 = $signed(_homogeneous_T_116) == 33'sh0; // @[Parameters.scala 137:67]
+  wire  deny_access_to_debug = mpu_priv <= 3'h3 & _legal_address_T_94; // @[TLB.scala 243:48]
+  wire  _prot_r_T_6 = ~deny_access_to_debug; // @[TLB.scala 244:44]
+  wire [32:0] _prot_x_T_3 = $signed(_legal_address_T_91) & 33'sh76040000; // @[Parameters.scala 137:52]
+  wire  _prot_x_T_4 = $signed(_prot_x_T_3) == 33'sh0; // @[Parameters.scala 137:67]
+  wire  _prot_x_T_16 = _prot_x_T_4 | _homogeneous_T_99 | _homogeneous_T_117; // @[Parameters.scala 615:89]
+  wire  _prot_x_T_43 = legal_address & _prot_x_T_16; // @[TLB.scala 240:19]
+  wire  prot_x = _prot_x_T_43 & _prot_r_T_6 & pmp_io_x; // @[TLB.scala 249:65]
+  wire [18:0] ppn = vpn[18:0]; // @[TLB.scala 310:125]
+  wire [1:0] _px_array_T_1 = prot_x ? 2'h3 : 2'h0; // @[Bitwise.scala 74:12]
+  wire [6:0] px_array = {_px_array_T_1,5'h0}; // @[Cat.scala 31:58]
+  wire [1:0] _c_array_T_1 = cacheable ? 2'h3 : 2'h0; // @[Bitwise.scala 74:12]
+  wire [6:0] c_array = {_c_array_T_1,5'h0}; // @[Cat.scala 31:58]
+  wire [6:0] _io_resp_ae_inst_T = ~px_array; // @[TLB.scala 427:23]
+  wire [6:0] _io_resp_ae_inst_T_1 = _io_resp_ae_inst_T & 7'h40; // @[TLB.scala 427:33]
+  wire [6:0] _io_resp_cacheable_T = c_array & 7'h40; // @[TLB.scala 431:33]
+  PMPChecker pmp ( // @[TLB.scala 233:19]
+    .io_prv(pmp_io_prv),
+    .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 io_resp_paddr = {ppn,io_req_bits_vaddr[11:0]}; // @[Cat.scala 31:58]
+  assign io_resp_ae_inst = |_io_resp_ae_inst_T_1; // @[TLB.scala 427:41]
+  assign io_resp_cacheable = |_io_resp_cacheable_T; // @[TLB.scala 431:41]
+  assign pmp_io_prv = mpu_priv[1:0]; // @[TLB.scala 237:14]
+  assign pmp_io_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_0_addr = io_ptw_pmp_0_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_0_mask = io_ptw_pmp_0_mask; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_1_addr = io_ptw_pmp_1_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_1_mask = io_ptw_pmp_1_mask; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_2_addr = io_ptw_pmp_2_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_2_mask = io_ptw_pmp_2_mask; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_3_addr = io_ptw_pmp_3_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_3_mask = io_ptw_pmp_3_mask; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_4_addr = io_ptw_pmp_4_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_4_mask = io_ptw_pmp_4_mask; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_5_addr = io_ptw_pmp_5_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_5_mask = io_ptw_pmp_5_mask; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_6_addr = io_ptw_pmp_6_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_6_mask = io_ptw_pmp_6_mask; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_7_addr = io_ptw_pmp_7_addr; // @[TLB.scala 236:14]
+  assign pmp_io_pmp_7_mask = io_ptw_pmp_7_mask; // @[TLB.scala 236:14]
+  assign pmp_io_addr = mpu_physaddr[30:0]; // @[TLB.scala 234:15]
+endmodule
+module BTB(
+  input         clock,
+  input         reset,
+  input  [31:0] io_req_bits_addr,
+  output        io_resp_valid,
+  output        io_resp_bits_taken,
+  output        io_resp_bits_bridx,
+  output [31:0] io_resp_bits_target,
+  output [4:0]  io_resp_bits_entry,
+  output [7:0]  io_resp_bits_bht_history,
+  output        io_resp_bits_bht_value,
+  input         io_btb_update_valid,
+  input  [4:0]  io_btb_update_bits_prediction_entry,
+  input  [31:0] io_btb_update_bits_pc,
+  input         io_btb_update_bits_isValid,
+  input  [31:0] io_btb_update_bits_br_pc,
+  input  [1:0]  io_btb_update_bits_cfiType,
+  input         io_bht_update_valid,
+  input  [7:0]  io_bht_update_bits_prediction_history,
+  input  [31:0] io_bht_update_bits_pc,
+  input         io_bht_update_bits_branch,
+  input         io_bht_update_bits_taken,
+  input         io_bht_update_bits_mispredict,
+  input         io_bht_advance_valid,
+  input         io_bht_advance_bits_bht_value,
+  input         io_ras_update_valid,
+  input  [1:0]  io_ras_update_bits_cfiType,
+  input  [31:0] io_ras_update_bits_returnAddr,
+  output        io_ras_head_valid,
+  output [31:0] io_ras_head_bits,
+  input         io_flush
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+  reg [31:0] _RAND_34;
+  reg [31:0] _RAND_35;
+  reg [31:0] _RAND_36;
+  reg [31:0] _RAND_37;
+  reg [31:0] _RAND_38;
+  reg [31:0] _RAND_39;
+  reg [31:0] _RAND_40;
+  reg [31:0] _RAND_41;
+  reg [31:0] _RAND_42;
+  reg [31:0] _RAND_43;
+  reg [31:0] _RAND_44;
+  reg [31:0] _RAND_45;
+  reg [31:0] _RAND_46;
+  reg [31:0] _RAND_47;
+  reg [31:0] _RAND_48;
+  reg [31:0] _RAND_49;
+  reg [31:0] _RAND_50;
+  reg [31:0] _RAND_51;
+  reg [31:0] _RAND_52;
+  reg [31:0] _RAND_53;
+  reg [31:0] _RAND_54;
+  reg [31:0] _RAND_55;
+  reg [31:0] _RAND_56;
+  reg [31:0] _RAND_57;
+  reg [31:0] _RAND_58;
+  reg [31:0] _RAND_59;
+  reg [31:0] _RAND_60;
+  reg [31:0] _RAND_61;
+  reg [31:0] _RAND_62;
+  reg [31:0] _RAND_63;
+  reg [31:0] _RAND_64;
+  reg [31:0] _RAND_65;
+  reg [31:0] _RAND_66;
+  reg [31:0] _RAND_67;
+  reg [31:0] _RAND_68;
+  reg [31:0] _RAND_69;
+  reg [31:0] _RAND_70;
+  reg [31:0] _RAND_71;
+  reg [31:0] _RAND_72;
+  reg [31:0] _RAND_73;
+  reg [31:0] _RAND_74;
+  reg [31:0] _RAND_75;
+  reg [31:0] _RAND_76;
+  reg [31:0] _RAND_77;
+  reg [31:0] _RAND_78;
+  reg [31:0] _RAND_79;
+  reg [31:0] _RAND_80;
+  reg [31:0] _RAND_81;
+  reg [31:0] _RAND_82;
+  reg [31:0] _RAND_83;
+  reg [31:0] _RAND_84;
+  reg [31:0] _RAND_85;
+  reg [31:0] _RAND_86;
+  reg [31:0] _RAND_87;
+  reg [31:0] _RAND_88;
+  reg [31:0] _RAND_89;
+  reg [31:0] _RAND_90;
+  reg [31:0] _RAND_91;
+  reg [31:0] _RAND_92;
+  reg [31:0] _RAND_93;
+  reg [31:0] _RAND_94;
+  reg [31:0] _RAND_95;
+  reg [31:0] _RAND_96;
+  reg [31:0] _RAND_97;
+  reg [31:0] _RAND_98;
+  reg [31:0] _RAND_99;
+  reg [31:0] _RAND_100;
+  reg [31:0] _RAND_101;
+  reg [31:0] _RAND_102;
+  reg [31:0] _RAND_103;
+  reg [31:0] _RAND_104;
+  reg [31:0] _RAND_105;
+  reg [31:0] _RAND_106;
+  reg [31:0] _RAND_107;
+  reg [31:0] _RAND_108;
+  reg [31:0] _RAND_109;
+  reg [31:0] _RAND_110;
+  reg [31:0] _RAND_111;
+  reg [31:0] _RAND_112;
+  reg [31:0] _RAND_113;
+  reg [31:0] _RAND_114;
+  reg [31:0] _RAND_115;
+  reg [31:0] _RAND_116;
+  reg [31:0] _RAND_117;
+  reg [31:0] _RAND_118;
+  reg [31:0] _RAND_119;
+  reg [31:0] _RAND_120;
+  reg [31:0] _RAND_121;
+  reg [31:0] _RAND_122;
+  reg [31:0] _RAND_123;
+  reg [31:0] _RAND_124;
+  reg [31:0] _RAND_125;
+  reg [31:0] _RAND_126;
+  reg [31:0] _RAND_127;
+  reg [31:0] _RAND_128;
+  reg [31:0] _RAND_129;
+  reg [31:0] _RAND_130;
+  reg [31:0] _RAND_131;
+  reg [31:0] _RAND_132;
+  reg [31:0] _RAND_133;
+  reg [31:0] _RAND_134;
+  reg [31:0] _RAND_135;
+  reg [31:0] _RAND_136;
+  reg [31:0] _RAND_137;
+  reg [31:0] _RAND_138;
+  reg [31:0] _RAND_139;
+  reg [31:0] _RAND_140;
+  reg [31:0] _RAND_141;
+  reg [31:0] _RAND_142;
+  reg [31:0] _RAND_143;
+  reg [31:0] _RAND_144;
+  reg [31:0] _RAND_145;
+  reg [31:0] _RAND_146;
+  reg [31:0] _RAND_147;
+  reg [31:0] _RAND_148;
+  reg [31:0] _RAND_149;
+  reg [31:0] _RAND_150;
+  reg [31:0] _RAND_151;
+  reg [31:0] _RAND_152;
+  reg [31:0] _RAND_153;
+  reg [31:0] _RAND_154;
+  reg [31:0] _RAND_155;
+  reg [31:0] _RAND_156;
+  reg [31:0] _RAND_157;
+  reg [31:0] _RAND_158;
+  reg [31:0] _RAND_159;
+  reg [31:0] _RAND_160;
+  reg [31:0] _RAND_161;
+  reg [31:0] _RAND_162;
+  reg [31:0] _RAND_163;
+  reg [31:0] _RAND_164;
+  reg [31:0] _RAND_165;
+  reg [31:0] _RAND_166;
+  reg [31:0] _RAND_167;
+  reg [31:0] _RAND_168;
+  reg [31:0] _RAND_169;
+  reg [31:0] _RAND_170;
+  reg [31:0] _RAND_171;
+  reg [31:0] _RAND_172;
+  reg [31:0] _RAND_173;
+  reg [31:0] _RAND_174;
+  reg [31:0] _RAND_175;
+  reg [31:0] _RAND_176;
+  reg [31:0] _RAND_177;
+  reg [31:0] _RAND_178;
+  reg [31:0] _RAND_179;
+  reg [31:0] _RAND_180;
+  reg [31:0] _RAND_181;
+  reg [31:0] _RAND_182;
+  reg [31:0] _RAND_183;
+  reg [31:0] _RAND_184;
+  reg [31:0] _RAND_185;
+  reg [31:0] _RAND_186;
+  reg [31:0] _RAND_187;
+  reg [31:0] _RAND_188;
+  reg [31:0] _RAND_189;
+  reg [31:0] _RAND_190;
+  reg [31:0] _RAND_191;
+  reg [31:0] _RAND_192;
+  reg [31:0] _RAND_193;
+  reg [31:0] _RAND_194;
+  reg [31:0] _RAND_195;
+  reg [31:0] _RAND_196;
+  reg [31:0] _RAND_197;
+`endif // RANDOMIZE_REG_INIT
+  reg  table_ [0:511]; // @[BTB.scala 118:26]
+  wire  table__res_res_value_MPORT_en; // @[BTB.scala 118:26]
+  wire [8:0] table__res_res_value_MPORT_addr; // @[BTB.scala 118:26]
+  wire  table__res_res_value_MPORT_data; // @[BTB.scala 118:26]
+  wire  table__MPORT_data; // @[BTB.scala 118:26]
+  wire [8:0] table__MPORT_addr; // @[BTB.scala 118:26]
+  wire  table__MPORT_mask; // @[BTB.scala 118:26]
+  wire  table__MPORT_en; // @[BTB.scala 118:26]
+  reg [12:0] idxs_0; // @[BTB.scala 201:17]
+  reg [12:0] idxs_1; // @[BTB.scala 201:17]
+  reg [12:0] idxs_2; // @[BTB.scala 201:17]
+  reg [12:0] idxs_3; // @[BTB.scala 201:17]
+  reg [12:0] idxs_4; // @[BTB.scala 201:17]
+  reg [12:0] idxs_5; // @[BTB.scala 201:17]
+  reg [12:0] idxs_6; // @[BTB.scala 201:17]
+  reg [12:0] idxs_7; // @[BTB.scala 201:17]
+  reg [12:0] idxs_8; // @[BTB.scala 201:17]
+  reg [12:0] idxs_9; // @[BTB.scala 201:17]
+  reg [12:0] idxs_10; // @[BTB.scala 201:17]
+  reg [12:0] idxs_11; // @[BTB.scala 201:17]
+  reg [12:0] idxs_12; // @[BTB.scala 201:17]
+  reg [12:0] idxs_13; // @[BTB.scala 201:17]
+  reg [12:0] idxs_14; // @[BTB.scala 201:17]
+  reg [12:0] idxs_15; // @[BTB.scala 201:17]
+  reg [12:0] idxs_16; // @[BTB.scala 201:17]
+  reg [12:0] idxs_17; // @[BTB.scala 201:17]
+  reg [12:0] idxs_18; // @[BTB.scala 201:17]
+  reg [12:0] idxs_19; // @[BTB.scala 201:17]
+  reg [12:0] idxs_20; // @[BTB.scala 201:17]
+  reg [12:0] idxs_21; // @[BTB.scala 201:17]
+  reg [12:0] idxs_22; // @[BTB.scala 201:17]
+  reg [12:0] idxs_23; // @[BTB.scala 201:17]
+  reg [12:0] idxs_24; // @[BTB.scala 201:17]
+  reg [12:0] idxs_25; // @[BTB.scala 201:17]
+  reg [12:0] idxs_26; // @[BTB.scala 201:17]
+  reg [12:0] idxs_27; // @[BTB.scala 201:17]
+  reg [2:0] idxPages_0; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_1; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_2; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_3; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_4; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_5; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_6; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_7; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_8; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_9; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_10; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_11; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_12; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_13; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_14; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_15; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_16; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_17; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_18; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_19; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_20; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_21; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_22; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_23; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_24; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_25; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_26; // @[BTB.scala 202:21]
+  reg [2:0] idxPages_27; // @[BTB.scala 202:21]
+  reg [12:0] tgts_0; // @[BTB.scala 203:17]
+  reg [12:0] tgts_1; // @[BTB.scala 203:17]
+  reg [12:0] tgts_2; // @[BTB.scala 203:17]
+  reg [12:0] tgts_3; // @[BTB.scala 203:17]
+  reg [12:0] tgts_4; // @[BTB.scala 203:17]
+  reg [12:0] tgts_5; // @[BTB.scala 203:17]
+  reg [12:0] tgts_6; // @[BTB.scala 203:17]
+  reg [12:0] tgts_7; // @[BTB.scala 203:17]
+  reg [12:0] tgts_8; // @[BTB.scala 203:17]
+  reg [12:0] tgts_9; // @[BTB.scala 203:17]
+  reg [12:0] tgts_10; // @[BTB.scala 203:17]
+  reg [12:0] tgts_11; // @[BTB.scala 203:17]
+  reg [12:0] tgts_12; // @[BTB.scala 203:17]
+  reg [12:0] tgts_13; // @[BTB.scala 203:17]
+  reg [12:0] tgts_14; // @[BTB.scala 203:17]
+  reg [12:0] tgts_15; // @[BTB.scala 203:17]
+  reg [12:0] tgts_16; // @[BTB.scala 203:17]
+  reg [12:0] tgts_17; // @[BTB.scala 203:17]
+  reg [12:0] tgts_18; // @[BTB.scala 203:17]
+  reg [12:0] tgts_19; // @[BTB.scala 203:17]
+  reg [12:0] tgts_20; // @[BTB.scala 203:17]
+  reg [12:0] tgts_21; // @[BTB.scala 203:17]
+  reg [12:0] tgts_22; // @[BTB.scala 203:17]
+  reg [12:0] tgts_23; // @[BTB.scala 203:17]
+  reg [12:0] tgts_24; // @[BTB.scala 203:17]
+  reg [12:0] tgts_25; // @[BTB.scala 203:17]
+  reg [12:0] tgts_26; // @[BTB.scala 203:17]
+  reg [12:0] tgts_27; // @[BTB.scala 203:17]
+  reg [2:0] tgtPages_0; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_1; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_2; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_3; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_4; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_5; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_6; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_7; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_8; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_9; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_10; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_11; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_12; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_13; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_14; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_15; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_16; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_17; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_18; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_19; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_20; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_21; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_22; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_23; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_24; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_25; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_26; // @[BTB.scala 204:21]
+  reg [2:0] tgtPages_27; // @[BTB.scala 204:21]
+  reg [17:0] pages_0; // @[BTB.scala 205:18]
+  reg [17:0] pages_1; // @[BTB.scala 205:18]
+  reg [17:0] pages_2; // @[BTB.scala 205:18]
+  reg [17:0] pages_3; // @[BTB.scala 205:18]
+  reg [17:0] pages_4; // @[BTB.scala 205:18]
+  reg [17:0] pages_5; // @[BTB.scala 205:18]
+  reg [5:0] pageValid; // @[BTB.scala 206:22]
+  wire [17:0] pagesMasked_0 = pageValid[0] ? pages_0 : 18'h0; // @[BTB.scala 207:75]
+  wire [17:0] pagesMasked_1 = pageValid[1] ? pages_1 : 18'h0; // @[BTB.scala 207:75]
+  wire [17:0] pagesMasked_2 = pageValid[2] ? pages_2 : 18'h0; // @[BTB.scala 207:75]
+  wire [17:0] pagesMasked_3 = pageValid[3] ? pages_3 : 18'h0; // @[BTB.scala 207:75]
+  wire [17:0] pagesMasked_4 = pageValid[4] ? pages_4 : 18'h0; // @[BTB.scala 207:75]
+  wire [17:0] pagesMasked_5 = pageValid[5] ? pages_5 : 18'h0; // @[BTB.scala 207:75]
+  reg [27:0] isValid; // @[BTB.scala 209:20]
+  reg [1:0] cfiType_0; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_1; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_2; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_3; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_4; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_5; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_6; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_7; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_8; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_9; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_10; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_11; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_12; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_13; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_14; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_15; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_16; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_17; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_18; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_19; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_20; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_21; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_22; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_23; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_24; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_25; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_26; // @[BTB.scala 210:20]
+  reg [1:0] cfiType_27; // @[BTB.scala 210:20]
+  reg  brIdx_0; // @[BTB.scala 211:18]
+  reg  brIdx_1; // @[BTB.scala 211:18]
+  reg  brIdx_2; // @[BTB.scala 211:18]
+  reg  brIdx_3; // @[BTB.scala 211:18]
+  reg  brIdx_4; // @[BTB.scala 211:18]
+  reg  brIdx_5; // @[BTB.scala 211:18]
+  reg  brIdx_6; // @[BTB.scala 211:18]
+  reg  brIdx_7; // @[BTB.scala 211:18]
+  reg  brIdx_8; // @[BTB.scala 211:18]
+  reg  brIdx_9; // @[BTB.scala 211:18]
+  reg  brIdx_10; // @[BTB.scala 211:18]
+  reg  brIdx_11; // @[BTB.scala 211:18]
+  reg  brIdx_12; // @[BTB.scala 211:18]
+  reg  brIdx_13; // @[BTB.scala 211:18]
+  reg  brIdx_14; // @[BTB.scala 211:18]
+  reg  brIdx_15; // @[BTB.scala 211:18]
+  reg  brIdx_16; // @[BTB.scala 211:18]
+  reg  brIdx_17; // @[BTB.scala 211:18]
+  reg  brIdx_18; // @[BTB.scala 211:18]
+  reg  brIdx_19; // @[BTB.scala 211:18]
+  reg  brIdx_20; // @[BTB.scala 211:18]
+  reg  brIdx_21; // @[BTB.scala 211:18]
+  reg  brIdx_22; // @[BTB.scala 211:18]
+  reg  brIdx_23; // @[BTB.scala 211:18]
+  reg  brIdx_24; // @[BTB.scala 211:18]
+  reg  brIdx_25; // @[BTB.scala 211:18]
+  reg  brIdx_26; // @[BTB.scala 211:18]
+  reg  brIdx_27; // @[BTB.scala 211:18]
+  reg  r_btb_updatePipe_valid; // @[Valid.scala 127:22]
+  reg [4:0] r_btb_updatePipe_bits_prediction_entry; // @[Reg.scala 16:16]
+  reg [31:0] r_btb_updatePipe_bits_pc; // @[Reg.scala 16:16]
+  reg  r_btb_updatePipe_bits_isValid; // @[Reg.scala 16:16]
+  reg [31:0] r_btb_updatePipe_bits_br_pc; // @[Reg.scala 16:16]
+  reg [1:0] r_btb_updatePipe_bits_cfiType; // @[Reg.scala 16:16]
+  wire [17:0] pageHit_p = io_req_bits_addr[31:14]; // @[BTB.scala 213:39]
+  wire  _pageHit_T = pages_0 == pageHit_p; // @[BTB.scala 216:29]
+  wire  _pageHit_T_1 = pages_1 == pageHit_p; // @[BTB.scala 216:29]
+  wire  _pageHit_T_2 = pages_2 == pageHit_p; // @[BTB.scala 216:29]
+  wire  _pageHit_T_3 = pages_3 == pageHit_p; // @[BTB.scala 216:29]
+  wire  _pageHit_T_4 = pages_4 == pageHit_p; // @[BTB.scala 216:29]
+  wire  _pageHit_T_5 = pages_5 == pageHit_p; // @[BTB.scala 216:29]
+  wire [5:0] _pageHit_T_6 = {_pageHit_T_5,_pageHit_T_4,_pageHit_T_3,_pageHit_T_2,_pageHit_T_1,_pageHit_T}; // @[Cat.scala 31:58]
+  wire [5:0] pageHit = pageValid & _pageHit_T_6; // @[BTB.scala 216:15]
+  wire [12:0] idxHit_idx = io_req_bits_addr[13:1]; // @[BTB.scala 219:19]
+  wire  _idxHit_T = idxs_0 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_1 = idxs_1 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_2 = idxs_2 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_3 = idxs_3 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_4 = idxs_4 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_5 = idxs_5 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_6 = idxs_6 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_7 = idxs_7 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_8 = idxs_8 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_9 = idxs_9 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_10 = idxs_10 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_11 = idxs_11 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_12 = idxs_12 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_13 = idxs_13 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_14 = idxs_14 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_15 = idxs_15 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_16 = idxs_16 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_17 = idxs_17 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_18 = idxs_18 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_19 = idxs_19 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_20 = idxs_20 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_21 = idxs_21 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_22 = idxs_22 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_23 = idxs_23 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_24 = idxs_24 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_25 = idxs_25 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_26 = idxs_26 == idxHit_idx; // @[BTB.scala 220:16]
+  wire  _idxHit_T_27 = idxs_27 == idxHit_idx; // @[BTB.scala 220:16]
+  wire [6:0] idxHit_lo_lo = {_idxHit_T_6,_idxHit_T_5,_idxHit_T_4,_idxHit_T_3,_idxHit_T_2,_idxHit_T_1,_idxHit_T}; // @[Cat.scala 31:58]
+  wire [13:0] idxHit_lo = {_idxHit_T_13,_idxHit_T_12,_idxHit_T_11,_idxHit_T_10,_idxHit_T_9,_idxHit_T_8,_idxHit_T_7,
+    idxHit_lo_lo}; // @[Cat.scala 31:58]
+  wire [6:0] idxHit_hi_lo = {_idxHit_T_20,_idxHit_T_19,_idxHit_T_18,_idxHit_T_17,_idxHit_T_16,_idxHit_T_15,_idxHit_T_14}
+    ; // @[Cat.scala 31:58]
+  wire [27:0] _idxHit_T_28 = {_idxHit_T_27,_idxHit_T_26,_idxHit_T_25,_idxHit_T_24,_idxHit_T_23,_idxHit_T_22,_idxHit_T_21
+    ,idxHit_hi_lo,idxHit_lo}; // @[Cat.scala 31:58]
+  wire [27:0] idxHit = _idxHit_T_28 & isValid; // @[BTB.scala 220:32]
+  wire [17:0] updatePageHit_p = r_btb_updatePipe_bits_pc[31:14]; // @[BTB.scala 213:39]
+  wire  _updatePageHit_T = pages_0 == updatePageHit_p; // @[BTB.scala 216:29]
+  wire  _updatePageHit_T_1 = pages_1 == updatePageHit_p; // @[BTB.scala 216:29]
+  wire  _updatePageHit_T_2 = pages_2 == updatePageHit_p; // @[BTB.scala 216:29]
+  wire  _updatePageHit_T_3 = pages_3 == updatePageHit_p; // @[BTB.scala 216:29]
+  wire  _updatePageHit_T_4 = pages_4 == updatePageHit_p; // @[BTB.scala 216:29]
+  wire  _updatePageHit_T_5 = pages_5 == updatePageHit_p; // @[BTB.scala 216:29]
+  wire [5:0] _updatePageHit_T_6 = {_updatePageHit_T_5,_updatePageHit_T_4,_updatePageHit_T_3,_updatePageHit_T_2,
+    _updatePageHit_T_1,_updatePageHit_T}; // @[Cat.scala 31:58]
+  wire [5:0] updatePageHit = pageValid & _updatePageHit_T_6; // @[BTB.scala 216:15]
+  wire  updateHit = r_btb_updatePipe_bits_prediction_entry < 5'h1c; // @[BTB.scala 234:48]
+  wire  useUpdatePageHit = |updatePageHit; // @[BTB.scala 236:40]
+  wire  usePageHit = |pageHit; // @[BTB.scala 237:28]
+  wire  doIdxPageRepl = ~useUpdatePageHit; // @[BTB.scala 238:23]
+  reg [2:0] nextPageRepl; // @[BTB.scala 239:29]
+  wire [5:0] _idxPageRepl_T_2 = {pageHit[4:0],pageHit[5]}; // @[Cat.scala 31:58]
+  wire [7:0] _idxPageRepl_T_3 = 8'h1 << nextPageRepl; // @[OneHot.scala 57:35]
+  wire [7:0] _idxPageRepl_T_4 = usePageHit ? 8'h0 : _idxPageRepl_T_3; // @[BTB.scala 240:70]
+  wire [7:0] _GEN_430 = {{2'd0}, _idxPageRepl_T_2}; // @[BTB.scala 240:65]
+  wire [7:0] idxPageRepl = _GEN_430 | _idxPageRepl_T_4; // @[BTB.scala 240:65]
+  wire [7:0] idxPageUpdateOH = useUpdatePageHit ? {{2'd0}, updatePageHit} : idxPageRepl; // @[BTB.scala 241:28]
+  wire [3:0] idxPageUpdate_hi = idxPageUpdateOH[7:4]; // @[OneHot.scala 30:18]
+  wire [3:0] idxPageUpdate_lo = idxPageUpdateOH[3:0]; // @[OneHot.scala 31:18]
+  wire  _idxPageUpdate_T = |idxPageUpdate_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _idxPageUpdate_T_1 = idxPageUpdate_hi | idxPageUpdate_lo; // @[OneHot.scala 32:28]
+  wire [1:0] idxPageUpdate_hi_1 = _idxPageUpdate_T_1[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] idxPageUpdate_lo_1 = _idxPageUpdate_T_1[1:0]; // @[OneHot.scala 31:18]
+  wire  _idxPageUpdate_T_2 = |idxPageUpdate_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _idxPageUpdate_T_3 = idxPageUpdate_hi_1 | idxPageUpdate_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] idxPageUpdate = {_idxPageUpdate_T,_idxPageUpdate_T_2,_idxPageUpdate_T_3[1]}; // @[Cat.scala 31:58]
+  wire [7:0] idxPageReplEn = doIdxPageRepl ? idxPageRepl : 8'h0; // @[BTB.scala 243:26]
+  wire  samePage = updatePageHit_p == pageHit_p; // @[BTB.scala 245:45]
+  wire  doTgtPageRepl = ~samePage & ~usePageHit; // @[BTB.scala 246:33]
+  wire [5:0] _tgtPageRepl_T_2 = {idxPageUpdateOH[4:0],idxPageUpdateOH[5]}; // @[Cat.scala 31:58]
+  wire [7:0] tgtPageRepl = samePage ? idxPageUpdateOH : {{2'd0}, _tgtPageRepl_T_2}; // @[BTB.scala 247:24]
+  wire [7:0] _tgtPageUpdate_T = usePageHit ? 8'h0 : tgtPageRepl; // @[BTB.scala 248:45]
+  wire [7:0] _GEN_431 = {{2'd0}, pageHit}; // @[BTB.scala 248:40]
+  wire [7:0] _tgtPageUpdate_T_1 = _GEN_431 | _tgtPageUpdate_T; // @[BTB.scala 248:40]
+  wire [3:0] tgtPageUpdate_hi = _tgtPageUpdate_T_1[7:4]; // @[OneHot.scala 30:18]
+  wire [3:0] tgtPageUpdate_lo = _tgtPageUpdate_T_1[3:0]; // @[OneHot.scala 31:18]
+  wire  _tgtPageUpdate_T_2 = |tgtPageUpdate_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _tgtPageUpdate_T_3 = tgtPageUpdate_hi | tgtPageUpdate_lo; // @[OneHot.scala 32:28]
+  wire [1:0] tgtPageUpdate_hi_1 = _tgtPageUpdate_T_3[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] tgtPageUpdate_lo_1 = _tgtPageUpdate_T_3[1:0]; // @[OneHot.scala 31:18]
+  wire  _tgtPageUpdate_T_4 = |tgtPageUpdate_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _tgtPageUpdate_T_5 = tgtPageUpdate_hi_1 | tgtPageUpdate_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] tgtPageUpdate = {_tgtPageUpdate_T_2,_tgtPageUpdate_T_4,_tgtPageUpdate_T_5[1]}; // @[Cat.scala 31:58]
+  wire [7:0] tgtPageReplEn = doTgtPageRepl ? tgtPageRepl : 8'h0; // @[BTB.scala 249:26]
+  wire  both = doIdxPageRepl & doTgtPageRepl; // @[BTB.scala 252:30]
+  wire [1:0] _next_T = both ? 2'h2 : 2'h1; // @[BTB.scala 253:40]
+  wire [2:0] _GEN_432 = {{1'd0}, _next_T}; // @[BTB.scala 253:29]
+  wire [2:0] next = nextPageRepl + _GEN_432; // @[BTB.scala 253:29]
+  reg [26:0] state_reg; // @[Replacement.scala 168:70]
+  wire  waddr_left_subtree_older = state_reg[26]; // @[Replacement.scala 243:38]
+  wire [10:0] waddr_left_subtree_state = state_reg[25:15]; // @[package.scala 154:13]
+  wire [14:0] waddr_right_subtree_state = state_reg[14:0]; // @[Replacement.scala 245:38]
+  wire  waddr_left_subtree_older_1 = waddr_left_subtree_state[10]; // @[Replacement.scala 243:38]
+  wire [2:0] waddr_left_subtree_state_1 = waddr_left_subtree_state[9:7]; // @[package.scala 154:13]
+  wire [6:0] waddr_right_subtree_state_1 = waddr_left_subtree_state[6:0]; // @[Replacement.scala 245:38]
+  wire  waddr_left_subtree_older_2 = waddr_left_subtree_state_1[2]; // @[Replacement.scala 243:38]
+  wire  waddr_left_subtree_state_2 = waddr_left_subtree_state_1[1]; // @[package.scala 154:13]
+  wire  waddr_right_subtree_state_2 = waddr_left_subtree_state_1[0]; // @[Replacement.scala 245:38]
+  wire  _waddr_T_2 = waddr_left_subtree_older_2 ? waddr_left_subtree_state_2 : waddr_right_subtree_state_2; // @[Replacement.scala 250:16]
+  wire [1:0] _waddr_T_3 = {waddr_left_subtree_older_2,_waddr_T_2}; // @[Cat.scala 31:58]
+  wire  waddr_left_subtree_older_3 = waddr_right_subtree_state_1[6]; // @[Replacement.scala 243:38]
+  wire [2:0] waddr_left_subtree_state_3 = waddr_right_subtree_state_1[5:3]; // @[package.scala 154:13]
+  wire [2:0] waddr_right_subtree_state_3 = waddr_right_subtree_state_1[2:0]; // @[Replacement.scala 245:38]
+  wire  waddr_left_subtree_older_4 = waddr_left_subtree_state_3[2]; // @[Replacement.scala 243:38]
+  wire  waddr_left_subtree_state_4 = waddr_left_subtree_state_3[1]; // @[package.scala 154:13]
+  wire  waddr_right_subtree_state_4 = waddr_left_subtree_state_3[0]; // @[Replacement.scala 245:38]
+  wire  _waddr_T_6 = waddr_left_subtree_older_4 ? waddr_left_subtree_state_4 : waddr_right_subtree_state_4; // @[Replacement.scala 250:16]
+  wire [1:0] _waddr_T_7 = {waddr_left_subtree_older_4,_waddr_T_6}; // @[Cat.scala 31:58]
+  wire  waddr_left_subtree_older_5 = waddr_right_subtree_state_3[2]; // @[Replacement.scala 243:38]
+  wire  waddr_left_subtree_state_5 = waddr_right_subtree_state_3[1]; // @[package.scala 154:13]
+  wire  waddr_right_subtree_state_5 = waddr_right_subtree_state_3[0]; // @[Replacement.scala 245:38]
+  wire  _waddr_T_10 = waddr_left_subtree_older_5 ? waddr_left_subtree_state_5 : waddr_right_subtree_state_5; // @[Replacement.scala 250:16]
+  wire [1:0] _waddr_T_11 = {waddr_left_subtree_older_5,_waddr_T_10}; // @[Cat.scala 31:58]
+  wire [1:0] _waddr_T_12 = waddr_left_subtree_older_3 ? _waddr_T_7 : _waddr_T_11; // @[Replacement.scala 250:16]
+  wire [2:0] _waddr_T_13 = {waddr_left_subtree_older_3,_waddr_T_12}; // @[Cat.scala 31:58]
+  wire [2:0] _waddr_T_14 = waddr_left_subtree_older_1 ? {{1'd0}, _waddr_T_3} : _waddr_T_13; // @[Replacement.scala 250:16]
+  wire [3:0] _waddr_T_15 = {waddr_left_subtree_older_1,_waddr_T_14}; // @[Cat.scala 31:58]
+  wire  waddr_left_subtree_older_6 = waddr_right_subtree_state[14]; // @[Replacement.scala 243:38]
+  wire [6:0] waddr_left_subtree_state_6 = waddr_right_subtree_state[13:7]; // @[package.scala 154:13]
+  wire [6:0] waddr_right_subtree_state_6 = waddr_right_subtree_state[6:0]; // @[Replacement.scala 245:38]
+  wire  waddr_left_subtree_older_7 = waddr_left_subtree_state_6[6]; // @[Replacement.scala 243:38]
+  wire [2:0] waddr_left_subtree_state_7 = waddr_left_subtree_state_6[5:3]; // @[package.scala 154:13]
+  wire [2:0] waddr_right_subtree_state_7 = waddr_left_subtree_state_6[2:0]; // @[Replacement.scala 245:38]
+  wire  waddr_left_subtree_older_8 = waddr_left_subtree_state_7[2]; // @[Replacement.scala 243:38]
+  wire  waddr_left_subtree_state_8 = waddr_left_subtree_state_7[1]; // @[package.scala 154:13]
+  wire  waddr_right_subtree_state_8 = waddr_left_subtree_state_7[0]; // @[Replacement.scala 245:38]
+  wire  _waddr_T_18 = waddr_left_subtree_older_8 ? waddr_left_subtree_state_8 : waddr_right_subtree_state_8; // @[Replacement.scala 250:16]
+  wire [1:0] _waddr_T_19 = {waddr_left_subtree_older_8,_waddr_T_18}; // @[Cat.scala 31:58]
+  wire  waddr_left_subtree_older_9 = waddr_right_subtree_state_7[2]; // @[Replacement.scala 243:38]
+  wire  waddr_left_subtree_state_9 = waddr_right_subtree_state_7[1]; // @[package.scala 154:13]
+  wire  waddr_right_subtree_state_9 = waddr_right_subtree_state_7[0]; // @[Replacement.scala 245:38]
+  wire  _waddr_T_22 = waddr_left_subtree_older_9 ? waddr_left_subtree_state_9 : waddr_right_subtree_state_9; // @[Replacement.scala 250:16]
+  wire [1:0] _waddr_T_23 = {waddr_left_subtree_older_9,_waddr_T_22}; // @[Cat.scala 31:58]
+  wire [1:0] _waddr_T_24 = waddr_left_subtree_older_7 ? _waddr_T_19 : _waddr_T_23; // @[Replacement.scala 250:16]
+  wire [2:0] _waddr_T_25 = {waddr_left_subtree_older_7,_waddr_T_24}; // @[Cat.scala 31:58]
+  wire  waddr_left_subtree_older_10 = waddr_right_subtree_state_6[6]; // @[Replacement.scala 243:38]
+  wire [2:0] waddr_left_subtree_state_10 = waddr_right_subtree_state_6[5:3]; // @[package.scala 154:13]
+  wire [2:0] waddr_right_subtree_state_10 = waddr_right_subtree_state_6[2:0]; // @[Replacement.scala 245:38]
+  wire  waddr_left_subtree_older_11 = waddr_left_subtree_state_10[2]; // @[Replacement.scala 243:38]
+  wire  waddr_left_subtree_state_11 = waddr_left_subtree_state_10[1]; // @[package.scala 154:13]
+  wire  waddr_right_subtree_state_11 = waddr_left_subtree_state_10[0]; // @[Replacement.scala 245:38]
+  wire  _waddr_T_28 = waddr_left_subtree_older_11 ? waddr_left_subtree_state_11 : waddr_right_subtree_state_11; // @[Replacement.scala 250:16]
+  wire [1:0] _waddr_T_29 = {waddr_left_subtree_older_11,_waddr_T_28}; // @[Cat.scala 31:58]
+  wire  waddr_left_subtree_older_12 = waddr_right_subtree_state_10[2]; // @[Replacement.scala 243:38]
+  wire  waddr_left_subtree_state_12 = waddr_right_subtree_state_10[1]; // @[package.scala 154:13]
+  wire  waddr_right_subtree_state_12 = waddr_right_subtree_state_10[0]; // @[Replacement.scala 245:38]
+  wire  _waddr_T_32 = waddr_left_subtree_older_12 ? waddr_left_subtree_state_12 : waddr_right_subtree_state_12; // @[Replacement.scala 250:16]
+  wire [1:0] _waddr_T_33 = {waddr_left_subtree_older_12,_waddr_T_32}; // @[Cat.scala 31:58]
+  wire [1:0] _waddr_T_34 = waddr_left_subtree_older_10 ? _waddr_T_29 : _waddr_T_33; // @[Replacement.scala 250:16]
+  wire [2:0] _waddr_T_35 = {waddr_left_subtree_older_10,_waddr_T_34}; // @[Cat.scala 31:58]
+  wire [2:0] _waddr_T_36 = waddr_left_subtree_older_6 ? _waddr_T_25 : _waddr_T_35; // @[Replacement.scala 250:16]
+  wire [3:0] _waddr_T_37 = {waddr_left_subtree_older_6,_waddr_T_36}; // @[Cat.scala 31:58]
+  wire [3:0] _waddr_T_38 = waddr_left_subtree_older ? _waddr_T_15 : _waddr_T_37; // @[Replacement.scala 250:16]
+  wire [4:0] _waddr_T_39 = {waddr_left_subtree_older,_waddr_T_38}; // @[Cat.scala 31:58]
+  wire [4:0] waddr = updateHit ? r_btb_updatePipe_bits_prediction_entry : _waddr_T_39; // @[BTB.scala 258:18]
+  reg  r_respPipe_valid; // @[Valid.scala 127:22]
+  reg  r_respPipe_bits_taken; // @[Reg.scala 16:16]
+  reg [4:0] r_respPipe_bits_entry; // @[Reg.scala 16:16]
+  wire [4:0] state_reg_touch_way_sized = r_btb_updatePipe_valid ? waddr : r_respPipe_bits_entry; // @[BTB.scala 261:20]
+  wire  state_reg_set_left_older = ~state_reg_touch_way_sized[4]; // @[Replacement.scala 196:33]
+  wire  state_reg_set_left_older_1 = ~state_reg_touch_way_sized[3]; // @[Replacement.scala 196:33]
+  wire  state_reg_set_left_older_2 = ~state_reg_touch_way_sized[1]; // @[Replacement.scala 196:33]
+  wire  _state_reg_T_4 = ~state_reg_touch_way_sized[0]; // @[Replacement.scala 218:7]
+  wire  _state_reg_T_5 = state_reg_set_left_older_2 ? waddr_left_subtree_state_2 : _state_reg_T_4; // @[Replacement.scala 203:16]
+  wire  _state_reg_T_9 = state_reg_set_left_older_2 ? _state_reg_T_4 : waddr_right_subtree_state_2; // @[Replacement.scala 206:16]
+  wire [2:0] _state_reg_T_10 = {state_reg_set_left_older_2,_state_reg_T_5,_state_reg_T_9}; // @[Cat.scala 31:58]
+  wire [2:0] _state_reg_T_11 = state_reg_set_left_older_1 ? waddr_left_subtree_state_1 : _state_reg_T_10; // @[Replacement.scala 203:16]
+  wire  state_reg_set_left_older_3 = ~state_reg_touch_way_sized[2]; // @[Replacement.scala 196:33]
+  wire  state_reg_set_left_older_4 = ~state_reg_touch_way_sized[1]; // @[Replacement.scala 196:33]
+  wire  _state_reg_T_16 = ~state_reg_touch_way_sized[0]; // @[Replacement.scala 218:7]
+  wire  _state_reg_T_17 = state_reg_set_left_older_4 ? waddr_left_subtree_state_4 : _state_reg_T_16; // @[Replacement.scala 203:16]
+  wire  _state_reg_T_21 = state_reg_set_left_older_4 ? _state_reg_T_16 : waddr_right_subtree_state_4; // @[Replacement.scala 206:16]
+  wire [2:0] _state_reg_T_22 = {state_reg_set_left_older_4,_state_reg_T_17,_state_reg_T_21}; // @[Cat.scala 31:58]
+  wire [2:0] _state_reg_T_23 = state_reg_set_left_older_3 ? waddr_left_subtree_state_3 : _state_reg_T_22; // @[Replacement.scala 203:16]
+  wire  _state_reg_T_28 = state_reg_set_left_older_4 ? waddr_left_subtree_state_5 : _state_reg_T_16; // @[Replacement.scala 203:16]
+  wire  _state_reg_T_32 = state_reg_set_left_older_4 ? _state_reg_T_16 : waddr_right_subtree_state_5; // @[Replacement.scala 206:16]
+  wire [2:0] _state_reg_T_33 = {state_reg_set_left_older_4,_state_reg_T_28,_state_reg_T_32}; // @[Cat.scala 31:58]
+  wire [2:0] _state_reg_T_34 = state_reg_set_left_older_3 ? _state_reg_T_33 : waddr_right_subtree_state_3; // @[Replacement.scala 206:16]
+  wire [6:0] _state_reg_T_35 = {state_reg_set_left_older_3,_state_reg_T_23,_state_reg_T_34}; // @[Cat.scala 31:58]
+  wire [6:0] _state_reg_T_36 = state_reg_set_left_older_1 ? _state_reg_T_35 : waddr_right_subtree_state_1; // @[Replacement.scala 206:16]
+  wire [10:0] _state_reg_T_37 = {state_reg_set_left_older_1,_state_reg_T_11,_state_reg_T_36}; // @[Cat.scala 31:58]
+  wire [10:0] _state_reg_T_38 = state_reg_set_left_older ? waddr_left_subtree_state : _state_reg_T_37; // @[Replacement.scala 203:16]
+  wire  _state_reg_T_45 = state_reg_set_left_older_4 ? waddr_left_subtree_state_8 : _state_reg_T_16; // @[Replacement.scala 203:16]
+  wire  _state_reg_T_49 = state_reg_set_left_older_4 ? _state_reg_T_16 : waddr_right_subtree_state_8; // @[Replacement.scala 206:16]
+  wire [2:0] _state_reg_T_50 = {state_reg_set_left_older_4,_state_reg_T_45,_state_reg_T_49}; // @[Cat.scala 31:58]
+  wire [2:0] _state_reg_T_51 = state_reg_set_left_older_3 ? waddr_left_subtree_state_7 : _state_reg_T_50; // @[Replacement.scala 203:16]
+  wire  _state_reg_T_56 = state_reg_set_left_older_4 ? waddr_left_subtree_state_9 : _state_reg_T_16; // @[Replacement.scala 203:16]
+  wire  _state_reg_T_60 = state_reg_set_left_older_4 ? _state_reg_T_16 : waddr_right_subtree_state_9; // @[Replacement.scala 206:16]
+  wire [2:0] _state_reg_T_61 = {state_reg_set_left_older_4,_state_reg_T_56,_state_reg_T_60}; // @[Cat.scala 31:58]
+  wire [2:0] _state_reg_T_62 = state_reg_set_left_older_3 ? _state_reg_T_61 : waddr_right_subtree_state_7; // @[Replacement.scala 206:16]
+  wire [6:0] _state_reg_T_63 = {state_reg_set_left_older_3,_state_reg_T_51,_state_reg_T_62}; // @[Cat.scala 31:58]
+  wire [6:0] _state_reg_T_64 = state_reg_set_left_older_1 ? waddr_left_subtree_state_6 : _state_reg_T_63; // @[Replacement.scala 203:16]
+  wire  _state_reg_T_70 = state_reg_set_left_older_4 ? waddr_left_subtree_state_11 : _state_reg_T_16; // @[Replacement.scala 203:16]
+  wire  _state_reg_T_74 = state_reg_set_left_older_4 ? _state_reg_T_16 : waddr_right_subtree_state_11; // @[Replacement.scala 206:16]
+  wire [2:0] _state_reg_T_75 = {state_reg_set_left_older_4,_state_reg_T_70,_state_reg_T_74}; // @[Cat.scala 31:58]
+  wire [2:0] _state_reg_T_76 = state_reg_set_left_older_3 ? waddr_left_subtree_state_10 : _state_reg_T_75; // @[Replacement.scala 203:16]
+  wire  _state_reg_T_81 = state_reg_set_left_older_4 ? waddr_left_subtree_state_12 : _state_reg_T_16; // @[Replacement.scala 203:16]
+  wire  _state_reg_T_85 = state_reg_set_left_older_4 ? _state_reg_T_16 : waddr_right_subtree_state_12; // @[Replacement.scala 206:16]
+  wire [2:0] _state_reg_T_86 = {state_reg_set_left_older_4,_state_reg_T_81,_state_reg_T_85}; // @[Cat.scala 31:58]
+  wire [2:0] _state_reg_T_87 = state_reg_set_left_older_3 ? _state_reg_T_86 : waddr_right_subtree_state_10; // @[Replacement.scala 206:16]
+  wire [6:0] _state_reg_T_88 = {state_reg_set_left_older_3,_state_reg_T_76,_state_reg_T_87}; // @[Cat.scala 31:58]
+  wire [6:0] _state_reg_T_89 = state_reg_set_left_older_1 ? _state_reg_T_88 : waddr_right_subtree_state_6; // @[Replacement.scala 206:16]
+  wire [14:0] _state_reg_T_90 = {state_reg_set_left_older_1,_state_reg_T_64,_state_reg_T_89}; // @[Cat.scala 31:58]
+  wire [14:0] _state_reg_T_91 = state_reg_set_left_older ? _state_reg_T_90 : waddr_right_subtree_state; // @[Replacement.scala 206:16]
+  wire [26:0] _state_reg_T_92 = {state_reg_set_left_older,_state_reg_T_38,_state_reg_T_91}; // @[Cat.scala 31:58]
+  wire [31:0] mask = 32'h1 << waddr; // @[OneHot.scala 57:35]
+  wire [3:0] _idxPages_T = idxPageUpdate + 3'h1; // @[BTB.scala 268:38]
+  wire [31:0] _GEN_433 = {{4'd0}, isValid}; // @[BTB.scala 271:55]
+  wire [31:0] _isValid_T = _GEN_433 | mask; // @[BTB.scala 271:55]
+  wire [31:0] _isValid_T_1 = ~mask; // @[BTB.scala 271:73]
+  wire [31:0] _isValid_T_2 = _GEN_433 & _isValid_T_1; // @[BTB.scala 271:71]
+  wire [31:0] _isValid_T_3 = r_btb_updatePipe_bits_isValid ? _isValid_T : _isValid_T_2; // @[BTB.scala 271:19]
+  wire  idxWritesEven = ~idxPageUpdate[0]; // @[BTB.scala 276:25]
+  wire [7:0] _T_5 = idxWritesEven ? idxPageReplEn : tgtPageReplEn; // @[BTB.scala 282:24]
+  wire [7:0] _T_12 = idxWritesEven ? tgtPageReplEn : idxPageReplEn; // @[BTB.scala 284:24]
+  wire [7:0] _GEN_435 = {{2'd0}, pageValid}; // @[BTB.scala 286:28]
+  wire [7:0] _pageValid_T = _GEN_435 | tgtPageReplEn; // @[BTB.scala 286:28]
+  wire [7:0] _pageValid_T_1 = _pageValid_T | idxPageReplEn; // @[BTB.scala 286:44]
+  wire [31:0] _GEN_338 = r_btb_updatePipe_valid ? _isValid_T_3 : {{4'd0}, isValid}; // @[BTB.scala 264:29 271:13 209:20]
+  wire [7:0] _GEN_373 = r_btb_updatePipe_valid ? _pageValid_T_1 : {{2'd0}, pageValid}; // @[BTB.scala 264:29 286:15 206:22]
+  wire [6:0] _io_resp_valid_T = {pageHit, 1'h0}; // @[BTB.scala 289:29]
+  wire [2:0] _io_resp_valid_T_29 = idxHit[0] ? idxPages_0 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_30 = idxHit[1] ? idxPages_1 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_31 = idxHit[2] ? idxPages_2 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_32 = idxHit[3] ? idxPages_3 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_33 = idxHit[4] ? idxPages_4 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_34 = idxHit[5] ? idxPages_5 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_35 = idxHit[6] ? idxPages_6 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_36 = idxHit[7] ? idxPages_7 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_37 = idxHit[8] ? idxPages_8 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_38 = idxHit[9] ? idxPages_9 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_39 = idxHit[10] ? idxPages_10 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_40 = idxHit[11] ? idxPages_11 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_41 = idxHit[12] ? idxPages_12 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_42 = idxHit[13] ? idxPages_13 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_43 = idxHit[14] ? idxPages_14 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_44 = idxHit[15] ? idxPages_15 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_45 = idxHit[16] ? idxPages_16 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_46 = idxHit[17] ? idxPages_17 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_47 = idxHit[18] ? idxPages_18 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_48 = idxHit[19] ? idxPages_19 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_49 = idxHit[20] ? idxPages_20 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_50 = idxHit[21] ? idxPages_21 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_51 = idxHit[22] ? idxPages_22 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_52 = idxHit[23] ? idxPages_23 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_53 = idxHit[24] ? idxPages_24 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_54 = idxHit[25] ? idxPages_25 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_55 = idxHit[26] ? idxPages_26 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_56 = idxHit[27] ? idxPages_27 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_57 = _io_resp_valid_T_29 | _io_resp_valid_T_30; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_58 = _io_resp_valid_T_57 | _io_resp_valid_T_31; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_59 = _io_resp_valid_T_58 | _io_resp_valid_T_32; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_60 = _io_resp_valid_T_59 | _io_resp_valid_T_33; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_61 = _io_resp_valid_T_60 | _io_resp_valid_T_34; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_62 = _io_resp_valid_T_61 | _io_resp_valid_T_35; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_63 = _io_resp_valid_T_62 | _io_resp_valid_T_36; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_64 = _io_resp_valid_T_63 | _io_resp_valid_T_37; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_65 = _io_resp_valid_T_64 | _io_resp_valid_T_38; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_66 = _io_resp_valid_T_65 | _io_resp_valid_T_39; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_67 = _io_resp_valid_T_66 | _io_resp_valid_T_40; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_68 = _io_resp_valid_T_67 | _io_resp_valid_T_41; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_69 = _io_resp_valid_T_68 | _io_resp_valid_T_42; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_70 = _io_resp_valid_T_69 | _io_resp_valid_T_43; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_71 = _io_resp_valid_T_70 | _io_resp_valid_T_44; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_72 = _io_resp_valid_T_71 | _io_resp_valid_T_45; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_73 = _io_resp_valid_T_72 | _io_resp_valid_T_46; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_74 = _io_resp_valid_T_73 | _io_resp_valid_T_47; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_75 = _io_resp_valid_T_74 | _io_resp_valid_T_48; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_76 = _io_resp_valid_T_75 | _io_resp_valid_T_49; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_77 = _io_resp_valid_T_76 | _io_resp_valid_T_50; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_78 = _io_resp_valid_T_77 | _io_resp_valid_T_51; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_79 = _io_resp_valid_T_78 | _io_resp_valid_T_52; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_80 = _io_resp_valid_T_79 | _io_resp_valid_T_53; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_81 = _io_resp_valid_T_80 | _io_resp_valid_T_54; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_82 = _io_resp_valid_T_81 | _io_resp_valid_T_55; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_valid_T_83 = _io_resp_valid_T_82 | _io_resp_valid_T_56; // @[Mux.scala 27:73]
+  wire [6:0] _io_resp_valid_T_84 = _io_resp_valid_T >> _io_resp_valid_T_83; // @[BTB.scala 289:34]
+  wire [2:0] _io_resp_bits_target_T_28 = idxHit[0] ? tgtPages_0 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_29 = idxHit[1] ? tgtPages_1 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_30 = idxHit[2] ? tgtPages_2 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_31 = idxHit[3] ? tgtPages_3 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_32 = idxHit[4] ? tgtPages_4 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_33 = idxHit[5] ? tgtPages_5 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_34 = idxHit[6] ? tgtPages_6 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_35 = idxHit[7] ? tgtPages_7 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_36 = idxHit[8] ? tgtPages_8 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_37 = idxHit[9] ? tgtPages_9 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_38 = idxHit[10] ? tgtPages_10 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_39 = idxHit[11] ? tgtPages_11 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_40 = idxHit[12] ? tgtPages_12 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_41 = idxHit[13] ? tgtPages_13 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_42 = idxHit[14] ? tgtPages_14 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_43 = idxHit[15] ? tgtPages_15 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_44 = idxHit[16] ? tgtPages_16 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_45 = idxHit[17] ? tgtPages_17 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_46 = idxHit[18] ? tgtPages_18 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_47 = idxHit[19] ? tgtPages_19 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_48 = idxHit[20] ? tgtPages_20 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_49 = idxHit[21] ? tgtPages_21 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_50 = idxHit[22] ? tgtPages_22 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_51 = idxHit[23] ? tgtPages_23 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_52 = idxHit[24] ? tgtPages_24 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_53 = idxHit[25] ? tgtPages_25 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_54 = idxHit[26] ? tgtPages_26 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_55 = idxHit[27] ? tgtPages_27 : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_56 = _io_resp_bits_target_T_28 | _io_resp_bits_target_T_29; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_57 = _io_resp_bits_target_T_56 | _io_resp_bits_target_T_30; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_58 = _io_resp_bits_target_T_57 | _io_resp_bits_target_T_31; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_59 = _io_resp_bits_target_T_58 | _io_resp_bits_target_T_32; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_60 = _io_resp_bits_target_T_59 | _io_resp_bits_target_T_33; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_61 = _io_resp_bits_target_T_60 | _io_resp_bits_target_T_34; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_62 = _io_resp_bits_target_T_61 | _io_resp_bits_target_T_35; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_63 = _io_resp_bits_target_T_62 | _io_resp_bits_target_T_36; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_64 = _io_resp_bits_target_T_63 | _io_resp_bits_target_T_37; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_65 = _io_resp_bits_target_T_64 | _io_resp_bits_target_T_38; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_66 = _io_resp_bits_target_T_65 | _io_resp_bits_target_T_39; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_67 = _io_resp_bits_target_T_66 | _io_resp_bits_target_T_40; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_68 = _io_resp_bits_target_T_67 | _io_resp_bits_target_T_41; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_69 = _io_resp_bits_target_T_68 | _io_resp_bits_target_T_42; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_70 = _io_resp_bits_target_T_69 | _io_resp_bits_target_T_43; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_71 = _io_resp_bits_target_T_70 | _io_resp_bits_target_T_44; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_72 = _io_resp_bits_target_T_71 | _io_resp_bits_target_T_45; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_73 = _io_resp_bits_target_T_72 | _io_resp_bits_target_T_46; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_74 = _io_resp_bits_target_T_73 | _io_resp_bits_target_T_47; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_75 = _io_resp_bits_target_T_74 | _io_resp_bits_target_T_48; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_76 = _io_resp_bits_target_T_75 | _io_resp_bits_target_T_49; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_77 = _io_resp_bits_target_T_76 | _io_resp_bits_target_T_50; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_78 = _io_resp_bits_target_T_77 | _io_resp_bits_target_T_51; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_79 = _io_resp_bits_target_T_78 | _io_resp_bits_target_T_52; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_80 = _io_resp_bits_target_T_79 | _io_resp_bits_target_T_53; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_81 = _io_resp_bits_target_T_80 | _io_resp_bits_target_T_54; // @[Mux.scala 27:73]
+  wire [2:0] _io_resp_bits_target_T_82 = _io_resp_bits_target_T_81 | _io_resp_bits_target_T_55; // @[Mux.scala 27:73]
+  wire [17:0] _io_resp_bits_target_T_84 = _io_resp_bits_target_T_82 == 3'h1 ? pagesMasked_1 : pagesMasked_0; // @[package.scala 32:76]
+  wire [17:0] _io_resp_bits_target_T_86 = _io_resp_bits_target_T_82 == 3'h2 ? pagesMasked_2 : _io_resp_bits_target_T_84; // @[package.scala 32:76]
+  wire [17:0] _io_resp_bits_target_T_88 = _io_resp_bits_target_T_82 == 3'h3 ? pagesMasked_3 : _io_resp_bits_target_T_86; // @[package.scala 32:76]
+  wire [17:0] _io_resp_bits_target_T_90 = _io_resp_bits_target_T_82 == 3'h4 ? pagesMasked_4 : _io_resp_bits_target_T_88; // @[package.scala 32:76]
+  wire [17:0] _io_resp_bits_target_T_92 = _io_resp_bits_target_T_82 == 3'h5 ? pagesMasked_5 : _io_resp_bits_target_T_90; // @[package.scala 32:76]
+  wire [17:0] _io_resp_bits_target_T_94 = _io_resp_bits_target_T_82 == 3'h6 ? pagesMasked_4 : _io_resp_bits_target_T_92; // @[package.scala 32:76]
+  wire [17:0] _io_resp_bits_target_T_96 = _io_resp_bits_target_T_82 == 3'h7 ? pagesMasked_5 : _io_resp_bits_target_T_94; // @[package.scala 32:76]
+  wire [12:0] _io_resp_bits_target_T_125 = idxHit[0] ? tgts_0 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_126 = idxHit[1] ? tgts_1 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_127 = idxHit[2] ? tgts_2 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_128 = idxHit[3] ? tgts_3 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_129 = idxHit[4] ? tgts_4 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_130 = idxHit[5] ? tgts_5 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_131 = idxHit[6] ? tgts_6 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_132 = idxHit[7] ? tgts_7 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_133 = idxHit[8] ? tgts_8 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_134 = idxHit[9] ? tgts_9 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_135 = idxHit[10] ? tgts_10 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_136 = idxHit[11] ? tgts_11 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_137 = idxHit[12] ? tgts_12 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_138 = idxHit[13] ? tgts_13 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_139 = idxHit[14] ? tgts_14 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_140 = idxHit[15] ? tgts_15 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_141 = idxHit[16] ? tgts_16 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_142 = idxHit[17] ? tgts_17 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_143 = idxHit[18] ? tgts_18 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_144 = idxHit[19] ? tgts_19 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_145 = idxHit[20] ? tgts_20 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_146 = idxHit[21] ? tgts_21 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_147 = idxHit[22] ? tgts_22 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_148 = idxHit[23] ? tgts_23 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_149 = idxHit[24] ? tgts_24 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_150 = idxHit[25] ? tgts_25 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_151 = idxHit[26] ? tgts_26 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_152 = idxHit[27] ? tgts_27 : 13'h0; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_153 = _io_resp_bits_target_T_125 | _io_resp_bits_target_T_126; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_154 = _io_resp_bits_target_T_153 | _io_resp_bits_target_T_127; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_155 = _io_resp_bits_target_T_154 | _io_resp_bits_target_T_128; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_156 = _io_resp_bits_target_T_155 | _io_resp_bits_target_T_129; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_157 = _io_resp_bits_target_T_156 | _io_resp_bits_target_T_130; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_158 = _io_resp_bits_target_T_157 | _io_resp_bits_target_T_131; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_159 = _io_resp_bits_target_T_158 | _io_resp_bits_target_T_132; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_160 = _io_resp_bits_target_T_159 | _io_resp_bits_target_T_133; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_161 = _io_resp_bits_target_T_160 | _io_resp_bits_target_T_134; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_162 = _io_resp_bits_target_T_161 | _io_resp_bits_target_T_135; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_163 = _io_resp_bits_target_T_162 | _io_resp_bits_target_T_136; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_164 = _io_resp_bits_target_T_163 | _io_resp_bits_target_T_137; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_165 = _io_resp_bits_target_T_164 | _io_resp_bits_target_T_138; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_166 = _io_resp_bits_target_T_165 | _io_resp_bits_target_T_139; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_167 = _io_resp_bits_target_T_166 | _io_resp_bits_target_T_140; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_168 = _io_resp_bits_target_T_167 | _io_resp_bits_target_T_141; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_169 = _io_resp_bits_target_T_168 | _io_resp_bits_target_T_142; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_170 = _io_resp_bits_target_T_169 | _io_resp_bits_target_T_143; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_171 = _io_resp_bits_target_T_170 | _io_resp_bits_target_T_144; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_172 = _io_resp_bits_target_T_171 | _io_resp_bits_target_T_145; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_173 = _io_resp_bits_target_T_172 | _io_resp_bits_target_T_146; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_174 = _io_resp_bits_target_T_173 | _io_resp_bits_target_T_147; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_175 = _io_resp_bits_target_T_174 | _io_resp_bits_target_T_148; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_176 = _io_resp_bits_target_T_175 | _io_resp_bits_target_T_149; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_177 = _io_resp_bits_target_T_176 | _io_resp_bits_target_T_150; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_178 = _io_resp_bits_target_T_177 | _io_resp_bits_target_T_151; // @[Mux.scala 27:73]
+  wire [12:0] _io_resp_bits_target_T_179 = _io_resp_bits_target_T_178 | _io_resp_bits_target_T_152; // @[Mux.scala 27:73]
+  wire [13:0] _io_resp_bits_target_T_180 = {_io_resp_bits_target_T_179, 1'h0}; // @[BTB.scala 291:88]
+  wire [31:0] _io_resp_bits_target_T_181 = {_io_resp_bits_target_T_96,_io_resp_bits_target_T_180}; // @[Cat.scala 31:58]
+  wire [11:0] io_resp_bits_entry_hi = idxHit[27:16]; // @[OneHot.scala 30:18]
+  wire [15:0] io_resp_bits_entry_lo = idxHit[15:0]; // @[OneHot.scala 31:18]
+  wire  _io_resp_bits_entry_T = |io_resp_bits_entry_hi; // @[OneHot.scala 32:14]
+  wire [15:0] _GEN_436 = {{4'd0}, io_resp_bits_entry_hi}; // @[OneHot.scala 32:28]
+  wire [15:0] _io_resp_bits_entry_T_1 = _GEN_436 | io_resp_bits_entry_lo; // @[OneHot.scala 32:28]
+  wire [7:0] io_resp_bits_entry_hi_1 = _io_resp_bits_entry_T_1[15:8]; // @[OneHot.scala 30:18]
+  wire [7:0] io_resp_bits_entry_lo_1 = _io_resp_bits_entry_T_1[7:0]; // @[OneHot.scala 31:18]
+  wire  _io_resp_bits_entry_T_2 = |io_resp_bits_entry_hi_1; // @[OneHot.scala 32:14]
+  wire [7:0] _io_resp_bits_entry_T_3 = io_resp_bits_entry_hi_1 | io_resp_bits_entry_lo_1; // @[OneHot.scala 32:28]
+  wire [3:0] io_resp_bits_entry_hi_2 = _io_resp_bits_entry_T_3[7:4]; // @[OneHot.scala 30:18]
+  wire [3:0] io_resp_bits_entry_lo_2 = _io_resp_bits_entry_T_3[3:0]; // @[OneHot.scala 31:18]
+  wire  _io_resp_bits_entry_T_4 = |io_resp_bits_entry_hi_2; // @[OneHot.scala 32:14]
+  wire [3:0] _io_resp_bits_entry_T_5 = io_resp_bits_entry_hi_2 | io_resp_bits_entry_lo_2; // @[OneHot.scala 32:28]
+  wire [1:0] io_resp_bits_entry_hi_3 = _io_resp_bits_entry_T_5[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] io_resp_bits_entry_lo_3 = _io_resp_bits_entry_T_5[1:0]; // @[OneHot.scala 31:18]
+  wire  _io_resp_bits_entry_T_6 = |io_resp_bits_entry_hi_3; // @[OneHot.scala 32:14]
+  wire [1:0] _io_resp_bits_entry_T_7 = io_resp_bits_entry_hi_3 | io_resp_bits_entry_lo_3; // @[OneHot.scala 32:28]
+  wire [3:0] _io_resp_bits_entry_T_11 = {_io_resp_bits_entry_T_2,_io_resp_bits_entry_T_4,_io_resp_bits_entry_T_6,
+    _io_resp_bits_entry_T_7[1]}; // @[Cat.scala 31:58]
+  wire  _io_resp_bits_bridx_T_43 = idxHit[15] & brIdx_15; // @[Mux.scala 27:73]
+  wire  _io_resp_bits_bridx_T_70 = idxHit[0] & brIdx_0 | idxHit[1] & brIdx_1 | idxHit[2] & brIdx_2 | idxHit[3] & brIdx_3
+     | idxHit[4] & brIdx_4 | idxHit[5] & brIdx_5 | idxHit[6] & brIdx_6 | idxHit[7] & brIdx_7 | idxHit[8] & brIdx_8 |
+    idxHit[9] & brIdx_9 | idxHit[10] & brIdx_10 | idxHit[11] & brIdx_11 | idxHit[12] & brIdx_12 | idxHit[13] & brIdx_13
+     | idxHit[14] & brIdx_14 | _io_resp_bits_bridx_T_43; // @[Mux.scala 27:73]
+  wire  leftOne = idxHit[0]; // @[Misc.scala 180:37]
+  wire  leftOne_1 = idxHit[1]; // @[Misc.scala 180:37]
+  wire  rightOne = idxHit[2]; // @[Misc.scala 181:39]
+  wire  rightOne_1 = leftOne_1 | rightOne; // @[Misc.scala 182:16]
+  wire  rightTwo = leftOne_1 & rightOne; // @[Misc.scala 182:61]
+  wire  leftOne_2 = leftOne | rightOne_1; // @[Misc.scala 182:16]
+  wire  leftTwo = rightTwo | leftOne & rightOne_1; // @[Misc.scala 182:49]
+  wire  leftOne_3 = idxHit[3]; // @[Misc.scala 180:37]
+  wire  rightOne_2 = idxHit[4]; // @[Misc.scala 181:39]
+  wire  leftOne_4 = leftOne_3 | rightOne_2; // @[Misc.scala 182:16]
+  wire  leftTwo_1 = leftOne_3 & rightOne_2; // @[Misc.scala 182:61]
+  wire  leftOne_5 = idxHit[5]; // @[Misc.scala 180:37]
+  wire  rightOne_3 = idxHit[6]; // @[Misc.scala 181:39]
+  wire  rightOne_4 = leftOne_5 | rightOne_3; // @[Misc.scala 182:16]
+  wire  rightTwo_1 = leftOne_5 & rightOne_3; // @[Misc.scala 182:61]
+  wire  rightOne_5 = leftOne_4 | rightOne_4; // @[Misc.scala 182:16]
+  wire  rightTwo_2 = leftTwo_1 | rightTwo_1 | leftOne_4 & rightOne_4; // @[Misc.scala 182:49]
+  wire  leftOne_6 = leftOne_2 | rightOne_5; // @[Misc.scala 182:16]
+  wire  leftTwo_2 = leftTwo | rightTwo_2 | leftOne_2 & rightOne_5; // @[Misc.scala 182:49]
+  wire  leftOne_7 = idxHit[7]; // @[Misc.scala 180:37]
+  wire  leftOne_8 = idxHit[8]; // @[Misc.scala 180:37]
+  wire  rightOne_6 = idxHit[9]; // @[Misc.scala 181:39]
+  wire  rightOne_7 = leftOne_8 | rightOne_6; // @[Misc.scala 182:16]
+  wire  rightTwo_3 = leftOne_8 & rightOne_6; // @[Misc.scala 182:61]
+  wire  leftOne_9 = leftOne_7 | rightOne_7; // @[Misc.scala 182:16]
+  wire  leftTwo_3 = rightTwo_3 | leftOne_7 & rightOne_7; // @[Misc.scala 182:49]
+  wire  leftOne_10 = idxHit[10]; // @[Misc.scala 180:37]
+  wire  rightOne_8 = idxHit[11]; // @[Misc.scala 181:39]
+  wire  leftOne_11 = leftOne_10 | rightOne_8; // @[Misc.scala 182:16]
+  wire  leftTwo_4 = leftOne_10 & rightOne_8; // @[Misc.scala 182:61]
+  wire  leftOne_12 = idxHit[12]; // @[Misc.scala 180:37]
+  wire  rightOne_9 = idxHit[13]; // @[Misc.scala 181:39]
+  wire  rightOne_10 = leftOne_12 | rightOne_9; // @[Misc.scala 182:16]
+  wire  rightTwo_4 = leftOne_12 & rightOne_9; // @[Misc.scala 182:61]
+  wire  rightOne_11 = leftOne_11 | rightOne_10; // @[Misc.scala 182:16]
+  wire  rightTwo_5 = leftTwo_4 | rightTwo_4 | leftOne_11 & rightOne_10; // @[Misc.scala 182:49]
+  wire  rightOne_12 = leftOne_9 | rightOne_11; // @[Misc.scala 182:16]
+  wire  rightTwo_6 = leftTwo_3 | rightTwo_5 | leftOne_9 & rightOne_11; // @[Misc.scala 182:49]
+  wire  leftOne_13 = leftOne_6 | rightOne_12; // @[Misc.scala 182:16]
+  wire  leftTwo_5 = leftTwo_2 | rightTwo_6 | leftOne_6 & rightOne_12; // @[Misc.scala 182:49]
+  wire  leftOne_14 = idxHit[14]; // @[Misc.scala 180:37]
+  wire  leftOne_15 = idxHit[15]; // @[Misc.scala 180:37]
+  wire  rightOne_13 = idxHit[16]; // @[Misc.scala 181:39]
+  wire  rightOne_14 = leftOne_15 | rightOne_13; // @[Misc.scala 182:16]
+  wire  rightTwo_7 = leftOne_15 & rightOne_13; // @[Misc.scala 182:61]
+  wire  leftOne_16 = leftOne_14 | rightOne_14; // @[Misc.scala 182:16]
+  wire  leftTwo_6 = rightTwo_7 | leftOne_14 & rightOne_14; // @[Misc.scala 182:49]
+  wire  leftOne_17 = idxHit[17]; // @[Misc.scala 180:37]
+  wire  rightOne_15 = idxHit[18]; // @[Misc.scala 181:39]
+  wire  leftOne_18 = leftOne_17 | rightOne_15; // @[Misc.scala 182:16]
+  wire  leftTwo_7 = leftOne_17 & rightOne_15; // @[Misc.scala 182:61]
+  wire  leftOne_19 = idxHit[19]; // @[Misc.scala 180:37]
+  wire  rightOne_16 = idxHit[20]; // @[Misc.scala 181:39]
+  wire  rightOne_17 = leftOne_19 | rightOne_16; // @[Misc.scala 182:16]
+  wire  rightTwo_8 = leftOne_19 & rightOne_16; // @[Misc.scala 182:61]
+  wire  rightOne_18 = leftOne_18 | rightOne_17; // @[Misc.scala 182:16]
+  wire  rightTwo_9 = leftTwo_7 | rightTwo_8 | leftOne_18 & rightOne_17; // @[Misc.scala 182:49]
+  wire  leftOne_20 = leftOne_16 | rightOne_18; // @[Misc.scala 182:16]
+  wire  leftTwo_8 = leftTwo_6 | rightTwo_9 | leftOne_16 & rightOne_18; // @[Misc.scala 182:49]
+  wire  leftOne_21 = idxHit[21]; // @[Misc.scala 180:37]
+  wire  leftOne_22 = idxHit[22]; // @[Misc.scala 180:37]
+  wire  rightOne_19 = idxHit[23]; // @[Misc.scala 181:39]
+  wire  rightOne_20 = leftOne_22 | rightOne_19; // @[Misc.scala 182:16]
+  wire  rightTwo_10 = leftOne_22 & rightOne_19; // @[Misc.scala 182:61]
+  wire  leftOne_23 = leftOne_21 | rightOne_20; // @[Misc.scala 182:16]
+  wire  leftTwo_9 = rightTwo_10 | leftOne_21 & rightOne_20; // @[Misc.scala 182:49]
+  wire  leftOne_24 = idxHit[24]; // @[Misc.scala 180:37]
+  wire  rightOne_21 = idxHit[25]; // @[Misc.scala 181:39]
+  wire  leftOne_25 = leftOne_24 | rightOne_21; // @[Misc.scala 182:16]
+  wire  leftTwo_10 = leftOne_24 & rightOne_21; // @[Misc.scala 182:61]
+  wire  leftOne_26 = idxHit[26]; // @[Misc.scala 180:37]
+  wire  rightOne_22 = idxHit[27]; // @[Misc.scala 181:39]
+  wire  rightOne_23 = leftOne_26 | rightOne_22; // @[Misc.scala 182:16]
+  wire  rightTwo_11 = leftOne_26 & rightOne_22; // @[Misc.scala 182:61]
+  wire  rightOne_24 = leftOne_25 | rightOne_23; // @[Misc.scala 182:16]
+  wire  rightTwo_12 = leftTwo_10 | rightTwo_11 | leftOne_25 & rightOne_23; // @[Misc.scala 182:49]
+  wire  rightOne_25 = leftOne_23 | rightOne_24; // @[Misc.scala 182:16]
+  wire  rightTwo_13 = leftTwo_9 | rightTwo_12 | leftOne_23 & rightOne_24; // @[Misc.scala 182:49]
+  wire  rightOne_26 = leftOne_20 | rightOne_25; // @[Misc.scala 182:16]
+  wire  rightTwo_14 = leftTwo_8 | rightTwo_13 | leftOne_20 & rightOne_25; // @[Misc.scala 182:49]
+  wire  _T_128 = leftTwo_5 | rightTwo_14 | leftOne_13 & rightOne_26; // @[Misc.scala 182:49]
+  wire [27:0] _isValid_T_4 = ~idxHit; // @[BTB.scala 299:26]
+  wire [27:0] _isValid_T_5 = isValid & _isValid_T_4; // @[BTB.scala 299:24]
+  wire [31:0] _GEN_374 = _T_128 ? {{4'd0}, _isValid_T_5} : _GEN_338; // @[BTB.scala 298:37 299:13]
+  wire [31:0] _GEN_375 = io_flush ? 32'h0 : _GEN_374; // @[BTB.scala 301:19 302:13]
+  reg [7:0] history; // @[BTB.scala 119:24]
+  reg [9:0] reset_waddr; // @[BTB.scala 121:36]
+  wire  resetting = ~reset_waddr[9]; // @[BTB.scala 122:27]
+  wire [9:0] _reset_waddr_T_1 = reset_waddr + 10'h1; // @[BTB.scala 126:49]
+  wire [29:0] waddr_hi = io_bht_update_bits_pc[31:2]; // @[BTB.scala 87:21]
+  wire [8:0] _GEN_437 = {{7'd0}, waddr_hi[10:9]}; // @[BTB.scala 88:42]
+  wire [8:0] _waddr_T_43 = waddr_hi[8:0] ^ _GEN_437; // @[BTB.scala 88:42]
+  wire [15:0] _waddr_T_44 = 8'hdd * io_bht_update_bits_prediction_history; // @[BTB.scala 84:12]
+  wire [8:0] _waddr_T_46 = {_waddr_T_44[7:5], 6'h0}; // @[BTB.scala 90:44]
+  wire [8:0] _waddr_T_47 = _waddr_T_43 ^ _waddr_T_46; // @[BTB.scala 90:20]
+  wire [9:0] _GEN_383 = ~resetting ? {{1'd0}, _waddr_T_47} : reset_waddr; // @[BTB.scala 100:23 101:13]
+  wire [9:0] _GEN_388 = io_bht_update_bits_branch ? _GEN_383 : reset_waddr; // @[BTB.scala 313:40]
+  wire [9:0] waddr_1 = io_bht_update_valid ? _GEN_388 : reset_waddr; // @[BTB.scala 312:32]
+  wire  _GEN_387 = io_bht_update_bits_branch | resetting; // @[BTB.scala 313:40 99:9]
+  wire  _GEN_384 = ~resetting & io_bht_update_bits_taken; // @[BTB.scala 100:23 102:13]
+  wire  _GEN_389 = io_bht_update_bits_branch & _GEN_384; // @[BTB.scala 313:40]
+  wire  _isBranch_T = cfiType_0 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_1 = cfiType_1 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_2 = cfiType_2 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_3 = cfiType_3 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_4 = cfiType_4 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_5 = cfiType_5 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_6 = cfiType_6 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_7 = cfiType_7 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_8 = cfiType_8 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_9 = cfiType_9 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_10 = cfiType_10 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_11 = cfiType_11 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_12 = cfiType_12 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_13 = cfiType_13 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_14 = cfiType_14 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_15 = cfiType_15 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_16 = cfiType_16 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_17 = cfiType_17 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_18 = cfiType_18 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_19 = cfiType_19 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_20 = cfiType_20 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_21 = cfiType_21 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_22 = cfiType_22 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_23 = cfiType_23 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_24 = cfiType_24 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_25 = cfiType_25 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_26 = cfiType_26 == 2'h0; // @[BTB.scala 307:44]
+  wire  _isBranch_T_27 = cfiType_27 == 2'h0; // @[BTB.scala 307:44]
+  wire [6:0] isBranch_lo_lo = {_isBranch_T_6,_isBranch_T_5,_isBranch_T_4,_isBranch_T_3,_isBranch_T_2,_isBranch_T_1,
+    _isBranch_T}; // @[Cat.scala 31:58]
+  wire [13:0] isBranch_lo = {_isBranch_T_13,_isBranch_T_12,_isBranch_T_11,_isBranch_T_10,_isBranch_T_9,_isBranch_T_8,
+    _isBranch_T_7,isBranch_lo_lo}; // @[Cat.scala 31:58]
+  wire [6:0] isBranch_hi_lo = {_isBranch_T_20,_isBranch_T_19,_isBranch_T_18,_isBranch_T_17,_isBranch_T_16,_isBranch_T_15
+    ,_isBranch_T_14}; // @[Cat.scala 31:58]
+  wire [27:0] _isBranch_T_28 = {_isBranch_T_27,_isBranch_T_26,_isBranch_T_25,_isBranch_T_24,_isBranch_T_23,
+    _isBranch_T_22,_isBranch_T_21,isBranch_hi_lo,isBranch_lo}; // @[Cat.scala 31:58]
+  wire [27:0] _isBranch_T_29 = idxHit & _isBranch_T_28; // @[BTB.scala 307:28]
+  wire  isBranch = |_isBranch_T_29; // @[BTB.scala 307:72]
+  wire [29:0] res_res_value_hi = io_req_bits_addr[31:2]; // @[BTB.scala 87:21]
+  wire [8:0] _GEN_438 = {{7'd0}, res_res_value_hi[10:9]}; // @[BTB.scala 88:42]
+  wire [8:0] _res_res_value_T_3 = res_res_value_hi[8:0] ^ _GEN_438; // @[BTB.scala 88:42]
+  wire [15:0] _res_res_value_T_4 = 8'hdd * history; // @[BTB.scala 84:12]
+  wire [8:0] _res_res_value_T_6 = {_res_res_value_T_4[7:5], 6'h0}; // @[BTB.scala 90:44]
+  wire  res_value = resetting ? 1'h0 : table__res_res_value_MPORT_data; // @[BTB.scala 94:21]
+  wire [7:0] _history_T_1 = {io_bht_advance_bits_bht_value,history[7:1]}; // @[Cat.scala 31:58]
+  wire [7:0] _GEN_382 = io_bht_advance_valid ? _history_T_1 : history; // @[BTB.scala 115:13 119:24 309:33]
+  wire [7:0] _history_T_3 = {io_bht_update_bits_taken,io_bht_update_bits_prediction_history[7:1]}; // @[Cat.scala 31:58]
+  reg [2:0] count; // @[BTB.scala 58:30]
+  reg [2:0] pos; // @[BTB.scala 59:28]
+  reg [31:0] stack_0; // @[BTB.scala 60:26]
+  reg [31:0] stack_1; // @[BTB.scala 60:26]
+  reg [31:0] stack_2; // @[BTB.scala 60:26]
+  reg [31:0] stack_3; // @[BTB.scala 60:26]
+  reg [31:0] stack_4; // @[BTB.scala 60:26]
+  reg [31:0] stack_5; // @[BTB.scala 60:26]
+  wire  _doPeek_T = cfiType_0 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_1 = cfiType_1 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_2 = cfiType_2 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_3 = cfiType_3 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_4 = cfiType_4 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_5 = cfiType_5 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_6 = cfiType_6 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_7 = cfiType_7 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_8 = cfiType_8 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_9 = cfiType_9 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_10 = cfiType_10 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_11 = cfiType_11 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_12 = cfiType_12 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_13 = cfiType_13 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_14 = cfiType_14 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_15 = cfiType_15 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_16 = cfiType_16 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_17 = cfiType_17 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_18 = cfiType_18 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_19 = cfiType_19 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_20 = cfiType_20 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_21 = cfiType_21 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_22 = cfiType_22 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_23 = cfiType_23 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_24 = cfiType_24 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_25 = cfiType_25 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_26 = cfiType_26 == 2'h3; // @[BTB.scala 328:42]
+  wire  _doPeek_T_27 = cfiType_27 == 2'h3; // @[BTB.scala 328:42]
+  wire [6:0] doPeek_lo_lo = {_doPeek_T_6,_doPeek_T_5,_doPeek_T_4,_doPeek_T_3,_doPeek_T_2,_doPeek_T_1,_doPeek_T}; // @[Cat.scala 31:58]
+  wire [13:0] doPeek_lo = {_doPeek_T_13,_doPeek_T_12,_doPeek_T_11,_doPeek_T_10,_doPeek_T_9,_doPeek_T_8,_doPeek_T_7,
+    doPeek_lo_lo}; // @[Cat.scala 31:58]
+  wire [6:0] doPeek_hi_lo = {_doPeek_T_20,_doPeek_T_19,_doPeek_T_18,_doPeek_T_17,_doPeek_T_16,_doPeek_T_15,_doPeek_T_14}
+    ; // @[Cat.scala 31:58]
+  wire [27:0] _doPeek_T_28 = {_doPeek_T_27,_doPeek_T_26,_doPeek_T_25,_doPeek_T_24,_doPeek_T_23,_doPeek_T_22,_doPeek_T_21
+    ,doPeek_hi_lo,doPeek_lo}; // @[Cat.scala 31:58]
+  wire [27:0] _doPeek_T_29 = idxHit & _doPeek_T_28; // @[BTB.scala 328:26]
+  wire  doPeek = |_doPeek_T_29; // @[BTB.scala 328:67]
+  wire  _io_ras_head_valid_T = count == 3'h0; // @[BTB.scala 56:29]
+  wire  _io_ras_head_valid_T_1 = ~_io_ras_head_valid_T; // @[BTB.scala 329:26]
+  wire [31:0] _GEN_397 = 3'h1 == pos ? stack_1 : stack_0; // @[BTB.scala 330:{22,22}]
+  wire [31:0] _GEN_398 = 3'h2 == pos ? stack_2 : _GEN_397; // @[BTB.scala 330:{22,22}]
+  wire [31:0] _GEN_399 = 3'h3 == pos ? stack_3 : _GEN_398; // @[BTB.scala 330:{22,22}]
+  wire [31:0] _GEN_400 = 3'h4 == pos ? stack_4 : _GEN_399; // @[BTB.scala 330:{22,22}]
+  wire [31:0] _GEN_401 = 3'h5 == pos ? stack_5 : _GEN_400; // @[BTB.scala 330:{22,22}]
+  wire [2:0] _count_T_1 = count + 3'h1; // @[BTB.scala 45:42]
+  wire [2:0] _nextPos_T_3 = pos + 3'h1; // @[BTB.scala 46:62]
+  wire [2:0] nextPos = pos < 3'h5 ? _nextPos_T_3 : 3'h0; // @[BTB.scala 46:22]
+  wire [2:0] _count_T_3 = count - 3'h1; // @[BTB.scala 52:20]
+  wire [2:0] _pos_T_3 = pos - 3'h1; // @[BTB.scala 53:50]
+  wire [2:0] _pos_T_4 = pos > 3'h0 ? _pos_T_3 : 3'h5; // @[BTB.scala 53:15]
+  wire [2:0] _GEN_410 = _io_ras_head_valid_T_1 ? _count_T_3 : count; // @[BTB.scala 51:37 52:11 58:30]
+  wire [2:0] _GEN_411 = _io_ras_head_valid_T_1 ? _pos_T_4 : pos; // @[BTB.scala 51:37 53:9 59:28]
+  assign table__res_res_value_MPORT_en = 1'h1;
+  assign table__res_res_value_MPORT_addr = _res_res_value_T_3 ^ _res_res_value_T_6;
+  assign table__res_res_value_MPORT_data = table_[table__res_res_value_MPORT_addr]; // @[BTB.scala 118:26]
+  assign table__MPORT_data = io_bht_update_valid & _GEN_389;
+  assign table__MPORT_addr = waddr_1[8:0];
+  assign table__MPORT_mask = 1'h1;
+  assign table__MPORT_en = io_bht_update_valid ? _GEN_387 : resetting;
+  assign io_resp_valid = _io_resp_valid_T_84[0]; // @[BTB.scala 289:34]
+  assign io_resp_bits_taken = ~res_value & isBranch ? 1'h0 : 1'h1; // @[BTB.scala 290:22 322:{35,56}]
+  assign io_resp_bits_bridx = _io_resp_bits_bridx_T_70 | idxHit[16] & brIdx_16 | idxHit[17] & brIdx_17 | idxHit[18] &
+    brIdx_18 | idxHit[19] & brIdx_19 | idxHit[20] & brIdx_20 | idxHit[21] & brIdx_21 | idxHit[22] & brIdx_22 | idxHit[23
+    ] & brIdx_23 | idxHit[24] & brIdx_24 | idxHit[25] & brIdx_25 | idxHit[26] & brIdx_26 | idxHit[27] & brIdx_27; // @[Mux.scala 27:73]
+  assign io_resp_bits_target = _io_ras_head_valid_T_1 & doPeek ? _GEN_401 : _io_resp_bits_target_T_181; // @[BTB.scala 291:23 331:35 332:27]
+  assign io_resp_bits_entry = {_io_resp_bits_entry_T,_io_resp_bits_entry_T_11}; // @[Cat.scala 31:58]
+  assign io_resp_bits_bht_history = history; // @[BTB.scala 93:19 95:17]
+  assign io_resp_bits_bht_value = resetting ? 1'h0 : table__res_res_value_MPORT_data; // @[BTB.scala 94:21]
+  assign io_ras_head_valid = ~_io_ras_head_valid_T; // @[BTB.scala 329:26]
+  assign io_ras_head_bits = 3'h5 == pos ? stack_5 : _GEN_400; // @[BTB.scala 330:{22,22}]
+  always @(posedge clock) begin
+    if (table__MPORT_en & table__MPORT_mask) begin
+      table_[table__MPORT_addr] <= table__MPORT_data; // @[BTB.scala 118:26]
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h0 == waddr) begin // @[BTB.scala 266:17]
+        idxs_0 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1 == waddr) begin // @[BTB.scala 266:17]
+        idxs_1 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h2 == waddr) begin // @[BTB.scala 266:17]
+        idxs_2 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h3 == waddr) begin // @[BTB.scala 266:17]
+        idxs_3 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h4 == waddr) begin // @[BTB.scala 266:17]
+        idxs_4 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h5 == waddr) begin // @[BTB.scala 266:17]
+        idxs_5 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h6 == waddr) begin // @[BTB.scala 266:17]
+        idxs_6 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h7 == waddr) begin // @[BTB.scala 266:17]
+        idxs_7 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h8 == waddr) begin // @[BTB.scala 266:17]
+        idxs_8 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h9 == waddr) begin // @[BTB.scala 266:17]
+        idxs_9 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'ha == waddr) begin // @[BTB.scala 266:17]
+        idxs_10 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hb == waddr) begin // @[BTB.scala 266:17]
+        idxs_11 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hc == waddr) begin // @[BTB.scala 266:17]
+        idxs_12 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hd == waddr) begin // @[BTB.scala 266:17]
+        idxs_13 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'he == waddr) begin // @[BTB.scala 266:17]
+        idxs_14 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hf == waddr) begin // @[BTB.scala 266:17]
+        idxs_15 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h10 == waddr) begin // @[BTB.scala 266:17]
+        idxs_16 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h11 == waddr) begin // @[BTB.scala 266:17]
+        idxs_17 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h12 == waddr) begin // @[BTB.scala 266:17]
+        idxs_18 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h13 == waddr) begin // @[BTB.scala 266:17]
+        idxs_19 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h14 == waddr) begin // @[BTB.scala 266:17]
+        idxs_20 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h15 == waddr) begin // @[BTB.scala 266:17]
+        idxs_21 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h16 == waddr) begin // @[BTB.scala 266:17]
+        idxs_22 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h17 == waddr) begin // @[BTB.scala 266:17]
+        idxs_23 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h18 == waddr) begin // @[BTB.scala 266:17]
+        idxs_24 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h19 == waddr) begin // @[BTB.scala 266:17]
+        idxs_25 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1a == waddr) begin // @[BTB.scala 266:17]
+        idxs_26 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1b == waddr) begin // @[BTB.scala 266:17]
+        idxs_27 <= r_btb_updatePipe_bits_pc[13:1]; // @[BTB.scala 266:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h0 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_0 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_1 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h2 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_2 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h3 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_3 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h4 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_4 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h5 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_5 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h6 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_6 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h7 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_7 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h8 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_8 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h9 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_9 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'ha == waddr) begin // @[BTB.scala 268:21]
+        idxPages_10 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hb == waddr) begin // @[BTB.scala 268:21]
+        idxPages_11 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hc == waddr) begin // @[BTB.scala 268:21]
+        idxPages_12 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hd == waddr) begin // @[BTB.scala 268:21]
+        idxPages_13 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'he == waddr) begin // @[BTB.scala 268:21]
+        idxPages_14 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hf == waddr) begin // @[BTB.scala 268:21]
+        idxPages_15 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h10 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_16 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h11 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_17 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h12 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_18 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h13 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_19 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h14 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_20 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h15 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_21 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h16 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_22 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h17 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_23 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h18 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_24 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h19 == waddr) begin // @[BTB.scala 268:21]
+        idxPages_25 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1a == waddr) begin // @[BTB.scala 268:21]
+        idxPages_26 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1b == waddr) begin // @[BTB.scala 268:21]
+        idxPages_27 <= _idxPages_T[2:0]; // @[BTB.scala 268:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h0 == waddr) begin // @[BTB.scala 267:17]
+        tgts_0 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1 == waddr) begin // @[BTB.scala 267:17]
+        tgts_1 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h2 == waddr) begin // @[BTB.scala 267:17]
+        tgts_2 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h3 == waddr) begin // @[BTB.scala 267:17]
+        tgts_3 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h4 == waddr) begin // @[BTB.scala 267:17]
+        tgts_4 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h5 == waddr) begin // @[BTB.scala 267:17]
+        tgts_5 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h6 == waddr) begin // @[BTB.scala 267:17]
+        tgts_6 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h7 == waddr) begin // @[BTB.scala 267:17]
+        tgts_7 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h8 == waddr) begin // @[BTB.scala 267:17]
+        tgts_8 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h9 == waddr) begin // @[BTB.scala 267:17]
+        tgts_9 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'ha == waddr) begin // @[BTB.scala 267:17]
+        tgts_10 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hb == waddr) begin // @[BTB.scala 267:17]
+        tgts_11 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hc == waddr) begin // @[BTB.scala 267:17]
+        tgts_12 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hd == waddr) begin // @[BTB.scala 267:17]
+        tgts_13 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'he == waddr) begin // @[BTB.scala 267:17]
+        tgts_14 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hf == waddr) begin // @[BTB.scala 267:17]
+        tgts_15 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h10 == waddr) begin // @[BTB.scala 267:17]
+        tgts_16 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h11 == waddr) begin // @[BTB.scala 267:17]
+        tgts_17 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h12 == waddr) begin // @[BTB.scala 267:17]
+        tgts_18 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h13 == waddr) begin // @[BTB.scala 267:17]
+        tgts_19 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h14 == waddr) begin // @[BTB.scala 267:17]
+        tgts_20 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h15 == waddr) begin // @[BTB.scala 267:17]
+        tgts_21 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h16 == waddr) begin // @[BTB.scala 267:17]
+        tgts_22 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h17 == waddr) begin // @[BTB.scala 267:17]
+        tgts_23 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h18 == waddr) begin // @[BTB.scala 267:17]
+        tgts_24 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h19 == waddr) begin // @[BTB.scala 267:17]
+        tgts_25 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1a == waddr) begin // @[BTB.scala 267:17]
+        tgts_26 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1b == waddr) begin // @[BTB.scala 267:17]
+        tgts_27 <= idxHit_idx; // @[BTB.scala 267:17]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h0 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_0 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_1 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h2 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_2 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h3 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_3 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h4 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_4 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h5 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_5 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h6 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_6 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h7 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_7 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h8 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_8 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h9 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_9 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'ha == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_10 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hb == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_11 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hc == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_12 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hd == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_13 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'he == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_14 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hf == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_15 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h10 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_16 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h11 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_17 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h12 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_18 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h13 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_19 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h14 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_20 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h15 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_21 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h16 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_22 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h17 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_23 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h18 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_24 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h19 == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_25 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1a == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_26 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1b == waddr) begin // @[BTB.scala 269:21]
+        tgtPages_27 <= tgtPageUpdate; // @[BTB.scala 269:21]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (_T_5[0]) begin // @[BTB.scala 280:22]
+        if (idxWritesEven) begin // @[BTB.scala 283:10]
+          pages_0 <= updatePageHit_p;
+        end else begin
+          pages_0 <= pageHit_p;
+        end
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (_T_12[1]) begin // @[BTB.scala 280:22]
+        if (idxWritesEven) begin // @[BTB.scala 285:10]
+          pages_1 <= pageHit_p;
+        end else begin
+          pages_1 <= updatePageHit_p;
+        end
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (_T_5[2]) begin // @[BTB.scala 280:22]
+        if (idxWritesEven) begin // @[BTB.scala 283:10]
+          pages_2 <= updatePageHit_p;
+        end else begin
+          pages_2 <= pageHit_p;
+        end
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (_T_12[3]) begin // @[BTB.scala 280:22]
+        if (idxWritesEven) begin // @[BTB.scala 285:10]
+          pages_3 <= pageHit_p;
+        end else begin
+          pages_3 <= updatePageHit_p;
+        end
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (_T_5[4]) begin // @[BTB.scala 280:22]
+        if (idxWritesEven) begin // @[BTB.scala 283:10]
+          pages_4 <= updatePageHit_p;
+        end else begin
+          pages_4 <= pageHit_p;
+        end
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (_T_12[5]) begin // @[BTB.scala 280:22]
+        if (idxWritesEven) begin // @[BTB.scala 285:10]
+          pages_5 <= pageHit_p;
+        end else begin
+          pages_5 <= updatePageHit_p;
+        end
+      end
+    end
+    if (reset) begin // @[BTB.scala 206:22]
+      pageValid <= 6'h0; // @[BTB.scala 206:22]
+    end else begin
+      pageValid <= _GEN_373[5:0];
+    end
+    if (reset) begin // @[BTB.scala 209:20]
+      isValid <= 28'h0; // @[BTB.scala 209:20]
+    end else begin
+      isValid <= _GEN_375[27:0];
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h0 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_0 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_1 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h2 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_2 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h3 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_3 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h4 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_4 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h5 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_5 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h6 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_6 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h7 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_7 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h8 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_8 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h9 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_9 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'ha == waddr) begin // @[BTB.scala 270:20]
+        cfiType_10 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hb == waddr) begin // @[BTB.scala 270:20]
+        cfiType_11 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hc == waddr) begin // @[BTB.scala 270:20]
+        cfiType_12 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hd == waddr) begin // @[BTB.scala 270:20]
+        cfiType_13 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'he == waddr) begin // @[BTB.scala 270:20]
+        cfiType_14 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hf == waddr) begin // @[BTB.scala 270:20]
+        cfiType_15 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h10 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_16 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h11 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_17 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h12 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_18 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h13 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_19 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h14 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_20 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h15 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_21 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h16 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_22 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h17 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_23 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h18 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_24 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h19 == waddr) begin // @[BTB.scala 270:20]
+        cfiType_25 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1a == waddr) begin // @[BTB.scala 270:20]
+        cfiType_26 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1b == waddr) begin // @[BTB.scala 270:20]
+        cfiType_27 <= r_btb_updatePipe_bits_cfiType; // @[BTB.scala 270:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h0 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_0 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_1 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h2 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_2 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h3 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_3 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h4 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_4 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h5 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_5 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h6 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_6 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h7 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_7 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h8 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_8 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h9 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_9 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'ha == waddr) begin // @[BTB.scala 273:20]
+        brIdx_10 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hb == waddr) begin // @[BTB.scala 273:20]
+        brIdx_11 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hc == waddr) begin // @[BTB.scala 273:20]
+        brIdx_12 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hd == waddr) begin // @[BTB.scala 273:20]
+        brIdx_13 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'he == waddr) begin // @[BTB.scala 273:20]
+        brIdx_14 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'hf == waddr) begin // @[BTB.scala 273:20]
+        brIdx_15 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h10 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_16 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h11 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_17 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h12 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_18 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h13 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_19 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h14 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_20 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h15 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_21 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h16 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_22 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h17 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_23 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h18 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_24 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h19 == waddr) begin // @[BTB.scala 273:20]
+        brIdx_25 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1a == waddr) begin // @[BTB.scala 273:20]
+        brIdx_26 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (r_btb_updatePipe_valid) begin // @[BTB.scala 264:29]
+      if (5'h1b == waddr) begin // @[BTB.scala 273:20]
+        brIdx_27 <= r_btb_updatePipe_bits_br_pc[1]; // @[BTB.scala 273:20]
+      end
+    end
+    if (reset) begin // @[Valid.scala 127:22]
+      r_btb_updatePipe_valid <= 1'h0; // @[Valid.scala 127:22]
+    end else begin
+      r_btb_updatePipe_valid <= io_btb_update_valid; // @[Valid.scala 127:22]
+    end
+    if (io_btb_update_valid) begin // @[Reg.scala 17:18]
+      r_btb_updatePipe_bits_prediction_entry <= io_btb_update_bits_prediction_entry; // @[Reg.scala 17:22]
+    end
+    if (io_btb_update_valid) begin // @[Reg.scala 17:18]
+      r_btb_updatePipe_bits_pc <= io_btb_update_bits_pc; // @[Reg.scala 17:22]
+    end
+    if (io_btb_update_valid) begin // @[Reg.scala 17:18]
+      r_btb_updatePipe_bits_isValid <= io_btb_update_bits_isValid; // @[Reg.scala 17:22]
+    end
+    if (io_btb_update_valid) begin // @[Reg.scala 17:18]
+      r_btb_updatePipe_bits_br_pc <= io_btb_update_bits_br_pc; // @[Reg.scala 17:22]
+    end
+    if (io_btb_update_valid) begin // @[Reg.scala 17:18]
+      r_btb_updatePipe_bits_cfiType <= io_btb_update_bits_cfiType; // @[Reg.scala 17:22]
+    end
+    if (reset) begin // @[BTB.scala 239:29]
+      nextPageRepl <= 3'h0; // @[BTB.scala 239:29]
+    end else if (r_btb_updatePipe_valid & (doIdxPageRepl | doTgtPageRepl)) begin // @[BTB.scala 251:65]
+      if (next >= 3'h6) begin // @[BTB.scala 254:24]
+        nextPageRepl <= {{2'd0}, next[0]};
+      end else begin
+        nextPageRepl <= next;
+      end
+    end
+    if (reset) begin // @[Replacement.scala 168:70]
+      state_reg <= 27'h0; // @[Replacement.scala 168:70]
+    end else if (r_respPipe_valid & r_respPipe_bits_taken | r_btb_updatePipe_valid) begin // @[BTB.scala 260:66]
+      state_reg <= _state_reg_T_92; // @[Replacement.scala 172:15]
+    end
+    if (reset) begin // @[Valid.scala 127:22]
+      r_respPipe_valid <= 1'h0; // @[Valid.scala 127:22]
+    end else begin
+      r_respPipe_valid <= io_resp_valid; // @[Valid.scala 127:22]
+    end
+    if (io_resp_valid) begin // @[Reg.scala 17:18]
+      r_respPipe_bits_taken <= io_resp_bits_taken; // @[Reg.scala 17:22]
+    end
+    if (io_resp_valid) begin // @[Reg.scala 17:18]
+      r_respPipe_bits_entry <= io_resp_bits_entry; // @[Reg.scala 17:22]
+    end
+    if (reset) begin // @[BTB.scala 119:24]
+      history <= 8'h0; // @[BTB.scala 119:24]
+    end else if (io_bht_update_valid) begin // @[BTB.scala 312:32]
+      if (io_bht_update_bits_branch) begin // @[BTB.scala 313:40]
+        if (io_bht_update_bits_mispredict) begin // @[BTB.scala 315:46]
+          history <= _history_T_3; // @[BTB.scala 112:13]
+        end else begin
+          history <= _GEN_382;
+        end
+      end else if (io_bht_update_bits_mispredict) begin // @[BTB.scala 318:50]
+        history <= io_bht_update_bits_prediction_history; // @[BTB.scala 109:13]
+      end else begin
+        history <= _GEN_382;
+      end
+    end else begin
+      history <= _GEN_382;
+    end
+    if (reset) begin // @[BTB.scala 121:36]
+      reset_waddr <= 10'h0; // @[BTB.scala 121:36]
+    end else if (resetting) begin // @[BTB.scala 126:20]
+      reset_waddr <= _reset_waddr_T_1; // @[BTB.scala 126:34]
+    end
+    if (reset) begin // @[BTB.scala 58:30]
+      count <= 3'h0; // @[BTB.scala 58:30]
+    end else if (io_ras_update_valid) begin // @[BTB.scala 334:32]
+      if (io_ras_update_bits_cfiType == 2'h2) begin // @[BTB.scala 335:58]
+        if (count < 3'h6) begin // @[BTB.scala 45:25]
+          count <= _count_T_1; // @[BTB.scala 45:33]
+        end
+      end else if (io_ras_update_bits_cfiType == 2'h3) begin // @[BTB.scala 337:63]
+        count <= _GEN_410;
+      end
+    end
+    if (reset) begin // @[BTB.scala 59:28]
+      pos <= 3'h0; // @[BTB.scala 59:28]
+    end else if (io_ras_update_valid) begin // @[BTB.scala 334:32]
+      if (io_ras_update_bits_cfiType == 2'h2) begin // @[BTB.scala 335:58]
+        if (pos < 3'h5) begin // @[BTB.scala 46:22]
+          pos <= _nextPos_T_3;
+        end else begin
+          pos <= 3'h0;
+        end
+      end else if (io_ras_update_bits_cfiType == 2'h3) begin // @[BTB.scala 337:63]
+        pos <= _GEN_411;
+      end
+    end
+    if (io_ras_update_valid) begin // @[BTB.scala 334:32]
+      if (io_ras_update_bits_cfiType == 2'h2) begin // @[BTB.scala 335:58]
+        if (3'h0 == nextPos) begin // @[BTB.scala 47:20]
+          stack_0 <= io_ras_update_bits_returnAddr; // @[BTB.scala 47:20]
+        end
+      end
+    end
+    if (io_ras_update_valid) begin // @[BTB.scala 334:32]
+      if (io_ras_update_bits_cfiType == 2'h2) begin // @[BTB.scala 335:58]
+        if (3'h1 == nextPos) begin // @[BTB.scala 47:20]
+          stack_1 <= io_ras_update_bits_returnAddr; // @[BTB.scala 47:20]
+        end
+      end
+    end
+    if (io_ras_update_valid) begin // @[BTB.scala 334:32]
+      if (io_ras_update_bits_cfiType == 2'h2) begin // @[BTB.scala 335:58]
+        if (3'h2 == nextPos) begin // @[BTB.scala 47:20]
+          stack_2 <= io_ras_update_bits_returnAddr; // @[BTB.scala 47:20]
+        end
+      end
+    end
+    if (io_ras_update_valid) begin // @[BTB.scala 334:32]
+      if (io_ras_update_bits_cfiType == 2'h2) begin // @[BTB.scala 335:58]
+        if (3'h3 == nextPos) begin // @[BTB.scala 47:20]
+          stack_3 <= io_ras_update_bits_returnAddr; // @[BTB.scala 47:20]
+        end
+      end
+    end
+    if (io_ras_update_valid) begin // @[BTB.scala 334:32]
+      if (io_ras_update_bits_cfiType == 2'h2) begin // @[BTB.scala 335:58]
+        if (3'h4 == nextPos) begin // @[BTB.scala 47:20]
+          stack_4 <= io_ras_update_bits_returnAddr; // @[BTB.scala 47:20]
+        end
+      end
+    end
+    if (io_ras_update_valid) begin // @[BTB.scala 334:32]
+      if (io_ras_update_bits_cfiType == 2'h2) begin // @[BTB.scala 335:58]
+        if (3'h5 == nextPos) begin // @[BTB.scala 47:20]
+          stack_5 <= io_ras_update_bits_returnAddr; // @[BTB.scala 47:20]
+        end
+      end
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 512; initvar = initvar+1)
+    table_[initvar] = _RAND_0[0:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  idxs_0 = _RAND_1[12:0];
+  _RAND_2 = {1{`RANDOM}};
+  idxs_1 = _RAND_2[12:0];
+  _RAND_3 = {1{`RANDOM}};
+  idxs_2 = _RAND_3[12:0];
+  _RAND_4 = {1{`RANDOM}};
+  idxs_3 = _RAND_4[12:0];
+  _RAND_5 = {1{`RANDOM}};
+  idxs_4 = _RAND_5[12:0];
+  _RAND_6 = {1{`RANDOM}};
+  idxs_5 = _RAND_6[12:0];
+  _RAND_7 = {1{`RANDOM}};
+  idxs_6 = _RAND_7[12:0];
+  _RAND_8 = {1{`RANDOM}};
+  idxs_7 = _RAND_8[12:0];
+  _RAND_9 = {1{`RANDOM}};
+  idxs_8 = _RAND_9[12:0];
+  _RAND_10 = {1{`RANDOM}};
+  idxs_9 = _RAND_10[12:0];
+  _RAND_11 = {1{`RANDOM}};
+  idxs_10 = _RAND_11[12:0];
+  _RAND_12 = {1{`RANDOM}};
+  idxs_11 = _RAND_12[12:0];
+  _RAND_13 = {1{`RANDOM}};
+  idxs_12 = _RAND_13[12:0];
+  _RAND_14 = {1{`RANDOM}};
+  idxs_13 = _RAND_14[12:0];
+  _RAND_15 = {1{`RANDOM}};
+  idxs_14 = _RAND_15[12:0];
+  _RAND_16 = {1{`RANDOM}};
+  idxs_15 = _RAND_16[12:0];
+  _RAND_17 = {1{`RANDOM}};
+  idxs_16 = _RAND_17[12:0];
+  _RAND_18 = {1{`RANDOM}};
+  idxs_17 = _RAND_18[12:0];
+  _RAND_19 = {1{`RANDOM}};
+  idxs_18 = _RAND_19[12:0];
+  _RAND_20 = {1{`RANDOM}};
+  idxs_19 = _RAND_20[12:0];
+  _RAND_21 = {1{`RANDOM}};
+  idxs_20 = _RAND_21[12:0];
+  _RAND_22 = {1{`RANDOM}};
+  idxs_21 = _RAND_22[12:0];
+  _RAND_23 = {1{`RANDOM}};
+  idxs_22 = _RAND_23[12:0];
+  _RAND_24 = {1{`RANDOM}};
+  idxs_23 = _RAND_24[12:0];
+  _RAND_25 = {1{`RANDOM}};
+  idxs_24 = _RAND_25[12:0];
+  _RAND_26 = {1{`RANDOM}};
+  idxs_25 = _RAND_26[12:0];
+  _RAND_27 = {1{`RANDOM}};
+  idxs_26 = _RAND_27[12:0];
+  _RAND_28 = {1{`RANDOM}};
+  idxs_27 = _RAND_28[12:0];
+  _RAND_29 = {1{`RANDOM}};
+  idxPages_0 = _RAND_29[2:0];
+  _RAND_30 = {1{`RANDOM}};
+  idxPages_1 = _RAND_30[2:0];
+  _RAND_31 = {1{`RANDOM}};
+  idxPages_2 = _RAND_31[2:0];
+  _RAND_32 = {1{`RANDOM}};
+  idxPages_3 = _RAND_32[2:0];
+  _RAND_33 = {1{`RANDOM}};
+  idxPages_4 = _RAND_33[2:0];
+  _RAND_34 = {1{`RANDOM}};
+  idxPages_5 = _RAND_34[2:0];
+  _RAND_35 = {1{`RANDOM}};
+  idxPages_6 = _RAND_35[2:0];
+  _RAND_36 = {1{`RANDOM}};
+  idxPages_7 = _RAND_36[2:0];
+  _RAND_37 = {1{`RANDOM}};
+  idxPages_8 = _RAND_37[2:0];
+  _RAND_38 = {1{`RANDOM}};
+  idxPages_9 = _RAND_38[2:0];
+  _RAND_39 = {1{`RANDOM}};
+  idxPages_10 = _RAND_39[2:0];
+  _RAND_40 = {1{`RANDOM}};
+  idxPages_11 = _RAND_40[2:0];
+  _RAND_41 = {1{`RANDOM}};
+  idxPages_12 = _RAND_41[2:0];
+  _RAND_42 = {1{`RANDOM}};
+  idxPages_13 = _RAND_42[2:0];
+  _RAND_43 = {1{`RANDOM}};
+  idxPages_14 = _RAND_43[2:0];
+  _RAND_44 = {1{`RANDOM}};
+  idxPages_15 = _RAND_44[2:0];
+  _RAND_45 = {1{`RANDOM}};
+  idxPages_16 = _RAND_45[2:0];
+  _RAND_46 = {1{`RANDOM}};
+  idxPages_17 = _RAND_46[2:0];
+  _RAND_47 = {1{`RANDOM}};
+  idxPages_18 = _RAND_47[2:0];
+  _RAND_48 = {1{`RANDOM}};
+  idxPages_19 = _RAND_48[2:0];
+  _RAND_49 = {1{`RANDOM}};
+  idxPages_20 = _RAND_49[2:0];
+  _RAND_50 = {1{`RANDOM}};
+  idxPages_21 = _RAND_50[2:0];
+  _RAND_51 = {1{`RANDOM}};
+  idxPages_22 = _RAND_51[2:0];
+  _RAND_52 = {1{`RANDOM}};
+  idxPages_23 = _RAND_52[2:0];
+  _RAND_53 = {1{`RANDOM}};
+  idxPages_24 = _RAND_53[2:0];
+  _RAND_54 = {1{`RANDOM}};
+  idxPages_25 = _RAND_54[2:0];
+  _RAND_55 = {1{`RANDOM}};
+  idxPages_26 = _RAND_55[2:0];
+  _RAND_56 = {1{`RANDOM}};
+  idxPages_27 = _RAND_56[2:0];
+  _RAND_57 = {1{`RANDOM}};
+  tgts_0 = _RAND_57[12:0];
+  _RAND_58 = {1{`RANDOM}};
+  tgts_1 = _RAND_58[12:0];
+  _RAND_59 = {1{`RANDOM}};
+  tgts_2 = _RAND_59[12:0];
+  _RAND_60 = {1{`RANDOM}};
+  tgts_3 = _RAND_60[12:0];
+  _RAND_61 = {1{`RANDOM}};
+  tgts_4 = _RAND_61[12:0];
+  _RAND_62 = {1{`RANDOM}};
+  tgts_5 = _RAND_62[12:0];
+  _RAND_63 = {1{`RANDOM}};
+  tgts_6 = _RAND_63[12:0];
+  _RAND_64 = {1{`RANDOM}};
+  tgts_7 = _RAND_64[12:0];
+  _RAND_65 = {1{`RANDOM}};
+  tgts_8 = _RAND_65[12:0];
+  _RAND_66 = {1{`RANDOM}};
+  tgts_9 = _RAND_66[12:0];
+  _RAND_67 = {1{`RANDOM}};
+  tgts_10 = _RAND_67[12:0];
+  _RAND_68 = {1{`RANDOM}};
+  tgts_11 = _RAND_68[12:0];
+  _RAND_69 = {1{`RANDOM}};
+  tgts_12 = _RAND_69[12:0];
+  _RAND_70 = {1{`RANDOM}};
+  tgts_13 = _RAND_70[12:0];
+  _RAND_71 = {1{`RANDOM}};
+  tgts_14 = _RAND_71[12:0];
+  _RAND_72 = {1{`RANDOM}};
+  tgts_15 = _RAND_72[12:0];
+  _RAND_73 = {1{`RANDOM}};
+  tgts_16 = _RAND_73[12:0];
+  _RAND_74 = {1{`RANDOM}};
+  tgts_17 = _RAND_74[12:0];
+  _RAND_75 = {1{`RANDOM}};
+  tgts_18 = _RAND_75[12:0];
+  _RAND_76 = {1{`RANDOM}};
+  tgts_19 = _RAND_76[12:0];
+  _RAND_77 = {1{`RANDOM}};
+  tgts_20 = _RAND_77[12:0];
+  _RAND_78 = {1{`RANDOM}};
+  tgts_21 = _RAND_78[12:0];
+  _RAND_79 = {1{`RANDOM}};
+  tgts_22 = _RAND_79[12:0];
+  _RAND_80 = {1{`RANDOM}};
+  tgts_23 = _RAND_80[12:0];
+  _RAND_81 = {1{`RANDOM}};
+  tgts_24 = _RAND_81[12:0];
+  _RAND_82 = {1{`RANDOM}};
+  tgts_25 = _RAND_82[12:0];
+  _RAND_83 = {1{`RANDOM}};
+  tgts_26 = _RAND_83[12:0];
+  _RAND_84 = {1{`RANDOM}};
+  tgts_27 = _RAND_84[12:0];
+  _RAND_85 = {1{`RANDOM}};
+  tgtPages_0 = _RAND_85[2:0];
+  _RAND_86 = {1{`RANDOM}};
+  tgtPages_1 = _RAND_86[2:0];
+  _RAND_87 = {1{`RANDOM}};
+  tgtPages_2 = _RAND_87[2:0];
+  _RAND_88 = {1{`RANDOM}};
+  tgtPages_3 = _RAND_88[2:0];
+  _RAND_89 = {1{`RANDOM}};
+  tgtPages_4 = _RAND_89[2:0];
+  _RAND_90 = {1{`RANDOM}};
+  tgtPages_5 = _RAND_90[2:0];
+  _RAND_91 = {1{`RANDOM}};
+  tgtPages_6 = _RAND_91[2:0];
+  _RAND_92 = {1{`RANDOM}};
+  tgtPages_7 = _RAND_92[2:0];
+  _RAND_93 = {1{`RANDOM}};
+  tgtPages_8 = _RAND_93[2:0];
+  _RAND_94 = {1{`RANDOM}};
+  tgtPages_9 = _RAND_94[2:0];
+  _RAND_95 = {1{`RANDOM}};
+  tgtPages_10 = _RAND_95[2:0];
+  _RAND_96 = {1{`RANDOM}};
+  tgtPages_11 = _RAND_96[2:0];
+  _RAND_97 = {1{`RANDOM}};
+  tgtPages_12 = _RAND_97[2:0];
+  _RAND_98 = {1{`RANDOM}};
+  tgtPages_13 = _RAND_98[2:0];
+  _RAND_99 = {1{`RANDOM}};
+  tgtPages_14 = _RAND_99[2:0];
+  _RAND_100 = {1{`RANDOM}};
+  tgtPages_15 = _RAND_100[2:0];
+  _RAND_101 = {1{`RANDOM}};
+  tgtPages_16 = _RAND_101[2:0];
+  _RAND_102 = {1{`RANDOM}};
+  tgtPages_17 = _RAND_102[2:0];
+  _RAND_103 = {1{`RANDOM}};
+  tgtPages_18 = _RAND_103[2:0];
+  _RAND_104 = {1{`RANDOM}};
+  tgtPages_19 = _RAND_104[2:0];
+  _RAND_105 = {1{`RANDOM}};
+  tgtPages_20 = _RAND_105[2:0];
+  _RAND_106 = {1{`RANDOM}};
+  tgtPages_21 = _RAND_106[2:0];
+  _RAND_107 = {1{`RANDOM}};
+  tgtPages_22 = _RAND_107[2:0];
+  _RAND_108 = {1{`RANDOM}};
+  tgtPages_23 = _RAND_108[2:0];
+  _RAND_109 = {1{`RANDOM}};
+  tgtPages_24 = _RAND_109[2:0];
+  _RAND_110 = {1{`RANDOM}};
+  tgtPages_25 = _RAND_110[2:0];
+  _RAND_111 = {1{`RANDOM}};
+  tgtPages_26 = _RAND_111[2:0];
+  _RAND_112 = {1{`RANDOM}};
+  tgtPages_27 = _RAND_112[2:0];
+  _RAND_113 = {1{`RANDOM}};
+  pages_0 = _RAND_113[17:0];
+  _RAND_114 = {1{`RANDOM}};
+  pages_1 = _RAND_114[17:0];
+  _RAND_115 = {1{`RANDOM}};
+  pages_2 = _RAND_115[17:0];
+  _RAND_116 = {1{`RANDOM}};
+  pages_3 = _RAND_116[17:0];
+  _RAND_117 = {1{`RANDOM}};
+  pages_4 = _RAND_117[17:0];
+  _RAND_118 = {1{`RANDOM}};
+  pages_5 = _RAND_118[17:0];
+  _RAND_119 = {1{`RANDOM}};
+  pageValid = _RAND_119[5:0];
+  _RAND_120 = {1{`RANDOM}};
+  isValid = _RAND_120[27:0];
+  _RAND_121 = {1{`RANDOM}};
+  cfiType_0 = _RAND_121[1:0];
+  _RAND_122 = {1{`RANDOM}};
+  cfiType_1 = _RAND_122[1:0];
+  _RAND_123 = {1{`RANDOM}};
+  cfiType_2 = _RAND_123[1:0];
+  _RAND_124 = {1{`RANDOM}};
+  cfiType_3 = _RAND_124[1:0];
+  _RAND_125 = {1{`RANDOM}};
+  cfiType_4 = _RAND_125[1:0];
+  _RAND_126 = {1{`RANDOM}};
+  cfiType_5 = _RAND_126[1:0];
+  _RAND_127 = {1{`RANDOM}};
+  cfiType_6 = _RAND_127[1:0];
+  _RAND_128 = {1{`RANDOM}};
+  cfiType_7 = _RAND_128[1:0];
+  _RAND_129 = {1{`RANDOM}};
+  cfiType_8 = _RAND_129[1:0];
+  _RAND_130 = {1{`RANDOM}};
+  cfiType_9 = _RAND_130[1:0];
+  _RAND_131 = {1{`RANDOM}};
+  cfiType_10 = _RAND_131[1:0];
+  _RAND_132 = {1{`RANDOM}};
+  cfiType_11 = _RAND_132[1:0];
+  _RAND_133 = {1{`RANDOM}};
+  cfiType_12 = _RAND_133[1:0];
+  _RAND_134 = {1{`RANDOM}};
+  cfiType_13 = _RAND_134[1:0];
+  _RAND_135 = {1{`RANDOM}};
+  cfiType_14 = _RAND_135[1:0];
+  _RAND_136 = {1{`RANDOM}};
+  cfiType_15 = _RAND_136[1:0];
+  _RAND_137 = {1{`RANDOM}};
+  cfiType_16 = _RAND_137[1:0];
+  _RAND_138 = {1{`RANDOM}};
+  cfiType_17 = _RAND_138[1:0];
+  _RAND_139 = {1{`RANDOM}};
+  cfiType_18 = _RAND_139[1:0];
+  _RAND_140 = {1{`RANDOM}};
+  cfiType_19 = _RAND_140[1:0];
+  _RAND_141 = {1{`RANDOM}};
+  cfiType_20 = _RAND_141[1:0];
+  _RAND_142 = {1{`RANDOM}};
+  cfiType_21 = _RAND_142[1:0];
+  _RAND_143 = {1{`RANDOM}};
+  cfiType_22 = _RAND_143[1:0];
+  _RAND_144 = {1{`RANDOM}};
+  cfiType_23 = _RAND_144[1:0];
+  _RAND_145 = {1{`RANDOM}};
+  cfiType_24 = _RAND_145[1:0];
+  _RAND_146 = {1{`RANDOM}};
+  cfiType_25 = _RAND_146[1:0];
+  _RAND_147 = {1{`RANDOM}};
+  cfiType_26 = _RAND_147[1:0];
+  _RAND_148 = {1{`RANDOM}};
+  cfiType_27 = _RAND_148[1:0];
+  _RAND_149 = {1{`RANDOM}};
+  brIdx_0 = _RAND_149[0:0];
+  _RAND_150 = {1{`RANDOM}};
+  brIdx_1 = _RAND_150[0:0];
+  _RAND_151 = {1{`RANDOM}};
+  brIdx_2 = _RAND_151[0:0];
+  _RAND_152 = {1{`RANDOM}};
+  brIdx_3 = _RAND_152[0:0];
+  _RAND_153 = {1{`RANDOM}};
+  brIdx_4 = _RAND_153[0:0];
+  _RAND_154 = {1{`RANDOM}};
+  brIdx_5 = _RAND_154[0:0];
+  _RAND_155 = {1{`RANDOM}};
+  brIdx_6 = _RAND_155[0:0];
+  _RAND_156 = {1{`RANDOM}};
+  brIdx_7 = _RAND_156[0:0];
+  _RAND_157 = {1{`RANDOM}};
+  brIdx_8 = _RAND_157[0:0];
+  _RAND_158 = {1{`RANDOM}};
+  brIdx_9 = _RAND_158[0:0];
+  _RAND_159 = {1{`RANDOM}};
+  brIdx_10 = _RAND_159[0:0];
+  _RAND_160 = {1{`RANDOM}};
+  brIdx_11 = _RAND_160[0:0];
+  _RAND_161 = {1{`RANDOM}};
+  brIdx_12 = _RAND_161[0:0];
+  _RAND_162 = {1{`RANDOM}};
+  brIdx_13 = _RAND_162[0:0];
+  _RAND_163 = {1{`RANDOM}};
+  brIdx_14 = _RAND_163[0:0];
+  _RAND_164 = {1{`RANDOM}};
+  brIdx_15 = _RAND_164[0:0];
+  _RAND_165 = {1{`RANDOM}};
+  brIdx_16 = _RAND_165[0:0];
+  _RAND_166 = {1{`RANDOM}};
+  brIdx_17 = _RAND_166[0:0];
+  _RAND_167 = {1{`RANDOM}};
+  brIdx_18 = _RAND_167[0:0];
+  _RAND_168 = {1{`RANDOM}};
+  brIdx_19 = _RAND_168[0:0];
+  _RAND_169 = {1{`RANDOM}};
+  brIdx_20 = _RAND_169[0:0];
+  _RAND_170 = {1{`RANDOM}};
+  brIdx_21 = _RAND_170[0:0];
+  _RAND_171 = {1{`RANDOM}};
+  brIdx_22 = _RAND_171[0:0];
+  _RAND_172 = {1{`RANDOM}};
+  brIdx_23 = _RAND_172[0:0];
+  _RAND_173 = {1{`RANDOM}};
+  brIdx_24 = _RAND_173[0:0];
+  _RAND_174 = {1{`RANDOM}};
+  brIdx_25 = _RAND_174[0:0];
+  _RAND_175 = {1{`RANDOM}};
+  brIdx_26 = _RAND_175[0:0];
+  _RAND_176 = {1{`RANDOM}};
+  brIdx_27 = _RAND_176[0:0];
+  _RAND_177 = {1{`RANDOM}};
+  r_btb_updatePipe_valid = _RAND_177[0:0];
+  _RAND_178 = {1{`RANDOM}};
+  r_btb_updatePipe_bits_prediction_entry = _RAND_178[4:0];
+  _RAND_179 = {1{`RANDOM}};
+  r_btb_updatePipe_bits_pc = _RAND_179[31:0];
+  _RAND_180 = {1{`RANDOM}};
+  r_btb_updatePipe_bits_isValid = _RAND_180[0:0];
+  _RAND_181 = {1{`RANDOM}};
+  r_btb_updatePipe_bits_br_pc = _RAND_181[31:0];
+  _RAND_182 = {1{`RANDOM}};
+  r_btb_updatePipe_bits_cfiType = _RAND_182[1:0];
+  _RAND_183 = {1{`RANDOM}};
+  nextPageRepl = _RAND_183[2:0];
+  _RAND_184 = {1{`RANDOM}};
+  state_reg = _RAND_184[26:0];
+  _RAND_185 = {1{`RANDOM}};
+  r_respPipe_valid = _RAND_185[0:0];
+  _RAND_186 = {1{`RANDOM}};
+  r_respPipe_bits_taken = _RAND_186[0:0];
+  _RAND_187 = {1{`RANDOM}};
+  r_respPipe_bits_entry = _RAND_187[4:0];
+  _RAND_188 = {1{`RANDOM}};
+  history = _RAND_188[7:0];
+  _RAND_189 = {1{`RANDOM}};
+  reset_waddr = _RAND_189[9:0];
+  _RAND_190 = {1{`RANDOM}};
+  count = _RAND_190[2:0];
+  _RAND_191 = {1{`RANDOM}};
+  pos = _RAND_191[2:0];
+  _RAND_192 = {1{`RANDOM}};
+  stack_0 = _RAND_192[31:0];
+  _RAND_193 = {1{`RANDOM}};
+  stack_1 = _RAND_193[31:0];
+  _RAND_194 = {1{`RANDOM}};
+  stack_2 = _RAND_194[31:0];
+  _RAND_195 = {1{`RANDOM}};
+  stack_3 = _RAND_195[31:0];
+  _RAND_196 = {1{`RANDOM}};
+  stack_4 = _RAND_196[31:0];
+  _RAND_197 = {1{`RANDOM}};
+  stack_5 = _RAND_197[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Frontend(
+  input         clock,
+  input         reset,
+  output        auto_icache_slave_in_a_ready,
+  input         auto_icache_slave_in_a_valid,
+  input  [2:0]  auto_icache_slave_in_a_bits_opcode,
+  input  [1:0]  auto_icache_slave_in_a_bits_size,
+  input  [7:0]  auto_icache_slave_in_a_bits_source,
+  input  [27:0] auto_icache_slave_in_a_bits_address,
+  input  [3:0]  auto_icache_slave_in_a_bits_mask,
+  input  [31:0] auto_icache_slave_in_a_bits_data,
+  input         auto_icache_slave_in_d_ready,
+  output        auto_icache_slave_in_d_valid,
+  output [2:0]  auto_icache_slave_in_d_bits_opcode,
+  output [1:0]  auto_icache_slave_in_d_bits_size,
+  output [7:0]  auto_icache_slave_in_d_bits_source,
+  output [31:0] auto_icache_slave_in_d_bits_data,
+  input         auto_icache_master_out_a_ready,
+  output        auto_icache_master_out_a_valid,
+  output [30:0] auto_icache_master_out_a_bits_address,
+  output        auto_icache_master_out_d_ready,
+  input         auto_icache_master_out_d_valid,
+  input  [2:0]  auto_icache_master_out_d_bits_opcode,
+  input  [3:0]  auto_icache_master_out_d_bits_size,
+  input  [31:0] auto_icache_master_out_d_bits_data,
+  input         auto_icache_master_out_d_bits_corrupt,
+  input         io_cpu_might_request,
+  input         io_cpu_req_valid,
+  input  [31:0] io_cpu_req_bits_pc,
+  input         io_cpu_req_bits_speculative,
+  input         io_cpu_resp_ready,
+  output        io_cpu_resp_valid,
+  output        io_cpu_resp_bits_btb_taken,
+  output        io_cpu_resp_bits_btb_bridx,
+  output [4:0]  io_cpu_resp_bits_btb_entry,
+  output [7:0]  io_cpu_resp_bits_btb_bht_history,
+  output [31:0] io_cpu_resp_bits_pc,
+  output [31:0] io_cpu_resp_bits_data,
+  output        io_cpu_resp_bits_xcpt_ae_inst,
+  output        io_cpu_resp_bits_replay,
+  input         io_cpu_btb_update_valid,
+  input  [4:0]  io_cpu_btb_update_bits_prediction_entry,
+  input  [31:0] io_cpu_btb_update_bits_pc,
+  input         io_cpu_btb_update_bits_isValid,
+  input  [31:0] io_cpu_btb_update_bits_br_pc,
+  input  [1:0]  io_cpu_btb_update_bits_cfiType,
+  input         io_cpu_bht_update_valid,
+  input  [7:0]  io_cpu_bht_update_bits_prediction_history,
+  input  [31:0] io_cpu_bht_update_bits_pc,
+  input         io_cpu_bht_update_bits_branch,
+  input         io_cpu_bht_update_bits_taken,
+  input         io_cpu_bht_update_bits_mispredict,
+  input         io_cpu_flush_icache,
+  output [31:0] io_cpu_npc,
+  input         io_ptw_status_debug,
+  input  [1:0]  io_ptw_status_prv,
+  input         io_ptw_pmp_0_cfg_l,
+  input  [1:0]  io_ptw_pmp_0_cfg_a,
+  input         io_ptw_pmp_0_cfg_x,
+  input         io_ptw_pmp_0_cfg_w,
+  input         io_ptw_pmp_0_cfg_r,
+  input  [28:0] io_ptw_pmp_0_addr,
+  input  [30:0] io_ptw_pmp_0_mask,
+  input         io_ptw_pmp_1_cfg_l,
+  input  [1:0]  io_ptw_pmp_1_cfg_a,
+  input         io_ptw_pmp_1_cfg_x,
+  input         io_ptw_pmp_1_cfg_w,
+  input         io_ptw_pmp_1_cfg_r,
+  input  [28:0] io_ptw_pmp_1_addr,
+  input  [30:0] io_ptw_pmp_1_mask,
+  input         io_ptw_pmp_2_cfg_l,
+  input  [1:0]  io_ptw_pmp_2_cfg_a,
+  input         io_ptw_pmp_2_cfg_x,
+  input         io_ptw_pmp_2_cfg_w,
+  input         io_ptw_pmp_2_cfg_r,
+  input  [28:0] io_ptw_pmp_2_addr,
+  input  [30:0] io_ptw_pmp_2_mask,
+  input         io_ptw_pmp_3_cfg_l,
+  input  [1:0]  io_ptw_pmp_3_cfg_a,
+  input         io_ptw_pmp_3_cfg_x,
+  input         io_ptw_pmp_3_cfg_w,
+  input         io_ptw_pmp_3_cfg_r,
+  input  [28:0] io_ptw_pmp_3_addr,
+  input  [30:0] io_ptw_pmp_3_mask,
+  input         io_ptw_pmp_4_cfg_l,
+  input  [1:0]  io_ptw_pmp_4_cfg_a,
+  input         io_ptw_pmp_4_cfg_x,
+  input         io_ptw_pmp_4_cfg_w,
+  input         io_ptw_pmp_4_cfg_r,
+  input  [28:0] io_ptw_pmp_4_addr,
+  input  [30:0] io_ptw_pmp_4_mask,
+  input         io_ptw_pmp_5_cfg_l,
+  input  [1:0]  io_ptw_pmp_5_cfg_a,
+  input         io_ptw_pmp_5_cfg_x,
+  input         io_ptw_pmp_5_cfg_w,
+  input         io_ptw_pmp_5_cfg_r,
+  input  [28:0] io_ptw_pmp_5_addr,
+  input  [30:0] io_ptw_pmp_5_mask,
+  input         io_ptw_pmp_6_cfg_l,
+  input  [1:0]  io_ptw_pmp_6_cfg_a,
+  input         io_ptw_pmp_6_cfg_x,
+  input         io_ptw_pmp_6_cfg_w,
+  input         io_ptw_pmp_6_cfg_r,
+  input  [28:0] io_ptw_pmp_6_addr,
+  input  [30:0] io_ptw_pmp_6_mask,
+  input         io_ptw_pmp_7_cfg_l,
+  input  [1:0]  io_ptw_pmp_7_cfg_a,
+  input         io_ptw_pmp_7_cfg_x,
+  input         io_ptw_pmp_7_cfg_w,
+  input         io_ptw_pmp_7_cfg_r,
+  input  [28:0] io_ptw_pmp_7_addr,
+  input  [30:0] io_ptw_pmp_7_mask,
+  input  [31:0] io_ptw_customCSRs_csrs_0_value, // <no_sram>
+  output [6:0]  tag_array_0_ext_RW0_addr, // <no_sram>
+  output        tag_array_0_ext_RW0_en, // <no_sram>
+  output        tag_array_0_ext_RW0_clk, // <no_sram>
+  output        tag_array_0_ext_RW0_wmode, // <no_sram>
+  output [37:0] tag_array_0_ext_RW0_wdata, // <no_sram>
+  input  [37:0] tag_array_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  tag_array_0_ext_RW0_wmask, // <no_sram>
+  output [10:0] data_arrays_0_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_wmode, // <no_sram>
+  output [63:0] data_arrays_0_0_ext_RW0_wdata, // <no_sram>
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  data_arrays_0_0_ext_RW0_wmask // <no_sram>
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+`endif // RANDOMIZE_REG_INIT
+  wire  icache_clock; // @[Frontend.scala 66:26]
+  wire  icache_reset; // @[Frontend.scala 66:26]
+  wire  icache_auto_slave_in_a_ready; // @[Frontend.scala 66:26]
+  wire  icache_auto_slave_in_a_valid; // @[Frontend.scala 66:26]
+  wire [2:0] icache_auto_slave_in_a_bits_opcode; // @[Frontend.scala 66:26]
+  wire [1:0] icache_auto_slave_in_a_bits_size; // @[Frontend.scala 66:26]
+  wire [7:0] icache_auto_slave_in_a_bits_source; // @[Frontend.scala 66:26]
+  wire [27:0] icache_auto_slave_in_a_bits_address; // @[Frontend.scala 66:26]
+  wire [3:0] icache_auto_slave_in_a_bits_mask; // @[Frontend.scala 66:26]
+  wire [31:0] icache_auto_slave_in_a_bits_data; // @[Frontend.scala 66:26]
+  wire  icache_auto_slave_in_d_ready; // @[Frontend.scala 66:26]
+  wire  icache_auto_slave_in_d_valid; // @[Frontend.scala 66:26]
+  wire [2:0] icache_auto_slave_in_d_bits_opcode; // @[Frontend.scala 66:26]
+  wire [1:0] icache_auto_slave_in_d_bits_size; // @[Frontend.scala 66:26]
+  wire [7:0] icache_auto_slave_in_d_bits_source; // @[Frontend.scala 66:26]
+  wire [31:0] icache_auto_slave_in_d_bits_data; // @[Frontend.scala 66:26]
+  wire  icache_auto_master_out_a_ready; // @[Frontend.scala 66:26]
+  wire  icache_auto_master_out_a_valid; // @[Frontend.scala 66:26]
+  wire [30:0] icache_auto_master_out_a_bits_address; // @[Frontend.scala 66:26]
+  wire  icache_auto_master_out_d_ready; // @[Frontend.scala 66:26]
+  wire  icache_auto_master_out_d_valid; // @[Frontend.scala 66:26]
+  wire [2:0] icache_auto_master_out_d_bits_opcode; // @[Frontend.scala 66:26]
+  wire [3:0] icache_auto_master_out_d_bits_size; // @[Frontend.scala 66:26]
+  wire [31:0] icache_auto_master_out_d_bits_data; // @[Frontend.scala 66:26]
+  wire  icache_auto_master_out_d_bits_corrupt; // @[Frontend.scala 66:26]
+  wire  icache_io_req_ready; // @[Frontend.scala 66:26]
+  wire  icache_io_req_valid; // @[Frontend.scala 66:26]
+  wire [31:0] icache_io_req_bits_addr; // @[Frontend.scala 66:26]
+  wire [30:0] icache_io_s1_paddr; // @[Frontend.scala 66:26]
+  wire [31:0] icache_io_s2_vaddr; // @[Frontend.scala 66:26]
+  wire  icache_io_s1_kill; // @[Frontend.scala 66:26]
+  wire  icache_io_s2_kill; // @[Frontend.scala 66:26]
+  wire  icache_io_resp_valid; // @[Frontend.scala 66:26]
+  wire [31:0] icache_io_resp_bits_data; // @[Frontend.scala 66:26]
+  wire  icache_io_resp_bits_ae; // @[Frontend.scala 66:26]
+  wire  icache_io_invalidate; // @[Frontend.scala 66:26]
+  wire  fq_clock; // @[Frontend.scala 88:57]
+  wire  fq_reset; // @[Frontend.scala 88:57]
+  wire  fq_io_enq_ready; // @[Frontend.scala 88:57]
+  wire  fq_io_enq_valid; // @[Frontend.scala 88:57]
+  wire  fq_io_enq_bits_btb_taken; // @[Frontend.scala 88:57]
+  wire  fq_io_enq_bits_btb_bridx; // @[Frontend.scala 88:57]
+  wire [4:0] fq_io_enq_bits_btb_entry; // @[Frontend.scala 88:57]
+  wire [7:0] fq_io_enq_bits_btb_bht_history; // @[Frontend.scala 88:57]
+  wire [31:0] fq_io_enq_bits_pc; // @[Frontend.scala 88:57]
+  wire [31:0] fq_io_enq_bits_data; // @[Frontend.scala 88:57]
+  wire [1:0] fq_io_enq_bits_mask; // @[Frontend.scala 88:57]
+  wire  fq_io_enq_bits_xcpt_ae_inst; // @[Frontend.scala 88:57]
+  wire  fq_io_enq_bits_replay; // @[Frontend.scala 88:57]
+  wire  fq_io_deq_ready; // @[Frontend.scala 88:57]
+  wire  fq_io_deq_valid; // @[Frontend.scala 88:57]
+  wire  fq_io_deq_bits_btb_taken; // @[Frontend.scala 88:57]
+  wire  fq_io_deq_bits_btb_bridx; // @[Frontend.scala 88:57]
+  wire [4:0] fq_io_deq_bits_btb_entry; // @[Frontend.scala 88:57]
+  wire [7:0] fq_io_deq_bits_btb_bht_history; // @[Frontend.scala 88:57]
+  wire [31:0] fq_io_deq_bits_pc; // @[Frontend.scala 88:57]
+  wire [31:0] fq_io_deq_bits_data; // @[Frontend.scala 88:57]
+  wire  fq_io_deq_bits_xcpt_ae_inst; // @[Frontend.scala 88:57]
+  wire  fq_io_deq_bits_replay; // @[Frontend.scala 88:57]
+  wire [4:0] fq_io_mask; // @[Frontend.scala 88:57]
+  wire [31:0] tlb_io_req_bits_vaddr; // @[Frontend.scala 102:19]
+  wire [1:0] tlb_io_req_bits_prv; // @[Frontend.scala 102:19]
+  wire [30:0] tlb_io_resp_paddr; // @[Frontend.scala 102:19]
+  wire  tlb_io_resp_ae_inst; // @[Frontend.scala 102:19]
+  wire  tlb_io_resp_cacheable; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_status_debug; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_0_cfg_l; // @[Frontend.scala 102:19]
+  wire [1:0] tlb_io_ptw_pmp_0_cfg_a; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_0_cfg_x; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_0_cfg_w; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_0_cfg_r; // @[Frontend.scala 102:19]
+  wire [28:0] tlb_io_ptw_pmp_0_addr; // @[Frontend.scala 102:19]
+  wire [30:0] tlb_io_ptw_pmp_0_mask; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_1_cfg_l; // @[Frontend.scala 102:19]
+  wire [1:0] tlb_io_ptw_pmp_1_cfg_a; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_1_cfg_x; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_1_cfg_w; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_1_cfg_r; // @[Frontend.scala 102:19]
+  wire [28:0] tlb_io_ptw_pmp_1_addr; // @[Frontend.scala 102:19]
+  wire [30:0] tlb_io_ptw_pmp_1_mask; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_2_cfg_l; // @[Frontend.scala 102:19]
+  wire [1:0] tlb_io_ptw_pmp_2_cfg_a; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_2_cfg_x; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_2_cfg_w; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_2_cfg_r; // @[Frontend.scala 102:19]
+  wire [28:0] tlb_io_ptw_pmp_2_addr; // @[Frontend.scala 102:19]
+  wire [30:0] tlb_io_ptw_pmp_2_mask; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_3_cfg_l; // @[Frontend.scala 102:19]
+  wire [1:0] tlb_io_ptw_pmp_3_cfg_a; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_3_cfg_x; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_3_cfg_w; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_3_cfg_r; // @[Frontend.scala 102:19]
+  wire [28:0] tlb_io_ptw_pmp_3_addr; // @[Frontend.scala 102:19]
+  wire [30:0] tlb_io_ptw_pmp_3_mask; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_4_cfg_l; // @[Frontend.scala 102:19]
+  wire [1:0] tlb_io_ptw_pmp_4_cfg_a; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_4_cfg_x; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_4_cfg_w; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_4_cfg_r; // @[Frontend.scala 102:19]
+  wire [28:0] tlb_io_ptw_pmp_4_addr; // @[Frontend.scala 102:19]
+  wire [30:0] tlb_io_ptw_pmp_4_mask; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_5_cfg_l; // @[Frontend.scala 102:19]
+  wire [1:0] tlb_io_ptw_pmp_5_cfg_a; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_5_cfg_x; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_5_cfg_w; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_5_cfg_r; // @[Frontend.scala 102:19]
+  wire [28:0] tlb_io_ptw_pmp_5_addr; // @[Frontend.scala 102:19]
+  wire [30:0] tlb_io_ptw_pmp_5_mask; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_6_cfg_l; // @[Frontend.scala 102:19]
+  wire [1:0] tlb_io_ptw_pmp_6_cfg_a; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_6_cfg_x; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_6_cfg_w; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_6_cfg_r; // @[Frontend.scala 102:19]
+  wire [28:0] tlb_io_ptw_pmp_6_addr; // @[Frontend.scala 102:19]
+  wire [30:0] tlb_io_ptw_pmp_6_mask; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_7_cfg_l; // @[Frontend.scala 102:19]
+  wire [1:0] tlb_io_ptw_pmp_7_cfg_a; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_7_cfg_x; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_7_cfg_w; // @[Frontend.scala 102:19]
+  wire  tlb_io_ptw_pmp_7_cfg_r; // @[Frontend.scala 102:19]
+  wire [28:0] tlb_io_ptw_pmp_7_addr; // @[Frontend.scala 102:19]
+  wire [30:0] tlb_io_ptw_pmp_7_mask; // @[Frontend.scala 102:19]
+  wire  btb_clock; // @[Frontend.scala 185:21]
+  wire  btb_reset; // @[Frontend.scala 185:21]
+  wire [31:0] btb_io_req_bits_addr; // @[Frontend.scala 185:21]
+  wire  btb_io_resp_valid; // @[Frontend.scala 185:21]
+  wire  btb_io_resp_bits_taken; // @[Frontend.scala 185:21]
+  wire  btb_io_resp_bits_bridx; // @[Frontend.scala 185:21]
+  wire [31:0] btb_io_resp_bits_target; // @[Frontend.scala 185:21]
+  wire [4:0] btb_io_resp_bits_entry; // @[Frontend.scala 185:21]
+  wire [7:0] btb_io_resp_bits_bht_history; // @[Frontend.scala 185:21]
+  wire  btb_io_resp_bits_bht_value; // @[Frontend.scala 185:21]
+  wire  btb_io_btb_update_valid; // @[Frontend.scala 185:21]
+  wire [4:0] btb_io_btb_update_bits_prediction_entry; // @[Frontend.scala 185:21]
+  wire [31:0] btb_io_btb_update_bits_pc; // @[Frontend.scala 185:21]
+  wire  btb_io_btb_update_bits_isValid; // @[Frontend.scala 185:21]
+  wire [31:0] btb_io_btb_update_bits_br_pc; // @[Frontend.scala 185:21]
+  wire [1:0] btb_io_btb_update_bits_cfiType; // @[Frontend.scala 185:21]
+  wire  btb_io_bht_update_valid; // @[Frontend.scala 185:21]
+  wire [7:0] btb_io_bht_update_bits_prediction_history; // @[Frontend.scala 185:21]
+  wire [31:0] btb_io_bht_update_bits_pc; // @[Frontend.scala 185:21]
+  wire  btb_io_bht_update_bits_branch; // @[Frontend.scala 185:21]
+  wire  btb_io_bht_update_bits_taken; // @[Frontend.scala 185:21]
+  wire  btb_io_bht_update_bits_mispredict; // @[Frontend.scala 185:21]
+  wire  btb_io_bht_advance_valid; // @[Frontend.scala 185:21]
+  wire  btb_io_bht_advance_bits_bht_value; // @[Frontend.scala 185:21]
+  wire  btb_io_ras_update_valid; // @[Frontend.scala 185:21]
+  wire [1:0] btb_io_ras_update_bits_cfiType; // @[Frontend.scala 185:21]
+  wire [31:0] btb_io_ras_update_bits_returnAddr; // @[Frontend.scala 185:21]
+  wire  btb_io_ras_head_valid; // @[Frontend.scala 185:21]
+  wire [31:0] btb_io_ras_head_bits; // @[Frontend.scala 185:21]
+  wire  btb_io_flush; // @[Frontend.scala 185:21]
+  wire  _T_9 = ~reset; // @[Frontend.scala 93:9]
+  reg  s1_valid; // @[Frontend.scala 104:21]
+  reg  s2_valid; // @[Frontend.scala 105:25]
+  wire  _s0_fq_has_space_T_4 = ~s1_valid; // @[Frontend.scala 108:45]
+  wire  _s0_fq_has_space_T_5 = ~s2_valid; // @[Frontend.scala 108:58]
+  wire  _s0_fq_has_space_T_7 = ~fq_io_mask[3] & (~s1_valid | ~s2_valid); // @[Frontend.scala 108:41]
+  wire  _s0_fq_has_space_T_8 = ~fq_io_mask[2] | _s0_fq_has_space_T_7; // @[Frontend.scala 107:40]
+  wire  _s0_fq_has_space_T_14 = ~fq_io_mask[4] & (_s0_fq_has_space_T_4 & _s0_fq_has_space_T_5); // @[Frontend.scala 109:41]
+  wire  s0_fq_has_space = _s0_fq_has_space_T_8 | _s0_fq_has_space_T_14; // @[Frontend.scala 108:70]
+  wire  s0_valid = io_cpu_req_valid | s0_fq_has_space; // @[Frontend.scala 110:35]
+  reg [31:0] s1_pc; // @[Frontend.scala 112:18]
+  reg  s1_speculative; // @[Frontend.scala 113:27]
+  reg [31:0] s2_pc; // @[Frontend.scala 114:22]
+  reg  s2_btb_resp_valid; // @[Frontend.scala 115:44]
+  reg  s2_btb_resp_bits_taken; // @[Frontend.scala 116:29]
+  reg  s2_btb_resp_bits_bridx; // @[Frontend.scala 116:29]
+  reg [4:0] s2_btb_resp_bits_entry; // @[Frontend.scala 116:29]
+  reg [7:0] s2_btb_resp_bits_bht_history; // @[Frontend.scala 116:29]
+  reg  s2_btb_resp_bits_bht_value; // @[Frontend.scala 116:29]
+  wire  s2_btb_taken = s2_btb_resp_valid & s2_btb_resp_bits_taken; // @[Frontend.scala 117:40]
+  reg  s2_tlb_resp_ae_inst; // @[Frontend.scala 118:24]
+  reg  s2_tlb_resp_cacheable; // @[Frontend.scala 118:24]
+  reg  s2_speculative; // @[Frontend.scala 120:27]
+  reg  s2_partial_insn_valid; // @[Frontend.scala 121:38]
+  reg [15:0] s2_partial_insn; // @[Frontend.scala 122:28]
+  reg  wrong_path; // @[Frontend.scala 123:27]
+  wire [31:0] _s1_base_pc_T = ~s1_pc; // @[Frontend.scala 125:22]
+  wire [31:0] _s1_base_pc_T_1 = _s1_base_pc_T | 32'h3; // @[Frontend.scala 125:29]
+  wire [31:0] s1_base_pc = ~_s1_base_pc_T_1; // @[Frontend.scala 125:20]
+  wire [31:0] ntpc = s1_base_pc + 32'h4; // @[Frontend.scala 126:25]
+  wire  _s2_replay_T = fq_io_enq_ready & fq_io_enq_valid; // @[Decoupled.scala 50:35]
+  reg  s2_replay_REG; // @[Frontend.scala 131:58]
+  wire  s2_replay = s2_valid & ~_s2_replay_T | s2_replay_REG; // @[Frontend.scala 131:48]
+  wire  _taken_prevRVI_T_1 = s2_partial_insn[1:0] != 2'h3; // @[Frontend.scala 214:45]
+  wire  taken_prevRVI = s2_partial_insn_valid & ~_taken_prevRVI_T_1; // @[Frontend.scala 215:31]
+  wire [15:0] taken_bits = fq_io_enq_bits_data[15:0]; // @[Frontend.scala 217:37]
+  wire [31:0] taken_rviBits = {taken_bits,s2_partial_insn}; // @[Cat.scala 31:58]
+  wire  taken_rviJump = taken_rviBits[6:0] == 7'h6f; // @[Frontend.scala 221:34]
+  wire  taken_rviJALR = taken_rviBits[6:0] == 7'h67; // @[Frontend.scala 222:34]
+  wire  taken_rviBranch = taken_rviBits[6:0] == 7'h63; // @[Frontend.scala 220:36]
+  wire  taken_valid = fq_io_enq_bits_mask[0] & ~taken_prevRVI; // @[Frontend.scala 216:44]
+  wire [15:0] _taken_rvcJump_T = taken_bits & 16'he003; // @[Frontend.scala 227:26]
+  wire  taken_rvcJAL = 16'h2001 == _taken_rvcJump_T; // @[Frontend.scala 226:45]
+  wire  taken_rvcJump = 16'ha001 == _taken_rvcJump_T | taken_rvcJAL; // @[Frontend.scala 227:47]
+  wire [15:0] _taken_rvcJALR_T = taken_bits & 16'hf003; // @[Frontend.scala 231:26]
+  wire  _taken_rvcJALR_T_3 = taken_bits[6:2] == 5'h0; // @[Frontend.scala 231:62]
+  wire  taken_rvcJALR = 16'h9002 == _taken_rvcJALR_T & taken_bits[6:2] == 5'h0; // @[Frontend.scala 231:49]
+  wire  taken_rvcJR = 16'h8002 == _taken_rvcJALR_T & _taken_rvcJALR_T_3; // @[Frontend.scala 229:46]
+  wire  taken_rvcBranch = 16'hc001 == _taken_rvcJump_T | 16'he001 == _taken_rvcJump_T; // @[Frontend.scala 225:52]
+  wire  _taken_taken_T_8 = taken_valid & (taken_rvcJump | taken_rvcJALR | taken_rvcJR | taken_rvcBranch &
+    s2_btb_resp_bits_bht_value); // @[Frontend.scala 237:15]
+  wire  taken_taken = taken_prevRVI & (taken_rviJump | taken_rviJALR | taken_rviBranch & s2_btb_resp_bits_bht_value) |
+    _taken_taken_T_8; // @[Frontend.scala 236:71]
+  wire  taken_idx = ~taken_taken; // @[Frontend.scala 251:13]
+  wire  _taken_T_36 = ~s2_btb_taken; // @[Frontend.scala 260:15]
+  wire  _taken_prevRVI_T_4 = taken_bits[1:0] != 2'h3; // @[Frontend.scala 214:45]
+  wire  _taken_prevRVI_T_5 = ~_taken_prevRVI_T_4; // @[Frontend.scala 215:34]
+  wire  taken_prevRVI_1 = taken_valid & ~_taken_prevRVI_T_4; // @[Frontend.scala 215:31]
+  wire [15:0] taken_bits_1 = fq_io_enq_bits_data[31:16]; // @[Frontend.scala 217:37]
+  wire [31:0] taken_rviBits_1 = {taken_bits_1,taken_bits}; // @[Cat.scala 31:58]
+  wire  taken_rviJALR_1 = taken_rviBits_1[6:0] == 7'h67; // @[Frontend.scala 222:34]
+  wire [4:0] _taken_rviReturn_T_10 = taken_rviBits_1[19:15] & 5'h1b; // @[Frontend.scala 223:66]
+  wire  taken_rviReturn_1 = taken_rviJALR_1 & ~taken_rviBits_1[7] & 5'h1 == _taken_rviReturn_T_10; // @[Frontend.scala 223:46]
+  wire  taken_valid_1 = fq_io_enq_bits_mask[1] & ~taken_prevRVI_1; // @[Frontend.scala 216:44]
+  wire [15:0] _taken_rvcJR_T_4 = taken_bits_1 & 16'hf003; // @[Frontend.scala 229:24]
+  wire  _taken_rvcJR_T_7 = taken_bits_1[6:2] == 5'h0; // @[Frontend.scala 229:59]
+  wire  taken_rvcJR_1 = 16'h8002 == _taken_rvcJR_T_4 & taken_bits_1[6:2] == 5'h0; // @[Frontend.scala 229:46]
+  wire [4:0] _taken_rvcReturn_T_4 = taken_bits_1[11:7] & 5'h1b; // @[Frontend.scala 230:49]
+  wire  taken_rvcReturn_1 = taken_rvcJR_1 & 5'h1 == _taken_rvcReturn_T_4; // @[Frontend.scala 230:29]
+  wire  taken_predictReturn_1 = btb_io_ras_head_valid & (taken_prevRVI_1 & taken_rviReturn_1 | taken_valid_1 &
+    taken_rvcReturn_1); // @[Frontend.scala 238:49]
+  wire [4:0] _taken_rviReturn_T_4 = taken_rviBits[19:15] & 5'h1b; // @[Frontend.scala 223:66]
+  wire  taken_rviReturn = taken_rviJALR & ~taken_rviBits[7] & 5'h1 == _taken_rviReturn_T_4; // @[Frontend.scala 223:46]
+  wire [4:0] _taken_rvcReturn_T_1 = taken_bits[11:7] & 5'h1b; // @[Frontend.scala 230:49]
+  wire  taken_rvcReturn = taken_rvcJR & 5'h1 == _taken_rvcReturn_T_1; // @[Frontend.scala 230:29]
+  wire  taken_predictReturn = btb_io_ras_head_valid & (taken_prevRVI & taken_rviReturn | taken_valid & taken_rvcReturn); // @[Frontend.scala 238:49]
+  wire  _taken_T_16 = s2_valid & taken_predictReturn; // @[Frontend.scala 264:26]
+  wire  _GEN_54 = ~s2_btb_taken & _taken_T_16; // @[Frontend.scala 260:30]
+  wire  _GEN_87 = s2_valid & taken_predictReturn_1 | _GEN_54; // @[Frontend.scala 264:44 265:20]
+  wire  _GEN_90 = ~s2_btb_taken ? _GEN_87 : ~s2_btb_taken & _taken_T_16; // @[Frontend.scala 260:30]
+  wire  useRAS = taken_idx ? _GEN_90 : _GEN_54; // @[Frontend.scala 251:25]
+  wire  taken_rviBranch_1 = taken_rviBits_1[6:0] == 7'h63; // @[Frontend.scala 220:36]
+  wire [15:0] _taken_rvcBranch_T_4 = taken_bits_1 & 16'he003; // @[Frontend.scala 225:28]
+  wire  taken_rvcBranch_1 = 16'hc001 == _taken_rvcBranch_T_4 | 16'he001 == _taken_rvcBranch_T_4; // @[Frontend.scala 225:52]
+  wire  _taken_predictBranch_T_5 = taken_prevRVI_1 & taken_rviBranch_1 | taken_valid_1 & taken_rvcBranch_1; // @[Frontend.scala 240:66]
+  wire  taken_predictBranch_1 = s2_btb_resp_bits_bht_value & (taken_prevRVI_1 & taken_rviBranch_1 | taken_valid_1 &
+    taken_rvcBranch_1); // @[Frontend.scala 240:41]
+  wire  taken_rviJump_1 = taken_rviBits_1[6:0] == 7'h6f; // @[Frontend.scala 221:34]
+  wire  taken_rvcJAL_1 = 16'h2001 == _taken_rvcBranch_T_4; // @[Frontend.scala 226:45]
+  wire  taken_rvcJump_1 = 16'ha001 == _taken_rvcBranch_T_4 | taken_rvcJAL_1; // @[Frontend.scala 227:47]
+  wire  taken_predictJump_1 = taken_prevRVI_1 & taken_rviJump_1 | taken_valid_1 & taken_rvcJump_1; // @[Frontend.scala 239:44]
+  wire [31:0] _s2_base_pc_T = ~s2_pc; // @[Frontend.scala 207:24]
+  wire [31:0] _s2_base_pc_T_1 = _s2_base_pc_T | 32'h3; // @[Frontend.scala 207:31]
+  wire [31:0] s2_base_pc = ~_s2_base_pc_T_1; // @[Frontend.scala 207:22]
+  wire [31:0] taken_pc_1 = s2_base_pc | 32'h2; // @[Frontend.scala 268:33]
+  wire [31:0] _taken_npc_T_6 = taken_pc_1 - 32'h2; // @[Frontend.scala 271:36]
+  wire [31:0] _taken_npc_T_8 = taken_prevRVI_1 ? _taken_npc_T_6 : taken_pc_1; // @[Frontend.scala 271:57]
+  wire  taken_rviImm_sign_2 = taken_rviBits_1[31]; // @[RocketCore.scala 1083:53]
+  wire  taken_rviImm_hi_hi_hi_2 = taken_rviBits_1[31]; // @[Cat.scala 31:58]
+  wire [10:0] taken_rviImm_hi_hi_lo_2 = {11{taken_rviImm_sign_2}}; // @[Cat.scala 31:58]
+  wire [7:0] taken_rviImm_hi_lo_hi_2 = taken_rviBits_1[19:12]; // @[Cat.scala 31:58]
+  wire  taken_rviImm_hi_lo_lo_2 = taken_rviBits_1[20]; // @[Cat.scala 31:58]
+  wire [5:0] taken_rviImm_b10_5_2 = taken_rviBits_1[30:25]; // @[RocketCore.scala 1089:66]
+  wire [3:0] taken_rviImm_b4_1_2 = taken_rviBits_1[24:21]; // @[RocketCore.scala 1092:52]
+  wire [31:0] _taken_rviImm_T_7 = {taken_rviImm_hi_hi_hi_2,taken_rviImm_hi_hi_lo_2,taken_rviImm_hi_lo_hi_2,
+    taken_rviImm_hi_lo_lo_2,taken_rviImm_b10_5_2,taken_rviImm_b4_1_2,1'h0}; // @[RocketCore.scala 1097:53]
+  wire [7:0] taken_rviImm_hi_lo_hi_3 = {8{taken_rviImm_sign_2}}; // @[Cat.scala 31:58]
+  wire  taken_rviImm_hi_lo_lo_3 = taken_rviBits_1[7]; // @[Cat.scala 31:58]
+  wire [31:0] _taken_rviImm_T_9 = {taken_rviImm_hi_hi_hi_2,taken_rviImm_hi_hi_lo_2,taken_rviImm_hi_lo_hi_3,
+    taken_rviImm_hi_lo_lo_3,taken_rviImm_b10_5_2,taken_rviBits_1[11:8],1'h0}; // @[RocketCore.scala 1097:53]
+  wire [31:0] taken_rviImm_1 = taken_rviBits_1[3] ? $signed(_taken_rviImm_T_7) : $signed(_taken_rviImm_T_9); // @[Frontend.scala 233:23]
+  wire [4:0] _taken_rvcImm_T_25 = taken_bits_1[12] ? 5'h1f : 5'h0; // @[Bitwise.scala 74:12]
+  wire [12:0] _taken_rvcImm_T_31 = {_taken_rvcImm_T_25,taken_bits_1[6:5],taken_bits_1[2],taken_bits_1[11:10],
+    taken_bits_1[4:3],1'h0}; // @[Frontend.scala 228:66]
+  wire [9:0] _taken_rvcImm_T_34 = taken_bits_1[12] ? 10'h3ff : 10'h0; // @[Bitwise.scala 74:12]
+  wire [20:0] _taken_rvcImm_T_43 = {_taken_rvcImm_T_34,taken_bits_1[8],taken_bits_1[10:9],taken_bits_1[6],taken_bits_1[7
+    ],taken_bits_1[2],taken_bits_1[11],taken_bits_1[5:3],1'h0}; // @[Frontend.scala 228:106]
+  wire [20:0] taken_rvcImm_1 = taken_bits_1[14] ? $signed({{8{_taken_rvcImm_T_31[12]}},_taken_rvcImm_T_31}) : $signed(
+    _taken_rvcImm_T_43); // @[Frontend.scala 228:23]
+  wire [31:0] _taken_npc_T_9 = taken_prevRVI_1 ? $signed(taken_rviImm_1) : $signed({{11{taken_rvcImm_1[20]}},
+    taken_rvcImm_1}); // @[Frontend.scala 271:69]
+  wire [31:0] _taken_predicted_npc_T_1 = $signed(_taken_npc_T_8) + $signed(_taken_npc_T_9); // @[Frontend.scala 272:34]
+  wire  _taken_predictBranch_T_2 = taken_prevRVI & taken_rviBranch | taken_valid & taken_rvcBranch; // @[Frontend.scala 240:66]
+  wire  taken_predictBranch = s2_btb_resp_bits_bht_value & (taken_prevRVI & taken_rviBranch | taken_valid &
+    taken_rvcBranch); // @[Frontend.scala 240:41]
+  wire  taken_predictJump = taken_prevRVI & taken_rviJump | taken_valid & taken_rvcJump; // @[Frontend.scala 239:44]
+  wire [31:0] _taken_npc_T = ~_s2_base_pc_T_1; // @[Frontend.scala 270:32]
+  wire  taken_rviImm_sign = taken_rviBits[31]; // @[RocketCore.scala 1083:53]
+  wire  taken_rviImm_hi_hi_hi = taken_rviBits[31]; // @[Cat.scala 31:58]
+  wire [10:0] taken_rviImm_hi_hi_lo = {11{taken_rviImm_sign}}; // @[Cat.scala 31:58]
+  wire [7:0] taken_rviImm_hi_lo_hi = taken_rviBits[19:12]; // @[Cat.scala 31:58]
+  wire  taken_rviImm_hi_lo_lo = taken_rviBits[20]; // @[Cat.scala 31:58]
+  wire [5:0] taken_rviImm_b10_5 = taken_rviBits[30:25]; // @[RocketCore.scala 1089:66]
+  wire [3:0] taken_rviImm_b4_1 = taken_rviBits[24:21]; // @[RocketCore.scala 1092:52]
+  wire [31:0] _taken_rviImm_T_2 = {taken_rviImm_hi_hi_hi,taken_rviImm_hi_hi_lo,taken_rviImm_hi_lo_hi,
+    taken_rviImm_hi_lo_lo,taken_rviImm_b10_5,taken_rviImm_b4_1,1'h0}; // @[RocketCore.scala 1097:53]
+  wire [7:0] taken_rviImm_hi_lo_hi_1 = {8{taken_rviImm_sign}}; // @[Cat.scala 31:58]
+  wire  taken_rviImm_hi_lo_lo_1 = taken_rviBits[7]; // @[Cat.scala 31:58]
+  wire [31:0] _taken_rviImm_T_4 = {taken_rviImm_hi_hi_hi,taken_rviImm_hi_hi_lo,taken_rviImm_hi_lo_hi_1,
+    taken_rviImm_hi_lo_lo_1,taken_rviImm_b10_5,taken_rviBits[11:8],1'h0}; // @[RocketCore.scala 1097:53]
+  wire [31:0] taken_rviImm = taken_rviBits[3] ? $signed(_taken_rviImm_T_2) : $signed(_taken_rviImm_T_4); // @[Frontend.scala 233:23]
+  wire [32:0] _taken_npc_T_1 = $signed(taken_rviImm) - 32'sh2; // @[Frontend.scala 270:61]
+  wire [4:0] _taken_rvcImm_T_3 = taken_bits[12] ? 5'h1f : 5'h0; // @[Bitwise.scala 74:12]
+  wire [12:0] _taken_rvcImm_T_9 = {_taken_rvcImm_T_3,taken_bits[6:5],taken_bits[2],taken_bits[11:10],taken_bits[4:3],1'h0
+    }; // @[Frontend.scala 228:66]
+  wire [9:0] _taken_rvcImm_T_12 = taken_bits[12] ? 10'h3ff : 10'h0; // @[Bitwise.scala 74:12]
+  wire [20:0] _taken_rvcImm_T_21 = {_taken_rvcImm_T_12,taken_bits[8],taken_bits[10:9],taken_bits[6],taken_bits[7],
+    taken_bits[2],taken_bits[11],taken_bits[5:3],1'h0}; // @[Frontend.scala 228:106]
+  wire [20:0] taken_rvcImm = taken_bits[14] ? $signed({{8{_taken_rvcImm_T_9[12]}},_taken_rvcImm_T_9}) : $signed(
+    _taken_rvcImm_T_21); // @[Frontend.scala 228:23]
+  wire [32:0] _taken_npc_T_2 = taken_prevRVI ? $signed(_taken_npc_T_1) : $signed({{12{taken_rvcImm[20]}},taken_rvcImm}); // @[Frontend.scala 270:44]
+  wire [32:0] _GEN_140 = {{1{_taken_npc_T[31]}},_taken_npc_T}; // @[Frontend.scala 270:39]
+  wire [32:0] _taken_predicted_npc_T = $signed(_GEN_140) + $signed(_taken_npc_T_2); // @[Frontend.scala 272:34]
+  wire  predicted_taken = btb_io_resp_valid & btb_io_resp_bits_taken; // @[Frontend.scala 198:29]
+  wire [31:0] _GEN_37 = predicted_taken ? btb_io_resp_bits_target : ntpc; // @[Frontend.scala 198:56 199:21]
+  wire [32:0] _GEN_52 = s2_valid & (taken_predictBranch | taken_predictJump) ? _taken_predicted_npc_T : {{1'd0}, _GEN_37
+    }; // @[Frontend.scala 267:61 272:27]
+  wire [32:0] _GEN_55 = ~s2_btb_taken ? _GEN_52 : {{1'd0}, _GEN_37}; // @[Frontend.scala 260:30]
+  wire [32:0] _GEN_88 = s2_valid & (taken_predictBranch_1 | taken_predictJump_1) ? {{1'd0}, _taken_predicted_npc_T_1} :
+    _GEN_55; // @[Frontend.scala 267:61 272:27]
+  wire [32:0] _GEN_91 = ~s2_btb_taken ? _GEN_88 : _GEN_55; // @[Frontend.scala 260:30]
+  wire [32:0] _GEN_108 = taken_idx ? _GEN_91 : _GEN_55; // @[Frontend.scala 251:25]
+  wire [32:0] predicted_npc = useRAS ? {{1'd0}, btb_io_ras_head_bits} : _GEN_108; // @[Frontend.scala 311:19 312:21]
+  wire [32:0] npc = s2_replay ? {{1'd0}, s2_pc} : predicted_npc; // @[Frontend.scala 132:16]
+  wire  s0_speculative = s1_speculative | s2_valid & ~s2_speculative | predicted_taken; // @[Frontend.scala 138:72]
+  wire  _T_11 = ~s2_replay; // @[Frontend.scala 144:9]
+  wire  taken_rvcJALR_1 = 16'h9002 == _taken_rvcJR_T_4 & _taken_rvcJR_T_7; // @[Frontend.scala 231:49]
+  wire  _taken_taken_T_17 = taken_valid_1 & (taken_rvcJump_1 | taken_rvcJALR_1 | taken_rvcJR_1 | taken_rvcBranch_1 &
+    s2_btb_resp_bits_bht_value); // @[Frontend.scala 237:15]
+  wire  taken_taken_1 = taken_prevRVI_1 & (taken_rviJump_1 | taken_rviJALR_1 | taken_rviBranch_1 &
+    s2_btb_resp_bits_bht_value) | _taken_taken_T_17; // @[Frontend.scala 236:71]
+  wire  taken = taken_taken | taken_taken_1; // @[Frontend.scala 292:19]
+  wire  _GEN_125 = _s2_replay_T | io_cpu_req_valid; // @[Frontend.scala 322:{33,47}]
+  wire  _GEN_129 = taken ? _GEN_125 : io_cpu_req_valid; // @[Frontend.scala 318:20]
+  wire  s2_redirect = _taken_T_36 ? _GEN_129 : io_cpu_req_valid; // @[Frontend.scala 317:26]
+  wire  _GEN_0 = ~s2_replay & ~s2_redirect; // @[Frontend.scala 143:12 144:21 145:14]
+  wire  s2_can_speculatively_refill = s2_tlb_resp_cacheable & ~io_ptw_customCSRs_csrs_0_value[3]; // @[Frontend.scala 167:59]
+  reg  fq_io_enq_valid_REG; // @[Frontend.scala 171:29]
+  wire [32:0] _io_cpu_npc_T = io_cpu_req_valid ? {{1'd0}, io_cpu_req_bits_pc} : npc; // @[Frontend.scala 173:28]
+  wire [32:0] _io_cpu_npc_T_1 = ~_io_cpu_npc_T; // @[Frontend.scala 362:29]
+  wire [32:0] _io_cpu_npc_T_2 = _io_cpu_npc_T_1 | 33'h1; // @[Frontend.scala 362:33]
+  wire [32:0] _io_cpu_npc_T_3 = ~_io_cpu_npc_T_2; // @[Frontend.scala 362:27]
+  wire [2:0] _fq_io_enq_bits_mask_T_1 = 3'h3 << s2_pc[1]; // @[Frontend.scala 176:52]
+  wire  fetch_bubble_likely = ~fq_io_mask[1]; // @[Frontend.scala 299:33]
+  wire  _btb_io_btb_update_valid_T_2 = _s2_replay_T & ~wrong_path; // @[Frontend.scala 300:51]
+  wire  _taken_T_27 = ~s2_btb_resp_valid & (taken_predictBranch & s2_btb_resp_bits_bht_value | taken_predictJump |
+    taken_predictReturn); // @[Frontend.scala 279:34]
+  wire  _GEN_101 = ~s2_btb_resp_valid & (taken_predictBranch_1 & s2_btb_resp_bits_bht_value | taken_predictJump_1 |
+    taken_predictReturn_1) | ~s2_btb_resp_valid & (taken_predictBranch & s2_btb_resp_bits_bht_value | taken_predictJump
+     | taken_predictReturn); // @[Frontend.scala 279:125 280:21]
+  wire  updateBTB = taken_idx ? _GEN_101 : _taken_T_27; // @[Frontend.scala 251:25]
+  wire [1:0] _btb_io_btb_update_bits_br_pc_T = {taken_idx, 1'h0}; // @[Frontend.scala 304:63]
+  wire [31:0] _GEN_141 = {{30'd0}, _btb_io_btb_update_bits_br_pc_T}; // @[Frontend.scala 304:50]
+  wire [31:0] _btb_io_btb_update_bits_br_pc_T_1 = s2_base_pc | _GEN_141; // @[Frontend.scala 304:50]
+  wire [1:0] after_idx = taken_idx ? 2'h2 : 2'h1; // @[Frontend.scala 251:25 253:19]
+  wire [2:0] _btb_io_ras_update_bits_returnAddr_T = {after_idx, 1'h0}; // @[Frontend.scala 308:66]
+  wire [31:0] _GEN_142 = {{29'd0}, _btb_io_ras_update_bits_returnAddr_T}; // @[Frontend.scala 308:53]
+  wire  taken_rviCall = (taken_rviJALR | taken_rviJump) & taken_rviBits[7]; // @[Frontend.scala 224:42]
+  wire  taken_rvcCall = taken_rvcJAL | taken_rvcJALR; // @[Frontend.scala 232:28]
+  wire  _GEN_48 = s2_valid & s2_btb_resp_valid & ~s2_btb_resp_bits_bridx & taken_valid & _taken_prevRVI_T_5 |
+    icache_io_s2_kill & ~icache_io_resp_valid & ~s2_tlb_resp_ae_inst; // @[Frontend.scala 177:25 242:95 246:31]
+  wire  _GEN_49 = s2_valid & s2_btb_resp_valid & ~s2_btb_resp_bits_bridx & taken_valid & _taken_prevRVI_T_5 | wrong_path
+    ; // @[Frontend.scala 242:95 247:20 123:27]
+  wire  _taken_btb_io_ras_update_bits_cfiType_T = taken_prevRVI ? taken_rviReturn : taken_rvcReturn; // @[Frontend.scala 255:50]
+  wire  _taken_btb_io_ras_update_bits_cfiType_T_1 = taken_prevRVI ? taken_rviCall : taken_rvcCall; // @[Frontend.scala 256:50]
+  wire  _taken_btb_io_ras_update_bits_cfiType_T_2 = taken_prevRVI ? taken_rviBranch : taken_rvcBranch; // @[Frontend.scala 257:50]
+  wire  _taken_btb_io_ras_update_bits_cfiType_T_5 = _taken_btb_io_ras_update_bits_cfiType_T_2 ? 1'h0 : 1'h1; // @[Frontend.scala 257:46]
+  wire [1:0] _taken_btb_io_ras_update_bits_cfiType_T_6 = _taken_btb_io_ras_update_bits_cfiType_T_1 ? 2'h2 : {{1'd0},
+    _taken_btb_io_ras_update_bits_cfiType_T_5}; // @[Frontend.scala 256:46]
+  wire [1:0] _taken_btb_io_ras_update_bits_cfiType_T_7 = _taken_btb_io_ras_update_bits_cfiType_T ? 2'h3 :
+    _taken_btb_io_ras_update_bits_cfiType_T_6; // @[Frontend.scala 255:46]
+  wire  _GEN_50 = _s2_replay_T & taken_taken & ~taken_predictBranch & ~taken_predictJump & ~taken_predictReturn |
+    _GEN_49; // @[Frontend.scala 261:96 262:24]
+  wire  _GEN_53 = ~s2_btb_taken ? _GEN_50 : _GEN_49; // @[Frontend.scala 260:30]
+  wire  _GEN_56 = _taken_predictBranch_T_2 & _btb_io_btb_update_valid_T_2; // @[Frontend.scala 192:30 275:59 276:36]
+  wire  taken_rvc_1 = taken_bits_1[1:0] != 2'h3; // @[Frontend.scala 214:45]
+  wire  taken_rviCall_1 = (taken_rviJALR_1 | taken_rviJump_1) & taken_rviBits_1[7]; // @[Frontend.scala 224:42]
+  wire  taken_rvcCall_1 = taken_rvcJAL_1 | taken_rvcJALR_1; // @[Frontend.scala 232:28]
+  wire  _taken_T_33 = ~taken_rvc_1; // @[Frontend.scala 242:89]
+  wire  _GEN_85 = s2_valid & s2_btb_resp_valid & s2_btb_resp_bits_bridx & taken_valid_1 & ~taken_rvc_1 | _GEN_53; // @[Frontend.scala 242:95 247:20]
+  wire  _taken_btb_io_ras_update_bits_cfiType_T_8 = taken_prevRVI_1 ? taken_rviReturn_1 : taken_rvcReturn_1; // @[Frontend.scala 255:50]
+  wire  _taken_btb_io_ras_update_bits_cfiType_T_9 = taken_prevRVI_1 ? taken_rviCall_1 : taken_rvcCall_1; // @[Frontend.scala 256:50]
+  wire  _taken_btb_io_ras_update_bits_cfiType_T_10 = taken_prevRVI_1 ? taken_rviBranch_1 : taken_rvcBranch_1; // @[Frontend.scala 257:50]
+  wire  _taken_btb_io_ras_update_bits_cfiType_T_13 = _taken_btb_io_ras_update_bits_cfiType_T_10 ? 1'h0 : 1'h1; // @[Frontend.scala 257:46]
+  wire [1:0] _taken_btb_io_ras_update_bits_cfiType_T_14 = _taken_btb_io_ras_update_bits_cfiType_T_9 ? 2'h2 : {{1'd0},
+    _taken_btb_io_ras_update_bits_cfiType_T_13}; // @[Frontend.scala 256:46]
+  wire [1:0] _taken_btb_io_ras_update_bits_cfiType_T_15 = _taken_btb_io_ras_update_bits_cfiType_T_8 ? 2'h3 :
+    _taken_btb_io_ras_update_bits_cfiType_T_14; // @[Frontend.scala 255:46]
+  wire  _GEN_86 = _s2_replay_T & taken_taken_1 & ~taken_predictBranch_1 & ~taken_predictJump_1 & ~taken_predictReturn_1
+     | _GEN_85; // @[Frontend.scala 261:96 262:24]
+  wire  _GEN_92 = _taken_predictBranch_T_5 ? _btb_io_btb_update_valid_T_2 : _GEN_56; // @[Frontend.scala 275:59 276:36]
+  wire  _taken_T_61 = taken_valid_1 & taken_idx & _taken_T_33; // @[Frontend.scala 287:37]
+  wire [15:0] _taken_s2_partial_insn_T = taken_bits_1 | 16'h3; // @[Frontend.scala 289:37]
+  wire  _GEN_126 = taken ? taken_idx : s2_btb_resp_bits_bridx; // @[Frontend.scala 318:20 178:22 319:34]
+  wire  _GEN_127 = taken | s2_btb_taken; // @[Frontend.scala 318:20 179:28 320:34]
+  wire [4:0] _GEN_128 = taken ? 5'h1c : s2_btb_resp_bits_entry; // @[Frontend.scala 318:20 178:22 321:34]
+  ICache icache ( // @[Frontend.scala 66:26]
+    .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), // <no_sram>
+    .tag_array_0_ext_RW0_addr(tag_array_0_ext_RW0_addr), // <no_sram>
+    .tag_array_0_ext_RW0_en(tag_array_0_ext_RW0_en), // <no_sram>
+    .tag_array_0_ext_RW0_clk(tag_array_0_ext_RW0_clk), // <no_sram>
+    .tag_array_0_ext_RW0_wmode(tag_array_0_ext_RW0_wmode), // <no_sram>
+    .tag_array_0_ext_RW0_wdata(tag_array_0_ext_RW0_wdata), // <no_sram>
+    .tag_array_0_ext_RW0_rdata(tag_array_0_ext_RW0_rdata), // <no_sram>
+    .tag_array_0_ext_RW0_wmask(tag_array_0_ext_RW0_wmask), // <no_sram>
+    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask) // <no_sram>
+  );
+  ShiftQueue fq ( // @[Frontend.scala 88:57]
+    .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 102:19]
+    .io_req_bits_vaddr(tlb_io_req_bits_vaddr),
+    .io_req_bits_prv(tlb_io_req_bits_prv),
+    .io_resp_paddr(tlb_io_resp_paddr),
+    .io_resp_ae_inst(tlb_io_resp_ae_inst),
+    .io_resp_cacheable(tlb_io_resp_cacheable),
+    .io_ptw_status_debug(tlb_io_ptw_status_debug),
+    .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 185:21]
+    .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 auto_icache_slave_in_a_ready = icache_auto_slave_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_icache_slave_in_d_valid = icache_auto_slave_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_icache_slave_in_d_bits_opcode = icache_auto_slave_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_icache_slave_in_d_bits_size = icache_auto_slave_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_icache_slave_in_d_bits_source = icache_auto_slave_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_icache_slave_in_d_bits_data = icache_auto_slave_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_icache_master_out_a_valid = icache_auto_master_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_icache_master_out_a_bits_address = icache_auto_master_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_icache_master_out_d_ready = icache_auto_master_out_d_ready; // @[LazyModule.scala 311:12]
+  assign io_cpu_resp_valid = fq_io_deq_valid; // @[Frontend.scala 331:15]
+  assign io_cpu_resp_bits_btb_taken = fq_io_deq_bits_btb_taken; // @[Frontend.scala 331:15]
+  assign io_cpu_resp_bits_btb_bridx = fq_io_deq_bits_btb_bridx; // @[Frontend.scala 331:15]
+  assign io_cpu_resp_bits_btb_entry = fq_io_deq_bits_btb_entry; // @[Frontend.scala 331:15]
+  assign io_cpu_resp_bits_btb_bht_history = fq_io_deq_bits_btb_bht_history; // @[Frontend.scala 331:15]
+  assign io_cpu_resp_bits_pc = fq_io_deq_bits_pc; // @[Frontend.scala 331:15]
+  assign io_cpu_resp_bits_data = fq_io_deq_bits_data; // @[Frontend.scala 331:15]
+  assign io_cpu_resp_bits_xcpt_ae_inst = fq_io_deq_bits_xcpt_ae_inst; // @[Frontend.scala 331:15]
+  assign io_cpu_resp_bits_replay = fq_io_deq_bits_replay; // @[Frontend.scala 331:15]
+  assign io_cpu_npc = _io_cpu_npc_T_3[31:0]; // @[Frontend.scala 173:14]
+  assign icache_clock = clock; // @[Frontend.scala 98:16]
+  assign icache_reset = reset;
+  assign icache_auto_slave_in_a_valid = auto_icache_slave_in_a_valid; // @[LazyModule.scala 309:16]
+  assign icache_auto_slave_in_a_bits_opcode = auto_icache_slave_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign icache_auto_slave_in_a_bits_size = auto_icache_slave_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign icache_auto_slave_in_a_bits_source = auto_icache_slave_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign icache_auto_slave_in_a_bits_address = auto_icache_slave_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign icache_auto_slave_in_a_bits_mask = auto_icache_slave_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign icache_auto_slave_in_a_bits_data = auto_icache_slave_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign icache_auto_slave_in_d_ready = auto_icache_slave_in_d_ready; // @[LazyModule.scala 309:16]
+  assign icache_auto_master_out_a_ready = auto_icache_master_out_a_ready; // @[LazyModule.scala 311:12]
+  assign icache_auto_master_out_d_valid = auto_icache_master_out_d_valid; // @[LazyModule.scala 311:12]
+  assign icache_auto_master_out_d_bits_opcode = auto_icache_master_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign icache_auto_master_out_d_bits_size = auto_icache_master_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign icache_auto_master_out_d_bits_data = auto_icache_master_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign icache_auto_master_out_d_bits_corrupt = auto_icache_master_out_d_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign icache_io_req_valid = io_cpu_req_valid | s0_fq_has_space; // @[Frontend.scala 110:35]
+  assign icache_io_req_bits_addr = io_cpu_npc; // @[Frontend.scala 162:27]
+  assign icache_io_s1_paddr = tlb_io_resp_paddr; // @[Frontend.scala 164:22]
+  assign icache_io_s2_vaddr = s2_pc; // @[Frontend.scala 165:22]
+  assign icache_io_s1_kill = s2_redirect | s2_replay; // @[Frontend.scala 166:56]
+  assign icache_io_s2_kill = s2_speculative & ~s2_can_speculatively_refill | s2_tlb_resp_ae_inst; // @[Frontend.scala 168:71]
+  assign icache_io_invalidate = io_cpu_flush_icache; // @[Frontend.scala 163:24]
+  assign fq_clock = clock;
+  assign fq_reset = reset | io_cpu_req_valid; // @[Frontend.scala 88:28]
+  assign fq_io_enq_valid = fq_io_enq_valid_REG & s2_valid & (icache_io_resp_valid | icache_io_s2_kill); // @[Frontend.scala 171:52]
+  assign fq_io_enq_bits_btb_taken = _taken_T_36 ? _GEN_127 : s2_btb_taken; // @[Frontend.scala 317:26 179:28]
+  assign fq_io_enq_bits_btb_bridx = _taken_T_36 ? _GEN_126 : s2_btb_resp_bits_bridx; // @[Frontend.scala 178:22 317:26]
+  assign fq_io_enq_bits_btb_entry = _taken_T_36 ? _GEN_128 : s2_btb_resp_bits_entry; // @[Frontend.scala 178:22 317:26]
+  assign fq_io_enq_bits_btb_bht_history = s2_btb_resp_bits_bht_history; // @[Frontend.scala 178:22]
+  assign fq_io_enq_bits_pc = s2_pc; // @[Frontend.scala 172:21]
+  assign fq_io_enq_bits_data = icache_io_resp_bits_data; // @[Frontend.scala 175:23]
+  assign fq_io_enq_bits_mask = _fq_io_enq_bits_mask_T_1[1:0]; // @[Frontend.scala 176:23]
+  assign fq_io_enq_bits_xcpt_ae_inst = icache_io_resp_valid & icache_io_resp_bits_ae | s2_tlb_resp_ae_inst; // @[Frontend.scala 180:23 182:{57,87}]
+  assign fq_io_enq_bits_replay = s2_valid & s2_btb_resp_valid & s2_btb_resp_bits_bridx & taken_valid_1 & ~taken_rvc_1 |
+    _GEN_48; // @[Frontend.scala 242:95 246:31]
+  assign fq_io_deq_ready = io_cpu_resp_ready; // @[Frontend.scala 331:15]
+  assign tlb_io_req_bits_vaddr = s1_pc; // @[Frontend.scala 153:25]
+  assign tlb_io_req_bits_prv = io_ptw_status_prv; // @[Frontend.scala 156:23]
+  assign tlb_io_ptw_status_debug = io_ptw_status_debug; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_0_addr = io_ptw_pmp_0_addr; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_0_mask = io_ptw_pmp_0_mask; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_1_addr = io_ptw_pmp_1_addr; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_1_mask = io_ptw_pmp_1_mask; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_2_addr = io_ptw_pmp_2_addr; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_2_mask = io_ptw_pmp_2_mask; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_3_addr = io_ptw_pmp_3_addr; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_3_mask = io_ptw_pmp_3_mask; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_4_addr = io_ptw_pmp_4_addr; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_4_mask = io_ptw_pmp_4_mask; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_5_addr = io_ptw_pmp_5_addr; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_5_mask = io_ptw_pmp_5_mask; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_6_addr = io_ptw_pmp_6_addr; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_6_mask = io_ptw_pmp_6_mask; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_7_addr = io_ptw_pmp_7_addr; // @[Frontend.scala 151:10]
+  assign tlb_io_ptw_pmp_7_mask = io_ptw_pmp_7_mask; // @[Frontend.scala 151:10]
+  assign btb_clock = clock;
+  assign btb_reset = reset;
+  assign btb_io_req_bits_addr = s1_pc; // @[Frontend.scala 188:26]
+  assign btb_io_btb_update_valid = ~io_cpu_btb_update_valid ? _s2_replay_T & ~wrong_path & fetch_bubble_likely &
+    updateBTB : io_cpu_btb_update_valid; // @[Frontend.scala 189:23 298:37 300:31]
+  assign btb_io_btb_update_bits_prediction_entry = ~io_cpu_btb_update_valid ? 5'h1c :
+    io_cpu_btb_update_bits_prediction_entry; // @[Frontend.scala 189:23 298:37 301:47]
+  assign btb_io_btb_update_bits_pc = ~io_cpu_btb_update_valid ? s2_base_pc : io_cpu_btb_update_bits_pc; // @[Frontend.scala 189:23 298:37 305:33]
+  assign btb_io_btb_update_bits_isValid = ~io_cpu_btb_update_valid | io_cpu_btb_update_bits_isValid; // @[Frontend.scala 189:23 298:37 302:38]
+  assign btb_io_btb_update_bits_br_pc = ~io_cpu_btb_update_valid ? _btb_io_btb_update_bits_br_pc_T_1 :
+    io_cpu_btb_update_bits_br_pc; // @[Frontend.scala 189:23 298:37 304:36]
+  assign btb_io_btb_update_bits_cfiType = ~io_cpu_btb_update_valid ? btb_io_ras_update_bits_cfiType :
+    io_cpu_btb_update_bits_cfiType; // @[Frontend.scala 189:23 298:37 303:38]
+  assign btb_io_bht_update_valid = io_cpu_bht_update_valid; // @[Frontend.scala 190:23 205:{24,50}]
+  assign btb_io_bht_update_bits_prediction_history = io_cpu_bht_update_bits_prediction_history; // @[Frontend.scala 190:23]
+  assign btb_io_bht_update_bits_pc = io_cpu_bht_update_bits_pc; // @[Frontend.scala 190:23]
+  assign btb_io_bht_update_bits_branch = io_cpu_bht_update_bits_branch; // @[Frontend.scala 190:23]
+  assign btb_io_bht_update_bits_taken = io_cpu_bht_update_bits_taken; // @[Frontend.scala 190:23]
+  assign btb_io_bht_update_bits_mispredict = io_cpu_bht_update_bits_mispredict; // @[Frontend.scala 190:23]
+  assign btb_io_bht_advance_valid = taken_idx ? _GEN_92 : _GEN_56; // @[Frontend.scala 251:25]
+  assign btb_io_bht_advance_bits_bht_value = s2_btb_resp_bits_bht_value; // @[Frontend.scala 251:25]
+  assign btb_io_ras_update_valid = taken_idx ? _btb_io_btb_update_valid_T_2 & (taken_prevRVI_1 & (taken_rviCall_1 |
+    taken_rviReturn_1) | taken_valid_1 & (taken_rvcCall_1 | taken_rvcReturn_1)) : _btb_io_btb_update_valid_T_2 & (
+    taken_prevRVI & (taken_rviCall | taken_rviReturn) | taken_valid & (taken_rvcCall | taken_rvcReturn)); // @[Frontend.scala 251:25 254:33]
+  assign btb_io_ras_update_bits_cfiType = taken_idx ? _taken_btb_io_ras_update_bits_cfiType_T_15 :
+    _taken_btb_io_ras_update_bits_cfiType_T_7; // @[Frontend.scala 251:25 255:40]
+  assign btb_io_ras_update_bits_returnAddr = s2_base_pc + _GEN_142; // @[Frontend.scala 308:53]
+  assign btb_io_flush = s2_valid & s2_btb_resp_valid & s2_btb_resp_bits_bridx & taken_valid_1 & ~taken_rvc_1 | s2_valid
+     & s2_btb_resp_valid & ~s2_btb_resp_bits_bridx & taken_valid & _taken_prevRVI_T_5; // @[Frontend.scala 242:95 245:22]
+  always @(posedge clock) begin
+    s1_valid <= io_cpu_req_valid | s0_fq_has_space; // @[Frontend.scala 110:35]
+    if (reset) begin // @[Frontend.scala 105:25]
+      s2_valid <= 1'h0; // @[Frontend.scala 105:25]
+    end else begin
+      s2_valid <= _GEN_0;
+    end
+    s1_pc <= io_cpu_npc; // @[Frontend.scala 134:9]
+    if (io_cpu_req_valid) begin // @[Frontend.scala 140:24]
+      s1_speculative <= io_cpu_req_bits_speculative;
+    end else if (s2_replay) begin // @[Frontend.scala 140:75]
+      s1_speculative <= s2_speculative;
+    end else begin
+      s1_speculative <= s0_speculative;
+    end
+    if (reset) begin // @[Frontend.scala 114:22]
+      s2_pc <= 32'h10040; // @[Frontend.scala 114:22]
+    end else if (~s2_replay) begin // @[Frontend.scala 144:21]
+      s2_pc <= s1_pc; // @[Frontend.scala 146:11]
+    end
+    if (_T_11) begin // @[Frontend.scala 193:23]
+      s2_btb_resp_valid <= btb_io_resp_valid; // @[Frontend.scala 195:25]
+    end
+    if (_T_11) begin // @[Frontend.scala 193:23]
+      s2_btb_resp_bits_taken <= btb_io_resp_bits_taken; // @[Frontend.scala 196:24]
+    end
+    if (_T_11) begin // @[Frontend.scala 193:23]
+      s2_btb_resp_bits_bridx <= btb_io_resp_bits_bridx; // @[Frontend.scala 196:24]
+    end
+    if (_T_11) begin // @[Frontend.scala 193:23]
+      s2_btb_resp_bits_entry <= btb_io_resp_bits_entry; // @[Frontend.scala 196:24]
+    end
+    if (_T_11) begin // @[Frontend.scala 193:23]
+      s2_btb_resp_bits_bht_history <= btb_io_resp_bits_bht_history; // @[Frontend.scala 196:24]
+    end
+    if (_T_11) begin // @[Frontend.scala 193:23]
+      s2_btb_resp_bits_bht_value <= btb_io_resp_bits_bht_value; // @[Frontend.scala 196:24]
+    end
+    if (~s2_replay) begin // @[Frontend.scala 144:21]
+      s2_tlb_resp_ae_inst <= tlb_io_resp_ae_inst; // @[Frontend.scala 148:17]
+    end
+    if (~s2_replay) begin // @[Frontend.scala 144:21]
+      s2_tlb_resp_cacheable <= tlb_io_resp_cacheable; // @[Frontend.scala 148:17]
+    end
+    if (reset) begin // @[Frontend.scala 120:27]
+      s2_speculative <= 1'h0; // @[Frontend.scala 120:27]
+    end else if (~s2_replay) begin // @[Frontend.scala 144:21]
+      s2_speculative <= s1_speculative; // @[Frontend.scala 147:20]
+    end
+    if (reset) begin // @[Frontend.scala 121:38]
+      s2_partial_insn_valid <= 1'h0; // @[Frontend.scala 121:38]
+    end else if (s2_redirect) begin // @[Frontend.scala 327:24]
+      s2_partial_insn_valid <= 1'h0; // @[Frontend.scala 327:48]
+    end else if (_s2_replay_T & (s2_btb_taken | taken)) begin // @[Frontend.scala 314:56]
+      s2_partial_insn_valid <= 1'h0; // @[Frontend.scala 315:29]
+    end else if (_s2_replay_T) begin // @[Frontend.scala 285:33]
+      s2_partial_insn_valid <= _taken_T_61;
+    end
+    if (_s2_replay_T) begin // @[Frontend.scala 285:33]
+      if (taken_valid_1 & taken_idx & _taken_T_33) begin // @[Frontend.scala 287:46]
+        s2_partial_insn <= _taken_s2_partial_insn_T; // @[Frontend.scala 289:29]
+      end
+    end
+    if (reset) begin // @[Frontend.scala 123:27]
+      wrong_path <= 1'h0; // @[Frontend.scala 123:27]
+    end else if (io_cpu_req_valid) begin // @[Frontend.scala 328:29]
+      wrong_path <= 1'h0; // @[Frontend.scala 328:42]
+    end else if (taken_idx) begin // @[Frontend.scala 251:25]
+      if (~s2_btb_taken) begin // @[Frontend.scala 260:30]
+        wrong_path <= _GEN_86;
+      end else begin
+        wrong_path <= _GEN_85;
+      end
+    end else begin
+      wrong_path <= _GEN_85;
+    end
+    s2_replay_REG <= reset | s2_replay & ~s0_valid; // @[Frontend.scala 131:{58,58,58}]
+    fq_io_enq_valid_REG <= s1_valid; // @[Frontend.scala 171:29]
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(io_cpu_req_valid | io_cpu_flush_icache | io_cpu_bht_update_valid | io_cpu_btb_update_valid) |
+          io_cpu_might_request) & ~reset) begin
+          $fatal; // @[Frontend.scala 93:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~(~(io_cpu_req_valid | io_cpu_flush_icache | io_cpu_bht_update_valid | io_cpu_btb_update_valid) |
+          io_cpu_might_request)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Frontend.scala:93 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 93:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(s2_speculative & io_ptw_customCSRs_csrs_0_value[3] & ~icache_io_s2_kill)) & _T_9) begin
+          $fatal; // @[Frontend.scala 181:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_9 & ~(~(s2_speculative & io_ptw_customCSRs_csrs_0_value[3] & ~icache_io_s2_kill))) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Frontend.scala:181 assert(!(s2_speculative && io.ptw.customCSRs.asInstanceOf[RocketCustomCSRs].disableSpeculativeICacheRefill && !icache.io.s2_kill))\n"
+            ); // @[Frontend.scala 181:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~s2_partial_insn_valid | fq_io_enq_bits_mask[0]) & _T_9) begin
+          $fatal; // @[Frontend.scala 326:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_9 & ~(~s2_partial_insn_valid | fq_io_enq_bits_mask[0])) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Frontend.scala:326 assert(!s2_partial_insn_valid || fq.io.enq.bits.mask(0))\n"); // @[Frontend.scala 326:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  s1_valid = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  s2_valid = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  s1_pc = _RAND_2[31:0];
+  _RAND_3 = {1{`RANDOM}};
+  s1_speculative = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  s2_pc = _RAND_4[31:0];
+  _RAND_5 = {1{`RANDOM}};
+  s2_btb_resp_valid = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  s2_btb_resp_bits_taken = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  s2_btb_resp_bits_bridx = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  s2_btb_resp_bits_entry = _RAND_8[4:0];
+  _RAND_9 = {1{`RANDOM}};
+  s2_btb_resp_bits_bht_history = _RAND_9[7:0];
+  _RAND_10 = {1{`RANDOM}};
+  s2_btb_resp_bits_bht_value = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  s2_tlb_resp_ae_inst = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  s2_tlb_resp_cacheable = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  s2_speculative = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  s2_partial_insn_valid = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  s2_partial_insn = _RAND_15[15:0];
+  _RAND_16 = {1{`RANDOM}};
+  wrong_path = _RAND_16[0:0];
+  _RAND_17 = {1{`RANDOM}};
+  s2_replay_REG = _RAND_17[0:0];
+  _RAND_18 = {1{`RANDOM}};
+  fq_io_enq_valid_REG = _RAND_18[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLFragmenter_21(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [27:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [1:0]  auto_out_a_bits_size,
+  output [7:0]  auto_out_a_bits_source,
+  output [27:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [7:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  repeater_clock; // @[Fragmenter.scala 262:30]
+  wire  repeater_reset; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_repeat; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_full; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_enq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_enq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [27:0] repeater_io_enq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_enq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_ready; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_valid; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_opcode; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_param; // @[Fragmenter.scala 262:30]
+  wire [2:0] repeater_io_deq_bits_size; // @[Fragmenter.scala 262:30]
+  wire [1:0] repeater_io_deq_bits_source; // @[Fragmenter.scala 262:30]
+  wire [27:0] repeater_io_deq_bits_address; // @[Fragmenter.scala 262:30]
+  wire [3:0] repeater_io_deq_bits_mask; // @[Fragmenter.scala 262:30]
+  wire  repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 262:30]
+  reg [3:0] acknum; // @[Fragmenter.scala 189:29]
+  reg [2:0] dOrig; // @[Fragmenter.scala 190:24]
+  reg  dToggle; // @[Fragmenter.scala 191:30]
+  wire [3:0] dFragnum = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 192:41]
+  wire  dFirst = acknum == 4'h0; // @[Fragmenter.scala 193:29]
+  wire  dLast = dFragnum == 4'h0; // @[Fragmenter.scala 194:30]
+  wire [3:0] _dsizeOH_T = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 64:12]
+  wire [2:0] dsizeOH = _dsizeOH_T[2:0]; // @[OneHot.scala 64:27]
+  wire [4:0] _dsizeOH1_T_1 = 5'h3 << auto_out_d_bits_size; // @[package.scala 234:77]
+  wire [1:0] dsizeOH1 = ~_dsizeOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  dHasData = auto_out_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  _T_5 = ~reset; // @[Fragmenter.scala 202:16]
+  wire  ack_decrement = dHasData | dsizeOH[2]; // @[Fragmenter.scala 204:32]
+  wire [5:0] _dFirst_size_T = {dFragnum, 2'h0}; // @[Fragmenter.scala 206:47]
+  wire [5:0] _GEN_7 = {{4'd0}, dsizeOH1}; // @[Fragmenter.scala 206:69]
+  wire [5:0] _dFirst_size_T_1 = _dFirst_size_T | _GEN_7; // @[Fragmenter.scala 206:69]
+  wire [6:0] _dFirst_size_T_2 = {_dFirst_size_T_1, 1'h0}; // @[package.scala 232:35]
+  wire [6:0] _dFirst_size_T_3 = _dFirst_size_T_2 | 7'h1; // @[package.scala 232:40]
+  wire [6:0] _dFirst_size_T_4 = {1'h0,_dFirst_size_T_1}; // @[Cat.scala 31:58]
+  wire [6:0] _dFirst_size_T_5 = ~_dFirst_size_T_4; // @[package.scala 232:53]
+  wire [6:0] _dFirst_size_T_6 = _dFirst_size_T_3 & _dFirst_size_T_5; // @[package.scala 232:51]
+  wire [2:0] dFirst_size_hi = _dFirst_size_T_6[6:4]; // @[OneHot.scala 30:18]
+  wire [3:0] dFirst_size_lo = _dFirst_size_T_6[3:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_7 = |dFirst_size_hi; // @[OneHot.scala 32:14]
+  wire [3:0] _GEN_8 = {{1'd0}, dFirst_size_hi}; // @[OneHot.scala 32:28]
+  wire [3:0] _dFirst_size_T_8 = _GEN_8 | dFirst_size_lo; // @[OneHot.scala 32:28]
+  wire [1:0] dFirst_size_hi_1 = _dFirst_size_T_8[3:2]; // @[OneHot.scala 30:18]
+  wire [1:0] dFirst_size_lo_1 = _dFirst_size_T_8[1:0]; // @[OneHot.scala 31:18]
+  wire  _dFirst_size_T_9 = |dFirst_size_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _dFirst_size_T_10 = dFirst_size_hi_1 | dFirst_size_lo_1; // @[OneHot.scala 32:28]
+  wire [2:0] dFirst_size = {_dFirst_size_T_7,_dFirst_size_T_9,_dFirst_size_T_10[1]}; // @[Cat.scala 31:58]
+  wire  doEarlyAck = auto_out_d_bits_source[5]; // @[Fragmenter.scala 219:54]
+  wire  _drop_T_1 = doEarlyAck ? dFirst : dLast; // @[Fragmenter.scala 222:37]
+  wire  drop = ~dHasData & ~_drop_T_1; // @[Fragmenter.scala 222:30]
+  wire  bundleOut_0_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  wire  _T_7 = bundleOut_0_d_ready & auto_out_d_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _GEN_9 = {{3'd0}, ack_decrement}; // @[Fragmenter.scala 209:55]
+  wire [3:0] _acknum_T_1 = acknum - _GEN_9; // @[Fragmenter.scala 209:55]
+  wire [2:0] aFrag = repeater_io_deq_bits_size > 3'h2 ? 3'h2 : repeater_io_deq_bits_size; // @[Fragmenter.scala 285:24]
+  wire [12:0] _aOrigOH1_T_1 = 13'h3f << repeater_io_deq_bits_size; // @[package.scala 234:77]
+  wire [5:0] aOrigOH1 = ~_aOrigOH1_T_1[5:0]; // @[package.scala 234:46]
+  wire [8:0] _aFragOH1_T_1 = 9'h3 << aFrag; // @[package.scala 234:77]
+  wire [1:0] aFragOH1 = ~_aFragOH1_T_1[1:0]; // @[package.scala 234:46]
+  wire  aHasData = ~repeater_io_deq_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [3:0] gennum; // @[Fragmenter.scala 291:29]
+  wire  aFirst = gennum == 4'h0; // @[Fragmenter.scala 292:29]
+  wire [3:0] _old_gennum1_T_2 = gennum - 4'h1; // @[Fragmenter.scala 293:79]
+  wire [3:0] old_gennum1 = aFirst ? aOrigOH1[5:2] : _old_gennum1_T_2; // @[Fragmenter.scala 293:30]
+  wire [3:0] _new_gennum_T = ~old_gennum1; // @[Fragmenter.scala 294:28]
+  wire [3:0] new_gennum = ~_new_gennum_T; // @[Fragmenter.scala 294:26]
+  reg  aToggle_r; // @[Reg.scala 16:16]
+  wire  _GEN_5 = aFirst ? dToggle : aToggle_r; // @[Reg.scala 16:16 17:{18,22}]
+  wire  aToggle = ~_GEN_5; // @[Fragmenter.scala 297:23]
+  wire  aFull = repeater_io_deq_bits_opcode == 3'h0; // @[Fragmenter.scala 298:78]
+  wire  bundleOut_0_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  wire  _T_8 = auto_out_a_ready & bundleOut_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  _repeater_io_repeat_T = ~aHasData; // @[Fragmenter.scala 302:31]
+  wire [5:0] _bundleOut_0_a_bits_address_T = {old_gennum1, 2'h0}; // @[Fragmenter.scala 304:65]
+  wire [5:0] _bundleOut_0_a_bits_address_T_1 = ~aOrigOH1; // @[Fragmenter.scala 304:90]
+  wire [5:0] _bundleOut_0_a_bits_address_T_2 = _bundleOut_0_a_bits_address_T | _bundleOut_0_a_bits_address_T_1; // @[Fragmenter.scala 304:88]
+  wire [5:0] _GEN_10 = {{4'd0}, aFragOH1}; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_3 = _bundleOut_0_a_bits_address_T_2 | _GEN_10; // @[Fragmenter.scala 304:100]
+  wire [5:0] _bundleOut_0_a_bits_address_T_4 = _bundleOut_0_a_bits_address_T_3 | 6'h3; // @[Fragmenter.scala 304:111]
+  wire [5:0] _bundleOut_0_a_bits_address_T_5 = ~_bundleOut_0_a_bits_address_T_4; // @[Fragmenter.scala 304:51]
+  wire [27:0] _GEN_11 = {{22'd0}, _bundleOut_0_a_bits_address_T_5}; // @[Fragmenter.scala 304:49]
+  wire [4:0] bundleOut_0_a_bits_source_lo = {aToggle,new_gennum}; // @[Cat.scala 31:58]
+  wire [2:0] bundleOut_0_a_bits_source_hi = {repeater_io_deq_bits_source,aFull}; // @[Cat.scala 31:58]
+  wire  _T_9 = ~repeater_io_full; // @[Fragmenter.scala 309:17]
+  Repeater_16 repeater ( // @[Fragmenter.scala 262:30]
+    .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 auto_in_a_ready = repeater_io_enq_ready; // @[Nodes.scala 1210:84 Fragmenter.scala 263:25]
+  assign auto_in_d_valid = auto_out_d_valid & ~drop; // @[Fragmenter.scala 224:36]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = dFirst ? dFirst_size : dOrig; // @[Fragmenter.scala 227:32]
+  assign auto_in_d_bits_source = auto_out_d_bits_source[7:6]; // @[Fragmenter.scala 226:47]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = repeater_io_deq_valid; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_opcode = repeater_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Fragmenter.scala 303:15]
+  assign auto_out_a_bits_size = aFrag[1:0]; // @[Nodes.scala 1207:84 Fragmenter.scala 306:25]
+  assign auto_out_a_bits_source = {bundleOut_0_a_bits_source_hi,bundleOut_0_a_bits_source_lo}; // @[Cat.scala 31:58]
+  assign auto_out_a_bits_address = repeater_io_deq_bits_address | _GEN_11; // @[Fragmenter.scala 304:49]
+  assign auto_out_a_bits_mask = repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[Fragmenter.scala 313:31]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready | drop; // @[Fragmenter.scala 223:35]
+  assign repeater_clock = clock;
+  assign repeater_reset = reset;
+  assign repeater_io_repeat = ~aHasData & new_gennum != 4'h0; // @[Fragmenter.scala 302:41]
+  assign repeater_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign repeater_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  always @(posedge clock) begin
+    if (reset) begin // @[Fragmenter.scala 189:29]
+      acknum <= 4'h0; // @[Fragmenter.scala 189:29]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 209:24]
+        acknum <= dFragnum;
+      end else begin
+        acknum <= _acknum_T_1;
+      end
+    end
+    if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dOrig <= dFirst_size; // @[Fragmenter.scala 211:19]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 191:30]
+      dToggle <= 1'h0; // @[Fragmenter.scala 191:30]
+    end else if (_T_7) begin // @[Fragmenter.scala 208:29]
+      if (dFirst) begin // @[Fragmenter.scala 210:25]
+        dToggle <= auto_out_d_bits_source[4]; // @[Fragmenter.scala 212:21]
+      end
+    end
+    if (reset) begin // @[Fragmenter.scala 291:29]
+      gennum <= 4'h0; // @[Fragmenter.scala 291:29]
+    end else if (_T_8) begin // @[Fragmenter.scala 300:29]
+      gennum <= new_gennum; // @[Fragmenter.scala 300:38]
+    end
+    if (aFirst) begin // @[Reg.scala 17:18]
+      aToggle_r <= dToggle; // @[Reg.scala 17:22]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~repeater_io_full | _repeater_io_repeat_T) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 309:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(~repeater_io_full | _repeater_io_repeat_T)) begin
+          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:309 assert (!repeater.io.full || !aHasData)\n"
+            ); // @[Fragmenter.scala 309:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_9 | repeater_io_deq_bits_mask == 4'hf) & _T_5) begin
+          $fatal; // @[Fragmenter.scala 312:16]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_5 & ~(_T_9 | repeater_io_deq_bits_mask == 4'hf)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Fragmenter.scala:312 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"
+            ); // @[Fragmenter.scala 312:16]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  acknum = _RAND_0[3:0];
+  _RAND_1 = {1{`RANDOM}};
+  dOrig = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  dToggle = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  gennum = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  aToggle_r = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module HellaCacheArbiter(
+  output        io_requestor_0_req_ready,
+  input         io_requestor_0_req_valid,
+  input  [31:0] io_requestor_0_req_bits_addr,
+  input  [5:0]  io_requestor_0_req_bits_tag,
+  input  [4:0]  io_requestor_0_req_bits_cmd,
+  input  [1:0]  io_requestor_0_req_bits_size,
+  input         io_requestor_0_req_bits_signed,
+  input  [1:0]  io_requestor_0_req_bits_dprv,
+  input         io_requestor_0_s1_kill,
+  input  [31:0] io_requestor_0_s1_data_data,
+  output        io_requestor_0_s2_nack,
+  output        io_requestor_0_resp_valid,
+  output [5:0]  io_requestor_0_resp_bits_tag,
+  output [31:0] io_requestor_0_resp_bits_data,
+  output        io_requestor_0_resp_bits_replay,
+  output        io_requestor_0_resp_bits_has_data,
+  output [31:0] io_requestor_0_resp_bits_data_word_bypass,
+  output        io_requestor_0_replay_next,
+  output        io_requestor_0_s2_xcpt_ma_ld,
+  output        io_requestor_0_s2_xcpt_ma_st,
+  output        io_requestor_0_s2_xcpt_pf_ld,
+  output        io_requestor_0_s2_xcpt_pf_st,
+  output        io_requestor_0_s2_xcpt_ae_ld,
+  output        io_requestor_0_s2_xcpt_ae_st,
+  output        io_requestor_0_ordered,
+  output        io_requestor_0_perf_release,
+  output        io_requestor_0_perf_grant,
+  input         io_mem_req_ready,
+  output        io_mem_req_valid,
+  output [31:0] io_mem_req_bits_addr,
+  output [5:0]  io_mem_req_bits_tag,
+  output [4:0]  io_mem_req_bits_cmd,
+  output [1:0]  io_mem_req_bits_size,
+  output        io_mem_req_bits_signed,
+  output [1:0]  io_mem_req_bits_dprv,
+  output        io_mem_s1_kill,
+  output [31:0] io_mem_s1_data_data,
+  input         io_mem_s2_nack,
+  input         io_mem_resp_valid,
+  input  [5:0]  io_mem_resp_bits_tag,
+  input  [31:0] io_mem_resp_bits_data,
+  input         io_mem_resp_bits_replay,
+  input         io_mem_resp_bits_has_data,
+  input  [31:0] io_mem_resp_bits_data_word_bypass,
+  input         io_mem_replay_next,
+  input         io_mem_s2_xcpt_ma_ld,
+  input         io_mem_s2_xcpt_ma_st,
+  input         io_mem_s2_xcpt_pf_ld,
+  input         io_mem_s2_xcpt_pf_st,
+  input         io_mem_s2_xcpt_ae_ld,
+  input         io_mem_s2_xcpt_ae_st,
+  input         io_mem_ordered,
+  input         io_mem_perf_release,
+  input         io_mem_perf_grant
+);
+  assign io_requestor_0_req_ready = io_mem_req_ready; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_s2_nack = io_mem_s2_nack; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_resp_valid = io_mem_resp_valid; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_resp_bits_tag = io_mem_resp_bits_tag; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_resp_bits_data = io_mem_resp_bits_data; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_resp_bits_replay = io_mem_resp_bits_replay; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_resp_bits_has_data = io_mem_resp_bits_has_data; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_resp_bits_data_word_bypass = io_mem_resp_bits_data_word_bypass; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_replay_next = io_mem_replay_next; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_s2_xcpt_ma_ld = io_mem_s2_xcpt_ma_ld; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_s2_xcpt_ma_st = io_mem_s2_xcpt_ma_st; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_s2_xcpt_pf_ld = io_mem_s2_xcpt_pf_ld; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_s2_xcpt_pf_st = io_mem_s2_xcpt_pf_st; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_s2_xcpt_ae_ld = io_mem_s2_xcpt_ae_ld; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_s2_xcpt_ae_st = io_mem_s2_xcpt_ae_st; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_ordered = io_mem_ordered; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_perf_release = io_mem_perf_release; // @[HellaCacheArbiter.scala 17:12]
+  assign io_requestor_0_perf_grant = io_mem_perf_grant; // @[HellaCacheArbiter.scala 17:12]
+  assign io_mem_req_valid = io_requestor_0_req_valid; // @[HellaCacheArbiter.scala 17:12]
+  assign io_mem_req_bits_addr = io_requestor_0_req_bits_addr; // @[HellaCacheArbiter.scala 17:12]
+  assign io_mem_req_bits_tag = io_requestor_0_req_bits_tag; // @[HellaCacheArbiter.scala 17:12]
+  assign io_mem_req_bits_cmd = io_requestor_0_req_bits_cmd; // @[HellaCacheArbiter.scala 17:12]
+  assign io_mem_req_bits_size = io_requestor_0_req_bits_size; // @[HellaCacheArbiter.scala 17:12]
+  assign io_mem_req_bits_signed = io_requestor_0_req_bits_signed; // @[HellaCacheArbiter.scala 17:12]
+  assign io_mem_req_bits_dprv = io_requestor_0_req_bits_dprv; // @[HellaCacheArbiter.scala 17:12]
+  assign io_mem_s1_kill = io_requestor_0_s1_kill; // @[HellaCacheArbiter.scala 17:12]
+  assign io_mem_s1_data_data = io_requestor_0_s1_data_data; // @[HellaCacheArbiter.scala 17:12]
+endmodule
+module PTW(
+  input         clock,
+  input         reset,
+  output        io_requestor_0_status_debug,
+  output        io_requestor_0_pmp_0_cfg_l,
+  output [1:0]  io_requestor_0_pmp_0_cfg_a,
+  output        io_requestor_0_pmp_0_cfg_x,
+  output        io_requestor_0_pmp_0_cfg_w,
+  output        io_requestor_0_pmp_0_cfg_r,
+  output [28:0] io_requestor_0_pmp_0_addr,
+  output [30:0] io_requestor_0_pmp_0_mask,
+  output        io_requestor_0_pmp_1_cfg_l,
+  output [1:0]  io_requestor_0_pmp_1_cfg_a,
+  output        io_requestor_0_pmp_1_cfg_x,
+  output        io_requestor_0_pmp_1_cfg_w,
+  output        io_requestor_0_pmp_1_cfg_r,
+  output [28:0] io_requestor_0_pmp_1_addr,
+  output [30:0] io_requestor_0_pmp_1_mask,
+  output        io_requestor_0_pmp_2_cfg_l,
+  output [1:0]  io_requestor_0_pmp_2_cfg_a,
+  output        io_requestor_0_pmp_2_cfg_x,
+  output        io_requestor_0_pmp_2_cfg_w,
+  output        io_requestor_0_pmp_2_cfg_r,
+  output [28:0] io_requestor_0_pmp_2_addr,
+  output [30:0] io_requestor_0_pmp_2_mask,
+  output        io_requestor_0_pmp_3_cfg_l,
+  output [1:0]  io_requestor_0_pmp_3_cfg_a,
+  output        io_requestor_0_pmp_3_cfg_x,
+  output        io_requestor_0_pmp_3_cfg_w,
+  output        io_requestor_0_pmp_3_cfg_r,
+  output [28:0] io_requestor_0_pmp_3_addr,
+  output [30:0] io_requestor_0_pmp_3_mask,
+  output        io_requestor_0_pmp_4_cfg_l,
+  output [1:0]  io_requestor_0_pmp_4_cfg_a,
+  output        io_requestor_0_pmp_4_cfg_x,
+  output        io_requestor_0_pmp_4_cfg_w,
+  output        io_requestor_0_pmp_4_cfg_r,
+  output [28:0] io_requestor_0_pmp_4_addr,
+  output [30:0] io_requestor_0_pmp_4_mask,
+  output        io_requestor_0_pmp_5_cfg_l,
+  output [1:0]  io_requestor_0_pmp_5_cfg_a,
+  output        io_requestor_0_pmp_5_cfg_x,
+  output        io_requestor_0_pmp_5_cfg_w,
+  output        io_requestor_0_pmp_5_cfg_r,
+  output [28:0] io_requestor_0_pmp_5_addr,
+  output [30:0] io_requestor_0_pmp_5_mask,
+  output        io_requestor_0_pmp_6_cfg_l,
+  output [1:0]  io_requestor_0_pmp_6_cfg_a,
+  output        io_requestor_0_pmp_6_cfg_x,
+  output        io_requestor_0_pmp_6_cfg_w,
+  output        io_requestor_0_pmp_6_cfg_r,
+  output [28:0] io_requestor_0_pmp_6_addr,
+  output [30:0] io_requestor_0_pmp_6_mask,
+  output        io_requestor_0_pmp_7_cfg_l,
+  output [1:0]  io_requestor_0_pmp_7_cfg_a,
+  output        io_requestor_0_pmp_7_cfg_x,
+  output        io_requestor_0_pmp_7_cfg_w,
+  output        io_requestor_0_pmp_7_cfg_r,
+  output [28:0] io_requestor_0_pmp_7_addr,
+  output [30:0] io_requestor_0_pmp_7_mask,
+  output        io_requestor_1_status_debug,
+  output [1:0]  io_requestor_1_status_prv,
+  output        io_requestor_1_pmp_0_cfg_l,
+  output [1:0]  io_requestor_1_pmp_0_cfg_a,
+  output        io_requestor_1_pmp_0_cfg_x,
+  output        io_requestor_1_pmp_0_cfg_w,
+  output        io_requestor_1_pmp_0_cfg_r,
+  output [28:0] io_requestor_1_pmp_0_addr,
+  output [30:0] io_requestor_1_pmp_0_mask,
+  output        io_requestor_1_pmp_1_cfg_l,
+  output [1:0]  io_requestor_1_pmp_1_cfg_a,
+  output        io_requestor_1_pmp_1_cfg_x,
+  output        io_requestor_1_pmp_1_cfg_w,
+  output        io_requestor_1_pmp_1_cfg_r,
+  output [28:0] io_requestor_1_pmp_1_addr,
+  output [30:0] io_requestor_1_pmp_1_mask,
+  output        io_requestor_1_pmp_2_cfg_l,
+  output [1:0]  io_requestor_1_pmp_2_cfg_a,
+  output        io_requestor_1_pmp_2_cfg_x,
+  output        io_requestor_1_pmp_2_cfg_w,
+  output        io_requestor_1_pmp_2_cfg_r,
+  output [28:0] io_requestor_1_pmp_2_addr,
+  output [30:0] io_requestor_1_pmp_2_mask,
+  output        io_requestor_1_pmp_3_cfg_l,
+  output [1:0]  io_requestor_1_pmp_3_cfg_a,
+  output        io_requestor_1_pmp_3_cfg_x,
+  output        io_requestor_1_pmp_3_cfg_w,
+  output        io_requestor_1_pmp_3_cfg_r,
+  output [28:0] io_requestor_1_pmp_3_addr,
+  output [30:0] io_requestor_1_pmp_3_mask,
+  output        io_requestor_1_pmp_4_cfg_l,
+  output [1:0]  io_requestor_1_pmp_4_cfg_a,
+  output        io_requestor_1_pmp_4_cfg_x,
+  output        io_requestor_1_pmp_4_cfg_w,
+  output        io_requestor_1_pmp_4_cfg_r,
+  output [28:0] io_requestor_1_pmp_4_addr,
+  output [30:0] io_requestor_1_pmp_4_mask,
+  output        io_requestor_1_pmp_5_cfg_l,
+  output [1:0]  io_requestor_1_pmp_5_cfg_a,
+  output        io_requestor_1_pmp_5_cfg_x,
+  output        io_requestor_1_pmp_5_cfg_w,
+  output        io_requestor_1_pmp_5_cfg_r,
+  output [28:0] io_requestor_1_pmp_5_addr,
+  output [30:0] io_requestor_1_pmp_5_mask,
+  output        io_requestor_1_pmp_6_cfg_l,
+  output [1:0]  io_requestor_1_pmp_6_cfg_a,
+  output        io_requestor_1_pmp_6_cfg_x,
+  output        io_requestor_1_pmp_6_cfg_w,
+  output        io_requestor_1_pmp_6_cfg_r,
+  output [28:0] io_requestor_1_pmp_6_addr,
+  output [30:0] io_requestor_1_pmp_6_mask,
+  output        io_requestor_1_pmp_7_cfg_l,
+  output [1:0]  io_requestor_1_pmp_7_cfg_a,
+  output        io_requestor_1_pmp_7_cfg_x,
+  output        io_requestor_1_pmp_7_cfg_w,
+  output        io_requestor_1_pmp_7_cfg_r,
+  output [28:0] io_requestor_1_pmp_7_addr,
+  output [30:0] io_requestor_1_pmp_7_mask,
+  output [31:0] io_requestor_1_customCSRs_csrs_0_value,
+  input         io_dpath_status_debug,
+  input  [1:0]  io_dpath_status_prv,
+  input         io_dpath_pmp_0_cfg_l,
+  input  [1:0]  io_dpath_pmp_0_cfg_a,
+  input         io_dpath_pmp_0_cfg_x,
+  input         io_dpath_pmp_0_cfg_w,
+  input         io_dpath_pmp_0_cfg_r,
+  input  [28:0] io_dpath_pmp_0_addr,
+  input  [30:0] io_dpath_pmp_0_mask,
+  input         io_dpath_pmp_1_cfg_l,
+  input  [1:0]  io_dpath_pmp_1_cfg_a,
+  input         io_dpath_pmp_1_cfg_x,
+  input         io_dpath_pmp_1_cfg_w,
+  input         io_dpath_pmp_1_cfg_r,
+  input  [28:0] io_dpath_pmp_1_addr,
+  input  [30:0] io_dpath_pmp_1_mask,
+  input         io_dpath_pmp_2_cfg_l,
+  input  [1:0]  io_dpath_pmp_2_cfg_a,
+  input         io_dpath_pmp_2_cfg_x,
+  input         io_dpath_pmp_2_cfg_w,
+  input         io_dpath_pmp_2_cfg_r,
+  input  [28:0] io_dpath_pmp_2_addr,
+  input  [30:0] io_dpath_pmp_2_mask,
+  input         io_dpath_pmp_3_cfg_l,
+  input  [1:0]  io_dpath_pmp_3_cfg_a,
+  input         io_dpath_pmp_3_cfg_x,
+  input         io_dpath_pmp_3_cfg_w,
+  input         io_dpath_pmp_3_cfg_r,
+  input  [28:0] io_dpath_pmp_3_addr,
+  input  [30:0] io_dpath_pmp_3_mask,
+  input         io_dpath_pmp_4_cfg_l,
+  input  [1:0]  io_dpath_pmp_4_cfg_a,
+  input         io_dpath_pmp_4_cfg_x,
+  input         io_dpath_pmp_4_cfg_w,
+  input         io_dpath_pmp_4_cfg_r,
+  input  [28:0] io_dpath_pmp_4_addr,
+  input  [30:0] io_dpath_pmp_4_mask,
+  input         io_dpath_pmp_5_cfg_l,
+  input  [1:0]  io_dpath_pmp_5_cfg_a,
+  input         io_dpath_pmp_5_cfg_x,
+  input         io_dpath_pmp_5_cfg_w,
+  input         io_dpath_pmp_5_cfg_r,
+  input  [28:0] io_dpath_pmp_5_addr,
+  input  [30:0] io_dpath_pmp_5_mask,
+  input         io_dpath_pmp_6_cfg_l,
+  input  [1:0]  io_dpath_pmp_6_cfg_a,
+  input         io_dpath_pmp_6_cfg_x,
+  input         io_dpath_pmp_6_cfg_w,
+  input         io_dpath_pmp_6_cfg_r,
+  input  [28:0] io_dpath_pmp_6_addr,
+  input  [30:0] io_dpath_pmp_6_mask,
+  input         io_dpath_pmp_7_cfg_l,
+  input  [1:0]  io_dpath_pmp_7_cfg_a,
+  input         io_dpath_pmp_7_cfg_x,
+  input         io_dpath_pmp_7_cfg_w,
+  input         io_dpath_pmp_7_cfg_r,
+  input  [28:0] io_dpath_pmp_7_addr,
+  input  [30:0] io_dpath_pmp_7_mask,
+  output        io_dpath_perf_l2hit,
+  output        io_dpath_perf_pte_miss,
+  output        io_dpath_perf_pte_hit,
+  input  [31:0] io_dpath_customCSRs_csrs_0_value
+);
+  assign io_requestor_0_status_debug = io_dpath_status_debug; // @[PTW.scala 402:28]
+  assign io_requestor_0_pmp_0_cfg_l = io_dpath_pmp_0_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_0_cfg_a = io_dpath_pmp_0_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_0_cfg_x = io_dpath_pmp_0_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_0_cfg_w = io_dpath_pmp_0_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_0_cfg_r = io_dpath_pmp_0_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_0_addr = io_dpath_pmp_0_addr; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_0_mask = io_dpath_pmp_0_mask; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_1_cfg_l = io_dpath_pmp_1_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_1_cfg_a = io_dpath_pmp_1_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_1_cfg_x = io_dpath_pmp_1_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_1_cfg_w = io_dpath_pmp_1_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_1_cfg_r = io_dpath_pmp_1_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_1_addr = io_dpath_pmp_1_addr; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_1_mask = io_dpath_pmp_1_mask; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_2_cfg_l = io_dpath_pmp_2_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_2_cfg_a = io_dpath_pmp_2_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_2_cfg_x = io_dpath_pmp_2_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_2_cfg_w = io_dpath_pmp_2_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_2_cfg_r = io_dpath_pmp_2_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_2_addr = io_dpath_pmp_2_addr; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_2_mask = io_dpath_pmp_2_mask; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_3_cfg_l = io_dpath_pmp_3_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_3_cfg_a = io_dpath_pmp_3_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_3_cfg_x = io_dpath_pmp_3_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_3_cfg_w = io_dpath_pmp_3_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_3_cfg_r = io_dpath_pmp_3_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_3_addr = io_dpath_pmp_3_addr; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_3_mask = io_dpath_pmp_3_mask; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_4_cfg_l = io_dpath_pmp_4_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_4_cfg_a = io_dpath_pmp_4_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_4_cfg_x = io_dpath_pmp_4_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_4_cfg_w = io_dpath_pmp_4_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_4_cfg_r = io_dpath_pmp_4_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_4_addr = io_dpath_pmp_4_addr; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_4_mask = io_dpath_pmp_4_mask; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_5_cfg_l = io_dpath_pmp_5_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_5_cfg_a = io_dpath_pmp_5_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_5_cfg_x = io_dpath_pmp_5_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_5_cfg_w = io_dpath_pmp_5_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_5_cfg_r = io_dpath_pmp_5_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_5_addr = io_dpath_pmp_5_addr; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_5_mask = io_dpath_pmp_5_mask; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_6_cfg_l = io_dpath_pmp_6_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_6_cfg_a = io_dpath_pmp_6_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_6_cfg_x = io_dpath_pmp_6_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_6_cfg_w = io_dpath_pmp_6_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_6_cfg_r = io_dpath_pmp_6_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_6_addr = io_dpath_pmp_6_addr; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_6_mask = io_dpath_pmp_6_mask; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_7_cfg_l = io_dpath_pmp_7_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_7_cfg_a = io_dpath_pmp_7_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_7_cfg_x = io_dpath_pmp_7_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_7_cfg_w = io_dpath_pmp_7_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_7_cfg_r = io_dpath_pmp_7_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_7_addr = io_dpath_pmp_7_addr; // @[PTW.scala 405:25]
+  assign io_requestor_0_pmp_7_mask = io_dpath_pmp_7_mask; // @[PTW.scala 405:25]
+  assign io_requestor_1_status_debug = io_dpath_status_debug; // @[PTW.scala 402:28]
+  assign io_requestor_1_status_prv = io_dpath_status_prv; // @[PTW.scala 402:28]
+  assign io_requestor_1_pmp_0_cfg_l = io_dpath_pmp_0_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_0_cfg_a = io_dpath_pmp_0_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_0_cfg_x = io_dpath_pmp_0_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_0_cfg_w = io_dpath_pmp_0_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_0_cfg_r = io_dpath_pmp_0_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_0_addr = io_dpath_pmp_0_addr; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_0_mask = io_dpath_pmp_0_mask; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_1_cfg_l = io_dpath_pmp_1_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_1_cfg_a = io_dpath_pmp_1_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_1_cfg_x = io_dpath_pmp_1_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_1_cfg_w = io_dpath_pmp_1_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_1_cfg_r = io_dpath_pmp_1_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_1_addr = io_dpath_pmp_1_addr; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_1_mask = io_dpath_pmp_1_mask; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_2_cfg_l = io_dpath_pmp_2_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_2_cfg_a = io_dpath_pmp_2_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_2_cfg_x = io_dpath_pmp_2_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_2_cfg_w = io_dpath_pmp_2_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_2_cfg_r = io_dpath_pmp_2_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_2_addr = io_dpath_pmp_2_addr; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_2_mask = io_dpath_pmp_2_mask; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_3_cfg_l = io_dpath_pmp_3_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_3_cfg_a = io_dpath_pmp_3_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_3_cfg_x = io_dpath_pmp_3_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_3_cfg_w = io_dpath_pmp_3_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_3_cfg_r = io_dpath_pmp_3_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_3_addr = io_dpath_pmp_3_addr; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_3_mask = io_dpath_pmp_3_mask; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_4_cfg_l = io_dpath_pmp_4_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_4_cfg_a = io_dpath_pmp_4_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_4_cfg_x = io_dpath_pmp_4_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_4_cfg_w = io_dpath_pmp_4_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_4_cfg_r = io_dpath_pmp_4_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_4_addr = io_dpath_pmp_4_addr; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_4_mask = io_dpath_pmp_4_mask; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_5_cfg_l = io_dpath_pmp_5_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_5_cfg_a = io_dpath_pmp_5_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_5_cfg_x = io_dpath_pmp_5_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_5_cfg_w = io_dpath_pmp_5_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_5_cfg_r = io_dpath_pmp_5_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_5_addr = io_dpath_pmp_5_addr; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_5_mask = io_dpath_pmp_5_mask; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_6_cfg_l = io_dpath_pmp_6_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_6_cfg_a = io_dpath_pmp_6_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_6_cfg_x = io_dpath_pmp_6_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_6_cfg_w = io_dpath_pmp_6_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_6_cfg_r = io_dpath_pmp_6_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_6_addr = io_dpath_pmp_6_addr; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_6_mask = io_dpath_pmp_6_mask; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_7_cfg_l = io_dpath_pmp_7_cfg_l; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_7_cfg_a = io_dpath_pmp_7_cfg_a; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_7_cfg_x = io_dpath_pmp_7_cfg_x; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_7_cfg_w = io_dpath_pmp_7_cfg_w; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_7_cfg_r = io_dpath_pmp_7_cfg_r; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_7_addr = io_dpath_pmp_7_addr; // @[PTW.scala 405:25]
+  assign io_requestor_1_pmp_7_mask = io_dpath_pmp_7_mask; // @[PTW.scala 405:25]
+  assign io_requestor_1_customCSRs_csrs_0_value = io_dpath_customCSRs_csrs_0_value; // @[PTW.scala 401:32]
+  assign io_dpath_perf_l2hit = 1'h0; // @[PTW.scala 264:23]
+  assign io_dpath_perf_pte_miss = 1'h0; // @[PTW.scala 413:18 256:26]
+  assign io_dpath_perf_pte_hit = 1'h0; // @[PTW.scala 257:57]
+  always @(posedge clock) begin
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(io_dpath_perf_l2hit & (io_dpath_perf_pte_miss | io_dpath_perf_pte_hit))) & ~reset) begin
+          $fatal; // @[PTW.scala 258:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~(~(io_dpath_perf_l2hit & (io_dpath_perf_pte_miss | io_dpath_perf_pte_hit)))) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: PTE Cache Hit/Miss Performance Monitor Events are lower priority than L2TLB Hit event\n    at PTW.scala:258 assert(!(io.dpath.perf.l2hit && (io.dpath.perf.pte_miss || io.dpath.perf.pte_hit)),\n"
+            ); // @[PTW.scala 258:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module RVCExpander(
+  input  [31:0] io_in,
+  output [31:0] io_out_bits,
+  output [4:0]  io_out_rd,
+  output [4:0]  io_out_rs1,
+  output [4:0]  io_out_rs2,
+  output        io_rvc
+);
+  wire [6:0] io_out_s_opc = |io_in[12:5] ? 7'h13 : 7'h1f; // @[RVC.scala 53:20]
+  wire [4:0] _io_out_s_T_6 = {2'h1,io_in[4:2]}; // @[Cat.scala 31:58]
+  wire [29:0] _io_out_s_T_7 = {io_in[10:7],io_in[12:11],io_in[5],io_in[6],2'h0,5'h2,3'h0,2'h1,io_in[4:2],io_out_s_opc}; // @[Cat.scala 31:58]
+  wire [7:0] _io_out_s_T_15 = {io_in[6:5],io_in[12:10],3'h0}; // @[Cat.scala 31:58]
+  wire [4:0] _io_out_s_T_17 = {2'h1,io_in[9:7]}; // @[Cat.scala 31:58]
+  wire [27:0] _io_out_s_T_20 = {io_in[6:5],io_in[12:10],3'h0,2'h1,io_in[9:7],3'h3,2'h1,io_in[4:2],7'h7}; // @[Cat.scala 31:58]
+  wire [6:0] _io_out_s_T_31 = {io_in[5],io_in[12:10],io_in[6],2'h0}; // @[Cat.scala 31:58]
+  wire [26:0] _io_out_s_T_36 = {io_in[5],io_in[12:10],io_in[6],2'h0,2'h1,io_in[9:7],3'h2,2'h1,io_in[4:2],7'h3}; // @[Cat.scala 31:58]
+  wire [26:0] _io_out_s_T_52 = {io_in[5],io_in[12:10],io_in[6],2'h0,2'h1,io_in[9:7],3'h2,2'h1,io_in[4:2],7'h7}; // @[Cat.scala 31:58]
+  wire [26:0] _io_out_s_T_74 = {_io_out_s_T_31[6:5],2'h1,io_in[4:2],2'h1,io_in[9:7],3'h2,_io_out_s_T_31[4:0],7'h3f}; // @[Cat.scala 31:58]
+  wire [27:0] _io_out_s_T_94 = {_io_out_s_T_15[7:5],2'h1,io_in[4:2],2'h1,io_in[9:7],3'h3,_io_out_s_T_15[4:0],7'h27}; // @[Cat.scala 31:58]
+  wire [26:0] _io_out_s_T_116 = {_io_out_s_T_31[6:5],2'h1,io_in[4:2],2'h1,io_in[9:7],3'h2,_io_out_s_T_31[4:0],7'h23}; // @[Cat.scala 31:58]
+  wire [26:0] _io_out_s_T_138 = {_io_out_s_T_31[6:5],2'h1,io_in[4:2],2'h1,io_in[9:7],3'h2,_io_out_s_T_31[4:0],7'h27}; // @[Cat.scala 31:58]
+  wire [6:0] _io_out_s_T_148 = io_in[12] ? 7'h7f : 7'h0; // @[Bitwise.scala 74:12]
+  wire [11:0] _io_out_s_T_150 = {_io_out_s_T_148,io_in[6:2]}; // @[Cat.scala 31:58]
+  wire [31:0] io_out_s_8_bits = {_io_out_s_T_148,io_in[6:2],io_in[11:7],3'h0,io_in[11:7],7'h13}; // @[Cat.scala 31:58]
+  wire [9:0] _io_out_s_T_161 = io_in[12] ? 10'h3ff : 10'h0; // @[Bitwise.scala 74:12]
+  wire [20:0] _io_out_s_T_169 = {_io_out_s_T_161,io_in[8],io_in[10:9],io_in[6],io_in[7],io_in[2],io_in[11],io_in[5:3],1'h0
+    }; // @[Cat.scala 31:58]
+  wire [31:0] io_out_s_9_bits = {_io_out_s_T_169[20],_io_out_s_T_169[10:1],_io_out_s_T_169[11],_io_out_s_T_169[19:12],5'h1
+    ,7'h6f}; // @[Cat.scala 31:58]
+  wire [31:0] io_out_s_10_bits = {_io_out_s_T_148,io_in[6:2],5'h0,3'h0,io_in[11:7],7'h13}; // @[Cat.scala 31:58]
+  wire  _io_out_s_opc_T_7 = |_io_out_s_T_150; // @[RVC.scala 90:29]
+  wire [6:0] io_out_s_opc_1 = |_io_out_s_T_150 ? 7'h37 : 7'h3f; // @[RVC.scala 90:20]
+  wire [14:0] _io_out_s_me_T_2 = io_in[12] ? 15'h7fff : 15'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] _io_out_s_me_T_4 = {_io_out_s_me_T_2,io_in[6:2],12'h0}; // @[Cat.scala 31:58]
+  wire [31:0] io_out_s_me_bits = {_io_out_s_me_T_4[31:12],io_in[11:7],io_out_s_opc_1}; // @[Cat.scala 31:58]
+  wire [6:0] io_out_s_opc_2 = _io_out_s_opc_T_7 ? 7'h13 : 7'h1f; // @[RVC.scala 86:20]
+  wire [2:0] _io_out_s_T_230 = io_in[12] ? 3'h7 : 3'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] io_out_s_res_bits = {_io_out_s_T_230,io_in[4:3],io_in[5],io_in[2],io_in[6],4'h0,io_in[11:7],3'h0,io_in[11:
+    7],io_out_s_opc_2}; // @[Cat.scala 31:58]
+  wire [31:0] io_out_s_11_bits = io_in[11:7] == 5'h0 | io_in[11:7] == 5'h2 ? io_out_s_res_bits : io_out_s_me_bits; // @[RVC.scala 92:10]
+  wire [4:0] io_out_s_11_rd = io_in[11:7] == 5'h0 | io_in[11:7] == 5'h2 ? io_in[11:7] : io_in[11:7]; // @[RVC.scala 92:10]
+  wire [4:0] io_out_s_11_rs2 = io_in[11:7] == 5'h0 | io_in[11:7] == 5'h2 ? _io_out_s_T_6 : _io_out_s_T_6; // @[RVC.scala 92:10]
+  wire [25:0] _io_out_s_T_251 = {io_in[12],io_in[6:2],2'h1,io_in[9:7],3'h5,2'h1,io_in[9:7],7'h13}; // @[Cat.scala 31:58]
+  wire [30:0] _GEN_0 = {{5'd0}, _io_out_s_T_251}; // @[RVC.scala 99:23]
+  wire [30:0] _io_out_s_T_260 = _GEN_0 | 31'h40000000; // @[RVC.scala 99:23]
+  wire [31:0] _io_out_s_T_270 = {_io_out_s_T_148,io_in[6:2],2'h1,io_in[9:7],3'h7,2'h1,io_in[9:7],7'h13}; // @[Cat.scala 31:58]
+  wire [2:0] _io_out_s_funct_T_2 = {io_in[12],io_in[6:5]}; // @[Cat.scala 31:58]
+  wire [2:0] _io_out_s_funct_T_4 = _io_out_s_funct_T_2 == 3'h1 ? 3'h4 : 3'h0; // @[package.scala 32:76]
+  wire [2:0] _io_out_s_funct_T_6 = _io_out_s_funct_T_2 == 3'h2 ? 3'h6 : _io_out_s_funct_T_4; // @[package.scala 32:76]
+  wire [2:0] _io_out_s_funct_T_8 = _io_out_s_funct_T_2 == 3'h3 ? 3'h7 : _io_out_s_funct_T_6; // @[package.scala 32:76]
+  wire [2:0] _io_out_s_funct_T_10 = _io_out_s_funct_T_2 == 3'h4 ? 3'h0 : _io_out_s_funct_T_8; // @[package.scala 32:76]
+  wire [2:0] _io_out_s_funct_T_12 = _io_out_s_funct_T_2 == 3'h5 ? 3'h0 : _io_out_s_funct_T_10; // @[package.scala 32:76]
+  wire [2:0] _io_out_s_funct_T_14 = _io_out_s_funct_T_2 == 3'h6 ? 3'h2 : _io_out_s_funct_T_12; // @[package.scala 32:76]
+  wire [2:0] io_out_s_funct = _io_out_s_funct_T_2 == 3'h7 ? 3'h3 : _io_out_s_funct_T_14; // @[package.scala 32:76]
+  wire [30:0] io_out_s_sub = io_in[6:5] == 2'h0 ? 31'h40000000 : 31'h0; // @[RVC.scala 103:22]
+  wire [6:0] io_out_s_opc_3 = io_in[12] ? 7'h3b : 7'h33; // @[RVC.scala 104:22]
+  wire [24:0] _io_out_s_T_277 = {2'h1,io_in[4:2],2'h1,io_in[9:7],io_out_s_funct,2'h1,io_in[9:7],io_out_s_opc_3}; // @[Cat.scala 31:58]
+  wire [30:0] _GEN_1 = {{6'd0}, _io_out_s_T_277}; // @[RVC.scala 105:43]
+  wire [30:0] _io_out_s_T_278 = _GEN_1 | io_out_s_sub; // @[RVC.scala 105:43]
+  wire [30:0] _io_out_s_T_281 = io_in[11:10] == 2'h1 ? _io_out_s_T_260 : {{5'd0}, _io_out_s_T_251}; // @[package.scala 32:76]
+  wire [31:0] _io_out_s_T_283 = io_in[11:10] == 2'h2 ? _io_out_s_T_270 : {{1'd0}, _io_out_s_T_281}; // @[package.scala 32:76]
+  wire [31:0] io_out_s_12_bits = io_in[11:10] == 2'h3 ? {{1'd0}, _io_out_s_T_278} : _io_out_s_T_283; // @[package.scala 32:76]
+  wire [31:0] io_out_s_13_bits = {_io_out_s_T_169[20],_io_out_s_T_169[10:1],_io_out_s_T_169[11],_io_out_s_T_169[19:12],5'h0
+    ,7'h6f}; // @[Cat.scala 31:58]
+  wire [4:0] _io_out_s_T_349 = io_in[12] ? 5'h1f : 5'h0; // @[Bitwise.scala 74:12]
+  wire [12:0] _io_out_s_T_354 = {_io_out_s_T_349,io_in[6:5],io_in[2],io_in[11:10],io_in[4:3],1'h0}; // @[Cat.scala 31:58]
+  wire [31:0] io_out_s_14_bits = {_io_out_s_T_354[12],_io_out_s_T_354[10:5],5'h0,2'h1,io_in[9:7],3'h0,_io_out_s_T_354[4:
+    1],_io_out_s_T_354[11],7'h63}; // @[Cat.scala 31:58]
+  wire [31:0] io_out_s_15_bits = {_io_out_s_T_354[12],_io_out_s_T_354[10:5],5'h0,2'h1,io_in[9:7],3'h1,_io_out_s_T_354[4:
+    1],_io_out_s_T_354[11],7'h63}; // @[Cat.scala 31:58]
+  wire  _io_out_s_load_opc_T_1 = |io_in[11:7]; // @[RVC.scala 113:27]
+  wire [6:0] io_out_s_load_opc = |io_in[11:7] ? 7'h3 : 7'h1f; // @[RVC.scala 113:23]
+  wire [25:0] _io_out_s_T_438 = {io_in[12],io_in[6:2],io_in[11:7],3'h1,io_in[11:7],7'h13}; // @[Cat.scala 31:58]
+  wire [28:0] _io_out_s_T_448 = {io_in[4:2],io_in[12],io_in[6:5],3'h0,5'h2,3'h3,io_in[11:7],7'h7}; // @[Cat.scala 31:58]
+  wire [27:0] _io_out_s_T_457 = {io_in[3:2],io_in[12],io_in[6:4],2'h0,5'h2,3'h2,io_in[11:7],io_out_s_load_opc}; // @[Cat.scala 31:58]
+  wire [27:0] _io_out_s_T_466 = {io_in[3:2],io_in[12],io_in[6:4],2'h0,5'h2,3'h2,io_in[11:7],7'h7}; // @[Cat.scala 31:58]
+  wire [24:0] _io_out_s_mv_T_2 = {io_in[6:2],5'h0,3'h0,io_in[11:7],7'h33}; // @[Cat.scala 31:58]
+  wire [24:0] _io_out_s_add_T_3 = {io_in[6:2],io_in[11:7],3'h0,io_in[11:7],7'h33}; // @[Cat.scala 31:58]
+  wire [24:0] io_out_s_jr = {io_in[6:2],io_in[11:7],3'h0,12'h67}; // @[Cat.scala 31:58]
+  wire [24:0] io_out_s_reserved = {io_out_s_jr[24:7],7'h1f}; // @[Cat.scala 31:58]
+  wire [24:0] _io_out_s_jr_reserved_T_2 = _io_out_s_load_opc_T_1 ? io_out_s_jr : io_out_s_reserved; // @[RVC.scala 134:33]
+  wire  _io_out_s_jr_mv_T_1 = |io_in[6:2]; // @[RVC.scala 135:27]
+  wire [31:0] io_out_s_mv_bits = {{7'd0}, _io_out_s_mv_T_2}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] io_out_s_jr_reserved_bits = {{7'd0}, _io_out_s_jr_reserved_T_2}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] io_out_s_jr_mv_bits = |io_in[6:2] ? io_out_s_mv_bits : io_out_s_jr_reserved_bits; // @[RVC.scala 135:22]
+  wire [4:0] io_out_s_jr_mv_rd = |io_in[6:2] ? io_in[11:7] : 5'h0; // @[RVC.scala 135:22]
+  wire [4:0] io_out_s_jr_mv_rs1 = |io_in[6:2] ? 5'h0 : io_in[11:7]; // @[RVC.scala 135:22]
+  wire [4:0] io_out_s_jr_mv_rs2 = |io_in[6:2] ? io_in[6:2] : io_in[6:2]; // @[RVC.scala 135:22]
+  wire [24:0] io_out_s_jalr = {io_in[6:2],io_in[11:7],3'h0,12'he7}; // @[Cat.scala 31:58]
+  wire [24:0] _io_out_s_ebreak_T_1 = {io_out_s_jr[24:7],7'h73}; // @[Cat.scala 31:58]
+  wire [24:0] io_out_s_ebreak = _io_out_s_ebreak_T_1 | 25'h100000; // @[RVC.scala 137:46]
+  wire [24:0] _io_out_s_jalr_ebreak_T_2 = _io_out_s_load_opc_T_1 ? io_out_s_jalr : io_out_s_ebreak; // @[RVC.scala 138:33]
+  wire [31:0] io_out_s_add_bits = {{7'd0}, _io_out_s_add_T_3}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] io_out_s_jalr_ebreak_bits = {{7'd0}, _io_out_s_jalr_ebreak_T_2}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] io_out_s_jalr_add_bits = _io_out_s_jr_mv_T_1 ? io_out_s_add_bits : io_out_s_jalr_ebreak_bits; // @[RVC.scala 139:25]
+  wire [4:0] io_out_s_jalr_add_rd = _io_out_s_jr_mv_T_1 ? io_in[11:7] : 5'h1; // @[RVC.scala 139:25]
+  wire [4:0] io_out_s_jalr_add_rs1 = _io_out_s_jr_mv_T_1 ? io_in[11:7] : io_in[11:7]; // @[RVC.scala 139:25]
+  wire [31:0] io_out_s_20_bits = io_in[12] ? io_out_s_jalr_add_bits : io_out_s_jr_mv_bits; // @[RVC.scala 140:10]
+  wire [4:0] io_out_s_20_rd = io_in[12] ? io_out_s_jalr_add_rd : io_out_s_jr_mv_rd; // @[RVC.scala 140:10]
+  wire [4:0] io_out_s_20_rs1 = io_in[12] ? io_out_s_jalr_add_rs1 : io_out_s_jr_mv_rs1; // @[RVC.scala 140:10]
+  wire [4:0] io_out_s_20_rs2 = io_in[12] ? io_out_s_jr_mv_rs2 : io_out_s_jr_mv_rs2; // @[RVC.scala 140:10]
+  wire [8:0] _io_out_s_T_473 = {io_in[9:7],io_in[12:10],3'h0}; // @[Cat.scala 31:58]
+  wire [28:0] _io_out_s_T_480 = {_io_out_s_T_473[8:5],io_in[6:2],5'h2,3'h3,_io_out_s_T_473[4:0],7'h27}; // @[Cat.scala 31:58]
+  wire [7:0] _io_out_s_T_486 = {io_in[8:7],io_in[12:9],2'h0}; // @[Cat.scala 31:58]
+  wire [27:0] _io_out_s_T_493 = {_io_out_s_T_486[7:5],io_in[6:2],5'h2,3'h2,_io_out_s_T_486[4:0],7'h23}; // @[Cat.scala 31:58]
+  wire [27:0] _io_out_s_T_506 = {_io_out_s_T_486[7:5],io_in[6:2],5'h2,3'h2,_io_out_s_T_486[4:0],7'h27}; // @[Cat.scala 31:58]
+  wire [4:0] io_out_s_24_rs1 = io_in[19:15]; // @[RVC.scala 20:57]
+  wire [4:0] io_out_s_24_rs2 = io_in[24:20]; // @[RVC.scala 20:79]
+  wire [4:0] _io_out_T_2 = {io_in[1:0],io_in[15:13]}; // @[Cat.scala 31:58]
+  wire [31:0] io_out_s_1_bits = {{4'd0}, _io_out_s_T_20}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] io_out_s_0_bits = {{2'd0}, _io_out_s_T_7}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] _io_out_T_4_bits = _io_out_T_2 == 5'h1 ? io_out_s_1_bits : io_out_s_0_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_4_rd = _io_out_T_2 == 5'h1 ? _io_out_s_T_6 : _io_out_s_T_6; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_4_rs1 = _io_out_T_2 == 5'h1 ? _io_out_s_T_17 : 5'h2; // @[package.scala 32:76]
+  wire [31:0] io_out_s_2_bits = {{5'd0}, _io_out_s_T_36}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] _io_out_T_6_bits = _io_out_T_2 == 5'h2 ? io_out_s_2_bits : _io_out_T_4_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_6_rd = _io_out_T_2 == 5'h2 ? _io_out_s_T_6 : _io_out_T_4_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_6_rs1 = _io_out_T_2 == 5'h2 ? _io_out_s_T_17 : _io_out_T_4_rs1; // @[package.scala 32:76]
+  wire [31:0] io_out_s_3_bits = {{5'd0}, _io_out_s_T_52}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] _io_out_T_8_bits = _io_out_T_2 == 5'h3 ? io_out_s_3_bits : _io_out_T_6_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_8_rd = _io_out_T_2 == 5'h3 ? _io_out_s_T_6 : _io_out_T_6_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_8_rs1 = _io_out_T_2 == 5'h3 ? _io_out_s_T_17 : _io_out_T_6_rs1; // @[package.scala 32:76]
+  wire [31:0] io_out_s_4_bits = {{5'd0}, _io_out_s_T_74}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] _io_out_T_10_bits = _io_out_T_2 == 5'h4 ? io_out_s_4_bits : _io_out_T_8_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_10_rd = _io_out_T_2 == 5'h4 ? _io_out_s_T_6 : _io_out_T_8_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_10_rs1 = _io_out_T_2 == 5'h4 ? _io_out_s_T_17 : _io_out_T_8_rs1; // @[package.scala 32:76]
+  wire [31:0] io_out_s_5_bits = {{4'd0}, _io_out_s_T_94}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] _io_out_T_12_bits = _io_out_T_2 == 5'h5 ? io_out_s_5_bits : _io_out_T_10_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_12_rd = _io_out_T_2 == 5'h5 ? _io_out_s_T_6 : _io_out_T_10_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_12_rs1 = _io_out_T_2 == 5'h5 ? _io_out_s_T_17 : _io_out_T_10_rs1; // @[package.scala 32:76]
+  wire [31:0] io_out_s_6_bits = {{5'd0}, _io_out_s_T_116}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] _io_out_T_14_bits = _io_out_T_2 == 5'h6 ? io_out_s_6_bits : _io_out_T_12_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_14_rd = _io_out_T_2 == 5'h6 ? _io_out_s_T_6 : _io_out_T_12_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_14_rs1 = _io_out_T_2 == 5'h6 ? _io_out_s_T_17 : _io_out_T_12_rs1; // @[package.scala 32:76]
+  wire [31:0] io_out_s_7_bits = {{5'd0}, _io_out_s_T_138}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] _io_out_T_16_bits = _io_out_T_2 == 5'h7 ? io_out_s_7_bits : _io_out_T_14_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_16_rd = _io_out_T_2 == 5'h7 ? _io_out_s_T_6 : _io_out_T_14_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_16_rs1 = _io_out_T_2 == 5'h7 ? _io_out_s_T_17 : _io_out_T_14_rs1; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_18_bits = _io_out_T_2 == 5'h8 ? io_out_s_8_bits : _io_out_T_16_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_18_rd = _io_out_T_2 == 5'h8 ? io_in[11:7] : _io_out_T_16_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_18_rs1 = _io_out_T_2 == 5'h8 ? io_in[11:7] : _io_out_T_16_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_18_rs2 = _io_out_T_2 == 5'h8 ? _io_out_s_T_6 : _io_out_T_16_rd; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_20_bits = _io_out_T_2 == 5'h9 ? io_out_s_9_bits : _io_out_T_18_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_20_rd = _io_out_T_2 == 5'h9 ? 5'h1 : _io_out_T_18_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_20_rs1 = _io_out_T_2 == 5'h9 ? io_in[11:7] : _io_out_T_18_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_20_rs2 = _io_out_T_2 == 5'h9 ? _io_out_s_T_6 : _io_out_T_18_rs2; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_22_bits = _io_out_T_2 == 5'ha ? io_out_s_10_bits : _io_out_T_20_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_22_rd = _io_out_T_2 == 5'ha ? io_in[11:7] : _io_out_T_20_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_22_rs1 = _io_out_T_2 == 5'ha ? 5'h0 : _io_out_T_20_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_22_rs2 = _io_out_T_2 == 5'ha ? _io_out_s_T_6 : _io_out_T_20_rs2; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_24_bits = _io_out_T_2 == 5'hb ? io_out_s_11_bits : _io_out_T_22_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_24_rd = _io_out_T_2 == 5'hb ? io_out_s_11_rd : _io_out_T_22_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_24_rs1 = _io_out_T_2 == 5'hb ? io_out_s_11_rd : _io_out_T_22_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_24_rs2 = _io_out_T_2 == 5'hb ? io_out_s_11_rs2 : _io_out_T_22_rs2; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_26_bits = _io_out_T_2 == 5'hc ? io_out_s_12_bits : _io_out_T_24_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_26_rd = _io_out_T_2 == 5'hc ? _io_out_s_T_17 : _io_out_T_24_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_26_rs1 = _io_out_T_2 == 5'hc ? _io_out_s_T_17 : _io_out_T_24_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_26_rs2 = _io_out_T_2 == 5'hc ? _io_out_s_T_6 : _io_out_T_24_rs2; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_28_bits = _io_out_T_2 == 5'hd ? io_out_s_13_bits : _io_out_T_26_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_28_rd = _io_out_T_2 == 5'hd ? 5'h0 : _io_out_T_26_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_28_rs1 = _io_out_T_2 == 5'hd ? _io_out_s_T_17 : _io_out_T_26_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_28_rs2 = _io_out_T_2 == 5'hd ? _io_out_s_T_6 : _io_out_T_26_rs2; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_30_bits = _io_out_T_2 == 5'he ? io_out_s_14_bits : _io_out_T_28_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_30_rd = _io_out_T_2 == 5'he ? _io_out_s_T_17 : _io_out_T_28_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_30_rs1 = _io_out_T_2 == 5'he ? _io_out_s_T_17 : _io_out_T_28_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_30_rs2 = _io_out_T_2 == 5'he ? 5'h0 : _io_out_T_28_rs2; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_32_bits = _io_out_T_2 == 5'hf ? io_out_s_15_bits : _io_out_T_30_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_32_rd = _io_out_T_2 == 5'hf ? 5'h0 : _io_out_T_30_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_32_rs1 = _io_out_T_2 == 5'hf ? _io_out_s_T_17 : _io_out_T_30_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_32_rs2 = _io_out_T_2 == 5'hf ? 5'h0 : _io_out_T_30_rs2; // @[package.scala 32:76]
+  wire [31:0] io_out_s_16_bits = {{6'd0}, _io_out_s_T_438}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] _io_out_T_34_bits = _io_out_T_2 == 5'h10 ? io_out_s_16_bits : _io_out_T_32_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_34_rd = _io_out_T_2 == 5'h10 ? io_in[11:7] : _io_out_T_32_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_34_rs1 = _io_out_T_2 == 5'h10 ? io_in[11:7] : _io_out_T_32_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_34_rs2 = _io_out_T_2 == 5'h10 ? io_in[6:2] : _io_out_T_32_rs2; // @[package.scala 32:76]
+  wire [31:0] io_out_s_17_bits = {{3'd0}, _io_out_s_T_448}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] _io_out_T_36_bits = _io_out_T_2 == 5'h11 ? io_out_s_17_bits : _io_out_T_34_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_36_rd = _io_out_T_2 == 5'h11 ? io_in[11:7] : _io_out_T_34_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_36_rs1 = _io_out_T_2 == 5'h11 ? 5'h2 : _io_out_T_34_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_36_rs2 = _io_out_T_2 == 5'h11 ? io_in[6:2] : _io_out_T_34_rs2; // @[package.scala 32:76]
+  wire [31:0] io_out_s_18_bits = {{4'd0}, _io_out_s_T_457}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] _io_out_T_38_bits = _io_out_T_2 == 5'h12 ? io_out_s_18_bits : _io_out_T_36_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_38_rd = _io_out_T_2 == 5'h12 ? io_in[11:7] : _io_out_T_36_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_38_rs1 = _io_out_T_2 == 5'h12 ? 5'h2 : _io_out_T_36_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_38_rs2 = _io_out_T_2 == 5'h12 ? io_in[6:2] : _io_out_T_36_rs2; // @[package.scala 32:76]
+  wire [31:0] io_out_s_19_bits = {{4'd0}, _io_out_s_T_466}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] _io_out_T_40_bits = _io_out_T_2 == 5'h13 ? io_out_s_19_bits : _io_out_T_38_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_40_rd = _io_out_T_2 == 5'h13 ? io_in[11:7] : _io_out_T_38_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_40_rs1 = _io_out_T_2 == 5'h13 ? 5'h2 : _io_out_T_38_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_40_rs2 = _io_out_T_2 == 5'h13 ? io_in[6:2] : _io_out_T_38_rs2; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_42_bits = _io_out_T_2 == 5'h14 ? io_out_s_20_bits : _io_out_T_40_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_42_rd = _io_out_T_2 == 5'h14 ? io_out_s_20_rd : _io_out_T_40_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_42_rs1 = _io_out_T_2 == 5'h14 ? io_out_s_20_rs1 : _io_out_T_40_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_42_rs2 = _io_out_T_2 == 5'h14 ? io_out_s_20_rs2 : _io_out_T_40_rs2; // @[package.scala 32:76]
+  wire [31:0] io_out_s_21_bits = {{3'd0}, _io_out_s_T_480}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] _io_out_T_44_bits = _io_out_T_2 == 5'h15 ? io_out_s_21_bits : _io_out_T_42_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_44_rd = _io_out_T_2 == 5'h15 ? io_in[11:7] : _io_out_T_42_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_44_rs1 = _io_out_T_2 == 5'h15 ? 5'h2 : _io_out_T_42_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_44_rs2 = _io_out_T_2 == 5'h15 ? io_in[6:2] : _io_out_T_42_rs2; // @[package.scala 32:76]
+  wire [31:0] io_out_s_22_bits = {{4'd0}, _io_out_s_T_493}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] _io_out_T_46_bits = _io_out_T_2 == 5'h16 ? io_out_s_22_bits : _io_out_T_44_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_46_rd = _io_out_T_2 == 5'h16 ? io_in[11:7] : _io_out_T_44_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_46_rs1 = _io_out_T_2 == 5'h16 ? 5'h2 : _io_out_T_44_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_46_rs2 = _io_out_T_2 == 5'h16 ? io_in[6:2] : _io_out_T_44_rs2; // @[package.scala 32:76]
+  wire [31:0] io_out_s_23_bits = {{4'd0}, _io_out_s_T_506}; // @[RVC.scala 21:19 22:14]
+  wire [31:0] _io_out_T_48_bits = _io_out_T_2 == 5'h17 ? io_out_s_23_bits : _io_out_T_46_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_48_rd = _io_out_T_2 == 5'h17 ? io_in[11:7] : _io_out_T_46_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_48_rs1 = _io_out_T_2 == 5'h17 ? 5'h2 : _io_out_T_46_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_48_rs2 = _io_out_T_2 == 5'h17 ? io_in[6:2] : _io_out_T_46_rs2; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_50_bits = _io_out_T_2 == 5'h18 ? io_in : _io_out_T_48_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_50_rd = _io_out_T_2 == 5'h18 ? io_in[11:7] : _io_out_T_48_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_50_rs1 = _io_out_T_2 == 5'h18 ? io_out_s_24_rs1 : _io_out_T_48_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_50_rs2 = _io_out_T_2 == 5'h18 ? io_out_s_24_rs2 : _io_out_T_48_rs2; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_52_bits = _io_out_T_2 == 5'h19 ? io_in : _io_out_T_50_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_52_rd = _io_out_T_2 == 5'h19 ? io_in[11:7] : _io_out_T_50_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_52_rs1 = _io_out_T_2 == 5'h19 ? io_out_s_24_rs1 : _io_out_T_50_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_52_rs2 = _io_out_T_2 == 5'h19 ? io_out_s_24_rs2 : _io_out_T_50_rs2; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_54_bits = _io_out_T_2 == 5'h1a ? io_in : _io_out_T_52_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_54_rd = _io_out_T_2 == 5'h1a ? io_in[11:7] : _io_out_T_52_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_54_rs1 = _io_out_T_2 == 5'h1a ? io_out_s_24_rs1 : _io_out_T_52_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_54_rs2 = _io_out_T_2 == 5'h1a ? io_out_s_24_rs2 : _io_out_T_52_rs2; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_56_bits = _io_out_T_2 == 5'h1b ? io_in : _io_out_T_54_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_56_rd = _io_out_T_2 == 5'h1b ? io_in[11:7] : _io_out_T_54_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_56_rs1 = _io_out_T_2 == 5'h1b ? io_out_s_24_rs1 : _io_out_T_54_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_56_rs2 = _io_out_T_2 == 5'h1b ? io_out_s_24_rs2 : _io_out_T_54_rs2; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_58_bits = _io_out_T_2 == 5'h1c ? io_in : _io_out_T_56_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_58_rd = _io_out_T_2 == 5'h1c ? io_in[11:7] : _io_out_T_56_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_58_rs1 = _io_out_T_2 == 5'h1c ? io_out_s_24_rs1 : _io_out_T_56_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_58_rs2 = _io_out_T_2 == 5'h1c ? io_out_s_24_rs2 : _io_out_T_56_rs2; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_60_bits = _io_out_T_2 == 5'h1d ? io_in : _io_out_T_58_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_60_rd = _io_out_T_2 == 5'h1d ? io_in[11:7] : _io_out_T_58_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_60_rs1 = _io_out_T_2 == 5'h1d ? io_out_s_24_rs1 : _io_out_T_58_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_60_rs2 = _io_out_T_2 == 5'h1d ? io_out_s_24_rs2 : _io_out_T_58_rs2; // @[package.scala 32:76]
+  wire [31:0] _io_out_T_62_bits = _io_out_T_2 == 5'h1e ? io_in : _io_out_T_60_bits; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_62_rd = _io_out_T_2 == 5'h1e ? io_in[11:7] : _io_out_T_60_rd; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_62_rs1 = _io_out_T_2 == 5'h1e ? io_out_s_24_rs1 : _io_out_T_60_rs1; // @[package.scala 32:76]
+  wire [4:0] _io_out_T_62_rs2 = _io_out_T_2 == 5'h1e ? io_out_s_24_rs2 : _io_out_T_60_rs2; // @[package.scala 32:76]
+  assign io_out_bits = _io_out_T_2 == 5'h1f ? io_in : _io_out_T_62_bits; // @[package.scala 32:76]
+  assign io_out_rd = _io_out_T_2 == 5'h1f ? io_in[11:7] : _io_out_T_62_rd; // @[package.scala 32:76]
+  assign io_out_rs1 = _io_out_T_2 == 5'h1f ? io_out_s_24_rs1 : _io_out_T_62_rs1; // @[package.scala 32:76]
+  assign io_out_rs2 = _io_out_T_2 == 5'h1f ? io_out_s_24_rs2 : _io_out_T_62_rs2; // @[package.scala 32:76]
+  assign io_rvc = io_in[1:0] != 2'h3; // @[RVC.scala 163:26]
+endmodule
+module IBuf(
+  input         clock,
+  input         reset,
+  output        io_imem_ready,
+  input         io_imem_valid,
+  input         io_imem_bits_btb_taken,
+  input         io_imem_bits_btb_bridx,
+  input  [4:0]  io_imem_bits_btb_entry,
+  input  [7:0]  io_imem_bits_btb_bht_history,
+  input  [31:0] io_imem_bits_pc,
+  input  [31:0] io_imem_bits_data,
+  input         io_imem_bits_xcpt_ae_inst,
+  input         io_imem_bits_replay,
+  input         io_kill,
+  output [31:0] io_pc,
+  output [4:0]  io_btb_resp_entry,
+  output [7:0]  io_btb_resp_bht_history,
+  input         io_inst_0_ready,
+  output        io_inst_0_valid,
+  output        io_inst_0_bits_xcpt0_ae_inst,
+  output        io_inst_0_bits_xcpt1_pf_inst,
+  output        io_inst_0_bits_xcpt1_gf_inst,
+  output        io_inst_0_bits_xcpt1_ae_inst,
+  output        io_inst_0_bits_replay,
+  output        io_inst_0_bits_rvc,
+  output [31:0] io_inst_0_bits_inst_bits,
+  output [4:0]  io_inst_0_bits_inst_rd,
+  output [4:0]  io_inst_0_bits_inst_rs1,
+  output [4:0]  io_inst_0_bits_inst_rs2,
+  output [31:0] io_inst_0_bits_raw
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] exp_io_in; // @[IBuf.scala 86:21]
+  wire [31:0] exp_io_out_bits; // @[IBuf.scala 86:21]
+  wire [4:0] exp_io_out_rd; // @[IBuf.scala 86:21]
+  wire [4:0] exp_io_out_rs1; // @[IBuf.scala 86:21]
+  wire [4:0] exp_io_out_rs2; // @[IBuf.scala 86:21]
+  wire  exp_io_rvc; // @[IBuf.scala 86:21]
+  reg  nBufValid; // @[IBuf.scala 34:47]
+  reg [31:0] buf__pc; // @[IBuf.scala 35:16]
+  reg [31:0] buf__data; // @[IBuf.scala 35:16]
+  reg  buf__xcpt_ae_inst; // @[IBuf.scala 35:16]
+  reg  buf__replay; // @[IBuf.scala 35:16]
+  reg [4:0] ibufBTBResp_entry; // @[IBuf.scala 36:24]
+  reg [7:0] ibufBTBResp_bht_history; // @[IBuf.scala 36:24]
+  wire  pcWordBits = io_imem_bits_pc[1]; // @[package.scala 154:13]
+  wire [1:0] _nIC_T = io_imem_bits_btb_bridx + 1'h1; // @[IBuf.scala 41:64]
+  wire [1:0] _nIC_T_1 = io_imem_bits_btb_taken ? _nIC_T : 2'h2; // @[IBuf.scala 41:16]
+  wire [1:0] _GEN_58 = {{1'd0}, pcWordBits}; // @[IBuf.scala 41:88]
+  wire [1:0] nIC = _nIC_T_1 - _GEN_58; // @[IBuf.scala 41:88]
+  wire [1:0] _nValid_T = io_imem_valid ? nIC : 2'h0; // @[IBuf.scala 43:19]
+  wire [1:0] _GEN_59 = {{1'd0}, nBufValid}; // @[IBuf.scala 43:49]
+  wire [1:0] nValid = _nValid_T + _GEN_59; // @[IBuf.scala 43:49]
+  wire [3:0] _valid_T = 4'h1 << nValid; // @[OneHot.scala 57:35]
+  wire [3:0] _valid_T_2 = _valid_T - 4'h1; // @[IBuf.scala 74:33]
+  wire [1:0] valid = _valid_T_2[1:0]; // @[IBuf.scala 74:37]
+  wire [1:0] _full_insn_T_2 = {{1'd0}, valid[1]}; // @[IBuf.scala 93:42]
+  wire [1:0] _bufMask_T = 2'h1 << nBufValid; // @[OneHot.scala 57:35]
+  wire [1:0] bufMask = _bufMask_T - 2'h1; // @[IBuf.scala 75:37]
+  wire [1:0] buf_replay = buf__replay ? bufMask : 2'h0; // @[IBuf.scala 77:23]
+  wire  full_insn = exp_io_rvc | _full_insn_T_2[0] | buf_replay[0]; // @[IBuf.scala 93:48]
+  wire [1:0] _nReady_T_4 = exp_io_rvc ? 2'h1 : 2'h2; // @[IBuf.scala 102:71]
+  wire [1:0] nReady = full_insn ? _nReady_T_4 : 2'h0; // @[IBuf.scala 102:{56,65}]
+  wire [1:0] nICReady = nReady - _GEN_59; // @[IBuf.scala 42:25]
+  wire  _io_imem_ready_T = nReady >= _GEN_59; // @[IBuf.scala 44:47]
+  wire [1:0] _io_imem_ready_T_4 = nIC - nICReady; // @[IBuf.scala 44:92]
+  wire  _io_imem_ready_T_5 = 2'h1 >= _io_imem_ready_T_4; // @[IBuf.scala 44:85]
+  wire  _nBufValid_T_2 = _io_imem_ready_T | ~nBufValid; // @[package.scala 209:38]
+  wire [1:0] _nBufValid_T_4 = _GEN_59 - nReady; // @[IBuf.scala 48:65]
+  wire [1:0] _nBufValid_T_5 = _nBufValid_T_2 ? 2'h0 : _nBufValid_T_4; // @[IBuf.scala 48:23]
+  wire [1:0] shamt = _GEN_58 + nICReady; // @[IBuf.scala 55:32]
+  wire [63:0] buf_data_data = {io_imem_bits_data[31:16],io_imem_bits_data[31:16],io_imem_bits_data}; // @[Cat.scala 31:58]
+  wire [5:0] _buf_data_T = {shamt, 4'h0}; // @[IBuf.scala 128:19]
+  wire [63:0] _buf_data_T_1 = buf_data_data >> _buf_data_T; // @[IBuf.scala 128:10]
+  wire [31:0] _buf_pc_T_1 = io_imem_bits_pc & 32'hfffffffc; // @[IBuf.scala 59:35]
+  wire [2:0] _buf_pc_T_2 = {nICReady, 1'h0}; // @[IBuf.scala 59:80]
+  wire [31:0] _GEN_67 = {{29'd0}, _buf_pc_T_2}; // @[IBuf.scala 59:68]
+  wire [31:0] _buf_pc_T_4 = io_imem_bits_pc + _GEN_67; // @[IBuf.scala 59:68]
+  wire [31:0] _buf_pc_T_5 = _buf_pc_T_4 & 32'h3; // @[IBuf.scala 59:109]
+  wire [31:0] _buf_pc_T_6 = _buf_pc_T_1 | _buf_pc_T_5; // @[IBuf.scala 59:49]
+  wire [1:0] _GEN_0 = io_imem_valid & _io_imem_ready_T & nICReady < nIC & _io_imem_ready_T_5 ? _io_imem_ready_T_4 :
+    _nBufValid_T_5; // @[IBuf.scala 48:17 54:92 56:19]
+  wire [1:0] _GEN_24 = io_inst_0_ready ? _GEN_0 : {{1'd0}, nBufValid}; // @[IBuf.scala 47:29 34:47]
+  wire [1:0] _GEN_48 = io_kill ? 2'h0 : _GEN_24; // @[IBuf.scala 63:20 64:17]
+  wire [1:0] _icShiftAmt_T_1 = 2'h2 + _GEN_59; // @[IBuf.scala 68:32]
+  wire [1:0] icShiftAmt = _icShiftAmt_T_1 - _GEN_58; // @[IBuf.scala 68:44]
+  wire [63:0] _icData_T_2 = {io_imem_bits_data,io_imem_bits_data[15:0],io_imem_bits_data[15:0]}; // @[Cat.scala 31:58]
+  wire [127:0] icData_data = {_icData_T_2[63:48],_icData_T_2[63:48],_icData_T_2[63:48],_icData_T_2[63:48],
+    io_imem_bits_data,io_imem_bits_data[15:0],io_imem_bits_data[15:0]}; // @[Cat.scala 31:58]
+  wire [5:0] _icData_T_3 = {icShiftAmt, 4'h0}; // @[IBuf.scala 121:19]
+  wire [190:0] _GEN_1 = {{63'd0}, icData_data}; // @[IBuf.scala 121:10]
+  wire [190:0] _icData_T_4 = _GEN_1 << _icData_T_3; // @[IBuf.scala 121:10]
+  wire [31:0] icData = _icData_T_4[95:64]; // @[package.scala 154:13]
+  wire [4:0] _icMask_T_1 = {nBufValid, 4'h0}; // @[IBuf.scala 71:65]
+  wire [62:0] _icMask_T_2 = 63'hffffffff << _icMask_T_1; // @[IBuf.scala 71:51]
+  wire [31:0] icMask = _icMask_T_2[31:0]; // @[IBuf.scala 71:92]
+  wire [31:0] _inst_T = icData & icMask; // @[IBuf.scala 72:21]
+  wire [31:0] _inst_T_1 = ~icMask; // @[IBuf.scala 72:43]
+  wire [31:0] _inst_T_2 = buf__data & _inst_T_1; // @[IBuf.scala 72:41]
+  wire  xcpt_1_ae_inst = bufMask[1] ? buf__xcpt_ae_inst : io_imem_bits_xcpt_ae_inst; // @[IBuf.scala 76:53]
+  wire [1:0] _ic_replay_T = ~bufMask; // @[IBuf.scala 78:65]
+  wire [1:0] _ic_replay_T_1 = valid & _ic_replay_T; // @[IBuf.scala 78:63]
+  wire [1:0] _ic_replay_T_2 = io_imem_bits_replay ? _ic_replay_T_1 : 2'h0; // @[IBuf.scala 78:35]
+  wire [1:0] ic_replay = buf_replay | _ic_replay_T_2; // @[IBuf.scala 78:30]
+  wire [1:0] _replay_T_5 = {{1'd0}, ic_replay[1]}; // @[IBuf.scala 92:61]
+  wire [2:0] _io_inst_0_bits_xcpt1_T_4 = {2'h0,xcpt_1_ae_inst}; // @[IBuf.scala 96:63]
+  wire [2:0] _io_inst_0_bits_xcpt1_T_5 = exp_io_rvc ? 3'h0 : _io_inst_0_bits_xcpt1_T_4; // @[IBuf.scala 96:35]
+  wire [1:0] _T_21 = {{1'd0}, bufMask[1]}; // @[IBuf.scala 100:50]
+  RVCExpander exp ( // @[IBuf.scala 86:21]
+    .io_in(exp_io_in),
+    .io_out_bits(exp_io_out_bits),
+    .io_out_rd(exp_io_out_rd),
+    .io_out_rs1(exp_io_out_rs1),
+    .io_out_rs2(exp_io_out_rs2),
+    .io_rvc(exp_io_rvc)
+  );
+  assign io_imem_ready = io_inst_0_ready & nReady >= _GEN_59 & (nICReady >= nIC | 2'h1 >= _io_imem_ready_T_4); // @[IBuf.scala 44:60]
+  assign io_pc = nBufValid > 1'h0 ? buf__pc : io_imem_bits_pc; // @[IBuf.scala 82:15]
+  assign io_btb_resp_entry = bufMask[0] & exp_io_rvc | _T_21[0] ? ibufBTBResp_entry : io_imem_bits_btb_entry; // @[IBuf.scala 100:{57,71} 81:15]
+  assign io_btb_resp_bht_history = bufMask[0] & exp_io_rvc | _T_21[0] ? ibufBTBResp_bht_history :
+    io_imem_bits_btb_bht_history; // @[IBuf.scala 100:{57,71} 81:15]
+  assign io_inst_0_valid = valid[0] & full_insn; // @[IBuf.scala 94:36]
+  assign io_inst_0_bits_xcpt0_ae_inst = bufMask[0] ? buf__xcpt_ae_inst : io_imem_bits_xcpt_ae_inst; // @[IBuf.scala 76:53]
+  assign io_inst_0_bits_xcpt1_pf_inst = _io_inst_0_bits_xcpt1_T_5[2]; // @[IBuf.scala 96:79]
+  assign io_inst_0_bits_xcpt1_gf_inst = _io_inst_0_bits_xcpt1_T_5[1]; // @[IBuf.scala 96:79]
+  assign io_inst_0_bits_xcpt1_ae_inst = _io_inst_0_bits_xcpt1_T_5[0]; // @[IBuf.scala 96:79]
+  assign io_inst_0_bits_replay = ic_replay[0] | ~exp_io_rvc & _replay_T_5[0]; // @[IBuf.scala 92:33]
+  assign io_inst_0_bits_rvc = exp_io_rvc; // @[IBuf.scala 98:27]
+  assign io_inst_0_bits_inst_bits = exp_io_out_bits; // @[IBuf.scala 88:26]
+  assign io_inst_0_bits_inst_rd = exp_io_out_rd; // @[IBuf.scala 88:26]
+  assign io_inst_0_bits_inst_rs1 = exp_io_out_rs1; // @[IBuf.scala 88:26]
+  assign io_inst_0_bits_inst_rs2 = exp_io_out_rs2; // @[IBuf.scala 88:26]
+  assign io_inst_0_bits_raw = _inst_T | _inst_T_2; // @[IBuf.scala 72:30]
+  assign exp_io_in = _inst_T | _inst_T_2; // @[IBuf.scala 72:30]
+  always @(posedge clock) begin
+    if (reset) begin // @[IBuf.scala 34:47]
+      nBufValid <= 1'h0; // @[IBuf.scala 34:47]
+    end else begin
+      nBufValid <= _GEN_48[0];
+    end
+    if (io_inst_0_ready) begin // @[IBuf.scala 47:29]
+      if (io_imem_valid & _io_imem_ready_T & nICReady < nIC & _io_imem_ready_T_5) begin // @[IBuf.scala 54:92]
+        buf__pc <= _buf_pc_T_6; // @[IBuf.scala 59:16]
+      end
+    end
+    if (io_inst_0_ready) begin // @[IBuf.scala 47:29]
+      if (io_imem_valid & _io_imem_ready_T & nICReady < nIC & _io_imem_ready_T_5) begin // @[IBuf.scala 54:92]
+        buf__data <= {{16'd0}, _buf_data_T_1[15:0]}; // @[IBuf.scala 58:18]
+      end
+    end
+    if (io_inst_0_ready) begin // @[IBuf.scala 47:29]
+      if (io_imem_valid & _io_imem_ready_T & nICReady < nIC & _io_imem_ready_T_5) begin // @[IBuf.scala 54:92]
+        buf__xcpt_ae_inst <= io_imem_bits_xcpt_ae_inst; // @[IBuf.scala 57:13]
+      end
+    end
+    if (io_inst_0_ready) begin // @[IBuf.scala 47:29]
+      if (io_imem_valid & _io_imem_ready_T & nICReady < nIC & _io_imem_ready_T_5) begin // @[IBuf.scala 54:92]
+        buf__replay <= io_imem_bits_replay; // @[IBuf.scala 57:13]
+      end
+    end
+    if (io_inst_0_ready) begin // @[IBuf.scala 47:29]
+      if (io_imem_valid & _io_imem_ready_T & nICReady < nIC & _io_imem_ready_T_5) begin // @[IBuf.scala 54:92]
+        ibufBTBResp_entry <= io_imem_bits_btb_entry; // @[IBuf.scala 60:21]
+      end
+    end
+    if (io_inst_0_ready) begin // @[IBuf.scala 47:29]
+      if (io_imem_valid & _io_imem_ready_T & nICReady < nIC & _io_imem_ready_T_5) begin // @[IBuf.scala 54:92]
+        ibufBTBResp_bht_history <= io_imem_bits_btb_bht_history; // @[IBuf.scala 60:21]
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~io_imem_valid | ~io_imem_bits_btb_taken | io_imem_bits_btb_bridx >= pcWordBits) & ~reset) begin
+          $fatal; // @[IBuf.scala 79:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~(~io_imem_valid | ~io_imem_bits_btb_taken | io_imem_bits_btb_bridx >= pcWordBits)) 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]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  buf__pc = _RAND_1[31:0];
+  _RAND_2 = {1{`RANDOM}};
+  buf__data = _RAND_2[31:0];
+  _RAND_3 = {1{`RANDOM}};
+  buf__xcpt_ae_inst = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  buf__replay = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  ibufBTBResp_entry = _RAND_5[4:0];
+  _RAND_6 = {1{`RANDOM}};
+  ibufBTBResp_bht_history = _RAND_6[7:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module CSRFile(
+  input         clock,
+  input         reset,
+  input         io_ungated_clock,
+  input         io_interrupts_debug,
+  input         io_interrupts_mtip,
+  input         io_interrupts_msip,
+  input         io_interrupts_meip,
+  input         io_interrupts_seip,
+  input         io_hartid,
+  input  [11:0] io_rw_addr,
+  input  [2:0]  io_rw_cmd,
+  output [31:0] io_rw_rdata,
+  input  [31:0] io_rw_wdata,
+  input  [31:0] io_decode_0_inst,
+  output        io_decode_0_fp_illegal,
+  output        io_decode_0_fp_csr,
+  output        io_decode_0_read_illegal,
+  output        io_decode_0_write_illegal,
+  output        io_decode_0_write_flush,
+  output        io_decode_0_system_illegal,
+  output        io_csr_stall,
+  output        io_eret,
+  output        io_singleStep,
+  output        io_status_debug,
+  output        io_status_cease,
+  output        io_status_wfi,
+  output [31:0] io_status_isa,
+  output [1:0]  io_status_dprv,
+  output        io_status_dv,
+  output [1:0]  io_status_prv,
+  output        io_status_v,
+  output        io_status_sd,
+  output [22:0] io_status_zero2,
+  output        io_status_mpv,
+  output        io_status_gva,
+  output        io_status_mbe,
+  output        io_status_sbe,
+  output [1:0]  io_status_sxl,
+  output [1:0]  io_status_uxl,
+  output        io_status_sd_rv32,
+  output [7:0]  io_status_zero1,
+  output        io_status_tsr,
+  output        io_status_tw,
+  output        io_status_tvm,
+  output        io_status_mxr,
+  output        io_status_sum,
+  output        io_status_mprv,
+  output [1:0]  io_status_xs,
+  output [1:0]  io_status_fs,
+  output [1:0]  io_status_mpp,
+  output [1:0]  io_status_vs,
+  output        io_status_spp,
+  output        io_status_mpie,
+  output        io_status_ube,
+  output        io_status_spie,
+  output        io_status_upie,
+  output        io_status_mie,
+  output        io_status_hie,
+  output        io_status_sie,
+  output        io_status_uie,
+  output [31:0] io_evec,
+  input         io_exception,
+  input         io_retire,
+  input  [31:0] io_cause,
+  input  [31:0] io_pc,
+  input  [31:0] io_tval,
+  input         io_gva,
+  output [31:0] io_time,
+  output        io_interrupt,
+  output [31:0] io_interrupt_cause,
+  output        io_bp_0_control_action,
+  output        io_bp_0_control_chain,
+  output [1:0]  io_bp_0_control_tmatch,
+  output        io_bp_0_control_m,
+  output        io_bp_0_control_s,
+  output        io_bp_0_control_u,
+  output        io_bp_0_control_x,
+  output        io_bp_0_control_w,
+  output        io_bp_0_control_r,
+  output [31:0] io_bp_0_address,
+  output        io_bp_1_control_action,
+  output [1:0]  io_bp_1_control_tmatch,
+  output        io_bp_1_control_m,
+  output        io_bp_1_control_s,
+  output        io_bp_1_control_u,
+  output        io_bp_1_control_x,
+  output        io_bp_1_control_w,
+  output        io_bp_1_control_r,
+  output [31:0] io_bp_1_address,
+  output        io_pmp_0_cfg_l,
+  output [1:0]  io_pmp_0_cfg_a,
+  output        io_pmp_0_cfg_x,
+  output        io_pmp_0_cfg_w,
+  output        io_pmp_0_cfg_r,
+  output [28:0] io_pmp_0_addr,
+  output [30:0] io_pmp_0_mask,
+  output        io_pmp_1_cfg_l,
+  output [1:0]  io_pmp_1_cfg_a,
+  output        io_pmp_1_cfg_x,
+  output        io_pmp_1_cfg_w,
+  output        io_pmp_1_cfg_r,
+  output [28:0] io_pmp_1_addr,
+  output [30:0] io_pmp_1_mask,
+  output        io_pmp_2_cfg_l,
+  output [1:0]  io_pmp_2_cfg_a,
+  output        io_pmp_2_cfg_x,
+  output        io_pmp_2_cfg_w,
+  output        io_pmp_2_cfg_r,
+  output [28:0] io_pmp_2_addr,
+  output [30:0] io_pmp_2_mask,
+  output        io_pmp_3_cfg_l,
+  output [1:0]  io_pmp_3_cfg_a,
+  output        io_pmp_3_cfg_x,
+  output        io_pmp_3_cfg_w,
+  output        io_pmp_3_cfg_r,
+  output [28:0] io_pmp_3_addr,
+  output [30:0] io_pmp_3_mask,
+  output        io_pmp_4_cfg_l,
+  output [1:0]  io_pmp_4_cfg_a,
+  output        io_pmp_4_cfg_x,
+  output        io_pmp_4_cfg_w,
+  output        io_pmp_4_cfg_r,
+  output [28:0] io_pmp_4_addr,
+  output [30:0] io_pmp_4_mask,
+  output        io_pmp_5_cfg_l,
+  output [1:0]  io_pmp_5_cfg_a,
+  output        io_pmp_5_cfg_x,
+  output        io_pmp_5_cfg_w,
+  output        io_pmp_5_cfg_r,
+  output [28:0] io_pmp_5_addr,
+  output [30:0] io_pmp_5_mask,
+  output        io_pmp_6_cfg_l,
+  output [1:0]  io_pmp_6_cfg_a,
+  output        io_pmp_6_cfg_x,
+  output        io_pmp_6_cfg_w,
+  output        io_pmp_6_cfg_r,
+  output [28:0] io_pmp_6_addr,
+  output [30:0] io_pmp_6_mask,
+  output        io_pmp_7_cfg_l,
+  output [1:0]  io_pmp_7_cfg_a,
+  output        io_pmp_7_cfg_x,
+  output        io_pmp_7_cfg_w,
+  output        io_pmp_7_cfg_r,
+  output [28:0] io_pmp_7_addr,
+  output [30:0] io_pmp_7_mask,
+  output        io_inhibit_cycle,
+  input  [31:0] io_inst_0,
+  output        io_trace_0_valid,
+  output [31:0] io_trace_0_iaddr,
+  output [31:0] io_trace_0_insn,
+  output        io_trace_0_exception,
+  output [31:0] io_customCSRs_0_value
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+  reg [31:0] _RAND_34;
+  reg [31:0] _RAND_35;
+  reg [31:0] _RAND_36;
+  reg [31:0] _RAND_37;
+  reg [31:0] _RAND_38;
+  reg [31:0] _RAND_39;
+  reg [31:0] _RAND_40;
+  reg [31:0] _RAND_41;
+  reg [31:0] _RAND_42;
+  reg [31:0] _RAND_43;
+  reg [31:0] _RAND_44;
+  reg [31:0] _RAND_45;
+  reg [31:0] _RAND_46;
+  reg [31:0] _RAND_47;
+  reg [31:0] _RAND_48;
+  reg [31:0] _RAND_49;
+  reg [31:0] _RAND_50;
+  reg [31:0] _RAND_51;
+  reg [31:0] _RAND_52;
+  reg [31:0] _RAND_53;
+  reg [31:0] _RAND_54;
+  reg [31:0] _RAND_55;
+  reg [31:0] _RAND_56;
+  reg [31:0] _RAND_57;
+  reg [31:0] _RAND_58;
+  reg [31:0] _RAND_59;
+  reg [31:0] _RAND_60;
+  reg [31:0] _RAND_61;
+  reg [31:0] _RAND_62;
+  reg [31:0] _RAND_63;
+  reg [31:0] _RAND_64;
+  reg [31:0] _RAND_65;
+  reg [31:0] _RAND_66;
+  reg [31:0] _RAND_67;
+  reg [31:0] _RAND_68;
+  reg [31:0] _RAND_69;
+  reg [31:0] _RAND_70;
+  reg [31:0] _RAND_71;
+  reg [31:0] _RAND_72;
+  reg [31:0] _RAND_73;
+  reg [31:0] _RAND_74;
+  reg [31:0] _RAND_75;
+  reg [31:0] _RAND_76;
+  reg [31:0] _RAND_77;
+  reg [31:0] _RAND_78;
+  reg [31:0] _RAND_79;
+  reg [31:0] _RAND_80;
+  reg [31:0] _RAND_81;
+  reg [31:0] _RAND_82;
+  reg [31:0] _RAND_83;
+  reg [31:0] _RAND_84;
+  reg [31:0] _RAND_85;
+  reg [31:0] _RAND_86;
+  reg [31:0] _RAND_87;
+  reg [31:0] _RAND_88;
+  reg [31:0] _RAND_89;
+  reg [31:0] _RAND_90;
+  reg [31:0] _RAND_91;
+  reg [31:0] _RAND_92;
+  reg [31:0] _RAND_93;
+  reg [31:0] _RAND_94;
+  reg [31:0] _RAND_95;
+  reg [31:0] _RAND_96;
+  reg [31:0] _RAND_97;
+  reg [31:0] _RAND_98;
+  reg [31:0] _RAND_99;
+  reg [31:0] _RAND_100;
+  reg [31:0] _RAND_101;
+  reg [31:0] _RAND_102;
+  reg [31:0] _RAND_103;
+  reg [31:0] _RAND_104;
+  reg [31:0] _RAND_105;
+  reg [31:0] _RAND_106;
+  reg [31:0] _RAND_107;
+  reg [31:0] _RAND_108;
+  reg [31:0] _RAND_109;
+  reg [31:0] _RAND_110;
+  reg [31:0] _RAND_111;
+  reg [31:0] _RAND_112;
+  reg [63:0] _RAND_113;
+  reg [31:0] _RAND_114;
+  reg [63:0] _RAND_115;
+  reg [31:0] _RAND_116;
+  reg [31:0] _RAND_117;
+  reg [31:0] _RAND_118;
+`endif // RANDOMIZE_REG_INIT
+  reg [1:0] reg_mstatus_prv; // @[CSR.scala 369:24]
+  reg  reg_mstatus_gva; // @[CSR.scala 369:24]
+  reg  reg_mstatus_tsr; // @[CSR.scala 369:24]
+  reg  reg_mstatus_tw; // @[CSR.scala 369:24]
+  reg  reg_mstatus_mprv; // @[CSR.scala 369:24]
+  reg [1:0] reg_mstatus_fs; // @[CSR.scala 369:24]
+  reg [1:0] reg_mstatus_mpp; // @[CSR.scala 369:24]
+  reg  reg_mstatus_spp; // @[CSR.scala 369:24]
+  reg  reg_mstatus_mpie; // @[CSR.scala 369:24]
+  reg  reg_mstatus_spie; // @[CSR.scala 369:24]
+  reg  reg_mstatus_mie; // @[CSR.scala 369:24]
+  reg  reg_mstatus_sie; // @[CSR.scala 369:24]
+  wire  system_insn = io_rw_cmd == 3'h4; // @[CSR.scala 813:31]
+  wire [31:0] _T_327 = {io_rw_addr, 20'h0}; // @[CSR.scala 829:28]
+  wire [31:0] _T_334 = _T_327 & 32'h10400000; // @[Decode.scala 14:65]
+  wire  _T_335 = _T_334 == 32'h10000000; // @[Decode.scala 14:121]
+  wire  insn_ret = system_insn & _T_335; // @[CSR.scala 829:95]
+  reg [1:0] reg_dcsr_prv; // @[CSR.scala 377:21]
+  wire [1:0] _GEN_236 = io_rw_addr[10] & io_rw_addr[7] ? reg_dcsr_prv : reg_mstatus_mpp; // @[CSR.scala 1064:70 1065:15]
+  wire [1:0] ret_prv = ~io_rw_addr[9] ? {{1'd0}, reg_mstatus_spp} : _GEN_236; // @[CSR.scala 1047:52]
+  wire [31:0] _T_328 = _T_327 & 32'h10100000; // @[Decode.scala 14:65]
+  wire  _T_329 = _T_328 == 32'h0; // @[Decode.scala 14:121]
+  wire  insn_call = system_insn & _T_329; // @[CSR.scala 829:95]
+  wire  _T_332 = _T_328 == 32'h100000; // @[Decode.scala 14:121]
+  wire  insn_break = system_insn & _T_332; // @[CSR.scala 829:95]
+  wire  _exception_T = insn_call | insn_break; // @[CSR.scala 953:29]
+  wire  exception = insn_call | insn_break | io_exception; // @[CSR.scala 953:43]
+  reg  reg_singleStepped; // @[CSR.scala 453:30]
+  wire [3:0] _GEN_34 = {{2'd0}, reg_mstatus_prv}; // @[CSR.scala 893:38]
+  wire [3:0] _cause_T_4 = 4'h8 + _GEN_34; // @[CSR.scala 893:38]
+  wire [31:0] _cause_T_5 = insn_break ? 32'h3 : io_cause; // @[CSR.scala 894:14]
+  wire [31:0] cause = insn_call ? {{28'd0}, _cause_T_4} : _cause_T_5; // @[CSR.scala 893:8]
+  wire [7:0] cause_lsbs = cause[7:0]; // @[CSR.scala 895:25]
+  wire  _causeIsDebugInt_T_1 = cause_lsbs == 8'he; // @[CSR.scala 896:53]
+  wire  causeIsDebugInt = cause[31] & cause_lsbs == 8'he; // @[CSR.scala 896:39]
+  wire  _causeIsDebugTrigger_T_1 = ~cause[31]; // @[CSR.scala 897:29]
+  wire  causeIsDebugTrigger = ~cause[31] & _causeIsDebugInt_T_1; // @[CSR.scala 897:44]
+  reg  reg_dcsr_ebreakm; // @[CSR.scala 377:21]
+  reg  reg_dcsr_ebreaks; // @[CSR.scala 377:21]
+  reg  reg_dcsr_ebreaku; // @[CSR.scala 377:21]
+  wire [3:0] _causeIsDebugBreak_T_3 = {reg_dcsr_ebreakm,1'h0,reg_dcsr_ebreaks,reg_dcsr_ebreaku}; // @[Cat.scala 31:58]
+  wire [3:0] _causeIsDebugBreak_T_4 = _causeIsDebugBreak_T_3 >> reg_mstatus_prv; // @[CSR.scala 898:134]
+  wire  causeIsDebugBreak = _causeIsDebugTrigger_T_1 & insn_break & _causeIsDebugBreak_T_4[0]; // @[CSR.scala 898:56]
+  reg  reg_debug; // @[CSR.scala 449:22]
+  wire  trapToDebug = reg_singleStepped | causeIsDebugInt | causeIsDebugTrigger | causeIsDebugBreak | reg_debug; // @[CSR.scala 899:123]
+  wire  _T_401 = ~reg_debug; // @[CSR.scala 969:13]
+  wire [1:0] _GEN_56 = ~reg_debug ? 2'h3 : reg_mstatus_prv; // @[CSR.scala 969:25 976:17]
+  wire  _delegate_T = reg_mstatus_prv <= 2'h1; // @[CSR.scala 903:59]
+  reg [31:0] reg_mideleg; // @[CSR.scala 464:18]
+  wire [31:0] read_mideleg = reg_mideleg & 32'h222; // @[CSR.scala 465:36]
+  wire [31:0] _delegate_T_3 = read_mideleg >> cause_lsbs; // @[CSR.scala 903:102]
+  reg [31:0] reg_medeleg; // @[CSR.scala 468:18]
+  wire [31:0] read_medeleg = reg_medeleg & 32'hf0b55d; // @[CSR.scala 469:36]
+  wire [31:0] _delegate_T_5 = read_medeleg >> cause_lsbs; // @[CSR.scala 903:128]
+  wire  _delegate_T_7 = cause[31] ? _delegate_T_3[0] : _delegate_T_5[0]; // @[CSR.scala 903:74]
+  wire  delegate = reg_mstatus_prv <= 2'h1 & _delegate_T_7; // @[CSR.scala 903:68]
+  wire [1:0] _GEN_75 = delegate ? 2'h1 : 2'h3; // @[CSR.scala 1009:15 1021:15 997:35]
+  wire [1:0] _GEN_150 = trapToDebug ? _GEN_56 : _GEN_75; // @[CSR.scala 968:24]
+  wire [1:0] _GEN_187 = exception ? _GEN_150 : reg_mstatus_prv; // @[CSR.scala 967:20]
+  wire [1:0] new_prv = insn_ret ? ret_prv : _GEN_187; // @[CSR.scala 1045:19 1084:13]
+  reg [2:0] reg_dcsr_cause; // @[CSR.scala 377:21]
+  reg  reg_dcsr_step; // @[CSR.scala 377:21]
+  reg [31:0] reg_dpc; // @[CSR.scala 450:20]
+  reg [31:0] reg_dscratch; // @[CSR.scala 451:25]
+  reg  reg_tselect; // @[CSR.scala 458:24]
+  reg  reg_bp_0_control_dmode; // @[CSR.scala 459:19]
+  reg  reg_bp_0_control_action; // @[CSR.scala 459:19]
+  reg  reg_bp_0_control_chain; // @[CSR.scala 459:19]
+  reg [1:0] reg_bp_0_control_tmatch; // @[CSR.scala 459:19]
+  reg  reg_bp_0_control_m; // @[CSR.scala 459:19]
+  reg  reg_bp_0_control_s; // @[CSR.scala 459:19]
+  reg  reg_bp_0_control_u; // @[CSR.scala 459:19]
+  reg  reg_bp_0_control_x; // @[CSR.scala 459:19]
+  reg  reg_bp_0_control_w; // @[CSR.scala 459:19]
+  reg  reg_bp_0_control_r; // @[CSR.scala 459:19]
+  reg [31:0] reg_bp_0_address; // @[CSR.scala 459:19]
+  reg  reg_bp_1_control_dmode; // @[CSR.scala 459:19]
+  reg  reg_bp_1_control_action; // @[CSR.scala 459:19]
+  reg [1:0] reg_bp_1_control_tmatch; // @[CSR.scala 459:19]
+  reg  reg_bp_1_control_m; // @[CSR.scala 459:19]
+  reg  reg_bp_1_control_s; // @[CSR.scala 459:19]
+  reg  reg_bp_1_control_u; // @[CSR.scala 459:19]
+  reg  reg_bp_1_control_x; // @[CSR.scala 459:19]
+  reg  reg_bp_1_control_w; // @[CSR.scala 459:19]
+  reg  reg_bp_1_control_r; // @[CSR.scala 459:19]
+  reg [31:0] reg_bp_1_address; // @[CSR.scala 459:19]
+  reg  reg_pmp_0_cfg_l; // @[CSR.scala 460:20]
+  reg [1:0] reg_pmp_0_cfg_a; // @[CSR.scala 460:20]
+  reg  reg_pmp_0_cfg_x; // @[CSR.scala 460:20]
+  reg  reg_pmp_0_cfg_w; // @[CSR.scala 460:20]
+  reg  reg_pmp_0_cfg_r; // @[CSR.scala 460:20]
+  reg [28:0] reg_pmp_0_addr; // @[CSR.scala 460:20]
+  reg  reg_pmp_1_cfg_l; // @[CSR.scala 460:20]
+  reg [1:0] reg_pmp_1_cfg_a; // @[CSR.scala 460:20]
+  reg  reg_pmp_1_cfg_x; // @[CSR.scala 460:20]
+  reg  reg_pmp_1_cfg_w; // @[CSR.scala 460:20]
+  reg  reg_pmp_1_cfg_r; // @[CSR.scala 460:20]
+  reg [28:0] reg_pmp_1_addr; // @[CSR.scala 460:20]
+  reg  reg_pmp_2_cfg_l; // @[CSR.scala 460:20]
+  reg [1:0] reg_pmp_2_cfg_a; // @[CSR.scala 460:20]
+  reg  reg_pmp_2_cfg_x; // @[CSR.scala 460:20]
+  reg  reg_pmp_2_cfg_w; // @[CSR.scala 460:20]
+  reg  reg_pmp_2_cfg_r; // @[CSR.scala 460:20]
+  reg [28:0] reg_pmp_2_addr; // @[CSR.scala 460:20]
+  reg  reg_pmp_3_cfg_l; // @[CSR.scala 460:20]
+  reg [1:0] reg_pmp_3_cfg_a; // @[CSR.scala 460:20]
+  reg  reg_pmp_3_cfg_x; // @[CSR.scala 460:20]
+  reg  reg_pmp_3_cfg_w; // @[CSR.scala 460:20]
+  reg  reg_pmp_3_cfg_r; // @[CSR.scala 460:20]
+  reg [28:0] reg_pmp_3_addr; // @[CSR.scala 460:20]
+  reg  reg_pmp_4_cfg_l; // @[CSR.scala 460:20]
+  reg [1:0] reg_pmp_4_cfg_a; // @[CSR.scala 460:20]
+  reg  reg_pmp_4_cfg_x; // @[CSR.scala 460:20]
+  reg  reg_pmp_4_cfg_w; // @[CSR.scala 460:20]
+  reg  reg_pmp_4_cfg_r; // @[CSR.scala 460:20]
+  reg [28:0] reg_pmp_4_addr; // @[CSR.scala 460:20]
+  reg  reg_pmp_5_cfg_l; // @[CSR.scala 460:20]
+  reg [1:0] reg_pmp_5_cfg_a; // @[CSR.scala 460:20]
+  reg  reg_pmp_5_cfg_x; // @[CSR.scala 460:20]
+  reg  reg_pmp_5_cfg_w; // @[CSR.scala 460:20]
+  reg  reg_pmp_5_cfg_r; // @[CSR.scala 460:20]
+  reg [28:0] reg_pmp_5_addr; // @[CSR.scala 460:20]
+  reg  reg_pmp_6_cfg_l; // @[CSR.scala 460:20]
+  reg [1:0] reg_pmp_6_cfg_a; // @[CSR.scala 460:20]
+  reg  reg_pmp_6_cfg_x; // @[CSR.scala 460:20]
+  reg  reg_pmp_6_cfg_w; // @[CSR.scala 460:20]
+  reg  reg_pmp_6_cfg_r; // @[CSR.scala 460:20]
+  reg [28:0] reg_pmp_6_addr; // @[CSR.scala 460:20]
+  reg  reg_pmp_7_cfg_l; // @[CSR.scala 460:20]
+  reg [1:0] reg_pmp_7_cfg_a; // @[CSR.scala 460:20]
+  reg  reg_pmp_7_cfg_x; // @[CSR.scala 460:20]
+  reg  reg_pmp_7_cfg_w; // @[CSR.scala 460:20]
+  reg  reg_pmp_7_cfg_r; // @[CSR.scala 460:20]
+  reg [28:0] reg_pmp_7_addr; // @[CSR.scala 460:20]
+  reg [31:0] reg_mie; // @[CSR.scala 462:20]
+  reg  reg_mip_seip; // @[CSR.scala 471:20]
+  reg  reg_mip_stip; // @[CSR.scala 471:20]
+  reg  reg_mip_ssip; // @[CSR.scala 471:20]
+  reg [31:0] reg_mepc; // @[CSR.scala 472:21]
+  reg [31:0] reg_mcause; // @[CSR.scala 473:27]
+  reg [31:0] reg_mtval; // @[CSR.scala 474:22]
+  reg [31:0] reg_mscratch; // @[CSR.scala 476:25]
+  reg [30:0] reg_mtvec; // @[CSR.scala 479:27]
+  reg [31:0] reg_mcounteren; // @[CSR.scala 494:18]
+  wire [31:0] read_mcounteren = reg_mcounteren & 32'h7; // @[CSR.scala 495:30]
+  reg [31:0] reg_scounteren; // @[CSR.scala 498:18]
+  wire [31:0] read_scounteren = reg_scounteren & 32'h7; // @[CSR.scala 499:36]
+  wire [15:0] _read_hvip_T = {4'h0,2'h0,reg_mip_seip,1'h0,2'h0,reg_mip_stip,1'h0,2'h0,reg_mip_ssip,1'h0}; // @[CSR.scala 518:27]
+  reg [31:0] reg_sepc; // @[CSR.scala 532:21]
+  reg [31:0] reg_scause; // @[CSR.scala 533:23]
+  reg [31:0] reg_stval; // @[CSR.scala 534:22]
+  reg [31:0] reg_sscratch; // @[CSR.scala 535:25]
+  reg [31:0] reg_stvec; // @[CSR.scala 536:22]
+  reg  reg_wfi; // @[CSR.scala 538:50]
+  reg [2:0] reg_mcountinhibit; // @[CSR.scala 547:34]
+  wire  x79 = reg_mcountinhibit[2]; // @[CSR.scala 549:75]
+  reg [5:0] small_; // @[Counters.scala 45:37]
+  wire [5:0] _GEN_35 = {{5'd0}, io_retire}; // @[Counters.scala 46:33]
+  wire [6:0] nextSmall = small_ + _GEN_35; // @[Counters.scala 46:33]
+  wire  _T_14 = ~x79; // @[Counters.scala 47:9]
+  wire [6:0] _GEN_0 = ~x79 ? nextSmall : {{1'd0}, small_}; // @[Counters.scala 47:{19,27} 45:37]
+  reg [57:0] large_; // @[Counters.scala 50:27]
+  wire [57:0] _large_r_T_1 = large_ + 58'h1; // @[Counters.scala 51:55]
+  wire [57:0] _GEN_1 = nextSmall[6] & _T_14 ? _large_r_T_1 : large_; // @[Counters.scala 50:27 51:{46,50}]
+  wire [63:0] value = {large_,small_}; // @[Cat.scala 31:58]
+  wire  x86 = ~io_csr_stall; // @[CSR.scala 551:56]
+  reg [5:0] small_1; // @[Counters.scala 45:37]
+  wire [5:0] _GEN_40 = {{5'd0}, x86}; // @[Counters.scala 46:33]
+  wire [6:0] nextSmall_1 = small_1 + _GEN_40; // @[Counters.scala 46:33]
+  wire  _T_15 = ~reg_mcountinhibit[0]; // @[Counters.scala 47:9]
+  wire [6:0] _GEN_2 = ~reg_mcountinhibit[0] ? nextSmall_1 : {{1'd0}, small_1}; // @[Counters.scala 47:{19,27} 45:37]
+  reg [57:0] large_1; // @[Counters.scala 50:27]
+  wire [57:0] _large_r_T_3 = large_1 + 58'h1; // @[Counters.scala 51:55]
+  wire [57:0] _GEN_3 = nextSmall_1[6] & _T_15 ? _large_r_T_3 : large_1; // @[Counters.scala 50:27 51:{46,50}]
+  wire [63:0] value_1 = {large_1,small_1}; // @[Cat.scala 31:58]
+  wire  mip_seip = reg_mip_seip | io_interrupts_seip; // @[CSR.scala 563:57]
+  wire [7:0] read_mip_lo = {io_interrupts_mtip,1'h0,reg_mip_stip,1'h0,io_interrupts_msip,1'h0,reg_mip_ssip,1'h0}; // @[CSR.scala 567:22]
+  wire [15:0] _read_mip_T = {4'h0,io_interrupts_meip,1'h0,mip_seip,1'h0,read_mip_lo}; // @[CSR.scala 567:22]
+  wire [15:0] read_mip = _read_mip_T & 16'haaa; // @[CSR.scala 567:29]
+  wire [31:0] _GEN_41 = {{16'd0}, read_mip}; // @[CSR.scala 571:56]
+  wire [31:0] pending_interrupts = _GEN_41 & reg_mie; // @[CSR.scala 571:56]
+  wire [14:0] d_interrupts = {io_interrupts_debug, 14'h0}; // @[CSR.scala 572:42]
+  wire [31:0] _m_interrupts_T_3 = ~pending_interrupts; // @[CSR.scala 577:83]
+  wire [31:0] _m_interrupts_T_4 = _m_interrupts_T_3 | read_mideleg; // @[CSR.scala 577:103]
+  wire [31:0] _m_interrupts_T_5 = ~_m_interrupts_T_4; // @[CSR.scala 577:81]
+  wire [31:0] m_interrupts = _delegate_T | reg_mstatus_mie ? _m_interrupts_T_5 : 32'h0; // @[CSR.scala 577:25]
+  wire [31:0] _s_interrupts_T_6 = pending_interrupts & read_mideleg; // @[CSR.scala 578:147]
+  wire [31:0] s_interrupts = reg_mstatus_prv < 2'h1 | reg_mstatus_prv == 2'h1 & reg_mstatus_sie ? _s_interrupts_T_6 : 32'h0
+    ; // @[CSR.scala 578:25]
+  wire  _any_T_78 = d_interrupts[14] | d_interrupts[13] | d_interrupts[12] | d_interrupts[11] | d_interrupts[3] |
+    d_interrupts[7] | d_interrupts[9] | d_interrupts[1] | d_interrupts[5] | d_interrupts[10] | d_interrupts[2] |
+    d_interrupts[6] | d_interrupts[8] | d_interrupts[0] | d_interrupts[4] | m_interrupts[15]; // @[CSR.scala 1534:90]
+  wire  _any_T_93 = _any_T_78 | m_interrupts[14] | m_interrupts[13] | m_interrupts[12] | m_interrupts[11] | m_interrupts
+    [3] | m_interrupts[7] | m_interrupts[9] | m_interrupts[1] | m_interrupts[5] | m_interrupts[10] | m_interrupts[2] |
+    m_interrupts[6] | m_interrupts[8] | m_interrupts[0] | m_interrupts[4]; // @[CSR.scala 1534:90]
+  wire  _any_T_108 = _any_T_93 | s_interrupts[15] | s_interrupts[14] | s_interrupts[13] | s_interrupts[12] |
+    s_interrupts[11] | s_interrupts[3] | s_interrupts[7] | s_interrupts[9] | s_interrupts[1] | s_interrupts[5] |
+    s_interrupts[10] | s_interrupts[2] | s_interrupts[6] | s_interrupts[8] | s_interrupts[0]; // @[CSR.scala 1534:90]
+  wire  anyInterrupt = _any_T_108 | s_interrupts[4]; // @[CSR.scala 1534:90]
+  wire [3:0] _which_T_79 = s_interrupts[0] ? 4'h0 : 4'h4; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_80 = s_interrupts[8] ? 4'h8 : _which_T_79; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_81 = s_interrupts[6] ? 4'h6 : _which_T_80; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_82 = s_interrupts[2] ? 4'h2 : _which_T_81; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_83 = s_interrupts[10] ? 4'ha : _which_T_82; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_84 = s_interrupts[5] ? 4'h5 : _which_T_83; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_85 = s_interrupts[1] ? 4'h1 : _which_T_84; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_86 = s_interrupts[9] ? 4'h9 : _which_T_85; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_87 = s_interrupts[7] ? 4'h7 : _which_T_86; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_88 = s_interrupts[3] ? 4'h3 : _which_T_87; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_89 = s_interrupts[11] ? 4'hb : _which_T_88; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_90 = s_interrupts[12] ? 4'hc : _which_T_89; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_91 = s_interrupts[13] ? 4'hd : _which_T_90; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_92 = s_interrupts[14] ? 4'he : _which_T_91; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_93 = s_interrupts[15] ? 4'hf : _which_T_92; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_94 = m_interrupts[4] ? 4'h4 : _which_T_93; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_95 = m_interrupts[0] ? 4'h0 : _which_T_94; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_96 = m_interrupts[8] ? 4'h8 : _which_T_95; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_97 = m_interrupts[6] ? 4'h6 : _which_T_96; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_98 = m_interrupts[2] ? 4'h2 : _which_T_97; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_99 = m_interrupts[10] ? 4'ha : _which_T_98; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_100 = m_interrupts[5] ? 4'h5 : _which_T_99; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_101 = m_interrupts[1] ? 4'h1 : _which_T_100; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_102 = m_interrupts[9] ? 4'h9 : _which_T_101; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_103 = m_interrupts[7] ? 4'h7 : _which_T_102; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_104 = m_interrupts[3] ? 4'h3 : _which_T_103; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_105 = m_interrupts[11] ? 4'hb : _which_T_104; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_106 = m_interrupts[12] ? 4'hc : _which_T_105; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_107 = m_interrupts[13] ? 4'hd : _which_T_106; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_108 = m_interrupts[14] ? 4'he : _which_T_107; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_109 = m_interrupts[15] ? 4'hf : _which_T_108; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_111 = d_interrupts[4] ? 4'h4 : _which_T_109; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_112 = d_interrupts[0] ? 4'h0 : _which_T_111; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_113 = d_interrupts[8] ? 4'h8 : _which_T_112; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_114 = d_interrupts[6] ? 4'h6 : _which_T_113; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_115 = d_interrupts[2] ? 4'h2 : _which_T_114; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_116 = d_interrupts[10] ? 4'ha : _which_T_115; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_117 = d_interrupts[5] ? 4'h5 : _which_T_116; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_118 = d_interrupts[1] ? 4'h1 : _which_T_117; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_119 = d_interrupts[9] ? 4'h9 : _which_T_118; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_120 = d_interrupts[7] ? 4'h7 : _which_T_119; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_121 = d_interrupts[3] ? 4'h3 : _which_T_120; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_122 = d_interrupts[11] ? 4'hb : _which_T_121; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_123 = d_interrupts[12] ? 4'hc : _which_T_122; // @[Mux.scala 47:70]
+  wire [3:0] _which_T_124 = d_interrupts[13] ? 4'hd : _which_T_123; // @[Mux.scala 47:70]
+  wire [3:0] whichInterrupt = d_interrupts[14] ? 4'he : _which_T_124; // @[Mux.scala 47:70]
+  wire [31:0] _GEN_639 = {{28'd0}, whichInterrupt}; // @[CSR.scala 582:67]
+  wire  _io_interrupt_T = ~io_singleStep; // @[CSR.scala 583:36]
+  wire [29:0] pmp_mask_base = {reg_pmp_0_addr,reg_pmp_0_cfg_a[0]}; // @[Cat.scala 31:58]
+  wire [29:0] _pmp_mask_T_1 = pmp_mask_base + 30'h1; // @[PMP.scala 59:23]
+  wire [29:0] _pmp_mask_T_2 = ~_pmp_mask_T_1; // @[PMP.scala 59:16]
+  wire [29:0] _pmp_mask_T_3 = pmp_mask_base & _pmp_mask_T_2; // @[PMP.scala 59:14]
+  wire [31:0] _pmp_mask_T_4 = {_pmp_mask_T_3,2'h3}; // @[Cat.scala 31:58]
+  wire [29:0] pmp_mask_base_1 = {reg_pmp_1_addr,reg_pmp_1_cfg_a[0]}; // @[Cat.scala 31:58]
+  wire [29:0] _pmp_mask_T_6 = pmp_mask_base_1 + 30'h1; // @[PMP.scala 59:23]
+  wire [29:0] _pmp_mask_T_7 = ~_pmp_mask_T_6; // @[PMP.scala 59:16]
+  wire [29:0] _pmp_mask_T_8 = pmp_mask_base_1 & _pmp_mask_T_7; // @[PMP.scala 59:14]
+  wire [31:0] _pmp_mask_T_9 = {_pmp_mask_T_8,2'h3}; // @[Cat.scala 31:58]
+  wire [29:0] pmp_mask_base_2 = {reg_pmp_2_addr,reg_pmp_2_cfg_a[0]}; // @[Cat.scala 31:58]
+  wire [29:0] _pmp_mask_T_11 = pmp_mask_base_2 + 30'h1; // @[PMP.scala 59:23]
+  wire [29:0] _pmp_mask_T_12 = ~_pmp_mask_T_11; // @[PMP.scala 59:16]
+  wire [29:0] _pmp_mask_T_13 = pmp_mask_base_2 & _pmp_mask_T_12; // @[PMP.scala 59:14]
+  wire [31:0] _pmp_mask_T_14 = {_pmp_mask_T_13,2'h3}; // @[Cat.scala 31:58]
+  wire [29:0] pmp_mask_base_3 = {reg_pmp_3_addr,reg_pmp_3_cfg_a[0]}; // @[Cat.scala 31:58]
+  wire [29:0] _pmp_mask_T_16 = pmp_mask_base_3 + 30'h1; // @[PMP.scala 59:23]
+  wire [29:0] _pmp_mask_T_17 = ~_pmp_mask_T_16; // @[PMP.scala 59:16]
+  wire [29:0] _pmp_mask_T_18 = pmp_mask_base_3 & _pmp_mask_T_17; // @[PMP.scala 59:14]
+  wire [31:0] _pmp_mask_T_19 = {_pmp_mask_T_18,2'h3}; // @[Cat.scala 31:58]
+  wire [29:0] pmp_mask_base_4 = {reg_pmp_4_addr,reg_pmp_4_cfg_a[0]}; // @[Cat.scala 31:58]
+  wire [29:0] _pmp_mask_T_21 = pmp_mask_base_4 + 30'h1; // @[PMP.scala 59:23]
+  wire [29:0] _pmp_mask_T_22 = ~_pmp_mask_T_21; // @[PMP.scala 59:16]
+  wire [29:0] _pmp_mask_T_23 = pmp_mask_base_4 & _pmp_mask_T_22; // @[PMP.scala 59:14]
+  wire [31:0] _pmp_mask_T_24 = {_pmp_mask_T_23,2'h3}; // @[Cat.scala 31:58]
+  wire [29:0] pmp_mask_base_5 = {reg_pmp_5_addr,reg_pmp_5_cfg_a[0]}; // @[Cat.scala 31:58]
+  wire [29:0] _pmp_mask_T_26 = pmp_mask_base_5 + 30'h1; // @[PMP.scala 59:23]
+  wire [29:0] _pmp_mask_T_27 = ~_pmp_mask_T_26; // @[PMP.scala 59:16]
+  wire [29:0] _pmp_mask_T_28 = pmp_mask_base_5 & _pmp_mask_T_27; // @[PMP.scala 59:14]
+  wire [31:0] _pmp_mask_T_29 = {_pmp_mask_T_28,2'h3}; // @[Cat.scala 31:58]
+  wire [29:0] pmp_mask_base_6 = {reg_pmp_6_addr,reg_pmp_6_cfg_a[0]}; // @[Cat.scala 31:58]
+  wire [29:0] _pmp_mask_T_31 = pmp_mask_base_6 + 30'h1; // @[PMP.scala 59:23]
+  wire [29:0] _pmp_mask_T_32 = ~_pmp_mask_T_31; // @[PMP.scala 59:16]
+  wire [29:0] _pmp_mask_T_33 = pmp_mask_base_6 & _pmp_mask_T_32; // @[PMP.scala 59:14]
+  wire [31:0] _pmp_mask_T_34 = {_pmp_mask_T_33,2'h3}; // @[Cat.scala 31:58]
+  wire [29:0] pmp_mask_base_7 = {reg_pmp_7_addr,reg_pmp_7_cfg_a[0]}; // @[Cat.scala 31:58]
+  wire [29:0] _pmp_mask_T_36 = pmp_mask_base_7 + 30'h1; // @[PMP.scala 59:23]
+  wire [29:0] _pmp_mask_T_37 = ~_pmp_mask_T_36; // @[PMP.scala 59:16]
+  wire [29:0] _pmp_mask_T_38 = pmp_mask_base_7 & _pmp_mask_T_37; // @[PMP.scala 59:14]
+  wire [31:0] _pmp_mask_T_39 = {_pmp_mask_T_38,2'h3}; // @[Cat.scala 31:58]
+  reg [31:0] reg_misa; // @[CSR.scala 605:21]
+  wire [8:0] read_mstatus_lo_lo = {io_status_spp,io_status_mpie,io_status_ube,io_status_spie,io_status_upie,
+    io_status_mie,io_status_hie,io_status_sie,io_status_uie}; // @[CSR.scala 606:38]
+  wire [21:0] read_mstatus_lo = {io_status_tw,io_status_tvm,io_status_mxr,io_status_sum,io_status_mprv,io_status_xs,
+    io_status_fs,io_status_mpp,io_status_vs,read_mstatus_lo_lo}; // @[CSR.scala 606:38]
+  wire [64:0] read_mstatus_hi_hi = {io_status_debug,io_status_cease,io_status_wfi,io_status_isa,io_status_dprv,
+    io_status_dv,io_status_prv,io_status_v,io_status_sd,io_status_zero2}; // @[CSR.scala 606:38]
+  wire [82:0] read_mstatus_hi = {read_mstatus_hi_hi,io_status_mpv,io_status_gva,io_status_mbe,io_status_sbe,
+    io_status_sxl,io_status_uxl,io_status_sd_rv32,io_status_zero1,io_status_tsr}; // @[CSR.scala 606:38]
+  wire [104:0] _read_mstatus_T = {read_mstatus_hi,read_mstatus_lo}; // @[CSR.scala 606:38]
+  wire [31:0] read_mstatus = _read_mstatus_T[31:0]; // @[CSR.scala 606:40]
+  wire [6:0] _read_mtvec_T_1 = reg_mtvec[0] ? 7'h7e : 7'h2; // @[CSR.scala 1563:39]
+  wire [30:0] _read_mtvec_T_3 = {{24'd0}, _read_mtvec_T_1}; // @[package.scala 165:41]
+  wire [30:0] _read_mtvec_T_4 = ~_read_mtvec_T_3; // @[package.scala 165:37]
+  wire [30:0] _read_mtvec_T_5 = reg_mtvec & _read_mtvec_T_4; // @[package.scala 165:35]
+  wire [31:0] read_mtvec = {1'h0,_read_mtvec_T_5}; // @[Cat.scala 31:58]
+  wire [6:0] _read_stvec_T_1 = reg_stvec[0] ? 7'h7e : 7'h2; // @[CSR.scala 1563:39]
+  wire [31:0] _read_stvec_T_3 = {{25'd0}, _read_stvec_T_1}; // @[package.scala 165:41]
+  wire [31:0] _read_stvec_T_4 = ~_read_stvec_T_3; // @[package.scala 165:37]
+  wire [31:0] read_stvec = reg_stvec & _read_stvec_T_4; // @[package.scala 165:35]
+  wire  _GEN_5 = reg_tselect ? reg_bp_1_control_x : reg_bp_0_control_x; // @[CSR.scala 612:{48,48}]
+  wire  _GEN_7 = reg_tselect ? reg_bp_1_control_w : reg_bp_0_control_w; // @[CSR.scala 612:{48,48}]
+  wire  _GEN_9 = reg_tselect ? reg_bp_1_control_r : reg_bp_0_control_r; // @[CSR.scala 612:{48,48}]
+  wire  _GEN_11 = reg_tselect ? reg_bp_1_control_s : reg_bp_0_control_s; // @[CSR.scala 612:{48,48}]
+  wire  _GEN_13 = reg_tselect ? reg_bp_1_control_u : reg_bp_0_control_u; // @[CSR.scala 612:{48,48}]
+  wire  _GEN_15 = reg_tselect ? reg_bp_1_control_m : reg_bp_0_control_m; // @[CSR.scala 612:{48,48}]
+  wire [6:0] lo_4 = {_GEN_15,1'h0,_GEN_11,_GEN_13,_GEN_5,_GEN_7,_GEN_9}; // @[CSR.scala 612:48]
+  wire [1:0] _GEN_21 = reg_tselect ? reg_bp_1_control_tmatch : reg_bp_0_control_tmatch; // @[CSR.scala 612:{48,48}]
+  wire  _GEN_23 = reg_tselect ? reg_bp_1_control_action : reg_bp_0_control_action; // @[CSR.scala 612:{48,48}]
+  wire  _GEN_25 = reg_tselect ? 1'h0 : reg_bp_0_control_chain; // @[CSR.scala 612:{48,48}]
+  wire  _GEN_33 = reg_tselect ? reg_bp_1_control_dmode : reg_bp_0_control_dmode; // @[CSR.scala 612:{48,48}]
+  wire [31:0] _T_16 = {4'h2,_GEN_33,14'h400,_GEN_23,_GEN_25,2'h0,_GEN_21,lo_4}; // @[CSR.scala 612:48]
+  wire [31:0] _T_18 = ~reg_mepc; // @[CSR.scala 1562:28]
+  wire [1:0] _T_20 = reg_misa[2] ? 2'h1 : 2'h3; // @[CSR.scala 1562:36]
+  wire [31:0] _GEN_640 = {{30'd0}, _T_20}; // @[CSR.scala 1562:31]
+  wire [31:0] _T_21 = _T_18 | _GEN_640; // @[CSR.scala 1562:31]
+  wire [31:0] _T_22 = ~_T_21; // @[CSR.scala 1562:26]
+  wire [10:0] lo_6 = {2'h0,reg_dcsr_cause,1'h0,2'h0,reg_dcsr_step,reg_dcsr_prv}; // @[CSR.scala 627:27]
+  wire [31:0] _T_23 = {4'h4,12'h0,reg_dcsr_ebreakm,1'h0,reg_dcsr_ebreaks,reg_dcsr_ebreaku,1'h0,lo_6}; // @[CSR.scala 627:27]
+  wire [31:0] _T_24 = ~reg_dpc; // @[CSR.scala 1562:28]
+  wire [31:0] _T_27 = _T_24 | _GEN_640; // @[CSR.scala 1562:31]
+  wire [31:0] _T_28 = ~_T_27; // @[CSR.scala 1562:26]
+  wire [31:0] sie_mask = read_mideleg & 32'hefff; // @[CSR.scala 703:18]
+  wire [31:0] read_sie = reg_mie & sie_mask; // @[CSR.scala 706:28]
+  wire [31:0] read_sip = _GEN_41 & sie_mask; // @[CSR.scala 707:29]
+  wire [8:0] lo_lo_6 = {io_status_spp,1'h0,1'h0,io_status_spie,1'h0,2'h0,io_status_sie,1'h0}; // @[CSR.scala 721:57]
+  wire [21:0] lo_7 = {2'h0,io_status_mxr,io_status_sum,1'h0,io_status_xs,io_status_fs,2'h0,io_status_vs,lo_lo_6}; // @[CSR.scala 721:57]
+  wire [104:0] _T_91 = {37'h0,4'h0,io_status_sd,23'h0,6'h0,io_status_uxl,io_status_sd_rv32,9'h0,lo_7}; // @[CSR.scala 721:57]
+  wire [31:0] _T_94 = ~reg_sepc; // @[CSR.scala 1562:28]
+  wire [31:0] _T_97 = _T_94 | _GEN_640; // @[CSR.scala 1562:31]
+  wire [31:0] _T_98 = ~_T_97; // @[CSR.scala 1562:26]
+  wire [7:0] _T_99 = {reg_pmp_0_cfg_l,2'h0,reg_pmp_0_cfg_a,reg_pmp_0_cfg_x,reg_pmp_0_cfg_w,reg_pmp_0_cfg_r}; // @[package.scala 36:38]
+  wire [7:0] _T_101 = {reg_pmp_2_cfg_l,2'h0,reg_pmp_2_cfg_a,reg_pmp_2_cfg_x,reg_pmp_2_cfg_w,reg_pmp_2_cfg_r}; // @[package.scala 36:38]
+  wire [15:0] lo_12 = {reg_pmp_1_cfg_l,2'h0,reg_pmp_1_cfg_a,reg_pmp_1_cfg_x,reg_pmp_1_cfg_w,reg_pmp_1_cfg_r,_T_99}; // @[Cat.scala 31:58]
+  wire [31:0] _T_103 = {reg_pmp_3_cfg_l,2'h0,reg_pmp_3_cfg_a,reg_pmp_3_cfg_x,reg_pmp_3_cfg_w,reg_pmp_3_cfg_r,_T_101,
+    lo_12}; // @[Cat.scala 31:58]
+  wire [7:0] _T_104 = {reg_pmp_4_cfg_l,2'h0,reg_pmp_4_cfg_a,reg_pmp_4_cfg_x,reg_pmp_4_cfg_w,reg_pmp_4_cfg_r}; // @[package.scala 36:38]
+  wire [7:0] _T_106 = {reg_pmp_6_cfg_l,2'h0,reg_pmp_6_cfg_a,reg_pmp_6_cfg_x,reg_pmp_6_cfg_w,reg_pmp_6_cfg_r}; // @[package.scala 36:38]
+  wire [15:0] lo_17 = {reg_pmp_5_cfg_l,2'h0,reg_pmp_5_cfg_a,reg_pmp_5_cfg_x,reg_pmp_5_cfg_w,reg_pmp_5_cfg_r,_T_104}; // @[Cat.scala 31:58]
+  wire [31:0] _T_108 = {reg_pmp_7_cfg_l,2'h0,reg_pmp_7_cfg_a,reg_pmp_7_cfg_x,reg_pmp_7_cfg_w,reg_pmp_7_cfg_r,_T_106,
+    lo_17}; // @[Cat.scala 31:58]
+  reg [31:0] reg_custom_0; // @[CSR.scala 750:43]
+  wire [12:0] addr = {io_status_v,io_rw_addr}; // @[Cat.scala 31:58]
+  wire [12:0] _decoded_T = addr & 13'hc13; // @[Decode.scala 14:65]
+  wire  decoded_0 = _decoded_T == 13'h400; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_2 = addr & 13'hc53; // @[Decode.scala 14:65]
+  wire  decoded_1 = _decoded_T_2 == 13'h401; // @[Decode.scala 14:121]
+  wire  decoded_2 = _decoded_T == 13'h402; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_8 = addr & 13'h867; // @[Decode.scala 14:65]
+  wire  decoded_4 = _decoded_T_8 == 13'h1; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_10 = addr & 13'ha67; // @[Decode.scala 14:65]
+  wire  decoded_5 = _decoded_T_10 == 13'h200; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_12 = addr & 13'ha25; // @[Decode.scala 14:65]
+  wire  decoded_6 = _decoded_T_12 == 13'h205; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_14 = addr & 13'h244; // @[Decode.scala 14:65]
+  wire  decoded_7 = _decoded_T_14 == 13'h244; // @[Decode.scala 14:121]
+  wire  decoded_8 = _decoded_T_10 == 13'h204; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_18 = addr & 13'h247; // @[Decode.scala 14:65]
+  wire  decoded_9 = _decoded_T_18 == 13'h240; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_20 = addr & 13'h643; // @[Decode.scala 14:65]
+  wire  decoded_10 = _decoded_T_20 == 13'h241; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_22 = addr & 13'h243; // @[Decode.scala 14:65]
+  wire  decoded_11 = _decoded_T_22 == 13'h243; // @[Decode.scala 14:121]
+  wire  decoded_12 = _decoded_T_22 == 13'h242; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_26 = addr & 13'h683; // @[Decode.scala 14:65]
+  wire  decoded_13 = _decoded_T_26 == 13'h600; // @[Decode.scala 14:121]
+  wire  decoded_14 = _decoded_T == 13'h410; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_30 = addr & 13'hc11; // @[Decode.scala 14:65]
+  wire  decoded_15 = _decoded_T_30 == 13'h411; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_32 = addr & 13'hc12; // @[Decode.scala 14:65]
+  wire  decoded_16 = _decoded_T_32 == 13'h412; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_34 = addr & 13'hbe; // @[Decode.scala 14:65]
+  wire  decoded_17 = _decoded_T_34 == 13'h20; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_36 = addr & 13'hc9e; // @[Decode.scala 14:65]
+  wire  decoded_18 = _decoded_T_36 == 13'h800; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_38 = addr & 13'hc9f; // @[Decode.scala 14:65]
+  wire  decoded_19 = _decoded_T_38 == 13'h802; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_54 = addr & 13'h19f; // @[Decode.scala 14:65]
+  wire [12:0] _decoded_T_58 = addr & 13'h29f; // @[Decode.scala 14:65]
+  wire [12:0] _decoded_T_82 = addr & 13'h4bf; // @[Decode.scala 14:65]
+  wire [12:0] _decoded_T_170 = addr & 13'h89f; // @[Decode.scala 14:65]
+  wire [12:0] _decoded_T_330 = addr & 13'ha26; // @[Decode.scala 14:65]
+  wire  decoded_165 = _decoded_T_330 == 13'h206; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_332 = addr & 13'h19e; // @[Decode.scala 14:65]
+  wire  decoded_166 = _decoded_T_332 == 13'h0; // @[Decode.scala 14:121]
+  wire  decoded_167 = _decoded_T_54 == 13'h2; // @[Decode.scala 14:121]
+  wire  decoded_168 = _decoded_T_36 == 13'h880; // @[Decode.scala 14:121]
+  wire  decoded_169 = _decoded_T_82 == 13'h82; // @[Decode.scala 14:121]
+  wire  decoded_170 = _decoded_T_332 == 13'h80; // @[Decode.scala 14:121]
+  wire  decoded_171 = _decoded_T_58 == 13'h82; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_344 = addr & 13'hac4; // @[Decode.scala 14:65]
+  wire  decoded_172 = _decoded_T_344 == 13'h0; // @[Decode.scala 14:121]
+  wire  decoded_173 = _decoded_T_14 == 13'h44; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_348 = addr & 13'ha47; // @[Decode.scala 14:65]
+  wire  decoded_174 = _decoded_T_348 == 13'h4; // @[Decode.scala 14:121]
+  wire  decoded_175 = _decoded_T_18 == 13'h40; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_352 = addr & 13'ha07; // @[Decode.scala 14:65]
+  wire  decoded_176 = _decoded_T_352 == 13'h2; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_354 = addr & 13'ha03; // @[Decode.scala 14:65]
+  wire  decoded_177 = _decoded_T_354 == 13'h3; // @[Decode.scala 14:121]
+  wire  decoded_179 = _decoded_T_352 == 13'h1; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_360 = addr & 13'ha41; // @[Decode.scala 14:65]
+  wire  decoded_180 = _decoded_T_360 == 13'h1; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_362 = addr & 13'ha42; // @[Decode.scala 14:65]
+  wire  decoded_181 = _decoded_T_362 == 13'h2; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_364 = addr & 13'h863; // @[Decode.scala 14:65]
+  wire  decoded_182 = _decoded_T_364 == 13'h3; // @[Decode.scala 14:121]
+  wire  decoded_183 = _decoded_T_8 == 13'h2; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_368 = addr & 13'he93; // @[Decode.scala 14:65]
+  wire  decoded_184 = _decoded_T_368 == 13'h280; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_370 = addr & 13'hc93; // @[Decode.scala 14:65]
+  wire  decoded_185 = _decoded_T_370 == 13'h81; // @[Decode.scala 14:121]
+  wire  decoded_188 = _decoded_T_38 == 13'h90; // @[Decode.scala 14:121]
+  wire  decoded_189 = _decoded_T_38 == 13'h91; // @[Decode.scala 14:121]
+  wire  decoded_190 = _decoded_T_38 == 13'h92; // @[Decode.scala 14:121]
+  wire  decoded_191 = _decoded_T_170 == 13'h93; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_384 = addr & 13'h88f; // @[Decode.scala 14:65]
+  wire  decoded_192 = _decoded_T_384 == 13'h84; // @[Decode.scala 14:121]
+  wire  decoded_193 = _decoded_T_384 == 13'h85; // @[Decode.scala 14:121]
+  wire  decoded_194 = _decoded_T_384 == 13'h86; // @[Decode.scala 14:121]
+  wire  decoded_195 = _decoded_T_384 == 13'h87; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_408 = addr & 13'hc20; // @[Decode.scala 14:65]
+  wire  decoded_204 = _decoded_T_408 == 13'h400; // @[Decode.scala 14:121]
+  wire [12:0] _decoded_T_410 = addr & 13'h685; // @[Decode.scala 14:65]
+  wire  decoded_205 = _decoded_T_410 == 13'h600; // @[Decode.scala 14:121]
+  wire  decoded_207 = _decoded_T_26 == 13'h603; // @[Decode.scala 14:121]
+  wire [31:0] _wdata_T_1 = io_rw_cmd[1] ? io_rw_rdata : 32'h0; // @[CSR.scala 1540:9]
+  wire [31:0] _wdata_T_2 = _wdata_T_1 | io_rw_wdata; // @[CSR.scala 1540:34]
+  wire [31:0] _wdata_T_5 = &io_rw_cmd[1:0] ? io_rw_wdata : 32'h0; // @[CSR.scala 1540:49]
+  wire [31:0] _wdata_T_6 = ~_wdata_T_5; // @[CSR.scala 1540:45]
+  wire [31:0] wdata = _wdata_T_2 & _wdata_T_6; // @[CSR.scala 1540:43]
+  wire [31:0] _T_337 = _T_327 & 32'h20200000; // @[Decode.scala 14:65]
+  wire  _T_338 = _T_337 == 32'h20000000; // @[Decode.scala 14:121]
+  wire [31:0] _T_340 = _T_327 & 32'h30200000; // @[Decode.scala 14:65]
+  wire  _T_341 = _T_340 == 32'h10000000; // @[Decode.scala 14:121]
+  wire  insn_cease = system_insn & _T_338; // @[CSR.scala 829:95]
+  wire  insn_wfi = system_insn & _T_341; // @[CSR.scala 829:95]
+  wire [11:0] addr_1 = io_decode_0_inst[31:20]; // @[CSR.scala 832:27]
+  wire [31:0] _T_358 = io_decode_0_inst & 32'h10400000; // @[Decode.scala 14:65]
+  wire  is_ret = _T_358 == 32'h10000000; // @[Decode.scala 14:121]
+  wire [31:0] _T_364 = io_decode_0_inst & 32'h30200000; // @[Decode.scala 14:65]
+  wire  is_wfi = _T_364 == 32'h10000000; // @[Decode.scala 14:121]
+  wire  _is_counter_T_2 = addr_1 >= 12'hc00 & addr_1 < 12'hc20; // @[package.scala 204:55]
+  wire  _is_counter_T_5 = addr_1 >= 12'hc80 & addr_1 < 12'hca0; // @[package.scala 204:55]
+  wire  is_counter = _is_counter_T_2 | _is_counter_T_5; // @[CSR.scala 839:75]
+  wire  _allow_wfi_T = reg_mstatus_prv > 2'h1; // @[CSR.scala 841:63]
+  wire  allow_wfi = reg_mstatus_prv > 2'h1 | ~reg_mstatus_tw; // @[CSR.scala 841:71]
+  wire  _allow_hfence_vvma_T_1 = reg_mstatus_prv >= 2'h1; // @[CSR.scala 843:90]
+  wire  allow_sret = _allow_wfi_T | ~reg_mstatus_tsr; // @[CSR.scala 845:72]
+  wire [4:0] counter_addr = addr_1[4:0]; // @[CSR.scala 846:28]
+  wire [31:0] _allow_counter_T_1 = read_mcounteren >> counter_addr; // @[CSR.scala 847:68]
+  wire [31:0] _allow_counter_T_6 = read_scounteren >> counter_addr; // @[CSR.scala 848:71]
+  wire  _allow_counter_T_8 = _allow_hfence_vvma_T_1 | _allow_counter_T_6[0]; // @[CSR.scala 848:53]
+  wire  allow_counter = (_allow_wfi_T | _allow_counter_T_1[0]) & _allow_counter_T_8; // @[CSR.scala 847:84]
+  wire  csr_addr_legal = reg_mstatus_prv >= addr_1[9:8]; // @[CSR.scala 854:42]
+  wire  _csr_exists_T_15 = addr_1 == 12'h7b1; // @[CSR.scala 834:93]
+  wire  _csr_exists_T_222 = addr_1 == 12'h7a0 | addr_1 == 12'h7a1 | addr_1 == 12'h7a2 | addr_1 == 12'h7a3 | addr_1 == 12'h301
+     | addr_1 == 12'h300 | addr_1 == 12'h305 | addr_1 == 12'h344 | addr_1 == 12'h304 | addr_1 == 12'h340 | addr_1 == 12'h341
+     | addr_1 == 12'h343 | addr_1 == 12'h342 | addr_1 == 12'hf14 | addr_1 == 12'h7b0 | _csr_exists_T_15; // @[CSR.scala 834:109]
+  wire  _csr_exists_T_237 = _csr_exists_T_222 | addr_1 == 12'h7b2 | addr_1 == 12'h320 | addr_1 == 12'hb00 | addr_1 == 12'hb02
+     | addr_1 == 12'h323 | addr_1 == 12'hb03 | addr_1 == 12'hc03 | addr_1 == 12'hb83 | addr_1 == 12'hc83 | addr_1 == 12'h324
+     | addr_1 == 12'hb04 | addr_1 == 12'hc04 | addr_1 == 12'hb84 | addr_1 == 12'hc84 | addr_1 == 12'h325; // @[CSR.scala 834:109]
+  wire  _csr_exists_T_252 = _csr_exists_T_237 | addr_1 == 12'hb05 | addr_1 == 12'hc05 | addr_1 == 12'hb85 | addr_1 == 12'hc85
+     | addr_1 == 12'h326 | addr_1 == 12'hb06 | addr_1 == 12'hc06 | addr_1 == 12'hb86 | addr_1 == 12'hc86 | addr_1 == 12'h327
+     | addr_1 == 12'hb07 | addr_1 == 12'hc07 | addr_1 == 12'hb87 | addr_1 == 12'hc87 | addr_1 == 12'h328; // @[CSR.scala 834:109]
+  wire  _csr_exists_T_267 = _csr_exists_T_252 | addr_1 == 12'hb08 | addr_1 == 12'hc08 | addr_1 == 12'hb88 | addr_1 == 12'hc88
+     | addr_1 == 12'h329 | addr_1 == 12'hb09 | addr_1 == 12'hc09 | addr_1 == 12'hb89 | addr_1 == 12'hc89 | addr_1 == 12'h32a
+     | addr_1 == 12'hb0a | addr_1 == 12'hc0a | addr_1 == 12'hb8a | addr_1 == 12'hc8a | addr_1 == 12'h32b; // @[CSR.scala 834:109]
+  wire  _csr_exists_T_282 = _csr_exists_T_267 | addr_1 == 12'hb0b | addr_1 == 12'hc0b | addr_1 == 12'hb8b | addr_1 == 12'hc8b
+     | addr_1 == 12'h32c | addr_1 == 12'hb0c | addr_1 == 12'hc0c | addr_1 == 12'hb8c | addr_1 == 12'hc8c | addr_1 == 12'h32d
+     | addr_1 == 12'hb0d | addr_1 == 12'hc0d | addr_1 == 12'hb8d | addr_1 == 12'hc8d | addr_1 == 12'h32e; // @[CSR.scala 834:109]
+  wire  _csr_exists_T_297 = _csr_exists_T_282 | addr_1 == 12'hb0e | addr_1 == 12'hc0e | addr_1 == 12'hb8e | addr_1 == 12'hc8e
+     | addr_1 == 12'h32f | addr_1 == 12'hb0f | addr_1 == 12'hc0f | addr_1 == 12'hb8f | addr_1 == 12'hc8f | addr_1 == 12'h330
+     | addr_1 == 12'hb10 | addr_1 == 12'hc10 | addr_1 == 12'hb90 | addr_1 == 12'hc90 | addr_1 == 12'h331; // @[CSR.scala 834:109]
+  wire  _csr_exists_T_312 = _csr_exists_T_297 | addr_1 == 12'hb11 | addr_1 == 12'hc11 | addr_1 == 12'hb91 | addr_1 == 12'hc91
+     | addr_1 == 12'h332 | addr_1 == 12'hb12 | addr_1 == 12'hc12 | addr_1 == 12'hb92 | addr_1 == 12'hc92 | addr_1 == 12'h333
+     | addr_1 == 12'hb13 | addr_1 == 12'hc13 | addr_1 == 12'hb93 | addr_1 == 12'hc93 | addr_1 == 12'h334; // @[CSR.scala 834:109]
+  wire  _csr_exists_T_327 = _csr_exists_T_312 | addr_1 == 12'hb14 | addr_1 == 12'hc14 | addr_1 == 12'hb94 | addr_1 == 12'hc94
+     | addr_1 == 12'h335 | addr_1 == 12'hb15 | addr_1 == 12'hc15 | addr_1 == 12'hb95 | addr_1 == 12'hc95 | addr_1 == 12'h336
+     | addr_1 == 12'hb16 | addr_1 == 12'hc16 | addr_1 == 12'hb96 | addr_1 == 12'hc96 | addr_1 == 12'h337; // @[CSR.scala 834:109]
+  wire  _csr_exists_T_342 = _csr_exists_T_327 | addr_1 == 12'hb17 | addr_1 == 12'hc17 | addr_1 == 12'hb97 | addr_1 == 12'hc97
+     | addr_1 == 12'h338 | addr_1 == 12'hb18 | addr_1 == 12'hc18 | addr_1 == 12'hb98 | addr_1 == 12'hc98 | addr_1 == 12'h339
+     | addr_1 == 12'hb19 | addr_1 == 12'hc19 | addr_1 == 12'hb99 | addr_1 == 12'hc99 | addr_1 == 12'h33a; // @[CSR.scala 834:109]
+  wire  _csr_exists_T_357 = _csr_exists_T_342 | addr_1 == 12'hb1a | addr_1 == 12'hc1a | addr_1 == 12'hb9a | addr_1 == 12'hc9a
+     | addr_1 == 12'h33b | addr_1 == 12'hb1b | addr_1 == 12'hc1b | addr_1 == 12'hb9b | addr_1 == 12'hc9b | addr_1 == 12'h33c
+     | addr_1 == 12'hb1c | addr_1 == 12'hc1c | addr_1 == 12'hb9c | addr_1 == 12'hc9c | addr_1 == 12'h33d; // @[CSR.scala 834:109]
+  wire  _csr_exists_T_372 = _csr_exists_T_357 | addr_1 == 12'hb1d | addr_1 == 12'hc1d | addr_1 == 12'hb9d | addr_1 == 12'hc9d
+     | addr_1 == 12'h33e | addr_1 == 12'hb1e | addr_1 == 12'hc1e | addr_1 == 12'hb9e | addr_1 == 12'hc9e | addr_1 == 12'h33f
+     | addr_1 == 12'hb1f | addr_1 == 12'hc1f | addr_1 == 12'hb9f | addr_1 == 12'hc9f | addr_1 == 12'h306; // @[CSR.scala 834:109]
+  wire  _csr_exists_T_387 = _csr_exists_T_372 | addr_1 == 12'hc00 | addr_1 == 12'hc02 | addr_1 == 12'hb80 | addr_1 == 12'hb82
+     | addr_1 == 12'hc80 | addr_1 == 12'hc82 | addr_1 == 12'h100 | addr_1 == 12'h144 | addr_1 == 12'h104 | addr_1 == 12'h140
+     | addr_1 == 12'h142 | addr_1 == 12'h143 | addr_1 == 12'h180 | addr_1 == 12'h141 | addr_1 == 12'h105; // @[CSR.scala 834:109]
+  wire  _csr_exists_T_402 = _csr_exists_T_387 | addr_1 == 12'h106 | addr_1 == 12'h303 | addr_1 == 12'h302 | addr_1 == 12'h3a0
+     | addr_1 == 12'h3a1 | addr_1 == 12'h3a2 | addr_1 == 12'h3a3 | addr_1 == 12'h3b0 | addr_1 == 12'h3b1 | addr_1 == 12'h3b2
+     | addr_1 == 12'h3b3 | addr_1 == 12'h3b4 | addr_1 == 12'h3b5 | addr_1 == 12'h3b6 | addr_1 == 12'h3b7; // @[CSR.scala 834:109]
+  wire  csr_exists = _csr_exists_T_402 | addr_1 == 12'h3b8 | addr_1 == 12'h3b9 | addr_1 == 12'h3ba | addr_1 == 12'h3bb
+     | addr_1 == 12'h3bc | addr_1 == 12'h3bd | addr_1 == 12'h3be | addr_1 == 12'h3bf | addr_1 == 12'h7c1 | addr_1 == 12'hf12
+     | addr_1 == 12'hf11 | addr_1 == 12'hf13; // @[CSR.scala 834:109]
+  wire  _io_decode_0_read_illegal_T = ~csr_addr_legal; // @[CSR.scala 857:28]
+  wire  _io_decode_0_read_illegal_T_1 = ~csr_exists; // @[CSR.scala 858:7]
+  wire  _io_decode_0_read_illegal_T_2 = ~csr_addr_legal | _io_decode_0_read_illegal_T_1; // @[CSR.scala 857:44]
+  wire  _io_decode_0_read_illegal_T_10 = is_counter & ~allow_counter; // @[CSR.scala 860:18]
+  wire  _io_decode_0_read_illegal_T_11 = _io_decode_0_read_illegal_T_2 | _io_decode_0_read_illegal_T_10; // @[CSR.scala 859:74]
+  wire [11:0] _io_decode_0_read_illegal_T_12 = addr_1 & 12'hc10; // @[Decode.scala 14:65]
+  wire  _io_decode_0_read_illegal_T_13 = _io_decode_0_read_illegal_T_12 == 12'h410; // @[Decode.scala 14:121]
+  wire  _io_decode_0_read_illegal_T_17 = _io_decode_0_read_illegal_T_13 & _T_401; // @[CSR.scala 861:42]
+  wire  _io_decode_0_read_illegal_T_18 = _io_decode_0_read_illegal_T_11 | _io_decode_0_read_illegal_T_17; // @[CSR.scala 860:36]
+  wire  _io_decode_0_read_illegal_T_21 = io_decode_0_fp_csr & io_decode_0_fp_illegal; // @[CSR.scala 863:21]
+  wire [11:0] io_decode_0_write_flush_addr_m = addr_1 | 12'h300; // @[CSR.scala 866:25]
+  wire  _io_decode_0_system_illegal_T_4 = is_wfi & ~allow_wfi; // @[CSR.scala 870:14]
+  wire  _io_decode_0_system_illegal_T_5 = _io_decode_0_read_illegal_T | _io_decode_0_system_illegal_T_4; // @[CSR.scala 869:58]
+  wire  _io_decode_0_system_illegal_T_7 = is_ret & ~allow_sret; // @[CSR.scala 871:14]
+  wire  _io_decode_0_system_illegal_T_8 = _io_decode_0_system_illegal_T_5 | _io_decode_0_system_illegal_T_7; // @[CSR.scala 870:28]
+  wire  _io_decode_0_system_illegal_T_14 = is_ret & addr_1[10] & addr_1[7] & _T_401; // @[CSR.scala 872:37]
+  wire [11:0] _debugTVec_T = insn_break ? 12'h800 : 12'h808; // @[CSR.scala 902:37]
+  wire [11:0] debugTVec = reg_debug ? _debugTVec_T : 12'h800; // @[CSR.scala 902:22]
+  wire [31:0] notDebugTVec_base = delegate ? read_stvec : read_mtvec; // @[CSR.scala 911:19]
+  wire [6:0] notDebugTVec_interruptOffset = {cause[4:0], 2'h0}; // @[CSR.scala 912:59]
+  wire [31:0] notDebugTVec_interruptVec = {notDebugTVec_base[31:7],notDebugTVec_interruptOffset}; // @[Cat.scala 31:58]
+  wire  notDebugTVec_doVector = notDebugTVec_base[0] & cause[31] & cause_lsbs[7:5] == 3'h0; // @[CSR.scala 914:55]
+  wire [31:0] _notDebugTVec_T_1 = {notDebugTVec_base[31:2], 2'h0}; // @[CSR.scala 915:56]
+  wire [31:0] notDebugTVec = notDebugTVec_doVector ? notDebugTVec_interruptVec : _notDebugTVec_T_1; // @[CSR.scala 915:8]
+  wire [31:0] tvec = trapToDebug ? {{20'd0}, debugTVec} : notDebugTVec; // @[CSR.scala 928:17]
+  wire [1:0] _T_369 = insn_ret + insn_call; // @[Bitwise.scala 48:55]
+  wire [1:0] _T_371 = insn_break + io_exception; // @[Bitwise.scala 48:55]
+  wire [2:0] _T_373 = _T_369 + _T_371; // @[Bitwise.scala 48:55]
+  wire  _T_377 = ~reset; // @[CSR.scala 954:9]
+  wire  _GEN_46 = insn_wfi & _io_interrupt_T & _T_401 | reg_wfi; // @[CSR.scala 538:50 956:{51,61}]
+  wire  _GEN_48 = io_retire | exception | reg_singleStepped; // @[CSR.scala 453:30 960:{36,56}]
+  wire [31:0] _epc_T = ~io_pc; // @[CSR.scala 1561:28]
+  wire [31:0] _epc_T_1 = _epc_T | 32'h1; // @[CSR.scala 1561:31]
+  wire [31:0] epc = ~_epc_T_1; // @[CSR.scala 1561:26]
+  wire [1:0] _reg_dcsr_cause_T = causeIsDebugTrigger ? 2'h2 : 2'h1; // @[CSR.scala 973:86]
+  wire [1:0] _reg_dcsr_cause_T_1 = causeIsDebugInt ? 2'h3 : _reg_dcsr_cause_T; // @[CSR.scala 973:56]
+  wire [2:0] _reg_dcsr_cause_T_2 = reg_singleStepped ? 3'h4 : {{1'd0}, _reg_dcsr_cause_T_1}; // @[CSR.scala 973:30]
+  wire  _GEN_51 = ~reg_debug | reg_debug; // @[CSR.scala 969:25 971:19 449:22]
+  wire [31:0] _GEN_52 = ~reg_debug ? epc : reg_dpc; // @[CSR.scala 969:25 972:17 450:20]
+  wire [1:0] _GEN_54 = ~reg_debug ? reg_mstatus_prv : reg_dcsr_prv; // @[CSR.scala 377:21 969:25 974:22]
+  wire [31:0] _GEN_68 = delegate ? epc : reg_sepc; // @[CSR.scala 1002:16 532:21 997:35]
+  wire [31:0] _GEN_69 = delegate ? cause : reg_scause; // @[CSR.scala 1003:18 533:23 997:35]
+  wire [31:0] _GEN_70 = delegate ? io_tval : reg_stval; // @[CSR.scala 1004:17 534:22 997:35]
+  wire  _GEN_72 = delegate ? reg_mstatus_sie : reg_mstatus_spie; // @[CSR.scala 1006:24 369:24 997:35]
+  wire [1:0] _GEN_73 = delegate ? reg_mstatus_prv : {{1'd0}, reg_mstatus_spp}; // @[CSR.scala 1007:23 369:24 997:35]
+  wire  _GEN_74 = delegate ? 1'h0 : reg_mstatus_sie; // @[CSR.scala 1008:23 369:24 997:35]
+  wire [31:0] _GEN_78 = delegate ? reg_mepc : epc; // @[CSR.scala 1014:16 472:21 997:35]
+  wire [31:0] _GEN_79 = delegate ? reg_mcause : cause; // @[CSR.scala 1015:18 473:27 997:35]
+  wire [31:0] _GEN_80 = delegate ? reg_mtval : io_tval; // @[CSR.scala 1016:17 474:22 997:35]
+  wire  _GEN_82 = delegate ? reg_mstatus_mpie : reg_mstatus_mie; // @[CSR.scala 1018:24 369:24 997:35]
+  wire [1:0] _GEN_83 = delegate ? reg_mstatus_mpp : reg_mstatus_prv; // @[CSR.scala 1019:23 369:24 997:35]
+  wire  _GEN_84 = delegate & reg_mstatus_mie; // @[CSR.scala 1020:23 369:24 997:35]
+  wire  _GEN_145 = trapToDebug ? _GEN_51 : reg_debug; // @[CSR.scala 449:22 968:24]
+  wire [31:0] _GEN_146 = trapToDebug ? _GEN_52 : reg_dpc; // @[CSR.scala 450:20 968:24]
+  wire [1:0] _GEN_148 = trapToDebug ? _GEN_54 : reg_dcsr_prv; // @[CSR.scala 377:21 968:24]
+  wire [31:0] _GEN_165 = trapToDebug ? reg_sepc : _GEN_68; // @[CSR.scala 532:21 968:24]
+  wire [31:0] _GEN_166 = trapToDebug ? reg_scause : _GEN_69; // @[CSR.scala 533:23 968:24]
+  wire [31:0] _GEN_167 = trapToDebug ? reg_stval : _GEN_70; // @[CSR.scala 534:22 968:24]
+  wire  _GEN_169 = trapToDebug ? reg_mstatus_spie : _GEN_72; // @[CSR.scala 369:24 968:24]
+  wire [1:0] _GEN_170 = trapToDebug ? {{1'd0}, reg_mstatus_spp} : _GEN_73; // @[CSR.scala 369:24 968:24]
+  wire  _GEN_171 = trapToDebug ? reg_mstatus_sie : _GEN_74; // @[CSR.scala 369:24 968:24]
+  wire [31:0] _GEN_174 = trapToDebug ? reg_mepc : _GEN_78; // @[CSR.scala 472:21 968:24]
+  wire [31:0] _GEN_175 = trapToDebug ? reg_mcause : _GEN_79; // @[CSR.scala 968:24 473:27]
+  wire [31:0] _GEN_176 = trapToDebug ? reg_mtval : _GEN_80; // @[CSR.scala 474:22 968:24]
+  wire  _GEN_178 = trapToDebug ? reg_mstatus_mpie : _GEN_82; // @[CSR.scala 369:24 968:24]
+  wire [1:0] _GEN_179 = trapToDebug ? reg_mstatus_mpp : _GEN_83; // @[CSR.scala 369:24 968:24]
+  wire  _GEN_180 = trapToDebug ? reg_mstatus_mie : _GEN_84; // @[CSR.scala 369:24 968:24]
+  wire  _GEN_182 = exception ? _GEN_145 : reg_debug; // @[CSR.scala 967:20 449:22]
+  wire [31:0] _GEN_183 = exception ? _GEN_146 : reg_dpc; // @[CSR.scala 450:20 967:20]
+  wire [1:0] _GEN_185 = exception ? _GEN_148 : reg_dcsr_prv; // @[CSR.scala 967:20 377:21]
+  wire [31:0] _GEN_202 = exception ? _GEN_165 : reg_sepc; // @[CSR.scala 967:20 532:21]
+  wire [31:0] _GEN_203 = exception ? _GEN_166 : reg_scause; // @[CSR.scala 967:20 533:23]
+  wire [31:0] _GEN_204 = exception ? _GEN_167 : reg_stval; // @[CSR.scala 967:20 534:22]
+  wire  _GEN_206 = exception ? _GEN_169 : reg_mstatus_spie; // @[CSR.scala 967:20 369:24]
+  wire [1:0] _GEN_207 = exception ? _GEN_170 : {{1'd0}, reg_mstatus_spp}; // @[CSR.scala 967:20 369:24]
+  wire  _GEN_208 = exception ? _GEN_171 : reg_mstatus_sie; // @[CSR.scala 967:20 369:24]
+  wire [31:0] _GEN_211 = exception ? _GEN_174 : reg_mepc; // @[CSR.scala 967:20 472:21]
+  wire [31:0] _GEN_212 = exception ? _GEN_175 : reg_mcause; // @[CSR.scala 967:20 473:27]
+  wire [31:0] _GEN_213 = exception ? _GEN_176 : reg_mtval; // @[CSR.scala 967:20 474:22]
+  wire  _GEN_215 = exception ? _GEN_178 : reg_mstatus_mpie; // @[CSR.scala 967:20 369:24]
+  wire [1:0] _GEN_216 = exception ? _GEN_179 : reg_mstatus_mpp; // @[CSR.scala 967:20 369:24]
+  wire  _GEN_217 = exception ? _GEN_180 : reg_mstatus_mie; // @[CSR.scala 967:20 369:24]
+  wire [31:0] _GEN_239 = io_rw_addr[10] & io_rw_addr[7] ? _T_28 : _T_22; // @[CSR.scala 1064:70 1068:15]
+  wire  _GEN_241 = io_rw_addr[10] & io_rw_addr[7] ? _GEN_217 : reg_mstatus_mpie; // @[CSR.scala 1064:70]
+  wire  _GEN_242 = io_rw_addr[10] & io_rw_addr[7] ? _GEN_215 : 1'h1; // @[CSR.scala 1064:70]
+  wire [1:0] _GEN_243 = io_rw_addr[10] & io_rw_addr[7] ? _GEN_216 : 2'h0; // @[CSR.scala 1064:70]
+  wire  _GEN_245 = ~io_rw_addr[9] ? reg_mstatus_spie : _GEN_208; // @[CSR.scala 1047:52]
+  wire  _GEN_246 = ~io_rw_addr[9] | _GEN_206; // @[CSR.scala 1047:52]
+  wire [1:0] _GEN_247 = ~io_rw_addr[9] ? 2'h0 : _GEN_207; // @[CSR.scala 1047:52]
+  wire [31:0] _GEN_250 = ~io_rw_addr[9] ? _T_98 : _GEN_239; // @[CSR.scala 1047:52]
+  wire  _GEN_257 = ~io_rw_addr[9] ? _GEN_217 : _GEN_241; // @[CSR.scala 1047:52]
+  wire  _GEN_258 = ~io_rw_addr[9] ? _GEN_215 : _GEN_242; // @[CSR.scala 1047:52]
+  wire [1:0] _GEN_259 = ~io_rw_addr[9] ? _GEN_216 : _GEN_243; // @[CSR.scala 1047:52]
+  wire  _GEN_261 = ret_prv <= 2'h1 ? 1'h0 : reg_mstatus_mprv; // @[CSR.scala 1085:42 1086:24 369:24]
+  wire  _GEN_262 = insn_ret ? _GEN_245 : _GEN_208; // @[CSR.scala 1045:19]
+  wire  _GEN_263 = insn_ret ? _GEN_246 : _GEN_206; // @[CSR.scala 1045:19]
+  wire [1:0] _GEN_264 = insn_ret ? _GEN_247 : _GEN_207; // @[CSR.scala 1045:19]
+  wire  _GEN_273 = insn_ret ? _GEN_257 : _GEN_217; // @[CSR.scala 1045:19]
+  wire  _GEN_274 = insn_ret ? _GEN_258 : _GEN_215; // @[CSR.scala 1045:19]
+  wire [1:0] _GEN_275 = insn_ret ? _GEN_259 : _GEN_216; // @[CSR.scala 1045:19]
+  wire  _GEN_278 = insn_ret ? _GEN_261 : reg_mstatus_mprv; // @[CSR.scala 1045:19 369:24]
+  reg  io_status_cease_r; // @[Reg.scala 28:20]
+  wire  _GEN_279 = insn_cease | io_status_cease_r; // @[Reg.scala 29:18 28:20 29:22]
+  wire  _io_rw_rdata_T = decoded_0 & reg_tselect; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_1 = decoded_1 ? _T_16 : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _GEN_281 = reg_tselect ? reg_bp_1_address : reg_bp_0_address; // @[Mux.scala 27:{73,73}]
+  wire [31:0] _io_rw_rdata_T_2 = decoded_2 ? _GEN_281 : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_4 = decoded_4 ? reg_misa : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_5 = decoded_5 ? read_mstatus : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_6 = decoded_6 ? read_mtvec : 32'h0; // @[Mux.scala 27:73]
+  wire [15:0] _io_rw_rdata_T_7 = decoded_7 ? read_mip : 16'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_8 = decoded_8 ? reg_mie : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_9 = decoded_9 ? reg_mscratch : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_10 = decoded_10 ? _T_22 : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_11 = decoded_11 ? reg_mtval : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_12 = decoded_12 ? reg_mcause : 32'h0; // @[Mux.scala 27:73]
+  wire  _io_rw_rdata_T_13 = decoded_13 & io_hartid; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_14 = decoded_14 ? _T_23 : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_15 = decoded_15 ? _T_28 : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_16 = decoded_16 ? reg_dscratch : 32'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_rw_rdata_T_17 = decoded_17 ? reg_mcountinhibit : 3'h0; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_18 = decoded_18 ? value_1 : 64'h0; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_19 = decoded_19 ? value : 64'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_165 = decoded_165 ? read_mcounteren : 32'h0; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_166 = decoded_166 ? value_1 : 64'h0; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_167 = decoded_167 ? value : 64'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_168 = decoded_168 ? value_1[63:32] : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_169 = decoded_169 ? value[63:32] : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_170 = decoded_170 ? value_1[63:32] : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_171 = decoded_171 ? value[63:32] : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_172 = decoded_172 ? _T_91[31:0] : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_173 = decoded_173 ? read_sip : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_174 = decoded_174 ? read_sie : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_175 = decoded_175 ? reg_sscratch : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_176 = decoded_176 ? reg_scause : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_177 = decoded_177 ? reg_stval : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_179 = decoded_179 ? _T_98 : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_180 = decoded_180 ? read_stvec : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_181 = decoded_181 ? read_scounteren : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_182 = decoded_182 ? read_mideleg : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_183 = decoded_183 ? read_medeleg : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_184 = decoded_184 ? _T_103 : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_185 = decoded_185 ? _T_108 : 32'h0; // @[Mux.scala 27:73]
+  wire [28:0] _io_rw_rdata_T_188 = decoded_188 ? reg_pmp_0_addr : 29'h0; // @[Mux.scala 27:73]
+  wire [28:0] _io_rw_rdata_T_189 = decoded_189 ? reg_pmp_1_addr : 29'h0; // @[Mux.scala 27:73]
+  wire [28:0] _io_rw_rdata_T_190 = decoded_190 ? reg_pmp_2_addr : 29'h0; // @[Mux.scala 27:73]
+  wire [28:0] _io_rw_rdata_T_191 = decoded_191 ? reg_pmp_3_addr : 29'h0; // @[Mux.scala 27:73]
+  wire [28:0] _io_rw_rdata_T_192 = decoded_192 ? reg_pmp_4_addr : 29'h0; // @[Mux.scala 27:73]
+  wire [28:0] _io_rw_rdata_T_193 = decoded_193 ? reg_pmp_5_addr : 29'h0; // @[Mux.scala 27:73]
+  wire [28:0] _io_rw_rdata_T_194 = decoded_194 ? reg_pmp_6_addr : 29'h0; // @[Mux.scala 27:73]
+  wire [28:0] _io_rw_rdata_T_195 = decoded_195 ? reg_pmp_7_addr : 29'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_204 = decoded_204 ? reg_custom_0 : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_205 = decoded_205 ? 32'h1 : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_207 = decoded_207 ? 32'h20181004 : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _GEN_648 = {{31'd0}, _io_rw_rdata_T}; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_208 = _GEN_648 | _io_rw_rdata_T_1; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_209 = _io_rw_rdata_T_208 | _io_rw_rdata_T_2; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_211 = _io_rw_rdata_T_209 | _io_rw_rdata_T_4; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_212 = _io_rw_rdata_T_211 | _io_rw_rdata_T_5; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_213 = _io_rw_rdata_T_212 | _io_rw_rdata_T_6; // @[Mux.scala 27:73]
+  wire [31:0] _GEN_649 = {{16'd0}, _io_rw_rdata_T_7}; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_214 = _io_rw_rdata_T_213 | _GEN_649; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_215 = _io_rw_rdata_T_214 | _io_rw_rdata_T_8; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_216 = _io_rw_rdata_T_215 | _io_rw_rdata_T_9; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_217 = _io_rw_rdata_T_216 | _io_rw_rdata_T_10; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_218 = _io_rw_rdata_T_217 | _io_rw_rdata_T_11; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_219 = _io_rw_rdata_T_218 | _io_rw_rdata_T_12; // @[Mux.scala 27:73]
+  wire [31:0] _GEN_650 = {{31'd0}, _io_rw_rdata_T_13}; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_220 = _io_rw_rdata_T_219 | _GEN_650; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_221 = _io_rw_rdata_T_220 | _io_rw_rdata_T_14; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_222 = _io_rw_rdata_T_221 | _io_rw_rdata_T_15; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_223 = _io_rw_rdata_T_222 | _io_rw_rdata_T_16; // @[Mux.scala 27:73]
+  wire [31:0] _GEN_651 = {{29'd0}, _io_rw_rdata_T_17}; // @[Mux.scala 27:73]
+  wire [31:0] _io_rw_rdata_T_224 = _io_rw_rdata_T_223 | _GEN_651; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_652 = {{32'd0}, _io_rw_rdata_T_224}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_225 = _GEN_652 | _io_rw_rdata_T_18; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_226 = _io_rw_rdata_T_225 | _io_rw_rdata_T_19; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_653 = {{32'd0}, _io_rw_rdata_T_165}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_372 = _io_rw_rdata_T_226 | _GEN_653; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_373 = _io_rw_rdata_T_372 | _io_rw_rdata_T_166; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_374 = _io_rw_rdata_T_373 | _io_rw_rdata_T_167; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_654 = {{32'd0}, _io_rw_rdata_T_168}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_375 = _io_rw_rdata_T_374 | _GEN_654; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_655 = {{32'd0}, _io_rw_rdata_T_169}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_376 = _io_rw_rdata_T_375 | _GEN_655; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_656 = {{32'd0}, _io_rw_rdata_T_170}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_377 = _io_rw_rdata_T_376 | _GEN_656; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_657 = {{32'd0}, _io_rw_rdata_T_171}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_378 = _io_rw_rdata_T_377 | _GEN_657; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_658 = {{32'd0}, _io_rw_rdata_T_172}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_379 = _io_rw_rdata_T_378 | _GEN_658; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_659 = {{32'd0}, _io_rw_rdata_T_173}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_380 = _io_rw_rdata_T_379 | _GEN_659; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_660 = {{32'd0}, _io_rw_rdata_T_174}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_381 = _io_rw_rdata_T_380 | _GEN_660; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_661 = {{32'd0}, _io_rw_rdata_T_175}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_382 = _io_rw_rdata_T_381 | _GEN_661; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_662 = {{32'd0}, _io_rw_rdata_T_176}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_383 = _io_rw_rdata_T_382 | _GEN_662; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_663 = {{32'd0}, _io_rw_rdata_T_177}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_384 = _io_rw_rdata_T_383 | _GEN_663; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_664 = {{32'd0}, _io_rw_rdata_T_179}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_386 = _io_rw_rdata_T_384 | _GEN_664; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_665 = {{32'd0}, _io_rw_rdata_T_180}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_387 = _io_rw_rdata_T_386 | _GEN_665; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_666 = {{32'd0}, _io_rw_rdata_T_181}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_388 = _io_rw_rdata_T_387 | _GEN_666; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_667 = {{32'd0}, _io_rw_rdata_T_182}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_389 = _io_rw_rdata_T_388 | _GEN_667; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_668 = {{32'd0}, _io_rw_rdata_T_183}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_390 = _io_rw_rdata_T_389 | _GEN_668; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_669 = {{32'd0}, _io_rw_rdata_T_184}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_391 = _io_rw_rdata_T_390 | _GEN_669; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_670 = {{32'd0}, _io_rw_rdata_T_185}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_392 = _io_rw_rdata_T_391 | _GEN_670; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_671 = {{35'd0}, _io_rw_rdata_T_188}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_395 = _io_rw_rdata_T_392 | _GEN_671; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_672 = {{35'd0}, _io_rw_rdata_T_189}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_396 = _io_rw_rdata_T_395 | _GEN_672; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_673 = {{35'd0}, _io_rw_rdata_T_190}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_397 = _io_rw_rdata_T_396 | _GEN_673; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_674 = {{35'd0}, _io_rw_rdata_T_191}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_398 = _io_rw_rdata_T_397 | _GEN_674; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_675 = {{35'd0}, _io_rw_rdata_T_192}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_399 = _io_rw_rdata_T_398 | _GEN_675; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_676 = {{35'd0}, _io_rw_rdata_T_193}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_400 = _io_rw_rdata_T_399 | _GEN_676; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_677 = {{35'd0}, _io_rw_rdata_T_194}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_401 = _io_rw_rdata_T_400 | _GEN_677; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_678 = {{35'd0}, _io_rw_rdata_T_195}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_402 = _io_rw_rdata_T_401 | _GEN_678; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_679 = {{32'd0}, _io_rw_rdata_T_204}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_411 = _io_rw_rdata_T_402 | _GEN_679; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_680 = {{32'd0}, _io_rw_rdata_T_205}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_412 = _io_rw_rdata_T_411 | _GEN_680; // @[Mux.scala 27:73]
+  wire [63:0] _GEN_681 = {{32'd0}, _io_rw_rdata_T_207}; // @[Mux.scala 27:73]
+  wire [63:0] _io_rw_rdata_T_414 = _io_rw_rdata_T_412 | _GEN_681; // @[Mux.scala 27:73]
+  wire  _T_529 = io_rw_cmd == 3'h5; // @[package.scala 15:47]
+  wire  _T_530 = io_rw_cmd == 3'h6; // @[package.scala 15:47]
+  wire  _T_531 = io_rw_cmd == 3'h7; // @[package.scala 15:47]
+  wire  csr_wen = _T_530 | _T_531 | _T_529; // @[package.scala 72:59]
+  wire [104:0] _new_mstatus_WIRE = {{73'd0}, wdata};
+  wire  new_mstatus_sie = _new_mstatus_WIRE[1]; // @[CSR.scala 1153:47]
+  wire  new_mstatus_mie = _new_mstatus_WIRE[3]; // @[CSR.scala 1153:47]
+  wire  new_mstatus_spie = _new_mstatus_WIRE[5]; // @[CSR.scala 1153:47]
+  wire  new_mstatus_mpie = _new_mstatus_WIRE[7]; // @[CSR.scala 1153:47]
+  wire  new_mstatus_spp = _new_mstatus_WIRE[8]; // @[CSR.scala 1153:47]
+  wire [1:0] new_mstatus_mpp = _new_mstatus_WIRE[12:11]; // @[CSR.scala 1153:47]
+  wire [1:0] new_mstatus_fs = _new_mstatus_WIRE[14:13]; // @[CSR.scala 1153:47]
+  wire  new_mstatus_mprv = _new_mstatus_WIRE[17]; // @[CSR.scala 1153:47]
+  wire  new_mstatus_tw = _new_mstatus_WIRE[21]; // @[CSR.scala 1153:47]
+  wire  new_mstatus_tsr = _new_mstatus_WIRE[22]; // @[CSR.scala 1153:47]
+  wire  _reg_mstatus_fs_T = |new_mstatus_fs; // @[CSR.scala 1565:73]
+  wire [1:0] _reg_mstatus_fs_T_2 = _reg_mstatus_fs_T ? 2'h3 : 2'h0; // @[Bitwise.scala 74:12]
+  wire [1:0] _GEN_288 = decoded_5 ? {{1'd0}, new_mstatus_spp} : _GEN_264; // @[CSR.scala 1152:39 1161:27]
+  wire  f = wdata[5]; // @[CSR.scala 1183:20]
+  wire [31:0] _reg_misa_T = ~wdata; // @[CSR.scala 1187:25]
+  wire  _reg_misa_T_1 = ~f; // @[CSR.scala 1187:35]
+  wire [3:0] _reg_misa_T_2 = {_reg_misa_T_1, 3'h0}; // @[CSR.scala 1187:38]
+  wire [31:0] _GEN_682 = {{28'd0}, _reg_misa_T_2}; // @[CSR.scala 1187:32]
+  wire [31:0] _reg_misa_T_3 = _reg_misa_T | _GEN_682; // @[CSR.scala 1187:32]
+  wire [31:0] _reg_misa_T_4 = ~_reg_misa_T_3; // @[CSR.scala 1187:23]
+  wire [31:0] _reg_misa_T_5 = _reg_misa_T_4 & 32'h1005; // @[CSR.scala 1187:55]
+  wire [31:0] _reg_misa_T_7 = reg_misa & 32'hffffeffa; // @[CSR.scala 1187:73]
+  wire [31:0] _reg_misa_T_8 = _reg_misa_T_5 | _reg_misa_T_7; // @[CSR.scala 1187:62]
+  wire [15:0] _new_mip_T_2 = io_rw_cmd[1] ? _read_hvip_T : 16'h0; // @[CSR.scala 1540:9]
+  wire [31:0] _GEN_683 = {{16'd0}, _new_mip_T_2}; // @[CSR.scala 1540:34]
+  wire [31:0] _new_mip_T_3 = _GEN_683 | io_rw_wdata; // @[CSR.scala 1540:34]
+  wire [31:0] _new_mip_T_8 = _new_mip_T_3 & _wdata_T_6; // @[CSR.scala 1540:43]
+  wire  new_mip_ssip = _new_mip_T_8[1]; // @[CSR.scala 1195:88]
+  wire  new_mip_stip = _new_mip_T_8[5]; // @[CSR.scala 1195:88]
+  wire  new_mip_seip = _new_mip_T_8[9]; // @[CSR.scala 1195:88]
+  wire [31:0] _reg_mie_T = wdata & 32'haaa; // @[CSR.scala 1205:59]
+  wire [31:0] _reg_mepc_T_1 = _reg_misa_T | 32'h1; // @[CSR.scala 1561:31]
+  wire [31:0] _reg_mepc_T_2 = ~_reg_mepc_T_1; // @[CSR.scala 1561:26]
+  wire [31:0] _GEN_303 = decoded_6 ? wdata : {{1'd0}, reg_mtvec}; // @[CSR.scala 1209:{40,52} 479:27]
+  wire [31:0] _reg_mcause_T = wdata & 32'h8000000f; // @[CSR.scala 1210:62]
+  wire [31:0] _reg_mcountinhibit_T_1 = wdata & 32'hfffffffd; // @[CSR.scala 1230:76]
+  wire [31:0] _GEN_306 = decoded_17 ? _reg_mcountinhibit_T_1 : {{29'd0}, reg_mcountinhibit}; // @[CSR.scala 1230:{47,67} 547:34]
+  wire [63:0] _T_2681 = {value_1[63:32],wdata}; // @[Cat.scala 31:58]
+  wire [63:0] _GEN_307 = decoded_18 ? _T_2681 : {{57'd0}, _GEN_2}; // @[CSR.scala 1555:31 Counters.scala 65:11]
+  wire [63:0] _T_2684 = {wdata,value_1[31:0]}; // @[Cat.scala 31:58]
+  wire [63:0] _GEN_309 = decoded_168 ? _T_2684 : _GEN_307; // @[CSR.scala 1556:31 Counters.scala 65:11]
+  wire [63:0] _T_2686 = {value[63:32],wdata}; // @[Cat.scala 31:58]
+  wire [63:0] _GEN_311 = decoded_19 ? _T_2686 : {{57'd0}, _GEN_0}; // @[CSR.scala 1555:31 Counters.scala 65:11]
+  wire [63:0] _T_2689 = {wdata,value[31:0]}; // @[Cat.scala 31:58]
+  wire [63:0] _GEN_313 = decoded_169 ? _T_2689 : _GEN_311; // @[CSR.scala 1556:31 Counters.scala 65:11]
+  wire [1:0] new_dcsr_prv = wdata[1:0]; // @[CSR.scala 1246:43]
+  wire  new_dcsr_ebreaku = wdata[12]; // @[CSR.scala 1246:43]
+  wire  new_dcsr_ebreaks = wdata[13]; // @[CSR.scala 1246:43]
+  wire  new_dcsr_ebreakm = wdata[15]; // @[CSR.scala 1246:43]
+  wire [1:0] _GEN_324 = decoded_172 ? {{1'd0}, new_mstatus_spp} : _GEN_288; // @[CSR.scala 1261:41 1265:25]
+  wire [31:0] _new_sip_T = ~read_mideleg; // @[CSR.scala 1274:54]
+  wire [31:0] _new_sip_T_1 = _GEN_41 & _new_sip_T; // @[CSR.scala 1274:52]
+  wire [31:0] _new_sip_T_2 = wdata & read_mideleg; // @[CSR.scala 1274:78]
+  wire [31:0] _new_sip_T_3 = _new_sip_T_1 | _new_sip_T_2; // @[CSR.scala 1274:69]
+  wire  new_sip_ssip = _new_sip_T_3[1]; // @[CSR.scala 1274:41]
+  wire [31:0] _reg_mie_T_1 = ~sie_mask; // @[CSR.scala 1287:66]
+  wire [31:0] _reg_mie_T_2 = reg_mie & _reg_mie_T_1; // @[CSR.scala 1287:64]
+  wire [31:0] _reg_mie_T_3 = wdata & sie_mask; // @[CSR.scala 1287:86]
+  wire [31:0] _reg_mie_T_4 = _reg_mie_T_2 | _reg_mie_T_3; // @[CSR.scala 1287:77]
+  wire [31:0] _reg_scause_T = wdata & 32'h8000001f; // @[CSR.scala 1291:64]
+  wire [31:0] _GEN_338 = decoded_0 ? wdata : {{31'd0}, reg_tselect}; // @[CSR.scala 1373:{41,55} 458:24]
+  wire [6:0] newBPC_lo = {reg_bp_0_control_m,1'h0,reg_bp_0_control_s,reg_bp_0_control_u,reg_bp_0_control_x,
+    reg_bp_0_control_w,reg_bp_0_control_r}; // @[CSR.scala 1395:67]
+  wire [31:0] _newBPC_T = {4'h2,reg_bp_0_control_dmode,14'h400,reg_bp_0_control_action,reg_bp_0_control_chain,2'h0,
+    reg_bp_0_control_tmatch,newBPC_lo}; // @[CSR.scala 1395:67]
+  wire [31:0] _newBPC_T_2 = io_rw_cmd[1] ? _newBPC_T : 32'h0; // @[CSR.scala 1540:9]
+  wire [31:0] _newBPC_T_3 = _newBPC_T_2 | io_rw_wdata; // @[CSR.scala 1540:34]
+  wire [31:0] _newBPC_T_8 = _newBPC_T_3 & _wdata_T_6; // @[CSR.scala 1540:43]
+  wire  newBPC_chain = _newBPC_T_8[11]; // @[CSR.scala 1395:96]
+  wire  newBPC_action = _newBPC_T_8[12]; // @[CSR.scala 1395:96]
+  wire  newBPC_dmode = _newBPC_T_8[27]; // @[CSR.scala 1395:96]
+  wire  dMode = newBPC_dmode & reg_debug; // @[CSR.scala 1396:38]
+  wire  _GEN_340 = dMode & newBPC_action; // @[CSR.scala 1398:{120,51,71}]
+  wire  _reg_bp_0_control_chain_T_3 = ~reg_bp_1_control_dmode; // @[CSR.scala 1399:88]
+  wire [6:0] newBPC_lo_1 = {reg_bp_1_control_m,1'h0,reg_bp_1_control_s,reg_bp_1_control_u,reg_bp_1_control_x,
+    reg_bp_1_control_w,reg_bp_1_control_r}; // @[CSR.scala 1395:67]
+  wire [31:0] _newBPC_T_24 = {4'h2,reg_bp_1_control_dmode,14'h400,reg_bp_1_control_action,1'h0,2'h0,
+    reg_bp_1_control_tmatch,newBPC_lo_1}; // @[CSR.scala 1395:67]
+  wire [31:0] _newBPC_T_26 = io_rw_cmd[1] ? _newBPC_T_24 : 32'h0; // @[CSR.scala 1540:9]
+  wire [31:0] _newBPC_T_27 = _newBPC_T_26 | io_rw_wdata; // @[CSR.scala 1540:34]
+  wire [31:0] _newBPC_T_32 = _newBPC_T_27 & _wdata_T_6; // @[CSR.scala 1540:43]
+  wire  newBPC_1_action = _newBPC_T_32[12]; // @[CSR.scala 1395:96]
+  wire  newBPC_1_dmode = _newBPC_T_32[27]; // @[CSR.scala 1395:96]
+  wire  dMode_1 = newBPC_1_dmode & reg_debug & (reg_bp_0_control_dmode | ~reg_bp_0_control_chain); // @[CSR.scala 1396:51]
+  wire  _GEN_373 = dMode_1 & newBPC_1_action; // @[CSR.scala 1398:{120,51,71}]
+  wire  newCfg_r = wdata[0]; // @[CSR.scala 1409:46]
+  wire  newCfg_w = wdata[1]; // @[CSR.scala 1409:46]
+  wire  newCfg_x = wdata[2]; // @[CSR.scala 1409:46]
+  wire [1:0] newCfg_a = wdata[4:3]; // @[CSR.scala 1409:46]
+  wire  newCfg_l = wdata[7]; // @[CSR.scala 1409:46]
+  wire  _T_2707 = ~reg_pmp_1_cfg_a[1] & reg_pmp_1_cfg_a[0]; // @[PMP.scala 48:20]
+  wire  _T_2709 = reg_pmp_0_cfg_l | reg_pmp_1_cfg_l & _T_2707; // @[PMP.scala 50:44]
+  wire [31:0] _GEN_411 = decoded_188 & ~_T_2709 ? wdata : {{3'd0}, reg_pmp_0_addr}; // @[CSR.scala 1417:71 1418:18 460:20]
+  wire  newCfg_1_r = wdata[8]; // @[CSR.scala 1409:46]
+  wire  newCfg_1_w = wdata[9]; // @[CSR.scala 1409:46]
+  wire  newCfg_1_x = wdata[10]; // @[CSR.scala 1409:46]
+  wire [1:0] newCfg_1_a = wdata[12:11]; // @[CSR.scala 1409:46]
+  wire  newCfg_1_l = wdata[15]; // @[CSR.scala 1409:46]
+  wire  _T_2717 = ~reg_pmp_2_cfg_a[1] & reg_pmp_2_cfg_a[0]; // @[PMP.scala 48:20]
+  wire  _T_2719 = reg_pmp_1_cfg_l | reg_pmp_2_cfg_l & _T_2717; // @[PMP.scala 50:44]
+  wire [31:0] _GEN_418 = decoded_189 & ~_T_2719 ? wdata : {{3'd0}, reg_pmp_1_addr}; // @[CSR.scala 1417:71 1418:18 460:20]
+  wire  newCfg_2_r = wdata[16]; // @[CSR.scala 1409:46]
+  wire  newCfg_2_w = wdata[17]; // @[CSR.scala 1409:46]
+  wire  newCfg_2_x = wdata[18]; // @[CSR.scala 1409:46]
+  wire [1:0] newCfg_2_a = wdata[20:19]; // @[CSR.scala 1409:46]
+  wire  newCfg_2_l = wdata[23]; // @[CSR.scala 1409:46]
+  wire  _T_2727 = ~reg_pmp_3_cfg_a[1] & reg_pmp_3_cfg_a[0]; // @[PMP.scala 48:20]
+  wire  _T_2729 = reg_pmp_2_cfg_l | reg_pmp_3_cfg_l & _T_2727; // @[PMP.scala 50:44]
+  wire [31:0] _GEN_425 = decoded_190 & ~_T_2729 ? wdata : {{3'd0}, reg_pmp_2_addr}; // @[CSR.scala 1417:71 1418:18 460:20]
+  wire  newCfg_3_r = wdata[24]; // @[CSR.scala 1409:46]
+  wire  newCfg_3_w = wdata[25]; // @[CSR.scala 1409:46]
+  wire  newCfg_3_x = wdata[26]; // @[CSR.scala 1409:46]
+  wire [1:0] newCfg_3_a = wdata[28:27]; // @[CSR.scala 1409:46]
+  wire  newCfg_3_l = wdata[31]; // @[CSR.scala 1409:46]
+  wire  _T_2737 = ~reg_pmp_4_cfg_a[1] & reg_pmp_4_cfg_a[0]; // @[PMP.scala 48:20]
+  wire  _T_2739 = reg_pmp_3_cfg_l | reg_pmp_4_cfg_l & _T_2737; // @[PMP.scala 50:44]
+  wire [31:0] _GEN_432 = decoded_191 & ~_T_2739 ? wdata : {{3'd0}, reg_pmp_3_addr}; // @[CSR.scala 1417:71 1418:18 460:20]
+  wire  _T_2747 = ~reg_pmp_5_cfg_a[1] & reg_pmp_5_cfg_a[0]; // @[PMP.scala 48:20]
+  wire  _T_2749 = reg_pmp_4_cfg_l | reg_pmp_5_cfg_l & _T_2747; // @[PMP.scala 50:44]
+  wire [31:0] _GEN_439 = decoded_192 & ~_T_2749 ? wdata : {{3'd0}, reg_pmp_4_addr}; // @[CSR.scala 1417:71 1418:18 460:20]
+  wire  _T_2757 = ~reg_pmp_6_cfg_a[1] & reg_pmp_6_cfg_a[0]; // @[PMP.scala 48:20]
+  wire  _T_2759 = reg_pmp_5_cfg_l | reg_pmp_6_cfg_l & _T_2757; // @[PMP.scala 50:44]
+  wire [31:0] _GEN_446 = decoded_193 & ~_T_2759 ? wdata : {{3'd0}, reg_pmp_5_addr}; // @[CSR.scala 1417:71 1418:18 460:20]
+  wire  _T_2767 = ~reg_pmp_7_cfg_a[1] & reg_pmp_7_cfg_a[0]; // @[PMP.scala 48:20]
+  wire  _T_2769 = reg_pmp_6_cfg_l | reg_pmp_7_cfg_l & _T_2767; // @[PMP.scala 50:44]
+  wire [31:0] _GEN_453 = decoded_194 & ~_T_2769 ? wdata : {{3'd0}, reg_pmp_6_addr}; // @[CSR.scala 1417:71 1418:18 460:20]
+  wire  _T_2779 = reg_pmp_7_cfg_l | reg_pmp_7_cfg_l & _T_2767; // @[PMP.scala 50:44]
+  wire [31:0] _GEN_460 = decoded_195 & ~_T_2779 ? wdata : {{3'd0}, reg_pmp_7_addr}; // @[CSR.scala 1417:71 1418:18 460:20]
+  wire [31:0] _reg_custom_0_T = wdata & 32'h208; // @[CSR.scala 1424:23]
+  wire [31:0] _reg_custom_0_T_2 = reg_custom_0 & 32'hfffffdf7; // @[CSR.scala 1424:38]
+  wire [31:0] _reg_custom_0_T_3 = _reg_custom_0_T | _reg_custom_0_T_2; // @[CSR.scala 1424:31]
+  wire [1:0] _GEN_473 = csr_wen ? _GEN_324 : _GEN_264; // @[CSR.scala 1148:18]
+  wire [31:0] _GEN_487 = csr_wen ? _GEN_303 : {{1'd0}, reg_mtvec}; // @[CSR.scala 1148:18 479:27]
+  wire [31:0] _GEN_490 = csr_wen ? _GEN_306 : {{29'd0}, reg_mcountinhibit}; // @[CSR.scala 1148:18 547:34]
+  wire [63:0] _GEN_491 = csr_wen ? _GEN_309 : {{57'd0}, _GEN_2}; // @[CSR.scala 1148:18]
+  wire [63:0] _GEN_493 = csr_wen ? _GEN_313 : {{57'd0}, _GEN_0}; // @[CSR.scala 1148:18]
+  wire [31:0] _GEN_511 = csr_wen ? _GEN_338 : {{31'd0}, reg_tselect}; // @[CSR.scala 1148:18 458:24]
+  wire [31:0] _GEN_550 = csr_wen ? _GEN_411 : {{3'd0}, reg_pmp_0_addr}; // @[CSR.scala 1148:18 460:20]
+  wire [31:0] _GEN_557 = csr_wen ? _GEN_418 : {{3'd0}, reg_pmp_1_addr}; // @[CSR.scala 1148:18 460:20]
+  wire [31:0] _GEN_564 = csr_wen ? _GEN_425 : {{3'd0}, reg_pmp_2_addr}; // @[CSR.scala 1148:18 460:20]
+  wire [31:0] _GEN_571 = csr_wen ? _GEN_432 : {{3'd0}, reg_pmp_3_addr}; // @[CSR.scala 1148:18 460:20]
+  wire [31:0] _GEN_578 = csr_wen ? _GEN_439 : {{3'd0}, reg_pmp_4_addr}; // @[CSR.scala 1148:18 460:20]
+  wire [31:0] _GEN_585 = csr_wen ? _GEN_446 : {{3'd0}, reg_pmp_5_addr}; // @[CSR.scala 1148:18 460:20]
+  wire [31:0] _GEN_592 = csr_wen ? _GEN_453 : {{3'd0}, reg_pmp_6_addr}; // @[CSR.scala 1148:18 460:20]
+  wire [31:0] _GEN_599 = csr_wen ? _GEN_460 : {{3'd0}, reg_pmp_7_addr}; // @[CSR.scala 1148:18 460:20]
+  assign io_rw_rdata = _io_rw_rdata_T_414[31:0]; // @[CSR.scala 1101:15]
+  assign io_decode_0_fp_illegal = io_status_fs == 2'h0 | ~reg_misa[5]; // @[CSR.scala 850:87]
+  assign io_decode_0_fp_csr = 1'h0; // @[CSR.scala 852:19]
+  assign io_decode_0_read_illegal = _io_decode_0_read_illegal_T_18 | _io_decode_0_read_illegal_T_21; // @[CSR.scala 862:68]
+  assign io_decode_0_write_illegal = &addr_1[11:10]; // @[CSR.scala 864:41]
+  assign io_decode_0_write_flush = ~(io_decode_0_write_flush_addr_m >= 12'h340 & io_decode_0_write_flush_addr_m <= 12'h343
+    ); // @[CSR.scala 867:7]
+  assign io_decode_0_system_illegal = _io_decode_0_system_illegal_T_8 | _io_decode_0_system_illegal_T_14; // @[CSR.scala 871:29]
+  assign io_csr_stall = reg_wfi | io_status_cease; // @[CSR.scala 1091:27]
+  assign io_eret = _exception_T | insn_ret; // @[CSR.scala 933:38]
+  assign io_singleStep = reg_dcsr_step & _T_401; // @[CSR.scala 934:34]
+  assign io_status_debug = reg_debug; // @[CSR.scala 937:19]
+  assign io_status_cease = io_status_cease_r; // @[CSR.scala 1092:19]
+  assign io_status_wfi = reg_wfi; // @[CSR.scala 1093:17]
+  assign io_status_isa = reg_misa; // @[CSR.scala 938:17]
+  assign io_status_dprv = reg_mstatus_mprv & _T_401 ? reg_mstatus_mpp : reg_mstatus_prv; // @[CSR.scala 941:24]
+  assign io_status_dv = 1'h0; // @[CSR.scala 942:39]
+  assign io_status_prv = reg_mstatus_prv; // @[CSR.scala 935:13]
+  assign io_status_v = 1'h0; // @[CSR.scala 935:13]
+  assign io_status_sd = &io_status_fs | &io_status_xs | &io_status_vs; // @[CSR.scala 936:58]
+  assign io_status_zero2 = 23'h0; // @[CSR.scala 935:13]
+  assign io_status_mpv = 1'h0; // @[CSR.scala 944:17]
+  assign io_status_gva = reg_mstatus_gva; // @[CSR.scala 945:17]
+  assign io_status_mbe = 1'h0; // @[CSR.scala 935:13]
+  assign io_status_sbe = 1'h0; // @[CSR.scala 935:13]
+  assign io_status_sxl = 2'h1; // @[CSR.scala 940:17]
+  assign io_status_uxl = 2'h1; // @[CSR.scala 939:17]
+  assign io_status_sd_rv32 = io_status_sd; // @[CSR.scala 943:35]
+  assign io_status_zero1 = 8'h0; // @[CSR.scala 935:13]
+  assign io_status_tsr = reg_mstatus_tsr; // @[CSR.scala 935:13]
+  assign io_status_tw = reg_mstatus_tw; // @[CSR.scala 935:13]
+  assign io_status_tvm = 1'h0; // @[CSR.scala 935:13]
+  assign io_status_mxr = 1'h0; // @[CSR.scala 935:13]
+  assign io_status_sum = 1'h0; // @[CSR.scala 935:13]
+  assign io_status_mprv = reg_mstatus_mprv; // @[CSR.scala 935:13]
+  assign io_status_xs = 2'h0; // @[CSR.scala 935:13]
+  assign io_status_fs = reg_mstatus_fs; // @[CSR.scala 935:13]
+  assign io_status_mpp = reg_mstatus_mpp; // @[CSR.scala 935:13]
+  assign io_status_vs = 2'h0; // @[CSR.scala 935:13]
+  assign io_status_spp = reg_mstatus_spp; // @[CSR.scala 935:13]
+  assign io_status_mpie = reg_mstatus_mpie; // @[CSR.scala 935:13]
+  assign io_status_ube = 1'h0; // @[CSR.scala 935:13]
+  assign io_status_spie = reg_mstatus_spie; // @[CSR.scala 935:13]
+  assign io_status_upie = 1'h0; // @[CSR.scala 935:13]
+  assign io_status_mie = reg_mstatus_mie; // @[CSR.scala 935:13]
+  assign io_status_hie = 1'h0; // @[CSR.scala 935:13]
+  assign io_status_sie = reg_mstatus_sie; // @[CSR.scala 935:13]
+  assign io_status_uie = 1'h0; // @[CSR.scala 935:13]
+  assign io_evec = insn_ret ? _GEN_250 : tvec; // @[CSR.scala 1045:19 929:11]
+  assign io_time = value_1[31:0]; // @[CSR.scala 1090:11]
+  assign io_interrupt = (anyInterrupt & ~io_singleStep | reg_singleStepped) & ~(reg_debug | io_status_cease); // @[CSR.scala 583:73]
+  assign io_interrupt_cause = 32'h80000000 + _GEN_639; // @[CSR.scala 582:67]
+  assign io_bp_0_control_action = reg_bp_0_control_action; // @[CSR.scala 585:9]
+  assign io_bp_0_control_chain = reg_bp_0_control_chain; // @[CSR.scala 585:9]
+  assign io_bp_0_control_tmatch = reg_bp_0_control_tmatch; // @[CSR.scala 585:9]
+  assign io_bp_0_control_m = reg_bp_0_control_m; // @[CSR.scala 585:9]
+  assign io_bp_0_control_s = reg_bp_0_control_s; // @[CSR.scala 585:9]
+  assign io_bp_0_control_u = reg_bp_0_control_u; // @[CSR.scala 585:9]
+  assign io_bp_0_control_x = reg_bp_0_control_x; // @[CSR.scala 585:9]
+  assign io_bp_0_control_w = reg_bp_0_control_w; // @[CSR.scala 585:9]
+  assign io_bp_0_control_r = reg_bp_0_control_r; // @[CSR.scala 585:9]
+  assign io_bp_0_address = reg_bp_0_address; // @[CSR.scala 585:9]
+  assign io_bp_1_control_action = reg_bp_1_control_action; // @[CSR.scala 585:9]
+  assign io_bp_1_control_tmatch = reg_bp_1_control_tmatch; // @[CSR.scala 585:9]
+  assign io_bp_1_control_m = reg_bp_1_control_m; // @[CSR.scala 585:9]
+  assign io_bp_1_control_s = reg_bp_1_control_s; // @[CSR.scala 585:9]
+  assign io_bp_1_control_u = reg_bp_1_control_u; // @[CSR.scala 585:9]
+  assign io_bp_1_control_x = reg_bp_1_control_x; // @[CSR.scala 585:9]
+  assign io_bp_1_control_w = reg_bp_1_control_w; // @[CSR.scala 585:9]
+  assign io_bp_1_control_r = reg_bp_1_control_r; // @[CSR.scala 585:9]
+  assign io_bp_1_address = reg_bp_1_address; // @[CSR.scala 585:9]
+  assign io_pmp_0_cfg_l = reg_pmp_0_cfg_l; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_0_cfg_a = reg_pmp_0_cfg_a; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_0_cfg_x = reg_pmp_0_cfg_x; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_0_cfg_w = reg_pmp_0_cfg_w; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_0_cfg_r = reg_pmp_0_cfg_r; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_0_addr = reg_pmp_0_addr; // @[PMP.scala 25:19 27:14]
+  assign io_pmp_0_mask = _pmp_mask_T_4[30:0]; // @[PMP.scala 25:19 28:14]
+  assign io_pmp_1_cfg_l = reg_pmp_1_cfg_l; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_1_cfg_a = reg_pmp_1_cfg_a; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_1_cfg_x = reg_pmp_1_cfg_x; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_1_cfg_w = reg_pmp_1_cfg_w; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_1_cfg_r = reg_pmp_1_cfg_r; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_1_addr = reg_pmp_1_addr; // @[PMP.scala 25:19 27:14]
+  assign io_pmp_1_mask = _pmp_mask_T_9[30:0]; // @[PMP.scala 25:19 28:14]
+  assign io_pmp_2_cfg_l = reg_pmp_2_cfg_l; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_2_cfg_a = reg_pmp_2_cfg_a; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_2_cfg_x = reg_pmp_2_cfg_x; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_2_cfg_w = reg_pmp_2_cfg_w; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_2_cfg_r = reg_pmp_2_cfg_r; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_2_addr = reg_pmp_2_addr; // @[PMP.scala 25:19 27:14]
+  assign io_pmp_2_mask = _pmp_mask_T_14[30:0]; // @[PMP.scala 25:19 28:14]
+  assign io_pmp_3_cfg_l = reg_pmp_3_cfg_l; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_3_cfg_a = reg_pmp_3_cfg_a; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_3_cfg_x = reg_pmp_3_cfg_x; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_3_cfg_w = reg_pmp_3_cfg_w; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_3_cfg_r = reg_pmp_3_cfg_r; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_3_addr = reg_pmp_3_addr; // @[PMP.scala 25:19 27:14]
+  assign io_pmp_3_mask = _pmp_mask_T_19[30:0]; // @[PMP.scala 25:19 28:14]
+  assign io_pmp_4_cfg_l = reg_pmp_4_cfg_l; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_4_cfg_a = reg_pmp_4_cfg_a; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_4_cfg_x = reg_pmp_4_cfg_x; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_4_cfg_w = reg_pmp_4_cfg_w; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_4_cfg_r = reg_pmp_4_cfg_r; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_4_addr = reg_pmp_4_addr; // @[PMP.scala 25:19 27:14]
+  assign io_pmp_4_mask = _pmp_mask_T_24[30:0]; // @[PMP.scala 25:19 28:14]
+  assign io_pmp_5_cfg_l = reg_pmp_5_cfg_l; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_5_cfg_a = reg_pmp_5_cfg_a; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_5_cfg_x = reg_pmp_5_cfg_x; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_5_cfg_w = reg_pmp_5_cfg_w; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_5_cfg_r = reg_pmp_5_cfg_r; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_5_addr = reg_pmp_5_addr; // @[PMP.scala 25:19 27:14]
+  assign io_pmp_5_mask = _pmp_mask_T_29[30:0]; // @[PMP.scala 25:19 28:14]
+  assign io_pmp_6_cfg_l = reg_pmp_6_cfg_l; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_6_cfg_a = reg_pmp_6_cfg_a; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_6_cfg_x = reg_pmp_6_cfg_x; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_6_cfg_w = reg_pmp_6_cfg_w; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_6_cfg_r = reg_pmp_6_cfg_r; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_6_addr = reg_pmp_6_addr; // @[PMP.scala 25:19 27:14]
+  assign io_pmp_6_mask = _pmp_mask_T_34[30:0]; // @[PMP.scala 25:19 28:14]
+  assign io_pmp_7_cfg_l = reg_pmp_7_cfg_l; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_7_cfg_a = reg_pmp_7_cfg_a; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_7_cfg_x = reg_pmp_7_cfg_x; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_7_cfg_w = reg_pmp_7_cfg_w; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_7_cfg_r = reg_pmp_7_cfg_r; // @[PMP.scala 25:19 26:13]
+  assign io_pmp_7_addr = reg_pmp_7_addr; // @[PMP.scala 25:19 27:14]
+  assign io_pmp_7_mask = _pmp_mask_T_39[30:0]; // @[PMP.scala 25:19 28:14]
+  assign io_inhibit_cycle = reg_mcountinhibit[0]; // @[CSR.scala 548:40]
+  assign io_trace_0_valid = io_retire > 1'h0 | io_trace_0_exception; // @[CSR.scala 1519:30]
+  assign io_trace_0_iaddr = io_pc; // @[CSR.scala 1521:13]
+  assign io_trace_0_insn = io_inst_0; // @[CSR.scala 1520:12]
+  assign io_trace_0_exception = insn_call | insn_break | io_exception; // @[CSR.scala 953:43]
+  assign io_customCSRs_0_value = reg_custom_0; // @[CSR.scala 1098:14]
+  always @(posedge clock) begin
+    if (reset) begin // @[CSR.scala 369:24]
+      reg_mstatus_prv <= 2'h3; // @[CSR.scala 369:24]
+    end else if (new_prv == 2'h2) begin // @[CSR.scala 1544:29]
+      reg_mstatus_prv <= 2'h0;
+    end else if (insn_ret) begin // @[CSR.scala 1045:19]
+      if (~io_rw_addr[9]) begin // @[CSR.scala 1047:52]
+        reg_mstatus_prv <= {{1'd0}, reg_mstatus_spp};
+      end else begin
+        reg_mstatus_prv <= _GEN_236;
+      end
+    end else if (exception) begin // @[CSR.scala 967:20]
+      reg_mstatus_prv <= _GEN_150;
+    end
+    if (reset) begin // @[CSR.scala 369:24]
+      reg_mstatus_gva <= 1'h0; // @[CSR.scala 369:24]
+    end else if (exception) begin // @[CSR.scala 967:20]
+      if (!(trapToDebug)) begin // @[CSR.scala 968:24]
+        if (!(delegate)) begin // @[CSR.scala 997:35]
+          reg_mstatus_gva <= io_gva; // @[CSR.scala 1013:23]
+        end
+      end
+    end
+    if (reset) begin // @[CSR.scala 369:24]
+      reg_mstatus_tsr <= 1'h0; // @[CSR.scala 369:24]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_5) begin // @[CSR.scala 1152:39]
+        reg_mstatus_tsr <= new_mstatus_tsr; // @[CSR.scala 1165:27]
+      end
+    end
+    if (reset) begin // @[CSR.scala 369:24]
+      reg_mstatus_tw <= 1'h0; // @[CSR.scala 369:24]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_5) begin // @[CSR.scala 1152:39]
+        reg_mstatus_tw <= new_mstatus_tw; // @[CSR.scala 1164:26]
+      end
+    end
+    if (reset) begin // @[CSR.scala 369:24]
+      reg_mstatus_mprv <= 1'h0; // @[CSR.scala 369:24]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_5) begin // @[CSR.scala 1152:39]
+        reg_mstatus_mprv <= new_mstatus_mprv; // @[CSR.scala 1158:26]
+      end else begin
+        reg_mstatus_mprv <= _GEN_278;
+      end
+    end else begin
+      reg_mstatus_mprv <= _GEN_278;
+    end
+    if (reset) begin // @[CSR.scala 369:24]
+      reg_mstatus_fs <= 2'h0; // @[CSR.scala 369:24]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_172) begin // @[CSR.scala 1261:41]
+        reg_mstatus_fs <= _reg_mstatus_fs_T_2; // @[CSR.scala 1266:24]
+      end else if (decoded_5) begin // @[CSR.scala 1152:39]
+        reg_mstatus_fs <= _reg_mstatus_fs_T_2; // @[CSR.scala 1178:55]
+      end
+    end
+    if (reset) begin // @[CSR.scala 369:24]
+      reg_mstatus_mpp <= 2'h3; // @[CSR.scala 369:24]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_5) begin // @[CSR.scala 1152:39]
+        if (new_mstatus_mpp == 2'h2) begin // @[CSR.scala 1544:29]
+          reg_mstatus_mpp <= 2'h0;
+        end else begin
+          reg_mstatus_mpp <= new_mstatus_mpp;
+        end
+      end else begin
+        reg_mstatus_mpp <= _GEN_275;
+      end
+    end else begin
+      reg_mstatus_mpp <= _GEN_275;
+    end
+    if (reset) begin // @[CSR.scala 369:24]
+      reg_mstatus_spp <= 1'h0; // @[CSR.scala 369:24]
+    end else begin
+      reg_mstatus_spp <= _GEN_473[0];
+    end
+    if (reset) begin // @[CSR.scala 369:24]
+      reg_mstatus_mpie <= 1'h0; // @[CSR.scala 369:24]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_5) begin // @[CSR.scala 1152:39]
+        reg_mstatus_mpie <= new_mstatus_mpie; // @[CSR.scala 1155:24]
+      end else begin
+        reg_mstatus_mpie <= _GEN_274;
+      end
+    end else begin
+      reg_mstatus_mpie <= _GEN_274;
+    end
+    if (reset) begin // @[CSR.scala 369:24]
+      reg_mstatus_spie <= 1'h0; // @[CSR.scala 369:24]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_172) begin // @[CSR.scala 1261:41]
+        reg_mstatus_spie <= new_mstatus_spie; // @[CSR.scala 1264:26]
+      end else if (decoded_5) begin // @[CSR.scala 1152:39]
+        reg_mstatus_spie <= new_mstatus_spie; // @[CSR.scala 1162:28]
+      end else begin
+        reg_mstatus_spie <= _GEN_263;
+      end
+    end else begin
+      reg_mstatus_spie <= _GEN_263;
+    end
+    if (reset) begin // @[CSR.scala 369:24]
+      reg_mstatus_mie <= 1'h0; // @[CSR.scala 369:24]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_5) begin // @[CSR.scala 1152:39]
+        reg_mstatus_mie <= new_mstatus_mie; // @[CSR.scala 1154:23]
+      end else begin
+        reg_mstatus_mie <= _GEN_273;
+      end
+    end else begin
+      reg_mstatus_mie <= _GEN_273;
+    end
+    if (reset) begin // @[CSR.scala 369:24]
+      reg_mstatus_sie <= 1'h0; // @[CSR.scala 369:24]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_172) begin // @[CSR.scala 1261:41]
+        reg_mstatus_sie <= new_mstatus_sie; // @[CSR.scala 1263:25]
+      end else if (decoded_5) begin // @[CSR.scala 1152:39]
+        reg_mstatus_sie <= new_mstatus_sie; // @[CSR.scala 1163:27]
+      end else begin
+        reg_mstatus_sie <= _GEN_262;
+      end
+    end else begin
+      reg_mstatus_sie <= _GEN_262;
+    end
+    if (reset) begin // @[CSR.scala 377:21]
+      reg_dcsr_prv <= 2'h3; // @[CSR.scala 377:21]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_14) begin // @[CSR.scala 1245:38]
+        if (new_dcsr_prv == 2'h2) begin // @[CSR.scala 1544:29]
+          reg_dcsr_prv <= 2'h0;
+        end else begin
+          reg_dcsr_prv <= new_dcsr_prv;
+        end
+      end else begin
+        reg_dcsr_prv <= _GEN_185;
+      end
+    end else begin
+      reg_dcsr_prv <= _GEN_185;
+    end
+    if (_io_interrupt_T) begin // @[CSR.scala 961:25]
+      reg_singleStepped <= 1'h0; // @[CSR.scala 961:45]
+    end else begin
+      reg_singleStepped <= _GEN_48;
+    end
+    if (reset) begin // @[CSR.scala 377:21]
+      reg_dcsr_ebreakm <= 1'h0; // @[CSR.scala 377:21]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_14) begin // @[CSR.scala 1245:38]
+        reg_dcsr_ebreakm <= new_dcsr_ebreakm; // @[CSR.scala 1248:26]
+      end
+    end
+    if (reset) begin // @[CSR.scala 377:21]
+      reg_dcsr_ebreaks <= 1'h0; // @[CSR.scala 377:21]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_14) begin // @[CSR.scala 1245:38]
+        reg_dcsr_ebreaks <= new_dcsr_ebreaks; // @[CSR.scala 1249:47]
+      end
+    end
+    if (reset) begin // @[CSR.scala 377:21]
+      reg_dcsr_ebreaku <= 1'h0; // @[CSR.scala 377:21]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_14) begin // @[CSR.scala 1245:38]
+        reg_dcsr_ebreaku <= new_dcsr_ebreaku; // @[CSR.scala 1250:41]
+      end
+    end
+    if (reset) begin // @[CSR.scala 449:22]
+      reg_debug <= 1'h0; // @[CSR.scala 449:22]
+    end else if (insn_ret) begin // @[CSR.scala 1045:19]
+      if (~io_rw_addr[9]) begin // @[CSR.scala 1047:52]
+        reg_debug <= _GEN_182;
+      end else if (io_rw_addr[10] & io_rw_addr[7]) begin // @[CSR.scala 1064:70]
+        reg_debug <= 1'h0; // @[CSR.scala 1067:17]
+      end else begin
+        reg_debug <= _GEN_182;
+      end
+    end else begin
+      reg_debug <= _GEN_182;
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_182) begin // @[CSR.scala 1293:42]
+        reg_mideleg <= wdata; // @[CSR.scala 1293:56]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_183) begin // @[CSR.scala 1294:42]
+        reg_medeleg <= wdata; // @[CSR.scala 1294:56]
+      end
+    end
+    if (reset) begin // @[CSR.scala 377:21]
+      reg_dcsr_cause <= 3'h0; // @[CSR.scala 377:21]
+    end else if (exception) begin // @[CSR.scala 967:20]
+      if (trapToDebug) begin // @[CSR.scala 968:24]
+        if (~reg_debug) begin // @[CSR.scala 969:25]
+          reg_dcsr_cause <= _reg_dcsr_cause_T_2; // @[CSR.scala 973:24]
+        end
+      end
+    end
+    if (reset) begin // @[CSR.scala 377:21]
+      reg_dcsr_step <= 1'h0; // @[CSR.scala 377:21]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_14) begin // @[CSR.scala 1245:38]
+        reg_dcsr_step <= wdata[2]; // @[CSR.scala 1247:23]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_15) begin // @[CSR.scala 1254:42]
+        reg_dpc <= _reg_mepc_T_2; // @[CSR.scala 1254:52]
+      end else begin
+        reg_dpc <= _GEN_183;
+      end
+    end else begin
+      reg_dpc <= _GEN_183;
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_16) begin // @[CSR.scala 1255:42]
+        reg_dscratch <= wdata; // @[CSR.scala 1255:57]
+      end
+    end
+    reg_tselect <= _GEN_511[0];
+    if (reset) begin // @[CSR.scala 1497:18]
+      reg_bp_0_control_dmode <= 1'h0; // @[CSR.scala 1499:17]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (~reg_tselect & (~reg_bp_0_control_dmode | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_0_control_dmode <= dMode; // @[CSR.scala 1397:30]
+        end
+      end
+    end
+    if (reset) begin // @[CSR.scala 1497:18]
+      reg_bp_0_control_action <= 1'h0; // @[CSR.scala 1498:18]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (~reg_tselect & (~reg_bp_0_control_dmode | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_0_control_action <= _GEN_340;
+        end
+      end
+    end
+    if (reset) begin // @[CSR.scala 1497:18]
+      reg_bp_0_control_chain <= 1'h0; // @[CSR.scala 1500:17]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (~reg_tselect & (~reg_bp_0_control_dmode | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_0_control_chain <= newBPC_chain & (dMode | ~reg_bp_1_control_dmode); // @[CSR.scala 1399:30]
+        end
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (~reg_tselect & (~reg_bp_0_control_dmode | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_0_control_tmatch <= wdata[8:7]; // @[CSR.scala 1389:24]
+        end
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (~reg_tselect & (~reg_bp_0_control_dmode | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_0_control_m <= wdata[6]; // @[CSR.scala 1389:24]
+        end
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (~reg_tselect & (~reg_bp_0_control_dmode | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_0_control_s <= wdata[4]; // @[CSR.scala 1389:24]
+        end
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (~reg_tselect & (~reg_bp_0_control_dmode | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_0_control_u <= wdata[3]; // @[CSR.scala 1389:24]
+        end
+      end
+    end
+    if (reset) begin // @[CSR.scala 1497:18]
+      reg_bp_0_control_x <= 1'h0; // @[CSR.scala 1503:13]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (~reg_tselect & (~reg_bp_0_control_dmode | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_0_control_x <= wdata[2]; // @[CSR.scala 1389:24]
+        end
+      end
+    end
+    if (reset) begin // @[CSR.scala 1497:18]
+      reg_bp_0_control_w <= 1'h0; // @[CSR.scala 1502:13]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (~reg_tselect & (~reg_bp_0_control_dmode | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_0_control_w <= wdata[1]; // @[CSR.scala 1389:24]
+        end
+      end
+    end
+    if (reset) begin // @[CSR.scala 1497:18]
+      reg_bp_0_control_r <= 1'h0; // @[CSR.scala 1501:13]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (~reg_tselect & (~reg_bp_0_control_dmode | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_0_control_r <= wdata[0]; // @[CSR.scala 1389:24]
+        end
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (~reg_tselect & (~reg_bp_0_control_dmode | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_2) begin // @[CSR.scala 1377:44]
+          reg_bp_0_address <= wdata; // @[CSR.scala 1377:57]
+        end
+      end
+    end
+    if (reset) begin // @[CSR.scala 1497:18]
+      reg_bp_1_control_dmode <= 1'h0; // @[CSR.scala 1499:17]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (reg_tselect & (_reg_bp_0_control_chain_T_3 | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_1_control_dmode <= dMode_1; // @[CSR.scala 1397:30]
+        end
+      end
+    end
+    if (reset) begin // @[CSR.scala 1497:18]
+      reg_bp_1_control_action <= 1'h0; // @[CSR.scala 1498:18]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (reg_tselect & (_reg_bp_0_control_chain_T_3 | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_1_control_action <= _GEN_373;
+        end
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (reg_tselect & (_reg_bp_0_control_chain_T_3 | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_1_control_tmatch <= wdata[8:7]; // @[CSR.scala 1389:24]
+        end
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (reg_tselect & (_reg_bp_0_control_chain_T_3 | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_1_control_m <= wdata[6]; // @[CSR.scala 1389:24]
+        end
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (reg_tselect & (_reg_bp_0_control_chain_T_3 | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_1_control_s <= wdata[4]; // @[CSR.scala 1389:24]
+        end
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (reg_tselect & (_reg_bp_0_control_chain_T_3 | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_1_control_u <= wdata[3]; // @[CSR.scala 1389:24]
+        end
+      end
+    end
+    if (reset) begin // @[CSR.scala 1497:18]
+      reg_bp_1_control_x <= 1'h0; // @[CSR.scala 1503:13]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (reg_tselect & (_reg_bp_0_control_chain_T_3 | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_1_control_x <= wdata[2]; // @[CSR.scala 1389:24]
+        end
+      end
+    end
+    if (reset) begin // @[CSR.scala 1497:18]
+      reg_bp_1_control_w <= 1'h0; // @[CSR.scala 1502:13]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (reg_tselect & (_reg_bp_0_control_chain_T_3 | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_1_control_w <= wdata[1]; // @[CSR.scala 1389:24]
+        end
+      end
+    end
+    if (reset) begin // @[CSR.scala 1497:18]
+      reg_bp_1_control_r <= 1'h0; // @[CSR.scala 1501:13]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (reg_tselect & (_reg_bp_0_control_chain_T_3 | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_1) begin // @[CSR.scala 1388:44]
+          reg_bp_1_control_r <= wdata[0]; // @[CSR.scala 1389:24]
+        end
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (reg_tselect & (_reg_bp_0_control_chain_T_3 | reg_debug)) begin // @[CSR.scala 1376:70]
+        if (decoded_2) begin // @[CSR.scala 1377:44]
+          reg_bp_1_address <= wdata; // @[CSR.scala 1377:57]
+        end
+      end
+    end
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_0_cfg_l <= 1'h0; // @[PMP.scala 39:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_0_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_0_cfg_l <= newCfg_l; // @[CSR.scala 1410:17]
+      end
+    end
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_0_cfg_a <= 2'h0; // @[PMP.scala 38:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_0_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_0_cfg_a <= newCfg_a; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_0_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_0_cfg_x <= newCfg_x; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_0_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_0_cfg_w <= newCfg_w & newCfg_r; // @[CSR.scala 1412:19]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_0_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_0_cfg_r <= newCfg_r; // @[CSR.scala 1410:17]
+      end
+    end
+    reg_pmp_0_addr <= _GEN_550[28:0];
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_1_cfg_l <= 1'h0; // @[PMP.scala 39:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_1_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_1_cfg_l <= newCfg_1_l; // @[CSR.scala 1410:17]
+      end
+    end
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_1_cfg_a <= 2'h0; // @[PMP.scala 38:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_1_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_1_cfg_a <= newCfg_1_a; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_1_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_1_cfg_x <= newCfg_1_x; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_1_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_1_cfg_w <= newCfg_1_w & newCfg_1_r; // @[CSR.scala 1412:19]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_1_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_1_cfg_r <= newCfg_1_r; // @[CSR.scala 1410:17]
+      end
+    end
+    reg_pmp_1_addr <= _GEN_557[28:0];
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_2_cfg_l <= 1'h0; // @[PMP.scala 39:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_2_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_2_cfg_l <= newCfg_2_l; // @[CSR.scala 1410:17]
+      end
+    end
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_2_cfg_a <= 2'h0; // @[PMP.scala 38:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_2_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_2_cfg_a <= newCfg_2_a; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_2_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_2_cfg_x <= newCfg_2_x; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_2_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_2_cfg_w <= newCfg_2_w & newCfg_2_r; // @[CSR.scala 1412:19]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_2_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_2_cfg_r <= newCfg_2_r; // @[CSR.scala 1410:17]
+      end
+    end
+    reg_pmp_2_addr <= _GEN_564[28:0];
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_3_cfg_l <= 1'h0; // @[PMP.scala 39:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_3_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_3_cfg_l <= newCfg_3_l; // @[CSR.scala 1410:17]
+      end
+    end
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_3_cfg_a <= 2'h0; // @[PMP.scala 38:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_3_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_3_cfg_a <= newCfg_3_a; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_3_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_3_cfg_x <= newCfg_3_x; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_3_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_3_cfg_w <= newCfg_3_w & newCfg_3_r; // @[CSR.scala 1412:19]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_184 & ~reg_pmp_3_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_3_cfg_r <= newCfg_3_r; // @[CSR.scala 1410:17]
+      end
+    end
+    reg_pmp_3_addr <= _GEN_571[28:0];
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_4_cfg_l <= 1'h0; // @[PMP.scala 39:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_4_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_4_cfg_l <= newCfg_l; // @[CSR.scala 1410:17]
+      end
+    end
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_4_cfg_a <= 2'h0; // @[PMP.scala 38:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_4_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_4_cfg_a <= newCfg_a; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_4_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_4_cfg_x <= newCfg_x; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_4_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_4_cfg_w <= newCfg_w & newCfg_r; // @[CSR.scala 1412:19]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_4_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_4_cfg_r <= newCfg_r; // @[CSR.scala 1410:17]
+      end
+    end
+    reg_pmp_4_addr <= _GEN_578[28:0];
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_5_cfg_l <= 1'h0; // @[PMP.scala 39:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_5_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_5_cfg_l <= newCfg_1_l; // @[CSR.scala 1410:17]
+      end
+    end
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_5_cfg_a <= 2'h0; // @[PMP.scala 38:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_5_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_5_cfg_a <= newCfg_1_a; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_5_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_5_cfg_x <= newCfg_1_x; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_5_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_5_cfg_w <= newCfg_1_w & newCfg_1_r; // @[CSR.scala 1412:19]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_5_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_5_cfg_r <= newCfg_1_r; // @[CSR.scala 1410:17]
+      end
+    end
+    reg_pmp_5_addr <= _GEN_585[28:0];
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_6_cfg_l <= 1'h0; // @[PMP.scala 39:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_6_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_6_cfg_l <= newCfg_2_l; // @[CSR.scala 1410:17]
+      end
+    end
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_6_cfg_a <= 2'h0; // @[PMP.scala 38:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_6_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_6_cfg_a <= newCfg_2_a; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_6_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_6_cfg_x <= newCfg_2_x; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_6_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_6_cfg_w <= newCfg_2_w & newCfg_2_r; // @[CSR.scala 1412:19]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_6_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_6_cfg_r <= newCfg_2_r; // @[CSR.scala 1410:17]
+      end
+    end
+    reg_pmp_6_addr <= _GEN_592[28:0];
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_7_cfg_l <= 1'h0; // @[PMP.scala 39:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_7_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_7_cfg_l <= newCfg_3_l; // @[CSR.scala 1410:17]
+      end
+    end
+    if (reset) begin // @[CSR.scala 1514:18]
+      reg_pmp_7_cfg_a <= 2'h0; // @[PMP.scala 38:11]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_7_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_7_cfg_a <= newCfg_3_a; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_7_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_7_cfg_x <= newCfg_3_x; // @[CSR.scala 1410:17]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_7_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_7_cfg_w <= newCfg_3_w & newCfg_3_r; // @[CSR.scala 1412:19]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_185 & ~reg_pmp_7_cfg_l) begin // @[CSR.scala 1408:76]
+        reg_pmp_7_cfg_r <= newCfg_3_r; // @[CSR.scala 1410:17]
+      end
+    end
+    reg_pmp_7_addr <= _GEN_599[28:0];
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_174) begin // @[CSR.scala 1287:42]
+        reg_mie <= _reg_mie_T_4; // @[CSR.scala 1287:52]
+      end else if (decoded_8) begin // @[CSR.scala 1205:40]
+        reg_mie <= _reg_mie_T; // @[CSR.scala 1205:50]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_7) begin // @[CSR.scala 1190:35]
+        reg_mip_seip <= new_mip_seip; // @[CSR.scala 1199:22]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_7) begin // @[CSR.scala 1190:35]
+        reg_mip_stip <= new_mip_stip; // @[CSR.scala 1198:22]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_173) begin // @[CSR.scala 1273:37]
+        reg_mip_ssip <= new_sip_ssip; // @[CSR.scala 1275:22]
+      end else if (decoded_7) begin // @[CSR.scala 1190:35]
+        reg_mip_ssip <= new_mip_ssip; // @[CSR.scala 1197:22]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_10) begin // @[CSR.scala 1206:40]
+        reg_mepc <= _reg_mepc_T_2; // @[CSR.scala 1206:51]
+      end else begin
+        reg_mepc <= _GEN_211;
+      end
+    end else begin
+      reg_mepc <= _GEN_211;
+    end
+    if (reset) begin // @[CSR.scala 473:27]
+      reg_mcause <= 32'h0; // @[CSR.scala 473:27]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_12) begin // @[CSR.scala 1210:40]
+        reg_mcause <= _reg_mcause_T; // @[CSR.scala 1210:53]
+      end else begin
+        reg_mcause <= _GEN_212;
+      end
+    end else begin
+      reg_mcause <= _GEN_212;
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_11) begin // @[CSR.scala 1211:40]
+        reg_mtval <= wdata; // @[CSR.scala 1211:52]
+      end else begin
+        reg_mtval <= _GEN_213;
+      end
+    end else begin
+      reg_mtval <= _GEN_213;
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_9) begin // @[CSR.scala 1207:40]
+        reg_mscratch <= wdata; // @[CSR.scala 1207:55]
+      end
+    end
+    if (reset) begin // @[CSR.scala 479:27]
+      reg_mtvec <= 31'h0; // @[CSR.scala 479:27]
+    end else begin
+      reg_mtvec <= _GEN_487[30:0];
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_165) begin // @[CSR.scala 1370:44]
+        reg_mcounteren <= wdata; // @[CSR.scala 1370:61]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_181) begin // @[CSR.scala 1295:44]
+        reg_scounteren <= wdata; // @[CSR.scala 1295:61]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_179) begin // @[CSR.scala 1289:42]
+        reg_sepc <= _reg_mepc_T_2; // @[CSR.scala 1289:53]
+      end else begin
+        reg_sepc <= _GEN_202;
+      end
+    end else begin
+      reg_sepc <= _GEN_202;
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_176) begin // @[CSR.scala 1291:42]
+        reg_scause <= _reg_scause_T; // @[CSR.scala 1291:55]
+      end else begin
+        reg_scause <= _GEN_203;
+      end
+    end else begin
+      reg_scause <= _GEN_203;
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_177) begin // @[CSR.scala 1292:42]
+        reg_stval <= wdata; // @[CSR.scala 1292:54]
+      end else begin
+        reg_stval <= _GEN_204;
+      end
+    end else begin
+      reg_stval <= _GEN_204;
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_175) begin // @[CSR.scala 1288:42]
+        reg_sscratch <= wdata; // @[CSR.scala 1288:57]
+      end
+    end
+    if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_180) begin // @[CSR.scala 1290:42]
+        reg_stvec <= wdata; // @[CSR.scala 1290:54]
+      end
+    end
+    if (reset) begin // @[CSR.scala 547:34]
+      reg_mcountinhibit <= 3'h0; // @[CSR.scala 547:34]
+    end else begin
+      reg_mcountinhibit <= _GEN_490[2:0];
+    end
+    if (reset) begin // @[Counters.scala 45:37]
+      small_ <= 6'h0; // @[Counters.scala 45:37]
+    end else begin
+      small_ <= _GEN_493[5:0];
+    end
+    if (reset) begin // @[Counters.scala 50:27]
+      large_ <= 58'h0; // @[Counters.scala 50:27]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_169) begin // @[CSR.scala 1556:31]
+        large_ <= _T_2689[63:6]; // @[Counters.scala 66:23]
+      end else if (decoded_19) begin // @[CSR.scala 1555:31]
+        large_ <= _T_2686[63:6]; // @[Counters.scala 66:23]
+      end else begin
+        large_ <= _GEN_1;
+      end
+    end else begin
+      large_ <= _GEN_1;
+    end
+    if (reset) begin // @[CSR.scala 605:21]
+      reg_misa <= 32'h40941105; // @[CSR.scala 605:21]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_4) begin // @[CSR.scala 1181:36]
+        if (~io_pc[1] | wdata[2]) begin // @[CSR.scala 1185:64]
+          reg_misa <= _reg_misa_T_8; // @[CSR.scala 1187:20]
+        end
+      end
+    end
+    if (reset) begin // @[CSR.scala 750:43]
+      reg_custom_0 <= 32'h208; // @[CSR.scala 750:43]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_204) begin // @[CSR.scala 1423:35]
+        reg_custom_0 <= _reg_custom_0_T_3; // @[CSR.scala 1424:13]
+      end
+    end
+    if (reset) begin // @[Reg.scala 28:20]
+      io_status_cease_r <= 1'h0; // @[Reg.scala 28:20]
+    end else begin
+      io_status_cease_r <= _GEN_279;
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_373 <= 3'h1) & ~reset) begin
+          $fatal; // @[CSR.scala 954:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~(_T_373 <= 3'h1)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: these conditions must be mutually exclusive\n    at CSR.scala:954 assert(PopCount(insn_ret :: insn_call :: insn_break :: io.exception :: Nil) <= 1, \"these conditions must be mutually exclusive\")\n"
+            ); // @[CSR.scala 954:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~reg_singleStepped | ~io_retire) & _T_377) begin
+          $fatal; // @[CSR.scala 963:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_377 & ~(~reg_singleStepped | ~io_retire)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at CSR.scala:963 assert(!reg_singleStepped || io.retire === UInt(0))\n"); // @[CSR.scala 963:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+  always @(posedge io_ungated_clock) begin
+    if (reset) begin // @[CSR.scala 538:50]
+      reg_wfi <= 1'h0; // @[CSR.scala 538:50]
+    end else if (|pending_interrupts | io_interrupts_debug | exception) begin // @[CSR.scala 957:69]
+      reg_wfi <= 1'h0; // @[CSR.scala 957:79]
+    end else begin
+      reg_wfi <= _GEN_46;
+    end
+    if (reset) begin // @[Counters.scala 45:37]
+      small_1 <= 6'h0; // @[Counters.scala 45:37]
+    end else begin
+      small_1 <= _GEN_491[5:0];
+    end
+    if (reset) begin // @[Counters.scala 50:27]
+      large_1 <= 58'h0; // @[Counters.scala 50:27]
+    end else if (csr_wen) begin // @[CSR.scala 1148:18]
+      if (decoded_168) begin // @[CSR.scala 1556:31]
+        large_1 <= _T_2684[63:6]; // @[Counters.scala 66:23]
+      end else if (decoded_18) begin // @[CSR.scala 1555:31]
+        large_1 <= _T_2681[63:6]; // @[Counters.scala 66:23]
+      end else begin
+        large_1 <= _GEN_3;
+      end
+    end else begin
+      large_1 <= _GEN_3;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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_prv = _RAND_0[1:0];
+  _RAND_1 = {1{`RANDOM}};
+  reg_mstatus_gva = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  reg_mstatus_tsr = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  reg_mstatus_tw = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  reg_mstatus_mprv = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  reg_mstatus_fs = _RAND_5[1:0];
+  _RAND_6 = {1{`RANDOM}};
+  reg_mstatus_mpp = _RAND_6[1:0];
+  _RAND_7 = {1{`RANDOM}};
+  reg_mstatus_spp = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  reg_mstatus_mpie = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  reg_mstatus_spie = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  reg_mstatus_mie = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  reg_mstatus_sie = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  reg_dcsr_prv = _RAND_12[1:0];
+  _RAND_13 = {1{`RANDOM}};
+  reg_singleStepped = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  reg_dcsr_ebreakm = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  reg_dcsr_ebreaks = _RAND_15[0:0];
+  _RAND_16 = {1{`RANDOM}};
+  reg_dcsr_ebreaku = _RAND_16[0:0];
+  _RAND_17 = {1{`RANDOM}};
+  reg_debug = _RAND_17[0:0];
+  _RAND_18 = {1{`RANDOM}};
+  reg_mideleg = _RAND_18[31:0];
+  _RAND_19 = {1{`RANDOM}};
+  reg_medeleg = _RAND_19[31:0];
+  _RAND_20 = {1{`RANDOM}};
+  reg_dcsr_cause = _RAND_20[2:0];
+  _RAND_21 = {1{`RANDOM}};
+  reg_dcsr_step = _RAND_21[0:0];
+  _RAND_22 = {1{`RANDOM}};
+  reg_dpc = _RAND_22[31:0];
+  _RAND_23 = {1{`RANDOM}};
+  reg_dscratch = _RAND_23[31:0];
+  _RAND_24 = {1{`RANDOM}};
+  reg_tselect = _RAND_24[0:0];
+  _RAND_25 = {1{`RANDOM}};
+  reg_bp_0_control_dmode = _RAND_25[0:0];
+  _RAND_26 = {1{`RANDOM}};
+  reg_bp_0_control_action = _RAND_26[0:0];
+  _RAND_27 = {1{`RANDOM}};
+  reg_bp_0_control_chain = _RAND_27[0:0];
+  _RAND_28 = {1{`RANDOM}};
+  reg_bp_0_control_tmatch = _RAND_28[1:0];
+  _RAND_29 = {1{`RANDOM}};
+  reg_bp_0_control_m = _RAND_29[0:0];
+  _RAND_30 = {1{`RANDOM}};
+  reg_bp_0_control_s = _RAND_30[0:0];
+  _RAND_31 = {1{`RANDOM}};
+  reg_bp_0_control_u = _RAND_31[0:0];
+  _RAND_32 = {1{`RANDOM}};
+  reg_bp_0_control_x = _RAND_32[0:0];
+  _RAND_33 = {1{`RANDOM}};
+  reg_bp_0_control_w = _RAND_33[0:0];
+  _RAND_34 = {1{`RANDOM}};
+  reg_bp_0_control_r = _RAND_34[0:0];
+  _RAND_35 = {1{`RANDOM}};
+  reg_bp_0_address = _RAND_35[31:0];
+  _RAND_36 = {1{`RANDOM}};
+  reg_bp_1_control_dmode = _RAND_36[0:0];
+  _RAND_37 = {1{`RANDOM}};
+  reg_bp_1_control_action = _RAND_37[0:0];
+  _RAND_38 = {1{`RANDOM}};
+  reg_bp_1_control_tmatch = _RAND_38[1:0];
+  _RAND_39 = {1{`RANDOM}};
+  reg_bp_1_control_m = _RAND_39[0:0];
+  _RAND_40 = {1{`RANDOM}};
+  reg_bp_1_control_s = _RAND_40[0:0];
+  _RAND_41 = {1{`RANDOM}};
+  reg_bp_1_control_u = _RAND_41[0:0];
+  _RAND_42 = {1{`RANDOM}};
+  reg_bp_1_control_x = _RAND_42[0:0];
+  _RAND_43 = {1{`RANDOM}};
+  reg_bp_1_control_w = _RAND_43[0:0];
+  _RAND_44 = {1{`RANDOM}};
+  reg_bp_1_control_r = _RAND_44[0:0];
+  _RAND_45 = {1{`RANDOM}};
+  reg_bp_1_address = _RAND_45[31:0];
+  _RAND_46 = {1{`RANDOM}};
+  reg_pmp_0_cfg_l = _RAND_46[0:0];
+  _RAND_47 = {1{`RANDOM}};
+  reg_pmp_0_cfg_a = _RAND_47[1:0];
+  _RAND_48 = {1{`RANDOM}};
+  reg_pmp_0_cfg_x = _RAND_48[0:0];
+  _RAND_49 = {1{`RANDOM}};
+  reg_pmp_0_cfg_w = _RAND_49[0:0];
+  _RAND_50 = {1{`RANDOM}};
+  reg_pmp_0_cfg_r = _RAND_50[0:0];
+  _RAND_51 = {1{`RANDOM}};
+  reg_pmp_0_addr = _RAND_51[28:0];
+  _RAND_52 = {1{`RANDOM}};
+  reg_pmp_1_cfg_l = _RAND_52[0:0];
+  _RAND_53 = {1{`RANDOM}};
+  reg_pmp_1_cfg_a = _RAND_53[1:0];
+  _RAND_54 = {1{`RANDOM}};
+  reg_pmp_1_cfg_x = _RAND_54[0:0];
+  _RAND_55 = {1{`RANDOM}};
+  reg_pmp_1_cfg_w = _RAND_55[0:0];
+  _RAND_56 = {1{`RANDOM}};
+  reg_pmp_1_cfg_r = _RAND_56[0:0];
+  _RAND_57 = {1{`RANDOM}};
+  reg_pmp_1_addr = _RAND_57[28:0];
+  _RAND_58 = {1{`RANDOM}};
+  reg_pmp_2_cfg_l = _RAND_58[0:0];
+  _RAND_59 = {1{`RANDOM}};
+  reg_pmp_2_cfg_a = _RAND_59[1:0];
+  _RAND_60 = {1{`RANDOM}};
+  reg_pmp_2_cfg_x = _RAND_60[0:0];
+  _RAND_61 = {1{`RANDOM}};
+  reg_pmp_2_cfg_w = _RAND_61[0:0];
+  _RAND_62 = {1{`RANDOM}};
+  reg_pmp_2_cfg_r = _RAND_62[0:0];
+  _RAND_63 = {1{`RANDOM}};
+  reg_pmp_2_addr = _RAND_63[28:0];
+  _RAND_64 = {1{`RANDOM}};
+  reg_pmp_3_cfg_l = _RAND_64[0:0];
+  _RAND_65 = {1{`RANDOM}};
+  reg_pmp_3_cfg_a = _RAND_65[1:0];
+  _RAND_66 = {1{`RANDOM}};
+  reg_pmp_3_cfg_x = _RAND_66[0:0];
+  _RAND_67 = {1{`RANDOM}};
+  reg_pmp_3_cfg_w = _RAND_67[0:0];
+  _RAND_68 = {1{`RANDOM}};
+  reg_pmp_3_cfg_r = _RAND_68[0:0];
+  _RAND_69 = {1{`RANDOM}};
+  reg_pmp_3_addr = _RAND_69[28:0];
+  _RAND_70 = {1{`RANDOM}};
+  reg_pmp_4_cfg_l = _RAND_70[0:0];
+  _RAND_71 = {1{`RANDOM}};
+  reg_pmp_4_cfg_a = _RAND_71[1:0];
+  _RAND_72 = {1{`RANDOM}};
+  reg_pmp_4_cfg_x = _RAND_72[0:0];
+  _RAND_73 = {1{`RANDOM}};
+  reg_pmp_4_cfg_w = _RAND_73[0:0];
+  _RAND_74 = {1{`RANDOM}};
+  reg_pmp_4_cfg_r = _RAND_74[0:0];
+  _RAND_75 = {1{`RANDOM}};
+  reg_pmp_4_addr = _RAND_75[28:0];
+  _RAND_76 = {1{`RANDOM}};
+  reg_pmp_5_cfg_l = _RAND_76[0:0];
+  _RAND_77 = {1{`RANDOM}};
+  reg_pmp_5_cfg_a = _RAND_77[1:0];
+  _RAND_78 = {1{`RANDOM}};
+  reg_pmp_5_cfg_x = _RAND_78[0:0];
+  _RAND_79 = {1{`RANDOM}};
+  reg_pmp_5_cfg_w = _RAND_79[0:0];
+  _RAND_80 = {1{`RANDOM}};
+  reg_pmp_5_cfg_r = _RAND_80[0:0];
+  _RAND_81 = {1{`RANDOM}};
+  reg_pmp_5_addr = _RAND_81[28:0];
+  _RAND_82 = {1{`RANDOM}};
+  reg_pmp_6_cfg_l = _RAND_82[0:0];
+  _RAND_83 = {1{`RANDOM}};
+  reg_pmp_6_cfg_a = _RAND_83[1:0];
+  _RAND_84 = {1{`RANDOM}};
+  reg_pmp_6_cfg_x = _RAND_84[0:0];
+  _RAND_85 = {1{`RANDOM}};
+  reg_pmp_6_cfg_w = _RAND_85[0:0];
+  _RAND_86 = {1{`RANDOM}};
+  reg_pmp_6_cfg_r = _RAND_86[0:0];
+  _RAND_87 = {1{`RANDOM}};
+  reg_pmp_6_addr = _RAND_87[28:0];
+  _RAND_88 = {1{`RANDOM}};
+  reg_pmp_7_cfg_l = _RAND_88[0:0];
+  _RAND_89 = {1{`RANDOM}};
+  reg_pmp_7_cfg_a = _RAND_89[1:0];
+  _RAND_90 = {1{`RANDOM}};
+  reg_pmp_7_cfg_x = _RAND_90[0:0];
+  _RAND_91 = {1{`RANDOM}};
+  reg_pmp_7_cfg_w = _RAND_91[0:0];
+  _RAND_92 = {1{`RANDOM}};
+  reg_pmp_7_cfg_r = _RAND_92[0:0];
+  _RAND_93 = {1{`RANDOM}};
+  reg_pmp_7_addr = _RAND_93[28:0];
+  _RAND_94 = {1{`RANDOM}};
+  reg_mie = _RAND_94[31:0];
+  _RAND_95 = {1{`RANDOM}};
+  reg_mip_seip = _RAND_95[0:0];
+  _RAND_96 = {1{`RANDOM}};
+  reg_mip_stip = _RAND_96[0:0];
+  _RAND_97 = {1{`RANDOM}};
+  reg_mip_ssip = _RAND_97[0:0];
+  _RAND_98 = {1{`RANDOM}};
+  reg_mepc = _RAND_98[31:0];
+  _RAND_99 = {1{`RANDOM}};
+  reg_mcause = _RAND_99[31:0];
+  _RAND_100 = {1{`RANDOM}};
+  reg_mtval = _RAND_100[31:0];
+  _RAND_101 = {1{`RANDOM}};
+  reg_mscratch = _RAND_101[31:0];
+  _RAND_102 = {1{`RANDOM}};
+  reg_mtvec = _RAND_102[30:0];
+  _RAND_103 = {1{`RANDOM}};
+  reg_mcounteren = _RAND_103[31:0];
+  _RAND_104 = {1{`RANDOM}};
+  reg_scounteren = _RAND_104[31:0];
+  _RAND_105 = {1{`RANDOM}};
+  reg_sepc = _RAND_105[31:0];
+  _RAND_106 = {1{`RANDOM}};
+  reg_scause = _RAND_106[31:0];
+  _RAND_107 = {1{`RANDOM}};
+  reg_stval = _RAND_107[31:0];
+  _RAND_108 = {1{`RANDOM}};
+  reg_sscratch = _RAND_108[31:0];
+  _RAND_109 = {1{`RANDOM}};
+  reg_stvec = _RAND_109[31:0];
+  _RAND_110 = {1{`RANDOM}};
+  reg_wfi = _RAND_110[0:0];
+  _RAND_111 = {1{`RANDOM}};
+  reg_mcountinhibit = _RAND_111[2:0];
+  _RAND_112 = {1{`RANDOM}};
+  small_ = _RAND_112[5:0];
+  _RAND_113 = {2{`RANDOM}};
+  large_ = _RAND_113[57:0];
+  _RAND_114 = {1{`RANDOM}};
+  small_1 = _RAND_114[5:0];
+  _RAND_115 = {2{`RANDOM}};
+  large_1 = _RAND_115[57:0];
+  _RAND_116 = {1{`RANDOM}};
+  reg_misa = _RAND_116[31:0];
+  _RAND_117 = {1{`RANDOM}};
+  reg_custom_0 = _RAND_117[31:0];
+  _RAND_118 = {1{`RANDOM}};
+  io_status_cease_r = _RAND_118[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module BreakpointUnit(
+  input         io_status_debug,
+  input  [1:0]  io_status_prv,
+  input         io_bp_0_control_action,
+  input         io_bp_0_control_chain,
+  input  [1:0]  io_bp_0_control_tmatch,
+  input         io_bp_0_control_m,
+  input         io_bp_0_control_s,
+  input         io_bp_0_control_u,
+  input         io_bp_0_control_x,
+  input         io_bp_0_control_w,
+  input         io_bp_0_control_r,
+  input  [31:0] io_bp_0_address,
+  input         io_bp_1_control_action,
+  input  [1:0]  io_bp_1_control_tmatch,
+  input         io_bp_1_control_m,
+  input         io_bp_1_control_s,
+  input         io_bp_1_control_u,
+  input         io_bp_1_control_x,
+  input         io_bp_1_control_w,
+  input         io_bp_1_control_r,
+  input  [31:0] io_bp_1_address,
+  input  [31:0] io_pc,
+  input  [31:0] io_ea,
+  output        io_xcpt_if,
+  output        io_xcpt_ld,
+  output        io_xcpt_st,
+  output        io_debug_if,
+  output        io_debug_ld,
+  output        io_debug_st
+);
+  wire [3:0] _en_T_1 = {io_bp_0_control_m,1'h0,io_bp_0_control_s,io_bp_0_control_u}; // @[Cat.scala 31:58]
+  wire [3:0] _en_T_2 = _en_T_1 >> io_status_prv; // @[Breakpoint.scala 31:68]
+  wire  en = ~io_status_debug & _en_T_2[0]; // @[Breakpoint.scala 31:50]
+  wire  _r_T_4 = io_ea >= io_bp_0_address ^ io_bp_0_control_tmatch[0]; // @[Breakpoint.scala 66:20]
+  wire [31:0] _r_T_5 = ~io_ea; // @[Breakpoint.scala 63:6]
+  wire  _r_T_8 = io_bp_0_control_tmatch[0] & io_bp_0_address[0]; // @[Breakpoint.scala 60:73]
+  wire  _r_T_10 = io_bp_0_control_tmatch[0] & io_bp_0_address[0] & io_bp_0_address[1]; // @[Breakpoint.scala 60:73]
+  wire  _r_T_12 = io_bp_0_control_tmatch[0] & io_bp_0_address[0] & io_bp_0_address[1] & io_bp_0_address[2]; // @[Breakpoint.scala 60:73]
+  wire [3:0] _r_T_13 = {_r_T_12,_r_T_10,_r_T_8,io_bp_0_control_tmatch[0]}; // @[Cat.scala 31:58]
+  wire [31:0] _GEN_22 = {{28'd0}, _r_T_13}; // @[Breakpoint.scala 63:9]
+  wire [31:0] _r_T_14 = _r_T_5 | _GEN_22; // @[Breakpoint.scala 63:9]
+  wire [31:0] _r_T_15 = ~io_bp_0_address; // @[Breakpoint.scala 63:24]
+  wire [31:0] _r_T_24 = _r_T_15 | _GEN_22; // @[Breakpoint.scala 63:33]
+  wire  _r_T_25 = _r_T_14 == _r_T_24; // @[Breakpoint.scala 63:19]
+  wire  _r_T_26 = io_bp_0_control_tmatch[1] ? _r_T_4 : _r_T_25; // @[Breakpoint.scala 69:8]
+  wire  r = en & io_bp_0_control_r & _r_T_26; // @[Breakpoint.scala 107:32]
+  wire  w = en & io_bp_0_control_w & _r_T_26; // @[Breakpoint.scala 108:32]
+  wire  _x_T_4 = io_pc >= io_bp_0_address ^ io_bp_0_control_tmatch[0]; // @[Breakpoint.scala 66:20]
+  wire [31:0] _x_T_5 = ~io_pc; // @[Breakpoint.scala 63:6]
+  wire [31:0] _x_T_14 = _x_T_5 | _GEN_22; // @[Breakpoint.scala 63:9]
+  wire  _x_T_25 = _x_T_14 == _r_T_24; // @[Breakpoint.scala 63:19]
+  wire  _x_T_26 = io_bp_0_control_tmatch[1] ? _x_T_4 : _x_T_25; // @[Breakpoint.scala 69:8]
+  wire  x = en & io_bp_0_control_x & _x_T_26; // @[Breakpoint.scala 109:32]
+  wire  end_ = ~io_bp_0_control_chain; // @[Breakpoint.scala 110:15]
+  wire  _io_xcpt_ld_T = ~io_bp_0_control_action; // @[Breakpoint.scala 119:51]
+  wire  _GEN_0 = end_ & r & ~io_bp_0_control_action; // @[Breakpoint.scala 119:{27,40} 98:14]
+  wire  _GEN_1 = end_ & r & io_bp_0_control_action; // @[Breakpoint.scala 101:15 119:{27,73}]
+  wire  _GEN_3 = end_ & w & _io_xcpt_ld_T; // @[Breakpoint.scala 120:{27,40} 99:14]
+  wire  _GEN_4 = end_ & w & io_bp_0_control_action; // @[Breakpoint.scala 102:15 120:{27,73}]
+  wire  _GEN_7 = end_ & x & _io_xcpt_ld_T; // @[Breakpoint.scala 121:{27,40} 97:14]
+  wire  _GEN_8 = end_ & x & io_bp_0_control_action; // @[Breakpoint.scala 100:15 121:{27,73}]
+  wire  _T_6 = end_ | r; // @[Breakpoint.scala 123:10]
+  wire  _T_7 = end_ | w; // @[Breakpoint.scala 123:20]
+  wire  _T_8 = end_ | x; // @[Breakpoint.scala 123:30]
+  wire [3:0] _en_T_5 = {io_bp_1_control_m,1'h0,io_bp_1_control_s,io_bp_1_control_u}; // @[Cat.scala 31:58]
+  wire [3:0] _en_T_6 = _en_T_5 >> io_status_prv; // @[Breakpoint.scala 31:68]
+  wire  en_1 = ~io_status_debug & _en_T_6[0]; // @[Breakpoint.scala 31:50]
+  wire  _r_T_32 = io_ea >= io_bp_1_address ^ io_bp_1_control_tmatch[0]; // @[Breakpoint.scala 66:20]
+  wire  _r_T_36 = io_bp_1_control_tmatch[0] & io_bp_1_address[0]; // @[Breakpoint.scala 60:73]
+  wire  _r_T_38 = io_bp_1_control_tmatch[0] & io_bp_1_address[0] & io_bp_1_address[1]; // @[Breakpoint.scala 60:73]
+  wire  _r_T_40 = io_bp_1_control_tmatch[0] & io_bp_1_address[0] & io_bp_1_address[1] & io_bp_1_address[2]; // @[Breakpoint.scala 60:73]
+  wire [3:0] _r_T_41 = {_r_T_40,_r_T_38,_r_T_36,io_bp_1_control_tmatch[0]}; // @[Cat.scala 31:58]
+  wire [31:0] _GEN_28 = {{28'd0}, _r_T_41}; // @[Breakpoint.scala 63:9]
+  wire [31:0] _r_T_42 = _r_T_5 | _GEN_28; // @[Breakpoint.scala 63:9]
+  wire [31:0] _r_T_43 = ~io_bp_1_address; // @[Breakpoint.scala 63:24]
+  wire [31:0] _r_T_52 = _r_T_43 | _GEN_28; // @[Breakpoint.scala 63:33]
+  wire  _r_T_53 = _r_T_42 == _r_T_52; // @[Breakpoint.scala 63:19]
+  wire  _r_T_54 = io_bp_1_control_tmatch[1] ? _r_T_32 : _r_T_53; // @[Breakpoint.scala 69:8]
+  wire  r_1 = en_1 & io_bp_1_control_r & _r_T_54; // @[Breakpoint.scala 107:32]
+  wire  w_1 = en_1 & io_bp_1_control_w & _r_T_54; // @[Breakpoint.scala 108:32]
+  wire  _x_T_32 = io_pc >= io_bp_1_address ^ io_bp_1_control_tmatch[0]; // @[Breakpoint.scala 66:20]
+  wire [31:0] _x_T_42 = _x_T_5 | _GEN_28; // @[Breakpoint.scala 63:9]
+  wire  _x_T_53 = _x_T_42 == _r_T_52; // @[Breakpoint.scala 63:19]
+  wire  _x_T_54 = io_bp_1_control_tmatch[1] ? _x_T_32 : _x_T_53; // @[Breakpoint.scala 69:8]
+  wire  x_1 = en_1 & io_bp_1_control_x & _x_T_54; // @[Breakpoint.scala 109:32]
+  wire  _io_xcpt_ld_T_1 = ~io_bp_1_control_action; // @[Breakpoint.scala 119:51]
+  assign io_xcpt_if = x_1 & _T_8 ? _io_xcpt_ld_T_1 : _GEN_7; // @[Breakpoint.scala 121:{27,40}]
+  assign io_xcpt_ld = r_1 & _T_6 ? ~io_bp_1_control_action : _GEN_0; // @[Breakpoint.scala 119:{27,40}]
+  assign io_xcpt_st = w_1 & _T_7 ? _io_xcpt_ld_T_1 : _GEN_3; // @[Breakpoint.scala 120:{27,40}]
+  assign io_debug_if = x_1 & _T_8 ? io_bp_1_control_action : _GEN_8; // @[Breakpoint.scala 121:{27,73}]
+  assign io_debug_ld = r_1 & _T_6 ? io_bp_1_control_action : _GEN_1; // @[Breakpoint.scala 119:{27,73}]
+  assign io_debug_st = w_1 & _T_7 ? io_bp_1_control_action : _GEN_4; // @[Breakpoint.scala 120:{27,73}]
+endmodule
+module ALU(
+  input  [3:0]  io_fn,
+  input  [31:0] io_in2,
+  input  [31:0] io_in1,
+  output [31:0] io_out,
+  output [31:0] io_adder_out,
+  output        io_cmp_out
+);
+  wire [31:0] _in2_inv_T_1 = ~io_in2; // @[ALU.scala 61:35]
+  wire [31:0] in2_inv = io_fn[3] ? _in2_inv_T_1 : io_in2; // @[ALU.scala 61:20]
+  wire [31:0] in1_xor_in2 = io_in1 ^ in2_inv; // @[ALU.scala 62:28]
+  wire [31:0] _io_adder_out_T_1 = io_in1 + in2_inv; // @[ALU.scala 63:26]
+  wire [31:0] _GEN_0 = {{31'd0}, io_fn[3]}; // @[ALU.scala 63:36]
+  wire  _slt_T_7 = io_fn[1] ? io_in2[31] : io_in1[31]; // @[ALU.scala 68:8]
+  wire  slt = io_in1[31] == io_in2[31] ? io_adder_out[31] : _slt_T_7; // @[ALU.scala 67:8]
+  wire  _io_cmp_out_T_2 = ~io_fn[3]; // @[ALU.scala 44:26]
+  wire  _io_cmp_out_T_4 = _io_cmp_out_T_2 ? in1_xor_in2 == 32'h0 : slt; // @[ALU.scala 69:41]
+  wire [4:0] shamt = io_in2[4:0]; // @[ALU.scala 73:28]
+  wire  _shin_T_2 = io_fn == 4'h5 | io_fn == 4'hb; // @[ALU.scala 81:35]
+  wire [31:0] _GEN_1 = {{16'd0}, io_in1[31:16]}; // @[Bitwise.scala 105:31]
+  wire [31:0] _shin_T_6 = _GEN_1 & 32'hffff; // @[Bitwise.scala 105:31]
+  wire [31:0] _shin_T_8 = {io_in1[15:0], 16'h0}; // @[Bitwise.scala 105:70]
+  wire [31:0] _shin_T_10 = _shin_T_8 & 32'hffff0000; // @[Bitwise.scala 105:80]
+  wire [31:0] _shin_T_11 = _shin_T_6 | _shin_T_10; // @[Bitwise.scala 105:39]
+  wire [31:0] _GEN_2 = {{8'd0}, _shin_T_11[31:8]}; // @[Bitwise.scala 105:31]
+  wire [31:0] _shin_T_16 = _GEN_2 & 32'hff00ff; // @[Bitwise.scala 105:31]
+  wire [31:0] _shin_T_18 = {_shin_T_11[23:0], 8'h0}; // @[Bitwise.scala 105:70]
+  wire [31:0] _shin_T_20 = _shin_T_18 & 32'hff00ff00; // @[Bitwise.scala 105:80]
+  wire [31:0] _shin_T_21 = _shin_T_16 | _shin_T_20; // @[Bitwise.scala 105:39]
+  wire [31:0] _GEN_3 = {{4'd0}, _shin_T_21[31:4]}; // @[Bitwise.scala 105:31]
+  wire [31:0] _shin_T_26 = _GEN_3 & 32'hf0f0f0f; // @[Bitwise.scala 105:31]
+  wire [31:0] _shin_T_28 = {_shin_T_21[27:0], 4'h0}; // @[Bitwise.scala 105:70]
+  wire [31:0] _shin_T_30 = _shin_T_28 & 32'hf0f0f0f0; // @[Bitwise.scala 105:80]
+  wire [31:0] _shin_T_31 = _shin_T_26 | _shin_T_30; // @[Bitwise.scala 105:39]
+  wire [31:0] _GEN_4 = {{2'd0}, _shin_T_31[31:2]}; // @[Bitwise.scala 105:31]
+  wire [31:0] _shin_T_36 = _GEN_4 & 32'h33333333; // @[Bitwise.scala 105:31]
+  wire [31:0] _shin_T_38 = {_shin_T_31[29:0], 2'h0}; // @[Bitwise.scala 105:70]
+  wire [31:0] _shin_T_40 = _shin_T_38 & 32'hcccccccc; // @[Bitwise.scala 105:80]
+  wire [31:0] _shin_T_41 = _shin_T_36 | _shin_T_40; // @[Bitwise.scala 105:39]
+  wire [31:0] _GEN_5 = {{1'd0}, _shin_T_41[31:1]}; // @[Bitwise.scala 105:31]
+  wire [31:0] _shin_T_46 = _GEN_5 & 32'h55555555; // @[Bitwise.scala 105:31]
+  wire [31:0] _shin_T_48 = {_shin_T_41[30:0], 1'h0}; // @[Bitwise.scala 105:70]
+  wire [31:0] _shin_T_50 = _shin_T_48 & 32'haaaaaaaa; // @[Bitwise.scala 105:80]
+  wire [31:0] _shin_T_51 = _shin_T_46 | _shin_T_50; // @[Bitwise.scala 105:39]
+  wire [31:0] shin = io_fn == 4'h5 | io_fn == 4'hb ? io_in1 : _shin_T_51; // @[ALU.scala 81:17]
+  wire  _shout_r_T_2 = io_fn[3] & shin[31]; // @[ALU.scala 82:35]
+  wire [32:0] _shout_r_T_4 = {_shout_r_T_2,shin}; // @[ALU.scala 82:57]
+  wire [32:0] _shout_r_T_5 = $signed(_shout_r_T_4) >>> shamt; // @[ALU.scala 82:64]
+  wire [31:0] shout_r = _shout_r_T_5[31:0]; // @[ALU.scala 82:73]
+  wire [31:0] _GEN_6 = {{16'd0}, shout_r[31:16]}; // @[Bitwise.scala 105:31]
+  wire [31:0] _shout_l_T_3 = _GEN_6 & 32'hffff; // @[Bitwise.scala 105:31]
+  wire [31:0] _shout_l_T_5 = {shout_r[15:0], 16'h0}; // @[Bitwise.scala 105:70]
+  wire [31:0] _shout_l_T_7 = _shout_l_T_5 & 32'hffff0000; // @[Bitwise.scala 105:80]
+  wire [31:0] _shout_l_T_8 = _shout_l_T_3 | _shout_l_T_7; // @[Bitwise.scala 105:39]
+  wire [31:0] _GEN_7 = {{8'd0}, _shout_l_T_8[31:8]}; // @[Bitwise.scala 105:31]
+  wire [31:0] _shout_l_T_13 = _GEN_7 & 32'hff00ff; // @[Bitwise.scala 105:31]
+  wire [31:0] _shout_l_T_15 = {_shout_l_T_8[23:0], 8'h0}; // @[Bitwise.scala 105:70]
+  wire [31:0] _shout_l_T_17 = _shout_l_T_15 & 32'hff00ff00; // @[Bitwise.scala 105:80]
+  wire [31:0] _shout_l_T_18 = _shout_l_T_13 | _shout_l_T_17; // @[Bitwise.scala 105:39]
+  wire [31:0] _GEN_8 = {{4'd0}, _shout_l_T_18[31:4]}; // @[Bitwise.scala 105:31]
+  wire [31:0] _shout_l_T_23 = _GEN_8 & 32'hf0f0f0f; // @[Bitwise.scala 105:31]
+  wire [31:0] _shout_l_T_25 = {_shout_l_T_18[27:0], 4'h0}; // @[Bitwise.scala 105:70]
+  wire [31:0] _shout_l_T_27 = _shout_l_T_25 & 32'hf0f0f0f0; // @[Bitwise.scala 105:80]
+  wire [31:0] _shout_l_T_28 = _shout_l_T_23 | _shout_l_T_27; // @[Bitwise.scala 105:39]
+  wire [31:0] _GEN_9 = {{2'd0}, _shout_l_T_28[31:2]}; // @[Bitwise.scala 105:31]
+  wire [31:0] _shout_l_T_33 = _GEN_9 & 32'h33333333; // @[Bitwise.scala 105:31]
+  wire [31:0] _shout_l_T_35 = {_shout_l_T_28[29:0], 2'h0}; // @[Bitwise.scala 105:70]
+  wire [31:0] _shout_l_T_37 = _shout_l_T_35 & 32'hcccccccc; // @[Bitwise.scala 105:80]
+  wire [31:0] _shout_l_T_38 = _shout_l_T_33 | _shout_l_T_37; // @[Bitwise.scala 105:39]
+  wire [31:0] _GEN_10 = {{1'd0}, _shout_l_T_38[31:1]}; // @[Bitwise.scala 105:31]
+  wire [31:0] _shout_l_T_43 = _GEN_10 & 32'h55555555; // @[Bitwise.scala 105:31]
+  wire [31:0] _shout_l_T_45 = {_shout_l_T_38[30:0], 1'h0}; // @[Bitwise.scala 105:70]
+  wire [31:0] _shout_l_T_47 = _shout_l_T_45 & 32'haaaaaaaa; // @[Bitwise.scala 105:80]
+  wire [31:0] shout_l = _shout_l_T_43 | _shout_l_T_47; // @[Bitwise.scala 105:39]
+  wire [31:0] _shout_T_3 = _shin_T_2 ? shout_r : 32'h0; // @[ALU.scala 84:18]
+  wire [31:0] _shout_T_5 = io_fn == 4'h1 ? shout_l : 32'h0; // @[ALU.scala 85:18]
+  wire [31:0] shout = _shout_T_3 | _shout_T_5; // @[ALU.scala 84:74]
+  wire  _logic_T_1 = io_fn == 4'h6; // @[ALU.scala 88:45]
+  wire [31:0] _logic_T_3 = io_fn == 4'h4 | io_fn == 4'h6 ? in1_xor_in2 : 32'h0; // @[ALU.scala 88:18]
+  wire [31:0] _logic_T_7 = io_in1 & io_in2; // @[ALU.scala 89:63]
+  wire [31:0] _logic_T_8 = _logic_T_1 | io_fn == 4'h7 ? _logic_T_7 : 32'h0; // @[ALU.scala 89:18]
+  wire [31:0] logic_ = _logic_T_3 | _logic_T_8; // @[ALU.scala 88:78]
+  wire  _shift_logic_T = io_fn >= 4'hc; // @[ALU.scala 41:30]
+  wire  _shift_logic_T_1 = _shift_logic_T & slt; // @[ALU.scala 90:35]
+  wire [31:0] _GEN_11 = {{31'd0}, _shift_logic_T_1}; // @[ALU.scala 90:43]
+  wire [31:0] _shift_logic_T_2 = _GEN_11 | logic_; // @[ALU.scala 90:43]
+  wire [31:0] shift_logic = _shift_logic_T_2 | shout; // @[ALU.scala 90:51]
+  assign io_out = io_fn == 4'h0 | io_fn == 4'ha ? io_adder_out : shift_logic; // @[ALU.scala 91:16]
+  assign io_adder_out = _io_adder_out_T_1 + _GEN_0; // @[ALU.scala 63:36]
+  assign io_cmp_out = io_fn[0] ^ _io_cmp_out_T_4; // @[ALU.scala 69:36]
+endmodule
+module MulDiv(
+  input         clock,
+  input         reset,
+  output        io_req_ready,
+  input         io_req_valid,
+  input  [3:0]  io_req_bits_fn,
+  input  [31:0] io_req_bits_in1,
+  input  [31:0] io_req_bits_in2,
+  input  [4:0]  io_req_bits_tag,
+  input         io_kill,
+  input         io_resp_ready,
+  output        io_resp_valid,
+  output [31:0] io_resp_bits_data,
+  output [4:0]  io_resp_bits_tag
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [63:0] _RAND_6;
+  reg [95:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  reg [2:0] state; // @[Multiplier.scala 50:22]
+  reg [4:0] req_tag; // @[Multiplier.scala 52:16]
+  reg [5:0] count; // @[Multiplier.scala 53:18]
+  reg  neg_out; // @[Multiplier.scala 56:20]
+  reg  isHi; // @[Multiplier.scala 57:17]
+  reg  resHi; // @[Multiplier.scala 58:18]
+  reg [32:0] divisor; // @[Multiplier.scala 59:20]
+  reg [65:0] remainder; // @[Multiplier.scala 60:22]
+  wire [3:0] _T = io_req_bits_fn & 4'h4; // @[Decode.scala 14:65]
+  wire  cmdMul = _T == 4'h0; // @[Decode.scala 14:121]
+  wire [3:0] _T_3 = io_req_bits_fn & 4'h5; // @[Decode.scala 14:65]
+  wire  _T_4 = _T_3 == 4'h1; // @[Decode.scala 14:121]
+  wire [3:0] _T_5 = io_req_bits_fn & 4'h2; // @[Decode.scala 14:65]
+  wire  _T_6 = _T_5 == 4'h2; // @[Decode.scala 14:121]
+  wire  cmdHi = _T_4 | _T_6; // @[Decode.scala 15:30]
+  wire [3:0] _T_9 = io_req_bits_fn & 4'h6; // @[Decode.scala 14:65]
+  wire  _T_10 = _T_9 == 4'h0; // @[Decode.scala 14:121]
+  wire [3:0] _T_11 = io_req_bits_fn & 4'h1; // @[Decode.scala 14:65]
+  wire  _T_12 = _T_11 == 4'h0; // @[Decode.scala 14:121]
+  wire  lhsSigned = _T_10 | _T_12; // @[Decode.scala 15:30]
+  wire  _T_16 = _T_3 == 4'h4; // @[Decode.scala 14:121]
+  wire  rhsSigned = _T_10 | _T_16; // @[Decode.scala 15:30]
+  wire  lhs_sign = lhsSigned & io_req_bits_in1[31]; // @[Multiplier.scala 80:23]
+  wire [15:0] hi = io_req_bits_in1[31:16]; // @[Multiplier.scala 81:43]
+  wire [31:0] lhs_in = {hi,io_req_bits_in1[15:0]}; // @[Cat.scala 31:58]
+  wire  rhs_sign = rhsSigned & io_req_bits_in2[31]; // @[Multiplier.scala 80:23]
+  wire [15:0] hi_1 = io_req_bits_in2[31:16]; // @[Multiplier.scala 81:43]
+  wire [32:0] subtractor = remainder[64:32] - divisor; // @[Multiplier.scala 87:37]
+  wire [31:0] result = resHi ? remainder[64:33] : remainder[31:0]; // @[Multiplier.scala 88:19]
+  wire [31:0] negated_remainder = 32'h0 - result; // @[Multiplier.scala 89:27]
+  wire [65:0] _GEN_0 = remainder[31] ? {{34'd0}, negated_remainder} : remainder; // @[Multiplier.scala 92:27 93:17 60:22]
+  wire [65:0] _GEN_2 = state == 3'h1 ? _GEN_0 : remainder; // @[Multiplier.scala 60:22 91:57]
+  wire [2:0] _GEN_4 = state == 3'h1 ? 3'h3 : state; // @[Multiplier.scala 91:57 98:11 50:22]
+  wire [2:0] _GEN_6 = state == 3'h5 ? 3'h7 : _GEN_4; // @[Multiplier.scala 100:57 102:11]
+  wire  _GEN_7 = state == 3'h5 ? 1'h0 : resHi; // @[Multiplier.scala 100:57 103:11 58:18]
+  wire [64:0] mulReg = {remainder[65:33],remainder[31:0]}; // @[Cat.scala 31:58]
+  wire  mplierSign = remainder[32]; // @[Multiplier.scala 107:31]
+  wire [31:0] mplier = mulReg[31:0]; // @[Multiplier.scala 108:24]
+  wire [32:0] accum = mulReg[64:32]; // @[Multiplier.scala 109:37]
+  wire [8:0] _prod_T_2 = {mplierSign,mplier[7:0]}; // @[Multiplier.scala 111:60]
+  wire [41:0] _prod_T_3 = $signed(_prod_T_2) * $signed(divisor); // @[Multiplier.scala 111:67]
+  wire [41:0] _GEN_35 = {{9{accum[32]}},accum}; // @[Multiplier.scala 111:76]
+  wire [41:0] nextMulReg_hi = $signed(_prod_T_3) + $signed(_GEN_35); // @[Cat.scala 31:58]
+  wire [65:0] nextMulReg = {nextMulReg_hi,mplier[31:8]}; // @[Cat.scala 31:58]
+  wire  nextMplierSign = count == 6'h2 & neg_out; // @[Multiplier.scala 113:57]
+  wire  _eOut_T_4 = ~isHi; // @[Multiplier.scala 117:7]
+  wire [64:0] nextMulReg1 = {nextMulReg[64:32],nextMulReg[31:0]}; // @[Cat.scala 31:58]
+  wire [65:0] _remainder_T_2 = {nextMulReg1[64:32],nextMplierSign,nextMulReg1[31:0]}; // @[Cat.scala 31:58]
+  wire [5:0] _count_T_1 = count + 6'h1; // @[Multiplier.scala 122:20]
+  wire [2:0] _GEN_8 = count == 6'h3 ? 3'h6 : _GEN_6; // @[Multiplier.scala 123:51 124:13]
+  wire  _GEN_9 = count == 6'h3 ? isHi : _GEN_7; // @[Multiplier.scala 123:51 125:13]
+  wire [2:0] _GEN_12 = state == 3'h2 ? _GEN_8 : _GEN_6; // @[Multiplier.scala 105:50]
+  wire  _GEN_13 = state == 3'h2 ? _GEN_9 : _GEN_7; // @[Multiplier.scala 105:50]
+  wire  unrolls_less = subtractor[32]; // @[Multiplier.scala 132:28]
+  wire [31:0] _unrolls_T_2 = unrolls_less ? remainder[63:32] : subtractor[31:0]; // @[Multiplier.scala 133:14]
+  wire  _unrolls_T_4 = ~unrolls_less; // @[Multiplier.scala 133:67]
+  wire [64:0] unrolls_0 = {_unrolls_T_2,remainder[31:0],_unrolls_T_4}; // @[Cat.scala 31:58]
+  wire [2:0] _state_T = neg_out ? 3'h5 : 3'h7; // @[Multiplier.scala 138:19]
+  wire [2:0] _GEN_14 = count == 6'h20 ? _state_T : _GEN_12; // @[Multiplier.scala 137:38 138:13]
+  wire  divby0 = count == 6'h0 & _unrolls_T_4; // @[Multiplier.scala 145:30]
+  wire  _T_36 = io_resp_ready & io_resp_valid; // @[Decoupled.scala 50:35]
+  wire  _T_38 = io_req_ready & io_req_valid; // @[Decoupled.scala 50:35]
+  wire [32:0] _divisor_T = {rhs_sign,hi_1,io_req_bits_in2[15:0]}; // @[Cat.scala 31:58]
+  wire [15:0] loOut = result[15:0]; // @[Multiplier.scala 175:82]
+  assign io_req_ready = state == 3'h0; // @[Multiplier.scala 181:25]
+  assign io_resp_valid = state == 3'h6 | state == 3'h7; // @[Multiplier.scala 180:42]
+  assign io_resp_bits_data = {result[31:16],loOut}; // @[Cat.scala 31:58]
+  assign io_resp_bits_tag = req_tag; // @[Multiplier.scala 177:20]
+  always @(posedge clock) begin
+    if (reset) begin // @[Multiplier.scala 50:22]
+      state <= 3'h0; // @[Multiplier.scala 50:22]
+    end else if (_T_38) begin // @[Multiplier.scala 163:24]
+      if (cmdMul) begin // @[Multiplier.scala 164:17]
+        state <= 3'h2;
+      end else if (lhs_sign | rhs_sign) begin // @[Multiplier.scala 164:36]
+        state <= 3'h1;
+      end else begin
+        state <= 3'h3;
+      end
+    end else if (_T_36 | io_kill) begin // @[Multiplier.scala 160:36]
+      state <= 3'h0; // @[Multiplier.scala 161:11]
+    end else if (state == 3'h3) begin // @[Multiplier.scala 128:50]
+      state <= _GEN_14;
+    end else begin
+      state <= _GEN_12;
+    end
+    if (_T_38) begin // @[Multiplier.scala 163:24]
+      req_tag <= io_req_bits_tag; // @[Multiplier.scala 171:9]
+    end
+    if (_T_38) begin // @[Multiplier.scala 163:24]
+      count <= 6'h0; // @[Multiplier.scala 167:11]
+    end else if (state == 3'h3) begin // @[Multiplier.scala 128:50]
+      count <= _count_T_1; // @[Multiplier.scala 143:11]
+    end else if (state == 3'h2) begin // @[Multiplier.scala 105:50]
+      count <= _count_T_1; // @[Multiplier.scala 122:11]
+    end
+    if (_T_38) begin // @[Multiplier.scala 163:24]
+      if (cmdHi) begin // @[Multiplier.scala 168:19]
+        neg_out <= lhs_sign;
+      end else begin
+        neg_out <= lhs_sign != rhs_sign;
+      end
+    end else if (state == 3'h3) begin // @[Multiplier.scala 128:50]
+      if (divby0 & _eOut_T_4) begin // @[Multiplier.scala 158:28]
+        neg_out <= 1'h0; // @[Multiplier.scala 158:38]
+      end
+    end
+    if (_T_38) begin // @[Multiplier.scala 163:24]
+      isHi <= cmdHi; // @[Multiplier.scala 165:10]
+    end
+    if (_T_38) begin // @[Multiplier.scala 163:24]
+      resHi <= 1'h0; // @[Multiplier.scala 166:11]
+    end else if (state == 3'h3) begin // @[Multiplier.scala 128:50]
+      if (count == 6'h20) begin // @[Multiplier.scala 137:38]
+        resHi <= isHi; // @[Multiplier.scala 139:13]
+      end else begin
+        resHi <= _GEN_13;
+      end
+    end else begin
+      resHi <= _GEN_13;
+    end
+    if (_T_38) begin // @[Multiplier.scala 163:24]
+      divisor <= _divisor_T; // @[Multiplier.scala 169:13]
+    end else if (state == 3'h1) begin // @[Multiplier.scala 91:57]
+      if (divisor[31]) begin // @[Multiplier.scala 95:25]
+        divisor <= subtractor; // @[Multiplier.scala 96:15]
+      end
+    end
+    if (_T_38) begin // @[Multiplier.scala 163:24]
+      remainder <= {{34'd0}, lhs_in}; // @[Multiplier.scala 170:15]
+    end else if (state == 3'h3) begin // @[Multiplier.scala 128:50]
+      remainder <= {{1'd0}, unrolls_0}; // @[Multiplier.scala 136:15]
+    end else if (state == 3'h2) begin // @[Multiplier.scala 105:50]
+      remainder <= _remainder_T_2; // @[Multiplier.scala 120:15]
+    end else if (state == 3'h5) begin // @[Multiplier.scala 100:57]
+      remainder <= {{34'd0}, negated_remainder}; // @[Multiplier.scala 101:15]
+    end else begin
+      remainder <= _GEN_2;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  req_tag = _RAND_1[4:0];
+  _RAND_2 = {1{`RANDOM}};
+  count = _RAND_2[5:0];
+  _RAND_3 = {1{`RANDOM}};
+  neg_out = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  isHi = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  resHi = _RAND_5[0:0];
+  _RAND_6 = {2{`RANDOM}};
+  divisor = _RAND_6[32:0];
+  _RAND_7 = {3{`RANDOM}};
+  remainder = _RAND_7[65:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module PlusArgTimeout(
+  input         clock,
+  input         reset,
+  input  [31:0] io_count
+);
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 62:19]
+  wire  _T = plusarg_reader_out > 32'h0; // @[PlusArg.scala 63:13]
+  plusarg_reader #(.FORMAT("max_core_cycles=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 62:19]
+    .out(plusarg_reader_out)
+  );
+  always @(posedge clock) begin
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(io_count < plusarg_reader_out) & (_T & ~reset)) begin
+          $fatal; // @[PlusArg.scala 64:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T & ~reset & ~(io_count < plusarg_reader_out)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: Timeout exceeded: Kill the emulation after INT rdtime cycles. Off if 0.\n    at PlusArg.scala:64 assert (io.count < max, s\"Timeout exceeded: $docstring\")\n"
+            ); // @[PlusArg.scala 64:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+endmodule
+module Rocket(
+  input         clock,
+  input         reset,
+  input         io_hartid,
+  input         io_interrupts_debug,
+  input         io_interrupts_mtip,
+  input         io_interrupts_msip,
+  input         io_interrupts_meip,
+  input         io_interrupts_seip,
+  output        io_imem_might_request,
+  output        io_imem_req_valid,
+  output [31:0] io_imem_req_bits_pc,
+  output        io_imem_req_bits_speculative,
+  output        io_imem_resp_ready,
+  input         io_imem_resp_valid,
+  input         io_imem_resp_bits_btb_taken,
+  input         io_imem_resp_bits_btb_bridx,
+  input  [4:0]  io_imem_resp_bits_btb_entry,
+  input  [7:0]  io_imem_resp_bits_btb_bht_history,
+  input  [31:0] io_imem_resp_bits_pc,
+  input  [31:0] io_imem_resp_bits_data,
+  input         io_imem_resp_bits_xcpt_ae_inst,
+  input         io_imem_resp_bits_replay,
+  output        io_imem_btb_update_valid,
+  output [4:0]  io_imem_btb_update_bits_prediction_entry,
+  output [31:0] io_imem_btb_update_bits_pc,
+  output        io_imem_btb_update_bits_isValid,
+  output [31:0] io_imem_btb_update_bits_br_pc,
+  output [1:0]  io_imem_btb_update_bits_cfiType,
+  output        io_imem_bht_update_valid,
+  output [7:0]  io_imem_bht_update_bits_prediction_history,
+  output [31:0] io_imem_bht_update_bits_pc,
+  output        io_imem_bht_update_bits_branch,
+  output        io_imem_bht_update_bits_taken,
+  output        io_imem_bht_update_bits_mispredict,
+  output        io_imem_flush_icache,
+  input         io_dmem_req_ready,
+  output        io_dmem_req_valid,
+  output [31:0] io_dmem_req_bits_addr,
+  output [5:0]  io_dmem_req_bits_tag,
+  output [4:0]  io_dmem_req_bits_cmd,
+  output [1:0]  io_dmem_req_bits_size,
+  output        io_dmem_req_bits_signed,
+  output [1:0]  io_dmem_req_bits_dprv,
+  output        io_dmem_req_bits_dv,
+  output        io_dmem_s1_kill,
+  output [31:0] io_dmem_s1_data_data,
+  input         io_dmem_s2_nack,
+  input         io_dmem_resp_valid,
+  input  [5:0]  io_dmem_resp_bits_tag,
+  input  [31:0] io_dmem_resp_bits_data,
+  input         io_dmem_resp_bits_replay,
+  input         io_dmem_resp_bits_has_data,
+  input  [31:0] io_dmem_resp_bits_data_word_bypass,
+  input         io_dmem_replay_next,
+  input         io_dmem_s2_xcpt_ma_ld,
+  input         io_dmem_s2_xcpt_ma_st,
+  input         io_dmem_s2_xcpt_pf_ld,
+  input         io_dmem_s2_xcpt_pf_st,
+  input         io_dmem_s2_xcpt_ae_ld,
+  input         io_dmem_s2_xcpt_ae_st,
+  input         io_dmem_ordered,
+  input         io_dmem_perf_release,
+  input         io_dmem_perf_grant,
+  output        io_ptw_status_debug,
+  output [1:0]  io_ptw_status_prv,
+  output        io_ptw_pmp_0_cfg_l,
+  output [1:0]  io_ptw_pmp_0_cfg_a,
+  output        io_ptw_pmp_0_cfg_x,
+  output        io_ptw_pmp_0_cfg_w,
+  output        io_ptw_pmp_0_cfg_r,
+  output [28:0] io_ptw_pmp_0_addr,
+  output [30:0] io_ptw_pmp_0_mask,
+  output        io_ptw_pmp_1_cfg_l,
+  output [1:0]  io_ptw_pmp_1_cfg_a,
+  output        io_ptw_pmp_1_cfg_x,
+  output        io_ptw_pmp_1_cfg_w,
+  output        io_ptw_pmp_1_cfg_r,
+  output [28:0] io_ptw_pmp_1_addr,
+  output [30:0] io_ptw_pmp_1_mask,
+  output        io_ptw_pmp_2_cfg_l,
+  output [1:0]  io_ptw_pmp_2_cfg_a,
+  output        io_ptw_pmp_2_cfg_x,
+  output        io_ptw_pmp_2_cfg_w,
+  output        io_ptw_pmp_2_cfg_r,
+  output [28:0] io_ptw_pmp_2_addr,
+  output [30:0] io_ptw_pmp_2_mask,
+  output        io_ptw_pmp_3_cfg_l,
+  output [1:0]  io_ptw_pmp_3_cfg_a,
+  output        io_ptw_pmp_3_cfg_x,
+  output        io_ptw_pmp_3_cfg_w,
+  output        io_ptw_pmp_3_cfg_r,
+  output [28:0] io_ptw_pmp_3_addr,
+  output [30:0] io_ptw_pmp_3_mask,
+  output        io_ptw_pmp_4_cfg_l,
+  output [1:0]  io_ptw_pmp_4_cfg_a,
+  output        io_ptw_pmp_4_cfg_x,
+  output        io_ptw_pmp_4_cfg_w,
+  output        io_ptw_pmp_4_cfg_r,
+  output [28:0] io_ptw_pmp_4_addr,
+  output [30:0] io_ptw_pmp_4_mask,
+  output        io_ptw_pmp_5_cfg_l,
+  output [1:0]  io_ptw_pmp_5_cfg_a,
+  output        io_ptw_pmp_5_cfg_x,
+  output        io_ptw_pmp_5_cfg_w,
+  output        io_ptw_pmp_5_cfg_r,
+  output [28:0] io_ptw_pmp_5_addr,
+  output [30:0] io_ptw_pmp_5_mask,
+  output        io_ptw_pmp_6_cfg_l,
+  output [1:0]  io_ptw_pmp_6_cfg_a,
+  output        io_ptw_pmp_6_cfg_x,
+  output        io_ptw_pmp_6_cfg_w,
+  output        io_ptw_pmp_6_cfg_r,
+  output [28:0] io_ptw_pmp_6_addr,
+  output [30:0] io_ptw_pmp_6_mask,
+  output        io_ptw_pmp_7_cfg_l,
+  output [1:0]  io_ptw_pmp_7_cfg_a,
+  output        io_ptw_pmp_7_cfg_x,
+  output        io_ptw_pmp_7_cfg_w,
+  output        io_ptw_pmp_7_cfg_r,
+  output [28:0] io_ptw_pmp_7_addr,
+  output [30:0] io_ptw_pmp_7_mask,
+  output [31:0] io_ptw_customCSRs_csrs_0_value,
+  output        io_wfi
+);
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+`endif // RANDOMIZE_GARBAGE_ASSIGN
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+  reg [31:0] _RAND_34;
+  reg [31:0] _RAND_35;
+  reg [31:0] _RAND_36;
+  reg [31:0] _RAND_37;
+  reg [31:0] _RAND_38;
+  reg [31:0] _RAND_39;
+  reg [31:0] _RAND_40;
+  reg [31:0] _RAND_41;
+  reg [31:0] _RAND_42;
+  reg [31:0] _RAND_43;
+  reg [31:0] _RAND_44;
+  reg [31:0] _RAND_45;
+  reg [31:0] _RAND_46;
+  reg [31:0] _RAND_47;
+  reg [31:0] _RAND_48;
+  reg [31:0] _RAND_49;
+  reg [31:0] _RAND_50;
+  reg [31:0] _RAND_51;
+  reg [31:0] _RAND_52;
+  reg [31:0] _RAND_53;
+  reg [31:0] _RAND_54;
+  reg [31:0] _RAND_55;
+  reg [31:0] _RAND_56;
+  reg [31:0] _RAND_57;
+  reg [31:0] _RAND_58;
+  reg [31:0] _RAND_59;
+  reg [31:0] _RAND_60;
+  reg [31:0] _RAND_61;
+  reg [31:0] _RAND_62;
+  reg [31:0] _RAND_63;
+  reg [31:0] _RAND_64;
+  reg [31:0] _RAND_65;
+  reg [31:0] _RAND_66;
+  reg [31:0] _RAND_67;
+  reg [31:0] _RAND_68;
+  reg [31:0] _RAND_69;
+  reg [31:0] _RAND_70;
+  reg [31:0] _RAND_71;
+  reg [31:0] _RAND_72;
+  reg [31:0] _RAND_73;
+  reg [31:0] _RAND_74;
+  reg [31:0] _RAND_75;
+  reg [31:0] _RAND_76;
+  reg [31:0] _RAND_77;
+  reg [31:0] _RAND_78;
+  reg [31:0] _RAND_79;
+  reg [31:0] _RAND_80;
+  reg [31:0] _RAND_81;
+  reg [31:0] _RAND_82;
+  reg [31:0] _RAND_83;
+  reg [31:0] _RAND_84;
+  reg [31:0] _RAND_85;
+  reg [31:0] _RAND_86;
+  reg [31:0] _RAND_87;
+  reg [31:0] _RAND_88;
+  reg [31:0] _RAND_89;
+  reg [31:0] _RAND_90;
+  reg [31:0] _RAND_91;
+  reg [31:0] _RAND_92;
+  reg [31:0] _RAND_93;
+`endif // RANDOMIZE_REG_INIT
+  wire  ibuf_clock; // @[RocketCore.scala 263:20]
+  wire  ibuf_reset; // @[RocketCore.scala 263:20]
+  wire  ibuf_io_imem_ready; // @[RocketCore.scala 263:20]
+  wire  ibuf_io_imem_valid; // @[RocketCore.scala 263:20]
+  wire  ibuf_io_imem_bits_btb_taken; // @[RocketCore.scala 263:20]
+  wire  ibuf_io_imem_bits_btb_bridx; // @[RocketCore.scala 263:20]
+  wire [4:0] ibuf_io_imem_bits_btb_entry; // @[RocketCore.scala 263:20]
+  wire [7:0] ibuf_io_imem_bits_btb_bht_history; // @[RocketCore.scala 263:20]
+  wire [31:0] ibuf_io_imem_bits_pc; // @[RocketCore.scala 263:20]
+  wire [31:0] ibuf_io_imem_bits_data; // @[RocketCore.scala 263:20]
+  wire  ibuf_io_imem_bits_xcpt_ae_inst; // @[RocketCore.scala 263:20]
+  wire  ibuf_io_imem_bits_replay; // @[RocketCore.scala 263:20]
+  wire  ibuf_io_kill; // @[RocketCore.scala 263:20]
+  wire [31:0] ibuf_io_pc; // @[RocketCore.scala 263:20]
+  wire [4:0] ibuf_io_btb_resp_entry; // @[RocketCore.scala 263:20]
+  wire [7:0] ibuf_io_btb_resp_bht_history; // @[RocketCore.scala 263:20]
+  wire  ibuf_io_inst_0_ready; // @[RocketCore.scala 263:20]
+  wire  ibuf_io_inst_0_valid; // @[RocketCore.scala 263:20]
+  wire  ibuf_io_inst_0_bits_xcpt0_ae_inst; // @[RocketCore.scala 263:20]
+  wire  ibuf_io_inst_0_bits_xcpt1_pf_inst; // @[RocketCore.scala 263:20]
+  wire  ibuf_io_inst_0_bits_xcpt1_gf_inst; // @[RocketCore.scala 263:20]
+  wire  ibuf_io_inst_0_bits_xcpt1_ae_inst; // @[RocketCore.scala 263:20]
+  wire  ibuf_io_inst_0_bits_replay; // @[RocketCore.scala 263:20]
+  wire  ibuf_io_inst_0_bits_rvc; // @[RocketCore.scala 263:20]
+  wire [31:0] ibuf_io_inst_0_bits_inst_bits; // @[RocketCore.scala 263:20]
+  wire [4:0] ibuf_io_inst_0_bits_inst_rd; // @[RocketCore.scala 263:20]
+  wire [4:0] ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 263:20]
+  wire [4:0] ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 263:20]
+  wire [31:0] ibuf_io_inst_0_bits_raw; // @[RocketCore.scala 263:20]
+  reg [31:0] rf [0:30]; // @[RocketCore.scala 1061:15]
+  wire  rf_id_rs_MPORT_en; // @[RocketCore.scala 1061:15]
+  wire [4:0] rf_id_rs_MPORT_addr; // @[RocketCore.scala 1061:15]
+  wire [31:0] rf_id_rs_MPORT_data; // @[RocketCore.scala 1061:15]
+  wire  rf_id_rs_MPORT_1_en; // @[RocketCore.scala 1061:15]
+  wire [4:0] rf_id_rs_MPORT_1_addr; // @[RocketCore.scala 1061:15]
+  wire [31:0] rf_id_rs_MPORT_1_data; // @[RocketCore.scala 1061:15]
+  wire [31:0] rf_MPORT_data; // @[RocketCore.scala 1061:15]
+  wire [4:0] rf_MPORT_addr; // @[RocketCore.scala 1061:15]
+  wire  rf_MPORT_mask; // @[RocketCore.scala 1061:15]
+  wire  rf_MPORT_en; // @[RocketCore.scala 1061:15]
+  wire  csr_clock; // @[RocketCore.scala 291:19]
+  wire  csr_reset; // @[RocketCore.scala 291:19]
+  wire  csr_io_ungated_clock; // @[RocketCore.scala 291:19]
+  wire  csr_io_interrupts_debug; // @[RocketCore.scala 291:19]
+  wire  csr_io_interrupts_mtip; // @[RocketCore.scala 291:19]
+  wire  csr_io_interrupts_msip; // @[RocketCore.scala 291:19]
+  wire  csr_io_interrupts_meip; // @[RocketCore.scala 291:19]
+  wire  csr_io_interrupts_seip; // @[RocketCore.scala 291:19]
+  wire  csr_io_hartid; // @[RocketCore.scala 291:19]
+  wire [11:0] csr_io_rw_addr; // @[RocketCore.scala 291:19]
+  wire [2:0] csr_io_rw_cmd; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_rw_rdata; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_rw_wdata; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_decode_0_inst; // @[RocketCore.scala 291:19]
+  wire  csr_io_decode_0_fp_illegal; // @[RocketCore.scala 291:19]
+  wire  csr_io_decode_0_fp_csr; // @[RocketCore.scala 291:19]
+  wire  csr_io_decode_0_read_illegal; // @[RocketCore.scala 291:19]
+  wire  csr_io_decode_0_write_illegal; // @[RocketCore.scala 291:19]
+  wire  csr_io_decode_0_write_flush; // @[RocketCore.scala 291:19]
+  wire  csr_io_decode_0_system_illegal; // @[RocketCore.scala 291:19]
+  wire  csr_io_csr_stall; // @[RocketCore.scala 291:19]
+  wire  csr_io_eret; // @[RocketCore.scala 291:19]
+  wire  csr_io_singleStep; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_debug; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_cease; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_wfi; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_status_isa; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_status_dprv; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_dv; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_status_prv; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_v; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_sd; // @[RocketCore.scala 291:19]
+  wire [22:0] csr_io_status_zero2; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_mpv; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_gva; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_mbe; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_sbe; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_status_sxl; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_status_uxl; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_sd_rv32; // @[RocketCore.scala 291:19]
+  wire [7:0] csr_io_status_zero1; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_tsr; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_tw; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_tvm; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_mxr; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_sum; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_mprv; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_status_xs; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_status_fs; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_status_mpp; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_status_vs; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_spp; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_mpie; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_ube; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_spie; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_upie; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_mie; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_hie; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_sie; // @[RocketCore.scala 291:19]
+  wire  csr_io_status_uie; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_evec; // @[RocketCore.scala 291:19]
+  wire  csr_io_exception; // @[RocketCore.scala 291:19]
+  wire  csr_io_retire; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_cause; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_pc; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_tval; // @[RocketCore.scala 291:19]
+  wire  csr_io_gva; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_time; // @[RocketCore.scala 291:19]
+  wire  csr_io_interrupt; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_interrupt_cause; // @[RocketCore.scala 291:19]
+  wire  csr_io_bp_0_control_action; // @[RocketCore.scala 291:19]
+  wire  csr_io_bp_0_control_chain; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_bp_0_control_tmatch; // @[RocketCore.scala 291:19]
+  wire  csr_io_bp_0_control_m; // @[RocketCore.scala 291:19]
+  wire  csr_io_bp_0_control_s; // @[RocketCore.scala 291:19]
+  wire  csr_io_bp_0_control_u; // @[RocketCore.scala 291:19]
+  wire  csr_io_bp_0_control_x; // @[RocketCore.scala 291:19]
+  wire  csr_io_bp_0_control_w; // @[RocketCore.scala 291:19]
+  wire  csr_io_bp_0_control_r; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_bp_0_address; // @[RocketCore.scala 291:19]
+  wire  csr_io_bp_1_control_action; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_bp_1_control_tmatch; // @[RocketCore.scala 291:19]
+  wire  csr_io_bp_1_control_m; // @[RocketCore.scala 291:19]
+  wire  csr_io_bp_1_control_s; // @[RocketCore.scala 291:19]
+  wire  csr_io_bp_1_control_u; // @[RocketCore.scala 291:19]
+  wire  csr_io_bp_1_control_x; // @[RocketCore.scala 291:19]
+  wire  csr_io_bp_1_control_w; // @[RocketCore.scala 291:19]
+  wire  csr_io_bp_1_control_r; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_bp_1_address; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_0_cfg_l; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_pmp_0_cfg_a; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_0_cfg_x; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_0_cfg_w; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_0_cfg_r; // @[RocketCore.scala 291:19]
+  wire [28:0] csr_io_pmp_0_addr; // @[RocketCore.scala 291:19]
+  wire [30:0] csr_io_pmp_0_mask; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_1_cfg_l; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_pmp_1_cfg_a; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_1_cfg_x; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_1_cfg_w; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_1_cfg_r; // @[RocketCore.scala 291:19]
+  wire [28:0] csr_io_pmp_1_addr; // @[RocketCore.scala 291:19]
+  wire [30:0] csr_io_pmp_1_mask; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_2_cfg_l; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_pmp_2_cfg_a; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_2_cfg_x; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_2_cfg_w; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_2_cfg_r; // @[RocketCore.scala 291:19]
+  wire [28:0] csr_io_pmp_2_addr; // @[RocketCore.scala 291:19]
+  wire [30:0] csr_io_pmp_2_mask; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_3_cfg_l; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_pmp_3_cfg_a; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_3_cfg_x; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_3_cfg_w; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_3_cfg_r; // @[RocketCore.scala 291:19]
+  wire [28:0] csr_io_pmp_3_addr; // @[RocketCore.scala 291:19]
+  wire [30:0] csr_io_pmp_3_mask; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_4_cfg_l; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_pmp_4_cfg_a; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_4_cfg_x; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_4_cfg_w; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_4_cfg_r; // @[RocketCore.scala 291:19]
+  wire [28:0] csr_io_pmp_4_addr; // @[RocketCore.scala 291:19]
+  wire [30:0] csr_io_pmp_4_mask; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_5_cfg_l; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_pmp_5_cfg_a; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_5_cfg_x; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_5_cfg_w; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_5_cfg_r; // @[RocketCore.scala 291:19]
+  wire [28:0] csr_io_pmp_5_addr; // @[RocketCore.scala 291:19]
+  wire [30:0] csr_io_pmp_5_mask; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_6_cfg_l; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_pmp_6_cfg_a; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_6_cfg_x; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_6_cfg_w; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_6_cfg_r; // @[RocketCore.scala 291:19]
+  wire [28:0] csr_io_pmp_6_addr; // @[RocketCore.scala 291:19]
+  wire [30:0] csr_io_pmp_6_mask; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_7_cfg_l; // @[RocketCore.scala 291:19]
+  wire [1:0] csr_io_pmp_7_cfg_a; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_7_cfg_x; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_7_cfg_w; // @[RocketCore.scala 291:19]
+  wire  csr_io_pmp_7_cfg_r; // @[RocketCore.scala 291:19]
+  wire [28:0] csr_io_pmp_7_addr; // @[RocketCore.scala 291:19]
+  wire [30:0] csr_io_pmp_7_mask; // @[RocketCore.scala 291:19]
+  wire  csr_io_inhibit_cycle; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_inst_0; // @[RocketCore.scala 291:19]
+  wire  csr_io_trace_0_valid; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_trace_0_iaddr; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_trace_0_insn; // @[RocketCore.scala 291:19]
+  wire  csr_io_trace_0_exception; // @[RocketCore.scala 291:19]
+  wire [31:0] csr_io_customCSRs_0_value; // @[RocketCore.scala 291:19]
+  wire  bpu_io_status_debug; // @[RocketCore.scala 334:19]
+  wire [1:0] bpu_io_status_prv; // @[RocketCore.scala 334:19]
+  wire  bpu_io_bp_0_control_action; // @[RocketCore.scala 334:19]
+  wire  bpu_io_bp_0_control_chain; // @[RocketCore.scala 334:19]
+  wire [1:0] bpu_io_bp_0_control_tmatch; // @[RocketCore.scala 334:19]
+  wire  bpu_io_bp_0_control_m; // @[RocketCore.scala 334:19]
+  wire  bpu_io_bp_0_control_s; // @[RocketCore.scala 334:19]
+  wire  bpu_io_bp_0_control_u; // @[RocketCore.scala 334:19]
+  wire  bpu_io_bp_0_control_x; // @[RocketCore.scala 334:19]
+  wire  bpu_io_bp_0_control_w; // @[RocketCore.scala 334:19]
+  wire  bpu_io_bp_0_control_r; // @[RocketCore.scala 334:19]
+  wire [31:0] bpu_io_bp_0_address; // @[RocketCore.scala 334:19]
+  wire  bpu_io_bp_1_control_action; // @[RocketCore.scala 334:19]
+  wire [1:0] bpu_io_bp_1_control_tmatch; // @[RocketCore.scala 334:19]
+  wire  bpu_io_bp_1_control_m; // @[RocketCore.scala 334:19]
+  wire  bpu_io_bp_1_control_s; // @[RocketCore.scala 334:19]
+  wire  bpu_io_bp_1_control_u; // @[RocketCore.scala 334:19]
+  wire  bpu_io_bp_1_control_x; // @[RocketCore.scala 334:19]
+  wire  bpu_io_bp_1_control_w; // @[RocketCore.scala 334:19]
+  wire  bpu_io_bp_1_control_r; // @[RocketCore.scala 334:19]
+  wire [31:0] bpu_io_bp_1_address; // @[RocketCore.scala 334:19]
+  wire [31:0] bpu_io_pc; // @[RocketCore.scala 334:19]
+  wire [31:0] bpu_io_ea; // @[RocketCore.scala 334:19]
+  wire  bpu_io_xcpt_if; // @[RocketCore.scala 334:19]
+  wire  bpu_io_xcpt_ld; // @[RocketCore.scala 334:19]
+  wire  bpu_io_xcpt_st; // @[RocketCore.scala 334:19]
+  wire  bpu_io_debug_if; // @[RocketCore.scala 334:19]
+  wire  bpu_io_debug_ld; // @[RocketCore.scala 334:19]
+  wire  bpu_io_debug_st; // @[RocketCore.scala 334:19]
+  wire [3:0] alu_io_fn; // @[RocketCore.scala 399:19]
+  wire [31:0] alu_io_in2; // @[RocketCore.scala 399:19]
+  wire [31:0] alu_io_in1; // @[RocketCore.scala 399:19]
+  wire [31:0] alu_io_out; // @[RocketCore.scala 399:19]
+  wire [31:0] alu_io_adder_out; // @[RocketCore.scala 399:19]
+  wire  alu_io_cmp_out; // @[RocketCore.scala 399:19]
+  wire  div_clock; // @[RocketCore.scala 423:19]
+  wire  div_reset; // @[RocketCore.scala 423:19]
+  wire  div_io_req_ready; // @[RocketCore.scala 423:19]
+  wire  div_io_req_valid; // @[RocketCore.scala 423:19]
+  wire [3:0] div_io_req_bits_fn; // @[RocketCore.scala 423:19]
+  wire [31:0] div_io_req_bits_in1; // @[RocketCore.scala 423:19]
+  wire [31:0] div_io_req_bits_in2; // @[RocketCore.scala 423:19]
+  wire [4:0] div_io_req_bits_tag; // @[RocketCore.scala 423:19]
+  wire  div_io_kill; // @[RocketCore.scala 423:19]
+  wire  div_io_resp_ready; // @[RocketCore.scala 423:19]
+  wire  div_io_resp_valid; // @[RocketCore.scala 423:19]
+  wire [31:0] div_io_resp_bits_data; // @[RocketCore.scala 423:19]
+  wire [4:0] div_io_resp_bits_tag; // @[RocketCore.scala 423:19]
+  wire  PlusArgTimeout_clock; // @[PlusArg.scala 89:11]
+  wire  PlusArgTimeout_reset; // @[PlusArg.scala 89:11]
+  wire [31:0] PlusArgTimeout_io_count; // @[PlusArg.scala 89:11]
+  reg  id_reg_pause; // @[RocketCore.scala 116:25]
+  reg  imem_might_request_reg; // @[RocketCore.scala 117:35]
+  reg  ex_ctrl_branch; // @[RocketCore.scala 194:20]
+  reg  ex_ctrl_jal; // @[RocketCore.scala 194:20]
+  reg  ex_ctrl_jalr; // @[RocketCore.scala 194:20]
+  reg  ex_ctrl_rxs2; // @[RocketCore.scala 194:20]
+  reg  ex_ctrl_rxs1; // @[RocketCore.scala 194:20]
+  reg [1:0] ex_ctrl_sel_alu2; // @[RocketCore.scala 194:20]
+  reg [1:0] ex_ctrl_sel_alu1; // @[RocketCore.scala 194:20]
+  reg [2:0] ex_ctrl_sel_imm; // @[RocketCore.scala 194:20]
+  reg [3:0] ex_ctrl_alu_fn; // @[RocketCore.scala 194:20]
+  reg  ex_ctrl_mem; // @[RocketCore.scala 194:20]
+  reg [4:0] ex_ctrl_mem_cmd; // @[RocketCore.scala 194:20]
+  reg  ex_ctrl_div; // @[RocketCore.scala 194:20]
+  reg  ex_ctrl_wxd; // @[RocketCore.scala 194:20]
+  reg [2:0] ex_ctrl_csr; // @[RocketCore.scala 194:20]
+  reg  ex_ctrl_fence_i; // @[RocketCore.scala 194:20]
+  reg  mem_ctrl_branch; // @[RocketCore.scala 195:21]
+  reg  mem_ctrl_jal; // @[RocketCore.scala 195:21]
+  reg  mem_ctrl_jalr; // @[RocketCore.scala 195:21]
+  reg  mem_ctrl_rxs2; // @[RocketCore.scala 195:21]
+  reg  mem_ctrl_rxs1; // @[RocketCore.scala 195:21]
+  reg  mem_ctrl_mem; // @[RocketCore.scala 195:21]
+  reg  mem_ctrl_div; // @[RocketCore.scala 195:21]
+  reg  mem_ctrl_wxd; // @[RocketCore.scala 195:21]
+  reg [2:0] mem_ctrl_csr; // @[RocketCore.scala 195:21]
+  reg  mem_ctrl_fence_i; // @[RocketCore.scala 195:21]
+  reg  wb_ctrl_rxs2; // @[RocketCore.scala 196:20]
+  reg  wb_ctrl_rxs1; // @[RocketCore.scala 196:20]
+  reg  wb_ctrl_mem; // @[RocketCore.scala 196:20]
+  reg  wb_ctrl_div; // @[RocketCore.scala 196:20]
+  reg  wb_ctrl_wxd; // @[RocketCore.scala 196:20]
+  reg [2:0] wb_ctrl_csr; // @[RocketCore.scala 196:20]
+  reg  wb_ctrl_fence_i; // @[RocketCore.scala 196:20]
+  reg  ex_reg_xcpt_interrupt; // @[RocketCore.scala 198:35]
+  reg  ex_reg_valid; // @[RocketCore.scala 199:35]
+  reg  ex_reg_rvc; // @[RocketCore.scala 200:35]
+  reg [4:0] ex_reg_btb_resp_entry; // @[RocketCore.scala 201:35]
+  reg [7:0] ex_reg_btb_resp_bht_history; // @[RocketCore.scala 201:35]
+  reg  ex_reg_xcpt; // @[RocketCore.scala 202:35]
+  reg  ex_reg_flush_pipe; // @[RocketCore.scala 203:35]
+  reg  ex_reg_load_use; // @[RocketCore.scala 204:35]
+  reg [31:0] ex_reg_cause; // @[RocketCore.scala 205:35]
+  reg  ex_reg_replay; // @[RocketCore.scala 206:26]
+  reg [31:0] ex_reg_pc; // @[RocketCore.scala 207:22]
+  reg [1:0] ex_reg_mem_size; // @[RocketCore.scala 208:28]
+  reg [31:0] ex_reg_inst; // @[RocketCore.scala 210:24]
+  reg [31:0] ex_reg_raw_inst; // @[RocketCore.scala 211:28]
+  reg  mem_reg_xcpt_interrupt; // @[RocketCore.scala 216:36]
+  reg  mem_reg_valid; // @[RocketCore.scala 217:36]
+  reg  mem_reg_rvc; // @[RocketCore.scala 218:36]
+  reg [4:0] mem_reg_btb_resp_entry; // @[RocketCore.scala 219:36]
+  reg [7:0] mem_reg_btb_resp_bht_history; // @[RocketCore.scala 219:36]
+  reg  mem_reg_xcpt; // @[RocketCore.scala 220:36]
+  reg  mem_reg_replay; // @[RocketCore.scala 221:36]
+  reg  mem_reg_flush_pipe; // @[RocketCore.scala 222:36]
+  reg [31:0] mem_reg_cause; // @[RocketCore.scala 223:36]
+  reg  mem_reg_slow_bypass; // @[RocketCore.scala 224:36]
+  reg  mem_reg_load; // @[RocketCore.scala 225:36]
+  reg  mem_reg_store; // @[RocketCore.scala 226:36]
+  reg [31:0] mem_reg_pc; // @[RocketCore.scala 228:23]
+  reg [31:0] mem_reg_inst; // @[RocketCore.scala 229:25]
+  reg  mem_reg_hls_or_dv; // @[RocketCore.scala 231:30]
+  reg [31:0] mem_reg_raw_inst; // @[RocketCore.scala 232:29]
+  reg [31:0] mem_reg_wdata; // @[RocketCore.scala 235:26]
+  reg [31:0] mem_reg_rs2; // @[RocketCore.scala 236:24]
+  reg  mem_br_taken; // @[RocketCore.scala 237:25]
+  reg  wb_reg_valid; // @[RocketCore.scala 241:35]
+  reg  wb_reg_xcpt; // @[RocketCore.scala 242:35]
+  reg  wb_reg_replay; // @[RocketCore.scala 243:35]
+  reg  wb_reg_flush_pipe; // @[RocketCore.scala 244:35]
+  reg [31:0] wb_reg_cause; // @[RocketCore.scala 245:35]
+  reg [31:0] wb_reg_pc; // @[RocketCore.scala 247:22]
+  reg  wb_reg_hls_or_dv; // @[RocketCore.scala 249:29]
+  reg [31:0] wb_reg_inst; // @[RocketCore.scala 252:24]
+  reg [31:0] wb_reg_raw_inst; // @[RocketCore.scala 253:28]
+  reg [31:0] wb_reg_wdata; // @[RocketCore.scala 254:25]
+  wire  replay_wb_common = io_dmem_s2_nack | wb_reg_replay; // @[RocketCore.scala 664:42]
+  wire  _T_94 = wb_reg_valid & wb_ctrl_mem; // @[RocketCore.scala 637:19]
+  wire  _T_95 = wb_reg_valid & wb_ctrl_mem & io_dmem_s2_xcpt_pf_st; // @[RocketCore.scala 637:34]
+  wire  _T_97 = _T_94 & io_dmem_s2_xcpt_pf_ld; // @[RocketCore.scala 638:34]
+  wire  _T_103 = _T_94 & io_dmem_s2_xcpt_ae_st; // @[RocketCore.scala 641:34]
+  wire  _T_105 = _T_94 & io_dmem_s2_xcpt_ae_ld; // @[RocketCore.scala 642:34]
+  wire  _T_107 = _T_94 & io_dmem_s2_xcpt_ma_st; // @[RocketCore.scala 643:34]
+  wire  _T_109 = _T_94 & io_dmem_s2_xcpt_ma_ld; // @[RocketCore.scala 644:34]
+  wire  wb_xcpt = wb_reg_xcpt | _T_95 | _T_97 | _T_103 | _T_105 | _T_107 | _T_109; // @[RocketCore.scala 1021:26]
+  wire  take_pc_wb = replay_wb_common | wb_xcpt | csr_io_eret | wb_reg_flush_pipe; // @[RocketCore.scala 667:53]
+  wire  _take_pc_mem_T = ~mem_reg_xcpt; // @[RocketCore.scala 541:35]
+  wire  ex_pc_valid = ex_reg_valid | ex_reg_replay | ex_reg_xcpt_interrupt; // @[RocketCore.scala 508:51]
+  wire  _mem_br_target_T_1 = mem_ctrl_branch & mem_br_taken; // @[RocketCore.scala 528:25]
+  wire  mem_br_target_sign = mem_reg_inst[31]; // @[RocketCore.scala 1083:53]
+  wire  mem_br_target_hi_hi_hi = mem_reg_inst[31]; // @[Cat.scala 31:58]
+  wire [10:0] mem_br_target_hi_hi_lo = {11{mem_br_target_sign}}; // @[Cat.scala 31:58]
+  wire [7:0] mem_br_target_hi_lo_hi = {8{mem_br_target_sign}}; // @[Cat.scala 31:58]
+  wire  mem_br_target_hi_lo_lo = mem_reg_inst[7]; // @[Cat.scala 31:58]
+  wire [5:0] mem_br_target_b10_5 = mem_reg_inst[30:25]; // @[RocketCore.scala 1089:66]
+  wire [3:0] mem_br_target_b4_1 = mem_reg_inst[11:8]; // @[RocketCore.scala 1091:57]
+  wire [31:0] _mem_br_target_T_3 = {mem_br_target_hi_hi_hi,mem_br_target_hi_hi_lo,mem_br_target_hi_lo_hi,
+    mem_br_target_hi_lo_lo,mem_br_target_b10_5,mem_br_target_b4_1,1'h0}; // @[RocketCore.scala 1097:53]
+  wire [7:0] mem_br_target_hi_lo_hi_1 = mem_reg_inst[19:12]; // @[Cat.scala 31:58]
+  wire  mem_br_target_hi_lo_lo_1 = mem_reg_inst[20]; // @[Cat.scala 31:58]
+  wire [31:0] _mem_br_target_T_5 = {mem_br_target_hi_hi_hi,mem_br_target_hi_hi_lo,mem_br_target_hi_lo_hi_1,
+    mem_br_target_hi_lo_lo_1,mem_br_target_b10_5,mem_reg_inst[24:21],1'h0}; // @[RocketCore.scala 1097:53]
+  wire [3:0] _mem_br_target_T_6 = mem_reg_rvc ? $signed(4'sh2) : $signed(4'sh4); // @[RocketCore.scala 530:8]
+  wire [31:0] _mem_br_target_T_7 = mem_ctrl_jal ? $signed(_mem_br_target_T_5) : $signed({{28{_mem_br_target_T_6[3]}},
+    _mem_br_target_T_6}); // @[RocketCore.scala 529:8]
+  wire [31:0] _mem_br_target_T_8 = mem_ctrl_branch & mem_br_taken ? $signed(_mem_br_target_T_3) : $signed(
+    _mem_br_target_T_7); // @[RocketCore.scala 528:8]
+  wire [31:0] mem_br_target = $signed(mem_reg_pc) + $signed(_mem_br_target_T_8); // @[RocketCore.scala 527:41]
+  wire [31:0] _mem_npc_T_2 = mem_ctrl_jalr ? $signed(mem_reg_wdata) : $signed(mem_br_target); // @[RocketCore.scala 531:21]
+  wire [31:0] mem_npc = $signed(_mem_npc_T_2) & -32'sh2; // @[RocketCore.scala 531:141]
+  wire  _mem_wrong_npc_T_3 = ibuf_io_inst_0_valid | ibuf_io_imem_valid ? mem_npc != ibuf_io_pc : 1'h1; // @[RocketCore.scala 534:8]
+  wire  mem_wrong_npc = ex_pc_valid ? mem_npc != ex_reg_pc : _mem_wrong_npc_T_3; // @[RocketCore.scala 533:8]
+  wire  take_pc_mem = mem_reg_valid & ~mem_reg_xcpt & mem_wrong_npc; // @[RocketCore.scala 541:49]
+  wire  take_pc_mem_wb = take_pc_wb | take_pc_mem; // @[RocketCore.scala 259:35]
+  wire [31:0] _id_ctrl_decoder_bit_T = ibuf_io_inst_0_bits_inst_bits & 32'hfe00707f; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_bit_T_1 = _id_ctrl_decoder_bit_T == 32'h2000033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_3 = _id_ctrl_decoder_bit_T == 32'h2001033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_5 = _id_ctrl_decoder_bit_T == 32'h2003033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_7 = _id_ctrl_decoder_bit_T == 32'h2002033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_9 = _id_ctrl_decoder_bit_T == 32'h2004033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_11 = _id_ctrl_decoder_bit_T == 32'h2005033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_13 = _id_ctrl_decoder_bit_T == 32'h2006033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_15 = _id_ctrl_decoder_bit_T == 32'h2007033; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_bit_T_16 = ibuf_io_inst_0_bits_inst_bits & 32'hf800707f; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_bit_T_17 = _id_ctrl_decoder_bit_T_16 == 32'h202f; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_19 = _id_ctrl_decoder_bit_T_16 == 32'h2000202f; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_21 = _id_ctrl_decoder_bit_T_16 == 32'h800202f; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_23 = _id_ctrl_decoder_bit_T_16 == 32'h6000202f; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_25 = _id_ctrl_decoder_bit_T_16 == 32'h4000202f; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_27 = _id_ctrl_decoder_bit_T_16 == 32'h8000202f; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_29 = _id_ctrl_decoder_bit_T_16 == 32'hc000202f; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_31 = _id_ctrl_decoder_bit_T_16 == 32'ha000202f; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_33 = _id_ctrl_decoder_bit_T_16 == 32'he000202f; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_bit_T_34 = ibuf_io_inst_0_bits_inst_bits & 32'hf9f0707f; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_bit_T_35 = _id_ctrl_decoder_bit_T_34 == 32'h1000202f; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_37 = _id_ctrl_decoder_bit_T_16 == 32'h1800202f; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_39 = _id_ctrl_decoder_bit_T == 32'h1013; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_41 = _id_ctrl_decoder_bit_T == 32'h5013; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_43 = _id_ctrl_decoder_bit_T == 32'h40005013; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_44 = ibuf_io_inst_0_bits_inst_bits == 32'h10200073; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_45 = ibuf_io_inst_0_bits_inst_bits == 32'h7b200073; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_bit_T_46 = ibuf_io_inst_0_bits_inst_bits & 32'h707f; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_bit_T_47 = _id_ctrl_decoder_bit_T_46 == 32'h100f; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_49 = _id_ctrl_decoder_bit_T_46 == 32'h1063; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_51 = _id_ctrl_decoder_bit_T_46 == 32'h63; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_53 = _id_ctrl_decoder_bit_T_46 == 32'h4063; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_55 = _id_ctrl_decoder_bit_T_46 == 32'h6063; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_57 = _id_ctrl_decoder_bit_T_46 == 32'h5063; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_59 = _id_ctrl_decoder_bit_T_46 == 32'h7063; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_bit_T_60 = ibuf_io_inst_0_bits_inst_bits & 32'h7f; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_bit_T_61 = _id_ctrl_decoder_bit_T_60 == 32'h6f; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_63 = _id_ctrl_decoder_bit_T_46 == 32'h67; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_65 = _id_ctrl_decoder_bit_T_60 == 32'h17; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_67 = _id_ctrl_decoder_bit_T_46 == 32'h3; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_69 = _id_ctrl_decoder_bit_T_46 == 32'h1003; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_71 = _id_ctrl_decoder_bit_T_46 == 32'h2003; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_73 = _id_ctrl_decoder_bit_T_46 == 32'h4003; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_75 = _id_ctrl_decoder_bit_T_46 == 32'h5003; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_77 = _id_ctrl_decoder_bit_T_46 == 32'h23; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_79 = _id_ctrl_decoder_bit_T_46 == 32'h1023; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_81 = _id_ctrl_decoder_bit_T_46 == 32'h2023; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_83 = _id_ctrl_decoder_bit_T_60 == 32'h37; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_85 = _id_ctrl_decoder_bit_T_46 == 32'h13; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_87 = _id_ctrl_decoder_bit_T_46 == 32'h2013; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_89 = _id_ctrl_decoder_bit_T_46 == 32'h3013; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_91 = _id_ctrl_decoder_bit_T_46 == 32'h7013; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_93 = _id_ctrl_decoder_bit_T_46 == 32'h6013; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_95 = _id_ctrl_decoder_bit_T_46 == 32'h4013; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_97 = _id_ctrl_decoder_bit_T == 32'h33; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_99 = _id_ctrl_decoder_bit_T == 32'h40000033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_101 = _id_ctrl_decoder_bit_T == 32'h2033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_103 = _id_ctrl_decoder_bit_T == 32'h3033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_105 = _id_ctrl_decoder_bit_T == 32'h7033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_107 = _id_ctrl_decoder_bit_T == 32'h6033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_109 = _id_ctrl_decoder_bit_T == 32'h4033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_111 = _id_ctrl_decoder_bit_T == 32'h1033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_113 = _id_ctrl_decoder_bit_T == 32'h5033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_115 = _id_ctrl_decoder_bit_T == 32'h40005033; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_117 = _id_ctrl_decoder_bit_T_46 == 32'hf; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_118 = ibuf_io_inst_0_bits_inst_bits == 32'h73; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_119 = ibuf_io_inst_0_bits_inst_bits == 32'h100073; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_120 = ibuf_io_inst_0_bits_inst_bits == 32'h30200073; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_121 = ibuf_io_inst_0_bits_inst_bits == 32'h10500073; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_122 = ibuf_io_inst_0_bits_inst_bits == 32'h30500073; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_124 = _id_ctrl_decoder_bit_T_46 == 32'h1073; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_126 = _id_ctrl_decoder_bit_T_46 == 32'h2073; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_128 = _id_ctrl_decoder_bit_T_46 == 32'h3073; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_130 = _id_ctrl_decoder_bit_T_46 == 32'h5073; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_132 = _id_ctrl_decoder_bit_T_46 == 32'h6073; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_134 = _id_ctrl_decoder_bit_T_46 == 32'h7073; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_bit_T_165 = _id_ctrl_decoder_bit_T_1 | _id_ctrl_decoder_bit_T_3 | _id_ctrl_decoder_bit_T_5 |
+    _id_ctrl_decoder_bit_T_7 | _id_ctrl_decoder_bit_T_9 | _id_ctrl_decoder_bit_T_11 | _id_ctrl_decoder_bit_T_13 |
+    _id_ctrl_decoder_bit_T_15 | _id_ctrl_decoder_bit_T_17 | _id_ctrl_decoder_bit_T_19 | _id_ctrl_decoder_bit_T_21 |
+    _id_ctrl_decoder_bit_T_23 | _id_ctrl_decoder_bit_T_25 | _id_ctrl_decoder_bit_T_27 | _id_ctrl_decoder_bit_T_29 |
+    _id_ctrl_decoder_bit_T_31 | _id_ctrl_decoder_bit_T_33 | _id_ctrl_decoder_bit_T_35 | _id_ctrl_decoder_bit_T_37 |
+    _id_ctrl_decoder_bit_T_39 | _id_ctrl_decoder_bit_T_41 | _id_ctrl_decoder_bit_T_43 | _id_ctrl_decoder_bit_T_44 |
+    _id_ctrl_decoder_bit_T_45 | _id_ctrl_decoder_bit_T_47 | _id_ctrl_decoder_bit_T_49 | _id_ctrl_decoder_bit_T_51 |
+    _id_ctrl_decoder_bit_T_53 | _id_ctrl_decoder_bit_T_55 | _id_ctrl_decoder_bit_T_57 | _id_ctrl_decoder_bit_T_59; // @[Decode.scala 15:30]
+  wire  _id_ctrl_decoder_bit_T_195 = _id_ctrl_decoder_bit_T_165 | _id_ctrl_decoder_bit_T_61 | _id_ctrl_decoder_bit_T_63
+     | _id_ctrl_decoder_bit_T_65 | _id_ctrl_decoder_bit_T_67 | _id_ctrl_decoder_bit_T_69 | _id_ctrl_decoder_bit_T_71 |
+    _id_ctrl_decoder_bit_T_73 | _id_ctrl_decoder_bit_T_75 | _id_ctrl_decoder_bit_T_77 | _id_ctrl_decoder_bit_T_79 |
+    _id_ctrl_decoder_bit_T_81 | _id_ctrl_decoder_bit_T_83 | _id_ctrl_decoder_bit_T_85 | _id_ctrl_decoder_bit_T_87 |
+    _id_ctrl_decoder_bit_T_89 | _id_ctrl_decoder_bit_T_91 | _id_ctrl_decoder_bit_T_93 | _id_ctrl_decoder_bit_T_95 |
+    _id_ctrl_decoder_bit_T_97 | _id_ctrl_decoder_bit_T_99 | _id_ctrl_decoder_bit_T_101 | _id_ctrl_decoder_bit_T_103 |
+    _id_ctrl_decoder_bit_T_105 | _id_ctrl_decoder_bit_T_107 | _id_ctrl_decoder_bit_T_109 | _id_ctrl_decoder_bit_T_111 |
+    _id_ctrl_decoder_bit_T_113 | _id_ctrl_decoder_bit_T_115 | _id_ctrl_decoder_bit_T_117 | _id_ctrl_decoder_bit_T_118; // @[Decode.scala 15:30]
+  wire  id_ctrl_decoder_0 = _id_ctrl_decoder_bit_T_195 | _id_ctrl_decoder_bit_T_119 | _id_ctrl_decoder_bit_T_120 |
+    _id_ctrl_decoder_bit_T_121 | _id_ctrl_decoder_bit_T_122 | _id_ctrl_decoder_bit_T_124 | _id_ctrl_decoder_bit_T_126 |
+    _id_ctrl_decoder_bit_T_128 | _id_ctrl_decoder_bit_T_130 | _id_ctrl_decoder_bit_T_132 | _id_ctrl_decoder_bit_T_134; // @[Decode.scala 15:30]
+  wire [31:0] _id_ctrl_decoder_T = ibuf_io_inst_0_bits_inst_bits & 32'h54; // @[Decode.scala 14:65]
+  wire  id_ctrl_decoder_3 = _id_ctrl_decoder_T == 32'h40; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_2 = ibuf_io_inst_0_bits_inst_bits & 32'h48; // @[Decode.scala 14:65]
+  wire  id_ctrl_decoder_4 = _id_ctrl_decoder_T_2 == 32'h48; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_4 = ibuf_io_inst_0_bits_inst_bits & 32'h1c; // @[Decode.scala 14:65]
+  wire  id_ctrl_decoder_5 = _id_ctrl_decoder_T_4 == 32'h4; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_6 = ibuf_io_inst_0_bits_inst_bits & 32'h70; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_7 = _id_ctrl_decoder_T_6 == 32'h20; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_8 = ibuf_io_inst_0_bits_inst_bits & 32'h64; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_9 = _id_ctrl_decoder_T_8 == 32'h20; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_10 = ibuf_io_inst_0_bits_inst_bits & 32'h34; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_11 = _id_ctrl_decoder_T_10 == 32'h20; // @[Decode.scala 14:121]
+  wire  id_ctrl_decoder_6 = _id_ctrl_decoder_T_7 | _id_ctrl_decoder_T_9 | _id_ctrl_decoder_T_11; // @[Decode.scala 15:30]
+  wire [31:0] _id_ctrl_decoder_T_14 = ibuf_io_inst_0_bits_inst_bits & 32'h4004; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_15 = _id_ctrl_decoder_T_14 == 32'h0; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_16 = ibuf_io_inst_0_bits_inst_bits & 32'h44; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_17 = _id_ctrl_decoder_T_16 == 32'h0; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_18 = ibuf_io_inst_0_bits_inst_bits & 32'h18; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_19 = _id_ctrl_decoder_T_18 == 32'h0; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_20 = ibuf_io_inst_0_bits_inst_bits & 32'h2050; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_21 = _id_ctrl_decoder_T_20 == 32'h2000; // @[Decode.scala 14:121]
+  wire  id_ctrl_decoder_7 = _id_ctrl_decoder_T_15 | _id_ctrl_decoder_T_17 | _id_ctrl_decoder_T_19 |
+    _id_ctrl_decoder_T_21; // @[Decode.scala 15:30]
+  wire [31:0] _id_ctrl_decoder_T_25 = ibuf_io_inst_0_bits_inst_bits & 32'h58; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_26 = _id_ctrl_decoder_T_25 == 32'h0; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_27 = ibuf_io_inst_0_bits_inst_bits & 32'h20; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_28 = _id_ctrl_decoder_T_27 == 32'h0; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_29 = ibuf_io_inst_0_bits_inst_bits & 32'hc; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_30 = _id_ctrl_decoder_T_29 == 32'h4; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_31 = ibuf_io_inst_0_bits_inst_bits & 32'h4050; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_32 = _id_ctrl_decoder_T_31 == 32'h4050; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_37 = _id_ctrl_decoder_T_26 | _id_ctrl_decoder_T_28 | _id_ctrl_decoder_T_30 |
+    id_ctrl_decoder_4 | _id_ctrl_decoder_T_32; // @[Decode.scala 15:30]
+  wire  _id_ctrl_decoder_T_39 = _id_ctrl_decoder_T_2 == 32'h0; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_40 = ibuf_io_inst_0_bits_inst_bits & 32'h4008; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_41 = _id_ctrl_decoder_T_40 == 32'h4000; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_44 = _id_ctrl_decoder_T_39 | _id_ctrl_decoder_T_19 | _id_ctrl_decoder_T_41; // @[Decode.scala 15:30]
+  wire [1:0] id_ctrl_decoder_9 = {_id_ctrl_decoder_T_44,_id_ctrl_decoder_T_37}; // @[Cat.scala 31:58]
+  wire [31:0] _id_ctrl_decoder_T_45 = ibuf_io_inst_0_bits_inst_bits & 32'h50; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_46 = _id_ctrl_decoder_T_45 == 32'h0; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_50 = _id_ctrl_decoder_T_15 | _id_ctrl_decoder_T_46 | _id_ctrl_decoder_T_17 |
+    _id_ctrl_decoder_T_19; // @[Decode.scala 15:30]
+  wire [31:0] _id_ctrl_decoder_T_51 = ibuf_io_inst_0_bits_inst_bits & 32'h24; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_52 = _id_ctrl_decoder_T_51 == 32'h4; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_54 = _id_ctrl_decoder_T_52 | id_ctrl_decoder_4; // @[Decode.scala 15:30]
+  wire [1:0] id_ctrl_decoder_10 = {_id_ctrl_decoder_T_54,_id_ctrl_decoder_T_50}; // @[Cat.scala 31:58]
+  wire [31:0] _id_ctrl_decoder_T_55 = ibuf_io_inst_0_bits_inst_bits & 32'h8; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_56 = _id_ctrl_decoder_T_55 == 32'h8; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_58 = _id_ctrl_decoder_T_16 == 32'h40; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_60 = _id_ctrl_decoder_T_56 | _id_ctrl_decoder_T_58; // @[Decode.scala 15:30]
+  wire  _id_ctrl_decoder_T_62 = _id_ctrl_decoder_T_16 == 32'h4; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_64 = _id_ctrl_decoder_T_62 | _id_ctrl_decoder_T_56; // @[Decode.scala 15:30]
+  wire [31:0] _id_ctrl_decoder_T_65 = ibuf_io_inst_0_bits_inst_bits & 32'h14; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_66 = _id_ctrl_decoder_T_65 == 32'h10; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_67 = ibuf_io_inst_0_bits_inst_bits & 32'h30; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_68 = _id_ctrl_decoder_T_67 == 32'h0; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_71 = id_ctrl_decoder_5 | _id_ctrl_decoder_T_66 | _id_ctrl_decoder_T_68; // @[Decode.scala 15:30]
+  wire [2:0] id_ctrl_decoder_11 = {_id_ctrl_decoder_T_71,_id_ctrl_decoder_T_64,_id_ctrl_decoder_T_60}; // @[Cat.scala 31:58]
+  wire [31:0] _id_ctrl_decoder_T_74 = ibuf_io_inst_0_bits_inst_bits & 32'h3054; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_75 = _id_ctrl_decoder_T_74 == 32'h1010; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_76 = ibuf_io_inst_0_bits_inst_bits & 32'h1058; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_77 = _id_ctrl_decoder_T_76 == 32'h1040; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_78 = ibuf_io_inst_0_bits_inst_bits & 32'h7044; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_79 = _id_ctrl_decoder_T_78 == 32'h7000; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_80 = ibuf_io_inst_0_bits_inst_bits & 32'h2001074; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_81 = _id_ctrl_decoder_T_80 == 32'h2001030; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_85 = _id_ctrl_decoder_T_75 | _id_ctrl_decoder_T_77 | _id_ctrl_decoder_T_79 |
+    _id_ctrl_decoder_T_81; // @[Decode.scala 15:30]
+  wire [31:0] _id_ctrl_decoder_T_86 = ibuf_io_inst_0_bits_inst_bits & 32'h4054; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_87 = _id_ctrl_decoder_T_86 == 32'h40; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_88 = ibuf_io_inst_0_bits_inst_bits & 32'h3044; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_89 = _id_ctrl_decoder_T_88 == 32'h3000; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_90 = ibuf_io_inst_0_bits_inst_bits & 32'h6044; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_91 = _id_ctrl_decoder_T_90 == 32'h6000; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_92 = ibuf_io_inst_0_bits_inst_bits & 32'h6018; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_93 = _id_ctrl_decoder_T_92 == 32'h6000; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_94 = ibuf_io_inst_0_bits_inst_bits & 32'h2002074; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_95 = _id_ctrl_decoder_T_94 == 32'h2002030; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_96 = ibuf_io_inst_0_bits_inst_bits & 32'h40003034; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_97 = _id_ctrl_decoder_T_96 == 32'h40000030; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_98 = ibuf_io_inst_0_bits_inst_bits & 32'h40001054; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_99 = _id_ctrl_decoder_T_98 == 32'h40001010; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_106 = _id_ctrl_decoder_T_87 | _id_ctrl_decoder_T_89 | _id_ctrl_decoder_T_91 |
+    _id_ctrl_decoder_T_93 | _id_ctrl_decoder_T_95 | _id_ctrl_decoder_T_97 | _id_ctrl_decoder_T_99; // @[Decode.scala 15:30]
+  wire [31:0] _id_ctrl_decoder_T_107 = ibuf_io_inst_0_bits_inst_bits & 32'h2002054; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_108 = _id_ctrl_decoder_T_107 == 32'h2010; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_109 = ibuf_io_inst_0_bits_inst_bits & 32'h2034; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_110 = _id_ctrl_decoder_T_109 == 32'h2010; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_111 = ibuf_io_inst_0_bits_inst_bits & 32'h40004054; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_112 = _id_ctrl_decoder_T_111 == 32'h4010; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_113 = ibuf_io_inst_0_bits_inst_bits & 32'h5054; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_114 = _id_ctrl_decoder_T_113 == 32'h4010; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_115 = ibuf_io_inst_0_bits_inst_bits & 32'h4058; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_116 = _id_ctrl_decoder_T_115 == 32'h4040; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_121 = _id_ctrl_decoder_T_108 | _id_ctrl_decoder_T_110 | _id_ctrl_decoder_T_112 |
+    _id_ctrl_decoder_T_114 | _id_ctrl_decoder_T_116; // @[Decode.scala 15:30]
+  wire [31:0] _id_ctrl_decoder_T_122 = ibuf_io_inst_0_bits_inst_bits & 32'h2006054; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_123 = _id_ctrl_decoder_T_122 == 32'h2010; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_124 = ibuf_io_inst_0_bits_inst_bits & 32'h6034; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_125 = _id_ctrl_decoder_T_124 == 32'h2010; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_126 = ibuf_io_inst_0_bits_inst_bits & 32'h40003054; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_127 = _id_ctrl_decoder_T_126 == 32'h40001010; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_132 = _id_ctrl_decoder_T_123 | _id_ctrl_decoder_T_125 | _id_ctrl_decoder_T_116 |
+    _id_ctrl_decoder_T_97 | _id_ctrl_decoder_T_127; // @[Decode.scala 15:30]
+  wire [3:0] id_ctrl_decoder_13 = {_id_ctrl_decoder_T_132,_id_ctrl_decoder_T_121,_id_ctrl_decoder_T_106,
+    _id_ctrl_decoder_T_85}; // @[Cat.scala 31:58]
+  wire  id_ctrl_decoder_14 = _id_ctrl_decoder_bit_T_17 | _id_ctrl_decoder_bit_T_19 | _id_ctrl_decoder_bit_T_21 |
+    _id_ctrl_decoder_bit_T_23 | _id_ctrl_decoder_bit_T_25 | _id_ctrl_decoder_bit_T_27 | _id_ctrl_decoder_bit_T_29 |
+    _id_ctrl_decoder_bit_T_31 | _id_ctrl_decoder_bit_T_33 | _id_ctrl_decoder_bit_T_35 | _id_ctrl_decoder_bit_T_37 |
+    _id_ctrl_decoder_bit_T_67 | _id_ctrl_decoder_bit_T_69 | _id_ctrl_decoder_bit_T_71 | _id_ctrl_decoder_bit_T_73 |
+    _id_ctrl_decoder_bit_T_75 | _id_ctrl_decoder_bit_T_77 | _id_ctrl_decoder_bit_T_79 | _id_ctrl_decoder_bit_T_81; // @[Decode.scala 15:30]
+  wire [31:0] _id_ctrl_decoder_T_133 = ibuf_io_inst_0_bits_inst_bits & 32'h28; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_134 = _id_ctrl_decoder_T_133 == 32'h20; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_135 = ibuf_io_inst_0_bits_inst_bits & 32'h18000020; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_136 = _id_ctrl_decoder_T_135 == 32'h18000020; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_137 = ibuf_io_inst_0_bits_inst_bits & 32'h20000020; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_138 = _id_ctrl_decoder_T_137 == 32'h20000020; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_141 = _id_ctrl_decoder_T_134 | _id_ctrl_decoder_T_136 | _id_ctrl_decoder_T_138; // @[Decode.scala 15:30]
+  wire [31:0] _id_ctrl_decoder_T_142 = ibuf_io_inst_0_bits_inst_bits & 32'h10000008; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_143 = _id_ctrl_decoder_T_142 == 32'h10000008; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_144 = ibuf_io_inst_0_bits_inst_bits & 32'h40000008; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_145 = _id_ctrl_decoder_T_144 == 32'h40000008; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_147 = _id_ctrl_decoder_T_143 | _id_ctrl_decoder_T_145; // @[Decode.scala 15:30]
+  wire [31:0] _id_ctrl_decoder_T_148 = ibuf_io_inst_0_bits_inst_bits & 32'h8000008; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_149 = _id_ctrl_decoder_T_148 == 32'h8000008; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_150 = ibuf_io_inst_0_bits_inst_bits & 32'h80000008; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_151 = _id_ctrl_decoder_T_150 == 32'h80000008; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_154 = _id_ctrl_decoder_T_149 | _id_ctrl_decoder_T_143 | _id_ctrl_decoder_T_151; // @[Decode.scala 15:30]
+  wire [31:0] _id_ctrl_decoder_T_155 = ibuf_io_inst_0_bits_inst_bits & 32'h18000008; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_156 = _id_ctrl_decoder_T_155 == 32'h8; // @[Decode.scala 14:121]
+  wire [4:0] id_ctrl_decoder_15 = {1'h0,_id_ctrl_decoder_T_156,_id_ctrl_decoder_T_154,_id_ctrl_decoder_T_147,
+    _id_ctrl_decoder_T_141}; // @[Cat.scala 31:58]
+  wire [31:0] _id_ctrl_decoder_T_158 = ibuf_io_inst_0_bits_inst_bits & 32'h2000074; // @[Decode.scala 14:65]
+  wire  id_ctrl_decoder_21 = _id_ctrl_decoder_T_158 == 32'h2000030; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_161 = _id_ctrl_decoder_T_133 == 32'h0; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_163 = _id_ctrl_decoder_T_45 == 32'h10; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_164 = ibuf_io_inst_0_bits_inst_bits & 32'h1010; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_165 = _id_ctrl_decoder_T_164 == 32'h1010; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_166 = ibuf_io_inst_0_bits_inst_bits & 32'h2008; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_167 = _id_ctrl_decoder_T_166 == 32'h2008; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_168 = ibuf_io_inst_0_bits_inst_bits & 32'h2010; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_169 = _id_ctrl_decoder_T_168 == 32'h2010; // @[Decode.scala 14:121]
+  wire  id_ctrl_decoder_22 = _id_ctrl_decoder_T_161 | _id_ctrl_decoder_T_30 | _id_ctrl_decoder_T_163 | id_ctrl_decoder_4
+     | _id_ctrl_decoder_T_165 | _id_ctrl_decoder_T_167 | _id_ctrl_decoder_T_169; // @[Decode.scala 15:30]
+  wire [31:0] _id_ctrl_decoder_T_176 = ibuf_io_inst_0_bits_inst_bits & 32'h1050; // @[Decode.scala 14:65]
+  wire  _id_ctrl_decoder_T_177 = _id_ctrl_decoder_T_176 == 32'h1050; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_180 = _id_ctrl_decoder_T_20 == 32'h2050; // @[Decode.scala 14:121]
+  wire  _id_ctrl_decoder_T_183 = _id_ctrl_decoder_T_45 == 32'h50; // @[Decode.scala 14:121]
+  wire [2:0] id_ctrl_decoder_23 = {_id_ctrl_decoder_T_183,_id_ctrl_decoder_T_180,_id_ctrl_decoder_T_177}; // @[Cat.scala 31:58]
+  wire [31:0] _id_ctrl_decoder_T_185 = ibuf_io_inst_0_bits_inst_bits & 32'h1048; // @[Decode.scala 14:65]
+  wire  id_ctrl_decoder_24 = _id_ctrl_decoder_T_185 == 32'h1008; // @[Decode.scala 14:121]
+  wire [31:0] _id_ctrl_decoder_T_187 = ibuf_io_inst_0_bits_inst_bits & 32'h2048; // @[Decode.scala 14:65]
+  wire  id_ctrl_decoder_25 = _id_ctrl_decoder_T_187 == 32'h8; // @[Decode.scala 14:121]
+  wire  id_ctrl_decoder_26 = _id_ctrl_decoder_T_187 == 32'h2008; // @[Decode.scala 14:121]
+  wire [4:0] id_raddr2 = ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 276:72]
+  wire [4:0] id_raddr1 = ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 276:72]
+  wire [4:0] id_waddr = ibuf_io_inst_0_bits_inst_rd; // @[RocketCore.scala 276:72]
+  reg  id_reg_fence; // @[RocketCore.scala 283:25]
+  wire [31:0] _id_rs_T_4 = rf_id_rs_MPORT_data; // @[RocketCore.scala 1068:25]
+  wire [31:0] _id_rs_T_9 = rf_id_rs_MPORT_1_data; // @[RocketCore.scala 1068:25]
+  wire  _id_csr_en_T = id_ctrl_decoder_23 == 3'h6; // @[package.scala 15:47]
+  wire  _id_csr_en_T_1 = id_ctrl_decoder_23 == 3'h7; // @[package.scala 15:47]
+  wire  _id_csr_en_T_2 = id_ctrl_decoder_23 == 3'h5; // @[package.scala 15:47]
+  wire  _id_csr_en_T_3 = _id_csr_en_T | _id_csr_en_T_1; // @[package.scala 72:59]
+  wire  id_csr_en = _id_csr_en_T | _id_csr_en_T_1 | _id_csr_en_T_2; // @[package.scala 72:59]
+  wire  id_system_insn = id_ctrl_decoder_23 == 3'h4; // @[RocketCore.scala 293:36]
+  wire  id_csr_ren = _id_csr_en_T_3 & ibuf_io_inst_0_bits_inst_rs1 == 5'h0; // @[RocketCore.scala 294:54]
+  wire  _id_csr_flush_T = ~id_csr_ren; // @[RocketCore.scala 296:54]
+  wire  id_csr_flush = id_system_insn | id_csr_en & ~id_csr_ren & csr_io_decode_0_write_flush; // @[RocketCore.scala 296:37]
+  wire  _id_illegal_insn_T_4 = id_ctrl_decoder_21 & ~csr_io_status_isa[12]; // @[RocketCore.scala 305:34]
+  wire  _id_illegal_insn_T_5 = ~id_ctrl_decoder_0 | _id_illegal_insn_T_4; // @[RocketCore.scala 304:40]
+  wire  _id_illegal_insn_T_8 = id_ctrl_decoder_26 & ~csr_io_status_isa[0]; // @[RocketCore.scala 306:17]
+  wire  _id_illegal_insn_T_9 = _id_illegal_insn_T_5 | _id_illegal_insn_T_8; // @[RocketCore.scala 305:65]
+  wire  _id_illegal_insn_T_18 = ~csr_io_status_isa[2]; // @[RocketCore.scala 309:33]
+  wire  _id_illegal_insn_T_19 = ibuf_io_inst_0_bits_rvc & ~csr_io_status_isa[2]; // @[RocketCore.scala 309:30]
+  wire  _id_illegal_insn_T_20 = _id_illegal_insn_T_9 | _id_illegal_insn_T_19; // @[RocketCore.scala 308:47]
+  wire  _id_illegal_insn_T_42 = id_csr_en & (csr_io_decode_0_read_illegal | _id_csr_flush_T &
+    csr_io_decode_0_write_illegal); // @[RocketCore.scala 315:15]
+  wire  _id_illegal_insn_T_43 = _id_illegal_insn_T_20 | _id_illegal_insn_T_42; // @[RocketCore.scala 314:81]
+  wire  _id_illegal_insn_T_46 = ~ibuf_io_inst_0_bits_rvc & (id_system_insn & csr_io_decode_0_system_illegal); // @[RocketCore.scala 316:31]
+  wire  id_illegal_insn = _id_illegal_insn_T_43 | _id_illegal_insn_T_46; // @[RocketCore.scala 315:99]
+  wire  id_amo_aq = ibuf_io_inst_0_bits_inst_bits[26]; // @[RocketCore.scala 321:29]
+  wire  id_amo_rl = ibuf_io_inst_0_bits_inst_bits[25]; // @[RocketCore.scala 322:29]
+  wire [3:0] id_fence_succ = ibuf_io_inst_0_bits_inst_bits[23:20]; // @[RocketCore.scala 324:33]
+  wire  id_fence_next = id_ctrl_decoder_25 | id_ctrl_decoder_26 & id_amo_aq; // @[RocketCore.scala 325:37]
+  wire  id_mem_busy = ~io_dmem_ordered | io_dmem_req_valid; // @[RocketCore.scala 326:38]
+  wire  _GEN_0 = ~id_mem_busy ? 1'h0 : id_reg_fence; // @[RocketCore.scala 327:23 283:25 327:38]
+  wire  id_do_fence_x9 = id_mem_busy & (id_ctrl_decoder_26 & id_amo_rl | id_ctrl_decoder_24 | id_reg_fence &
+    id_ctrl_decoder_14); // @[RocketCore.scala 332:17]
+  wire  id_xcpt = csr_io_interrupt | bpu_io_debug_if | bpu_io_xcpt_if | ibuf_io_inst_0_bits_xcpt0_ae_inst |
+    ibuf_io_inst_0_bits_xcpt1_pf_inst | ibuf_io_inst_0_bits_xcpt1_gf_inst | ibuf_io_inst_0_bits_xcpt1_ae_inst |
+    id_illegal_insn; // @[RocketCore.scala 1021:26]
+  wire [4:0] _T_11 = ibuf_io_inst_0_bits_xcpt1_ae_inst ? 5'h1 : 5'h2; // @[Mux.scala 47:70]
+  wire [4:0] _T_12 = ibuf_io_inst_0_bits_xcpt1_gf_inst ? 5'h14 : _T_11; // @[Mux.scala 47:70]
+  wire [4:0] _T_13 = ibuf_io_inst_0_bits_xcpt1_pf_inst ? 5'hc : _T_12; // @[Mux.scala 47:70]
+  wire [4:0] _T_14 = ibuf_io_inst_0_bits_xcpt0_ae_inst ? 5'h1 : _T_13; // @[Mux.scala 47:70]
+  wire [4:0] _T_17 = bpu_io_xcpt_if ? 5'h3 : _T_14; // @[Mux.scala 47:70]
+  wire [4:0] _T_18 = bpu_io_debug_if ? 5'he : _T_17; // @[Mux.scala 47:70]
+  wire [4:0] ex_waddr = ex_reg_inst[11:7]; // @[RocketCore.scala 373:29]
+  wire [4:0] mem_waddr = mem_reg_inst[11:7]; // @[RocketCore.scala 374:31]
+  wire [4:0] wb_waddr = wb_reg_inst[11:7]; // @[RocketCore.scala 375:29]
+  wire  _T_27 = ex_reg_valid & ex_ctrl_wxd; // @[RocketCore.scala 378:19]
+  wire  _T_28 = mem_reg_valid & mem_ctrl_wxd; // @[RocketCore.scala 379:20]
+  wire  _T_30 = mem_reg_valid & mem_ctrl_wxd & ~mem_ctrl_mem; // @[RocketCore.scala 379:36]
+  wire  id_bypass_src_0_0 = 5'h0 == id_raddr1; // @[RocketCore.scala 381:82]
+  wire  id_bypass_src_0_1 = _T_27 & ex_waddr == id_raddr1; // @[RocketCore.scala 381:74]
+  wire  id_bypass_src_0_2 = _T_30 & mem_waddr == id_raddr1; // @[RocketCore.scala 381:74]
+  wire  id_bypass_src_0_3 = _T_28 & mem_waddr == id_raddr1; // @[RocketCore.scala 381:74]
+  wire  id_bypass_src_1_0 = 5'h0 == id_raddr2; // @[RocketCore.scala 381:82]
+  wire  id_bypass_src_1_1 = _T_27 & ex_waddr == id_raddr2; // @[RocketCore.scala 381:74]
+  wire  id_bypass_src_1_2 = _T_30 & mem_waddr == id_raddr2; // @[RocketCore.scala 381:74]
+  wire  id_bypass_src_1_3 = _T_28 & mem_waddr == id_raddr2; // @[RocketCore.scala 381:74]
+  reg  ex_reg_rs_bypass_0; // @[RocketCore.scala 385:29]
+  reg  ex_reg_rs_bypass_1; // @[RocketCore.scala 385:29]
+  reg [1:0] ex_reg_rs_lsb_0; // @[RocketCore.scala 386:26]
+  reg [1:0] ex_reg_rs_lsb_1; // @[RocketCore.scala 386:26]
+  reg [29:0] ex_reg_rs_msb_0; // @[RocketCore.scala 387:26]
+  reg [29:0] ex_reg_rs_msb_1; // @[RocketCore.scala 387:26]
+  wire [31:0] _ex_rs_T_1 = ex_reg_rs_lsb_0 == 2'h1 ? mem_reg_wdata : 32'h0; // @[package.scala 32:76]
+  wire [31:0] _ex_rs_T_3 = ex_reg_rs_lsb_0 == 2'h2 ? wb_reg_wdata : _ex_rs_T_1; // @[package.scala 32:76]
+  wire [31:0] _ex_rs_T_5 = ex_reg_rs_lsb_0 == 2'h3 ? io_dmem_resp_bits_data_word_bypass : _ex_rs_T_3; // @[package.scala 32:76]
+  wire [31:0] _ex_rs_T_6 = {ex_reg_rs_msb_0,ex_reg_rs_lsb_0}; // @[Cat.scala 31:58]
+  wire [31:0] _ex_rs_T_8 = ex_reg_rs_lsb_1 == 2'h1 ? mem_reg_wdata : 32'h0; // @[package.scala 32:76]
+  wire [31:0] _ex_rs_T_10 = ex_reg_rs_lsb_1 == 2'h2 ? wb_reg_wdata : _ex_rs_T_8; // @[package.scala 32:76]
+  wire [31:0] _ex_rs_T_12 = ex_reg_rs_lsb_1 == 2'h3 ? io_dmem_resp_bits_data_word_bypass : _ex_rs_T_10; // @[package.scala 32:76]
+  wire [31:0] _ex_rs_T_13 = {ex_reg_rs_msb_1,ex_reg_rs_lsb_1}; // @[Cat.scala 31:58]
+  wire [31:0] ex_rs_1 = ex_reg_rs_bypass_1 ? _ex_rs_T_12 : _ex_rs_T_13; // @[RocketCore.scala 389:14]
+  wire  _ex_imm_sign_T = ex_ctrl_sel_imm == 3'h5; // @[RocketCore.scala 1083:24]
+  wire  _ex_imm_sign_T_2 = ex_reg_inst[31]; // @[RocketCore.scala 1083:53]
+  wire  ex_imm_sign = ex_ctrl_sel_imm == 3'h5 ? $signed(1'sh0) : $signed(_ex_imm_sign_T_2); // @[RocketCore.scala 1083:19]
+  wire  _ex_imm_b30_20_T = ex_ctrl_sel_imm == 3'h2; // @[RocketCore.scala 1084:26]
+  wire [10:0] _ex_imm_b30_20_T_2 = ex_reg_inst[30:20]; // @[RocketCore.scala 1084:49]
+  wire [7:0] _ex_imm_b19_12_T_4 = ex_reg_inst[19:12]; // @[RocketCore.scala 1085:73]
+  wire  _ex_imm_b11_T_2 = _ex_imm_b30_20_T | _ex_imm_sign_T; // @[RocketCore.scala 1086:33]
+  wire  _ex_imm_b11_T_5 = ex_reg_inst[20]; // @[RocketCore.scala 1087:44]
+  wire  _ex_imm_b11_T_6 = ex_ctrl_sel_imm == 3'h1; // @[RocketCore.scala 1088:23]
+  wire  _ex_imm_b11_T_8 = ex_reg_inst[7]; // @[RocketCore.scala 1088:43]
+  wire  _ex_imm_b11_T_9 = ex_ctrl_sel_imm == 3'h1 ? $signed(_ex_imm_b11_T_8) : $signed(ex_imm_sign); // @[RocketCore.scala 1088:18]
+  wire  _ex_imm_b11_T_10 = ex_ctrl_sel_imm == 3'h3 ? $signed(_ex_imm_b11_T_5) : $signed(_ex_imm_b11_T_9); // @[RocketCore.scala 1087:18]
+  wire [5:0] ex_imm_b10_5 = _ex_imm_b11_T_2 ? 6'h0 : ex_reg_inst[30:25]; // @[RocketCore.scala 1089:20]
+  wire  _ex_imm_b4_1_T_1 = ex_ctrl_sel_imm == 3'h0; // @[RocketCore.scala 1091:24]
+  wire [3:0] _ex_imm_b4_1_T_8 = _ex_imm_sign_T ? ex_reg_inst[19:16] : ex_reg_inst[24:21]; // @[RocketCore.scala 1092:19]
+  wire [3:0] _ex_imm_b4_1_T_9 = ex_ctrl_sel_imm == 3'h0 | _ex_imm_b11_T_6 ? ex_reg_inst[11:8] : _ex_imm_b4_1_T_8; // @[RocketCore.scala 1091:19]
+  wire [3:0] ex_imm_b4_1 = _ex_imm_b30_20_T ? 4'h0 : _ex_imm_b4_1_T_9; // @[RocketCore.scala 1090:19]
+  wire  _ex_imm_b0_T_6 = _ex_imm_sign_T & ex_reg_inst[15]; // @[RocketCore.scala 1095:17]
+  wire  _ex_imm_b0_T_7 = ex_ctrl_sel_imm == 3'h4 ? ex_reg_inst[20] : _ex_imm_b0_T_6; // @[RocketCore.scala 1094:17]
+  wire  ex_imm_b0 = _ex_imm_b4_1_T_1 ? ex_reg_inst[7] : _ex_imm_b0_T_7; // @[RocketCore.scala 1093:17]
+  wire  ex_imm_hi_lo_lo = _ex_imm_b30_20_T | _ex_imm_sign_T ? $signed(1'sh0) : $signed(_ex_imm_b11_T_10); // @[Cat.scala 31:58]
+  wire [7:0] ex_imm_hi_lo_hi = ex_ctrl_sel_imm != 3'h2 & ex_ctrl_sel_imm != 3'h3 ? $signed({8{ex_imm_sign}}) : $signed(
+    _ex_imm_b19_12_T_4); // @[Cat.scala 31:58]
+  wire [10:0] ex_imm_hi_hi_lo = ex_ctrl_sel_imm == 3'h2 ? $signed(_ex_imm_b30_20_T_2) : $signed({11{ex_imm_sign}}); // @[Cat.scala 31:58]
+  wire  ex_imm_hi_hi_hi = ex_ctrl_sel_imm == 3'h5 ? $signed(1'sh0) : $signed(_ex_imm_sign_T_2); // @[Cat.scala 31:58]
+  wire [31:0] ex_imm = {ex_imm_hi_hi_hi,ex_imm_hi_hi_lo,ex_imm_hi_lo_hi,ex_imm_hi_lo_lo,ex_imm_b10_5,ex_imm_b4_1,
+    ex_imm_b0}; // @[RocketCore.scala 1097:53]
+  wire [31:0] _ex_op1_T = ex_reg_rs_bypass_0 ? _ex_rs_T_5 : _ex_rs_T_6; // @[RocketCore.scala 392:24]
+  wire [31:0] _ex_op1_T_3 = 2'h1 == ex_ctrl_sel_alu1 ? $signed(_ex_op1_T) : $signed(32'sh0); // @[Mux.scala 81:58]
+  wire [31:0] _ex_op2_T = ex_reg_rs_bypass_1 ? _ex_rs_T_12 : _ex_rs_T_13; // @[RocketCore.scala 395:24]
+  wire [3:0] _ex_op2_T_1 = ex_reg_rvc ? $signed(4'sh2) : $signed(4'sh4); // @[RocketCore.scala 397:19]
+  wire [31:0] _ex_op2_T_3 = 2'h2 == ex_ctrl_sel_alu2 ? $signed(_ex_op2_T) : $signed(32'sh0); // @[Mux.scala 81:58]
+  wire [31:0] _ex_op2_T_5 = 2'h3 == ex_ctrl_sel_alu2 ? $signed(ex_imm) : $signed(_ex_op2_T_3); // @[Mux.scala 81:58]
+  wire  _T_138 = id_raddr1 != 5'h0; // @[RocketCore.scala 757:55]
+  wire  _T_139 = id_ctrl_decoder_7 & id_raddr1 != 5'h0; // @[RocketCore.scala 757:42]
+  wire  _data_hazard_ex_T = id_raddr1 == ex_waddr; // @[RocketCore.scala 777:70]
+  wire  _T_140 = id_raddr2 != 5'h0; // @[RocketCore.scala 758:55]
+  wire  _T_141 = id_ctrl_decoder_6 & id_raddr2 != 5'h0; // @[RocketCore.scala 758:42]
+  wire  _data_hazard_ex_T_2 = id_raddr2 == ex_waddr; // @[RocketCore.scala 777:70]
+  wire  _T_143 = id_ctrl_decoder_22 & id_waddr != 5'h0; // @[RocketCore.scala 759:42]
+  wire  _data_hazard_ex_T_4 = id_waddr == ex_waddr; // @[RocketCore.scala 777:70]
+  wire  _data_hazard_ex_T_7 = _T_139 & _data_hazard_ex_T | _T_141 & _data_hazard_ex_T_2 | _T_143 & _data_hazard_ex_T_4; // @[RocketCore.scala 1030:50]
+  wire  data_hazard_ex = ex_ctrl_wxd & _data_hazard_ex_T_7; // @[RocketCore.scala 777:36]
+  wire  ex_cannot_bypass = ex_ctrl_csr != 3'h0 | ex_ctrl_jalr | ex_ctrl_mem | ex_ctrl_div; // @[RocketCore.scala 776:94]
+  wire  id_ex_hazard = ex_reg_valid & (data_hazard_ex & ex_cannot_bypass); // @[RocketCore.scala 779:35]
+  wire  _data_hazard_mem_T = id_raddr1 == mem_waddr; // @[RocketCore.scala 786:72]
+  wire  _data_hazard_mem_T_2 = id_raddr2 == mem_waddr; // @[RocketCore.scala 786:72]
+  wire  _data_hazard_mem_T_4 = id_waddr == mem_waddr; // @[RocketCore.scala 786:72]
+  wire  _data_hazard_mem_T_7 = _T_139 & _data_hazard_mem_T | _T_141 & _data_hazard_mem_T_2 | _T_143 &
+    _data_hazard_mem_T_4; // @[RocketCore.scala 1030:50]
+  wire  data_hazard_mem = mem_ctrl_wxd & _data_hazard_mem_T_7; // @[RocketCore.scala 786:38]
+  wire  mem_cannot_bypass = mem_ctrl_csr != 3'h0 | mem_ctrl_mem & mem_reg_slow_bypass | mem_ctrl_div; // @[RocketCore.scala 785:100]
+  wire  id_mem_hazard = mem_reg_valid & (data_hazard_mem & mem_cannot_bypass); // @[RocketCore.scala 788:37]
+  wire  _data_hazard_wb_T = id_raddr1 == wb_waddr; // @[RocketCore.scala 792:70]
+  wire  _data_hazard_wb_T_2 = id_raddr2 == wb_waddr; // @[RocketCore.scala 792:70]
+  wire  _data_hazard_wb_T_4 = id_waddr == wb_waddr; // @[RocketCore.scala 792:70]
+  wire  _data_hazard_wb_T_7 = _T_139 & _data_hazard_wb_T | _T_141 & _data_hazard_wb_T_2 | _T_143 & _data_hazard_wb_T_4; // @[RocketCore.scala 1030:50]
+  wire  data_hazard_wb = wb_ctrl_wxd & _data_hazard_wb_T_7; // @[RocketCore.scala 792:36]
+  wire  wb_dcache_miss = wb_ctrl_mem & ~io_dmem_resp_valid; // @[RocketCore.scala 509:36]
+  wire  wb_set_sboard = wb_ctrl_div | wb_dcache_miss; // @[RocketCore.scala 663:35]
+  wire  id_wb_hazard = wb_reg_valid & (data_hazard_wb & wb_set_sboard); // @[RocketCore.scala 794:35]
+  reg [31:0] _r; // @[RocketCore.scala 1047:25]
+  wire [31:0] r = {_r[31:1], 1'h0}; // @[RocketCore.scala 1048:40]
+  wire [31:0] _id_sboard_hazard_T = r >> id_raddr1; // @[RocketCore.scala 1044:35]
+  wire  dmem_resp_valid = io_dmem_resp_valid & io_dmem_resp_bits_has_data; // @[RocketCore.scala 673:44]
+  wire  dmem_resp_replay = dmem_resp_valid & io_dmem_resp_bits_replay; // @[RocketCore.scala 674:42]
+  wire  dmem_resp_xpu = ~io_dmem_resp_bits_tag[0]; // @[RocketCore.scala 670:23]
+  wire  ll_wen_x2 = div_io_resp_ready & div_io_resp_valid; // @[Decoupled.scala 50:35]
+  wire  ll_wen = dmem_resp_replay & dmem_resp_xpu | ll_wen_x2; // @[RocketCore.scala 689:44 694:12]
+  wire [4:0] dmem_resp_waddr = io_dmem_resp_bits_tag[5:1]; // @[RocketCore.scala 672:46]
+  wire [4:0] ll_waddr = dmem_resp_replay & dmem_resp_xpu ? dmem_resp_waddr : div_io_resp_bits_tag; // @[RocketCore.scala 689:44 693:14]
+  wire  _id_sboard_hazard_T_3 = ll_wen & ll_waddr == id_raddr1; // @[RocketCore.scala 769:58]
+  wire  _id_sboard_hazard_T_5 = _id_sboard_hazard_T[0] & ~_id_sboard_hazard_T_3; // @[RocketCore.scala 772:77]
+  wire [31:0] _id_sboard_hazard_T_7 = r >> id_raddr2; // @[RocketCore.scala 1044:35]
+  wire  _id_sboard_hazard_T_10 = ll_wen & ll_waddr == id_raddr2; // @[RocketCore.scala 769:58]
+  wire  _id_sboard_hazard_T_12 = _id_sboard_hazard_T_7[0] & ~_id_sboard_hazard_T_10; // @[RocketCore.scala 772:77]
+  wire [31:0] _id_sboard_hazard_T_14 = r >> id_waddr; // @[RocketCore.scala 1044:35]
+  wire  _id_sboard_hazard_T_17 = ll_wen & ll_waddr == id_waddr; // @[RocketCore.scala 769:58]
+  wire  _id_sboard_hazard_T_19 = _id_sboard_hazard_T_14[0] & ~_id_sboard_hazard_T_17; // @[RocketCore.scala 772:77]
+  wire  id_sboard_hazard = _T_139 & _id_sboard_hazard_T_5 | _T_141 & _id_sboard_hazard_T_12 | _T_143 &
+    _id_sboard_hazard_T_19; // @[RocketCore.scala 1030:50]
+  wire  _ctrl_stalld_T_5 = csr_io_singleStep & (ex_reg_valid | mem_reg_valid | wb_reg_valid); // @[RocketCore.scala 816:23]
+  wire  _ctrl_stalld_T_6 = id_ex_hazard | id_mem_hazard | id_wb_hazard | id_sboard_hazard | _ctrl_stalld_T_5; // @[RocketCore.scala 815:71]
+  reg  blocked; // @[RocketCore.scala 807:22]
+  wire  _dcache_blocked_T = ~io_dmem_perf_grant; // @[RocketCore.scala 809:16]
+  wire  dcache_blocked = blocked & ~io_dmem_perf_grant; // @[RocketCore.scala 809:13]
+  wire  _ctrl_stalld_T_13 = id_ctrl_decoder_14 & dcache_blocked; // @[RocketCore.scala 819:17]
+  wire  _ctrl_stalld_T_14 = _ctrl_stalld_T_6 | _ctrl_stalld_T_13; // @[RocketCore.scala 818:32]
+  wire  wb_wxd = wb_reg_valid & wb_ctrl_wxd; // @[RocketCore.scala 662:29]
+  wire  _ctrl_stalld_T_17 = ~wb_wxd; // @[RocketCore.scala 821:65]
+  wire  _ctrl_stalld_T_22 = id_ctrl_decoder_21 & (~(div_io_req_ready | div_io_resp_valid & ~wb_wxd) | div_io_req_valid); // @[RocketCore.scala 821:17]
+  wire  _ctrl_stalld_T_23 = _ctrl_stalld_T_14 | _ctrl_stalld_T_22; // @[RocketCore.scala 820:34]
+  wire  _ctrl_stalld_T_26 = _ctrl_stalld_T_23 | id_do_fence_x9; // @[RocketCore.scala 822:15]
+  wire  _ctrl_stalld_T_27 = _ctrl_stalld_T_26 | csr_io_csr_stall; // @[RocketCore.scala 823:17]
+  wire  ctrl_stalld = _ctrl_stalld_T_27 | id_reg_pause; // @[RocketCore.scala 824:22]
+  wire  ctrl_killd = ~ibuf_io_inst_0_valid | ibuf_io_inst_0_bits_replay | take_pc_mem_wb | ctrl_stalld |
+    csr_io_interrupt; // @[RocketCore.scala 827:104]
+  wire  _ex_reg_valid_T = ~ctrl_killd; // @[RocketCore.scala 437:19]
+  wire  _ex_reg_replay_T = ~take_pc_mem_wb; // @[RocketCore.scala 438:20]
+  wire  _ex_reg_replay_T_1 = ~take_pc_mem_wb & ibuf_io_inst_0_valid; // @[RocketCore.scala 438:29]
+  wire  _GEN_1 = id_ctrl_decoder_25 & id_fence_succ == 4'h0 | id_reg_pause; // @[RocketCore.scala 116:25 448:{49,64}]
+  wire  _GEN_2 = id_fence_next | _GEN_0; // @[RocketCore.scala 449:{26,41}]
+  wire [2:0] _T_35 = {ibuf_io_inst_0_bits_xcpt1_pf_inst,ibuf_io_inst_0_bits_xcpt1_gf_inst,
+    ibuf_io_inst_0_bits_xcpt1_ae_inst}; // @[RocketCore.scala 455:22]
+  wire  _GEN_5 = |_T_35 | ibuf_io_inst_0_bits_rvc; // @[RocketCore.scala 444:16 455:34 458:20]
+  wire [2:0] _T_37 = {2'h0,ibuf_io_inst_0_bits_xcpt0_ae_inst}; // @[RocketCore.scala 460:40]
+  wire  _T_40 = id_ctrl_decoder_15 == 5'h14; // @[package.scala 15:47]
+  wire  _T_41 = id_ctrl_decoder_15 == 5'h15; // @[package.scala 15:47]
+  wire  _T_42 = id_ctrl_decoder_15 == 5'h16; // @[package.scala 15:47]
+  wire  _T_43 = id_ctrl_decoder_15 == 5'h5; // @[package.scala 15:47]
+  wire  _T_46 = _T_40 | _T_41 | _T_42 | _T_43; // @[package.scala 72:59]
+  wire [1:0] _ex_reg_mem_size_T_6 = {_T_140,_T_138}; // @[Cat.scala 31:58]
+  wire  do_bypass = id_bypass_src_0_0 | id_bypass_src_0_1 | id_bypass_src_0_2 | id_bypass_src_0_3; // @[RocketCore.scala 482:48]
+  wire [1:0] _bypass_src_T = id_bypass_src_0_2 ? 2'h2 : 2'h3; // @[Mux.scala 47:70]
+  wire [1:0] _bypass_src_T_1 = id_bypass_src_0_1 ? 2'h1 : _bypass_src_T; // @[Mux.scala 47:70]
+  wire  wb_valid = wb_reg_valid & ~replay_wb_common & ~wb_xcpt; // @[RocketCore.scala 697:45]
+  wire  wb_wen = wb_valid & wb_ctrl_wxd; // @[RocketCore.scala 698:25]
+  wire  rf_wen = wb_wen | ll_wen; // @[RocketCore.scala 699:23]
+  wire [4:0] rf_waddr = ll_wen ? ll_waddr : wb_waddr; // @[RocketCore.scala 700:21]
+  wire  _T_133 = rf_waddr != 5'h0; // @[RocketCore.scala 1073:16]
+  wire  _rf_wdata_T = dmem_resp_valid & dmem_resp_xpu; // @[RocketCore.scala 701:38]
+  wire [31:0] ll_wdata = div_io_resp_bits_data;
+  wire [31:0] _rf_wdata_T_4 = wb_ctrl_csr != 3'h0 ? csr_io_rw_rdata : wb_reg_wdata; // @[RocketCore.scala 703:21]
+  wire [31:0] _rf_wdata_T_5 = ll_wen ? ll_wdata : _rf_wdata_T_4; // @[RocketCore.scala 702:21]
+  wire [31:0] rf_wdata = dmem_resp_valid & dmem_resp_xpu ? io_dmem_resp_bits_data : _rf_wdata_T_5; // @[RocketCore.scala 701:21]
+  wire [31:0] _GEN_237 = rf_waddr == id_raddr1 ? rf_wdata : _id_rs_T_4; // @[RocketCore.scala 1068:19 1076:{31,39}]
+  wire [31:0] _GEN_244 = rf_waddr != 5'h0 ? _GEN_237 : _id_rs_T_4; // @[RocketCore.scala 1068:19 1073:29]
+  wire [31:0] id_rs_0 = rf_wen ? _GEN_244 : _id_rs_T_4; // @[RocketCore.scala 706:17 1068:19]
+  wire  do_bypass_1 = id_bypass_src_1_0 | id_bypass_src_1_1 | id_bypass_src_1_2 | id_bypass_src_1_3; // @[RocketCore.scala 482:48]
+  wire [1:0] _bypass_src_T_2 = id_bypass_src_1_2 ? 2'h2 : 2'h3; // @[Mux.scala 47:70]
+  wire [31:0] _GEN_238 = rf_waddr == id_raddr2 ? rf_wdata : _id_rs_T_9; // @[RocketCore.scala 1068:19 1076:{31,39}]
+  wire [31:0] _GEN_245 = rf_waddr != 5'h0 ? _GEN_238 : _id_rs_T_9; // @[RocketCore.scala 1068:19 1073:29]
+  wire [31:0] id_rs_1 = rf_wen ? _GEN_245 : _id_rs_T_9; // @[RocketCore.scala 706:17 1068:19]
+  wire [31:0] inst = ibuf_io_inst_0_bits_rvc ? {{16'd0}, ibuf_io_inst_0_bits_raw[15:0]} : ibuf_io_inst_0_bits_raw; // @[RocketCore.scala 492:21]
+  wire  id_load_use = mem_reg_valid & data_hazard_mem & mem_ctrl_mem; // @[RocketCore.scala 789:51]
+  wire  _replay_ex_structural_T = ~io_dmem_req_ready; // @[RocketCore.scala 510:45]
+  wire  _replay_ex_structural_T_3 = ex_ctrl_div & ~div_io_req_ready; // @[RocketCore.scala 511:42]
+  wire  replay_ex_structural = ex_ctrl_mem & ~io_dmem_req_ready | _replay_ex_structural_T_3; // @[RocketCore.scala 510:64]
+  wire  replay_ex_load_use = wb_dcache_miss & ex_reg_load_use; // @[RocketCore.scala 512:43]
+  wire  replay_ex = ex_reg_replay | ex_reg_valid & (replay_ex_structural | replay_ex_load_use); // @[RocketCore.scala 513:33]
+  wire  ctrl_killx = take_pc_mem_wb | replay_ex | ~ex_reg_valid; // @[RocketCore.scala 514:48]
+  wire  _ex_slow_bypass_T = ex_ctrl_mem_cmd == 5'h7; // @[RocketCore.scala 516:40]
+  wire  ex_slow_bypass = ex_ctrl_mem_cmd == 5'h7 | ex_reg_mem_size < 2'h2; // @[RocketCore.scala 516:50]
+  wire  ex_xcpt = ex_reg_xcpt_interrupt | ex_reg_xcpt; // @[RocketCore.scala 520:28]
+  wire  mem_pc_valid = mem_reg_valid | mem_reg_replay | mem_reg_xcpt_interrupt; // @[RocketCore.scala 526:54]
+  wire  mem_npc_misaligned = _id_illegal_insn_T_18 & mem_npc[1]; // @[RocketCore.scala 535:56]
+  wire [31:0] mem_int_wdata = _take_pc_mem_T & (mem_ctrl_jalr ^ mem_npc_misaligned) ? $signed(mem_br_target) : $signed(
+    mem_reg_wdata); // @[RocketCore.scala 536:119]
+  wire  mem_cfi = mem_ctrl_branch | mem_ctrl_jalr | mem_ctrl_jal; // @[RocketCore.scala 537:50]
+  wire  mem_cfi_taken = _mem_br_target_T_1 | mem_ctrl_jalr | mem_ctrl_jal; // @[RocketCore.scala 538:74]
+  wire  _mem_reg_valid_T = ~ctrl_killx; // @[RocketCore.scala 543:20]
+  wire  _mem_reg_load_T = ex_ctrl_mem_cmd == 5'h0; // @[package.scala 15:47]
+  wire  _mem_reg_load_T_1 = ex_ctrl_mem_cmd == 5'h10; // @[package.scala 15:47]
+  wire  _mem_reg_load_T_2 = ex_ctrl_mem_cmd == 5'h6; // @[package.scala 15:47]
+  wire  _mem_reg_load_T_6 = _mem_reg_load_T | _mem_reg_load_T_1 | _mem_reg_load_T_2 | _ex_slow_bypass_T; // @[package.scala 72:59]
+  wire  _mem_reg_load_T_7 = ex_ctrl_mem_cmd == 5'h4; // @[package.scala 15:47]
+  wire  _mem_reg_load_T_8 = ex_ctrl_mem_cmd == 5'h9; // @[package.scala 15:47]
+  wire  _mem_reg_load_T_9 = ex_ctrl_mem_cmd == 5'ha; // @[package.scala 15:47]
+  wire  _mem_reg_load_T_10 = ex_ctrl_mem_cmd == 5'hb; // @[package.scala 15:47]
+  wire  _mem_reg_load_T_13 = _mem_reg_load_T_7 | _mem_reg_load_T_8 | _mem_reg_load_T_9 | _mem_reg_load_T_10; // @[package.scala 72:59]
+  wire  _mem_reg_load_T_14 = ex_ctrl_mem_cmd == 5'h8; // @[package.scala 15:47]
+  wire  _mem_reg_load_T_15 = ex_ctrl_mem_cmd == 5'hc; // @[package.scala 15:47]
+  wire  _mem_reg_load_T_16 = ex_ctrl_mem_cmd == 5'hd; // @[package.scala 15:47]
+  wire  _mem_reg_load_T_17 = ex_ctrl_mem_cmd == 5'he; // @[package.scala 15:47]
+  wire  _mem_reg_load_T_18 = ex_ctrl_mem_cmd == 5'hf; // @[package.scala 15:47]
+  wire  _mem_reg_load_T_22 = _mem_reg_load_T_14 | _mem_reg_load_T_15 | _mem_reg_load_T_16 | _mem_reg_load_T_17 |
+    _mem_reg_load_T_18; // @[package.scala 72:59]
+  wire  _mem_reg_load_T_23 = _mem_reg_load_T_13 | _mem_reg_load_T_22; // @[Consts.scala 82:44]
+  wire  _mem_reg_load_T_24 = _mem_reg_load_T_6 | _mem_reg_load_T_23; // @[Consts.scala 84:68]
+  wire  _mem_reg_store_T_22 = ex_ctrl_mem_cmd == 5'h1 | ex_ctrl_mem_cmd == 5'h11 | _ex_slow_bypass_T |
+    _mem_reg_load_T_23; // @[Consts.scala 85:76]
+  wire [31:0] _mem_reg_wdata_T = alu_io_out; // @[RocketCore.scala 571:25]
+  wire [31:0] _mem_reg_rs2_T_3 = {ex_rs_1[7:0],ex_rs_1[7:0],ex_rs_1[7:0],ex_rs_1[7:0]}; // @[Cat.scala 31:58]
+  wire [31:0] _mem_reg_rs2_T_6 = {ex_rs_1[15:0],ex_rs_1[15:0]}; // @[Cat.scala 31:58]
+  wire [31:0] _mem_reg_rs2_T_7 = ex_reg_mem_size == 2'h1 ? _mem_reg_rs2_T_6 : ex_rs_1; // @[AMOALU.scala 26:13]
+  wire  _GEN_80 = ex_ctrl_jalr & csr_io_status_debug | ex_ctrl_fence_i; // @[RocketCore.scala 553:14 578:48 580:24]
+  wire  _GEN_81 = ex_ctrl_jalr & csr_io_status_debug | ex_reg_flush_pipe; // @[RocketCore.scala 561:24 578:48 581:26]
+  wire  mem_breakpoint = mem_reg_load & bpu_io_xcpt_ld | mem_reg_store & bpu_io_xcpt_st; // @[RocketCore.scala 585:57]
+  wire  mem_debug_breakpoint = mem_reg_load & bpu_io_debug_ld | mem_reg_store & bpu_io_debug_st; // @[RocketCore.scala 586:64]
+  wire  mem_ldst_xcpt = mem_debug_breakpoint | mem_breakpoint; // @[RocketCore.scala 1021:26]
+  wire [3:0] mem_ldst_cause = mem_debug_breakpoint ? 4'he : 4'h3; // @[Mux.scala 47:70]
+  wire  _T_70 = mem_reg_xcpt_interrupt | mem_reg_xcpt; // @[RocketCore.scala 592:29]
+  wire  _T_71 = mem_reg_valid & mem_npc_misaligned; // @[RocketCore.scala 593:20]
+  wire  _T_72 = mem_reg_valid & mem_ldst_xcpt; // @[RocketCore.scala 594:20]
+  wire  mem_xcpt = _T_70 | _T_71 | _T_72; // @[RocketCore.scala 1021:26]
+  wire [3:0] _T_74 = _T_71 ? 4'h0 : mem_ldst_cause; // @[Mux.scala 47:70]
+  wire  dcache_kill_mem = _T_28 & io_dmem_replay_next; // @[RocketCore.scala 603:55]
+  wire  replay_mem = dcache_kill_mem | mem_reg_replay; // @[RocketCore.scala 605:37]
+  wire  killm_common = dcache_kill_mem | take_pc_wb | mem_reg_xcpt | ~mem_reg_valid; // @[RocketCore.scala 606:68]
+  reg  div_io_kill_REG; // @[RocketCore.scala 607:37]
+  wire  ctrl_killm = killm_common | mem_xcpt; // @[RocketCore.scala 608:33]
+  wire  _wb_reg_valid_T = ~ctrl_killm; // @[RocketCore.scala 611:19]
+  wire  _wb_reg_replay_T = ~take_pc_wb; // @[RocketCore.scala 612:34]
+  wire [2:0] _T_117 = _T_107 ? 3'h6 : 3'h4; // @[Mux.scala 47:70]
+  wire [2:0] _T_118 = _T_105 ? 3'h5 : _T_117; // @[Mux.scala 47:70]
+  wire [2:0] _T_119 = _T_103 ? 3'h7 : _T_118; // @[Mux.scala 47:70]
+  wire [4:0] _T_120 = {{2'd0}, _T_119}; // @[Mux.scala 47:70]
+  wire [4:0] _T_122 = _T_97 ? 5'hd : _T_120; // @[Mux.scala 47:70]
+  wire [4:0] _T_123 = _T_95 ? 5'hf : _T_122; // @[Mux.scala 47:70]
+  wire [15:0] _csr_io_inst_0_T_3 = &wb_reg_raw_inst[1:0] ? wb_reg_inst[31:16] : 16'h0; // @[RocketCore.scala 714:50]
+  wire [31:0] _io_fpu_time_T = csr_io_time; // @[RocketCore.scala 719:29]
+  wire  tval_dmem_addr = ~wb_reg_xcpt; // @[RocketCore.scala 723:24]
+  wire  _tval_any_addr_T = wb_reg_cause == 32'h3; // @[package.scala 15:47]
+  wire  _tval_any_addr_T_1 = wb_reg_cause == 32'h1; // @[package.scala 15:47]
+  wire  _tval_any_addr_T_2 = wb_reg_cause == 32'hc; // @[package.scala 15:47]
+  wire  _tval_any_addr_T_3 = wb_reg_cause == 32'h14; // @[package.scala 15:47]
+  wire  _tval_any_addr_T_6 = _tval_any_addr_T | _tval_any_addr_T_1 | _tval_any_addr_T_2 | _tval_any_addr_T_3; // @[package.scala 72:59]
+  wire  tval_any_addr = tval_dmem_addr | _tval_any_addr_T_6; // @[RocketCore.scala 724:38]
+  wire  tval_inst = wb_reg_cause == 32'h2; // @[RocketCore.scala 726:32]
+  wire  tval_valid = wb_xcpt & (tval_any_addr | tval_inst); // @[RocketCore.scala 727:28]
+  wire  htval_valid_imem = wb_reg_xcpt & _tval_any_addr_T_3; // @[RocketCore.scala 731:40]
+  wire  _csr_io_htval_T_3 = ~reset; // @[RocketCore.scala 733:11]
+  wire [2:0] _csr_io_rw_cmd_T = wb_reg_valid ? 3'h0 : 3'h4; // @[CSR.scala 167:15]
+  wire [2:0] _csr_io_rw_cmd_T_1 = ~_csr_io_rw_cmd_T; // @[CSR.scala 167:11]
+  wire [31:0] _T_144 = 32'h1 << ll_waddr; // @[RocketCore.scala 1051:62]
+  wire [31:0] _T_145 = ll_wen ? _T_144 : 32'h0; // @[RocketCore.scala 1051:49]
+  wire [31:0] _T_146 = ~_T_145; // @[RocketCore.scala 1043:64]
+  wire [31:0] _T_147 = r & _T_146; // @[RocketCore.scala 1043:62]
+  wire  _T_149 = wb_set_sboard & wb_wen; // @[RocketCore.scala 773:28]
+  wire [31:0] _T_150 = 32'h1 << wb_waddr; // @[RocketCore.scala 1051:62]
+  wire [31:0] _T_151 = _T_149 ? _T_150 : 32'h0; // @[RocketCore.scala 1051:49]
+  wire [31:0] _T_152 = _T_147 | _T_151; // @[RocketCore.scala 1042:60]
+  wire  _T_153 = ll_wen | _T_149; // @[RocketCore.scala 1054:17]
+  wire [31:0] _io_imem_req_bits_pc_T_1 = replay_wb_common ? wb_reg_pc : mem_npc; // @[RocketCore.scala 833:8]
+  wire  _io_imem_btb_update_bits_cfiType_T = mem_ctrl_jal | mem_ctrl_jalr; // @[RocketCore.scala 854:23]
+  wire [4:0] _io_imem_btb_update_bits_cfiType_T_5 = mem_reg_inst[19:15] & 5'h1b; // @[RocketCore.scala 855:62]
+  wire [1:0] _io_imem_btb_update_bits_cfiType_T_10 = mem_ctrl_jalr & 5'h1 == _io_imem_btb_update_bits_cfiType_T_5 ? 2'h3
+     : {{1'd0}, _io_imem_btb_update_bits_cfiType_T}; // @[RocketCore.scala 855:8]
+  wire [1:0] _io_imem_btb_update_bits_br_pc_T = mem_reg_rvc ? 2'h0 : 2'h2; // @[RocketCore.scala 859:74]
+  wire [31:0] _GEN_256 = {{30'd0}, _io_imem_btb_update_bits_br_pc_T}; // @[RocketCore.scala 859:69]
+  wire [31:0] _io_imem_btb_update_bits_pc_T = ~io_imem_btb_update_bits_br_pc; // @[RocketCore.scala 860:35]
+  wire [31:0] _io_imem_btb_update_bits_pc_T_1 = _io_imem_btb_update_bits_pc_T | 32'h3; // @[RocketCore.scala 860:66]
+  wire  unpause = csr_io_time[4:0] == 5'h0 | csr_io_inhibit_cycle | io_dmem_perf_release | take_pc_mem_wb; // @[RocketCore.scala 907:116]
+  wire  coreMonitorBundle_valid = csr_io_trace_0_valid & ~csr_io_trace_0_exception; // @[RocketCore.scala 935:52]
+  wire [31:0] coreMonitorBundle_pc = csr_io_trace_0_iaddr; // @[RocketCore.scala 936:48]
+  wire  coreMonitorBundle_wrenx = wb_wen & ~wb_set_sboard; // @[RocketCore.scala 937:37]
+  reg [31:0] coreMonitorBundle_rd0val_x23; // @[RocketCore.scala 942:43]
+  reg [31:0] coreMonitorBundle_rd0val_REG; // @[RocketCore.scala 942:34]
+  reg [31:0] coreMonitorBundle_rd1val_x29; // @[RocketCore.scala 944:43]
+  reg [31:0] coreMonitorBundle_rd1val_REG; // @[RocketCore.scala 944:34]
+  wire [4:0] _T_155 = wb_ctrl_wxd ? wb_waddr : 5'h0; // @[RocketCore.scala 980:13]
+  wire [31:0] _T_156 = coreMonitorBundle_wrenx ? rf_wdata : 32'h0; // @[RocketCore.scala 981:13]
+  wire [4:0] _T_158 = wb_ctrl_rxs1 ? wb_reg_inst[19:15] : 5'h0; // @[RocketCore.scala 983:13]
+  wire [31:0] _T_160 = wb_ctrl_rxs1 ? coreMonitorBundle_rd0val_REG : 32'h0; // @[RocketCore.scala 984:13]
+  wire [4:0] _T_162 = wb_ctrl_rxs2 ? wb_reg_inst[24:20] : 5'h0; // @[RocketCore.scala 985:13]
+  wire [31:0] _T_164 = wb_ctrl_rxs2 ? coreMonitorBundle_rd1val_REG : 32'h0; // @[RocketCore.scala 986:13]
+  wire [31:0] coreMonitorBundle_inst = csr_io_trace_0_insn; // @[RocketCore.scala 929:31 945:26]
+  IBuf ibuf ( // @[RocketCore.scala 263:20]
+    .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_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_gf_inst(ibuf_io_inst_0_bits_xcpt1_gf_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 291:19]
+    .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_interrupts_seip(csr_io_interrupts_seip),
+    .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_inst(csr_io_decode_0_inst),
+    .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_decode_0_system_illegal(csr_io_decode_0_system_illegal),
+    .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_cease(csr_io_status_cease),
+    .io_status_wfi(csr_io_status_wfi),
+    .io_status_isa(csr_io_status_isa),
+    .io_status_dprv(csr_io_status_dprv),
+    .io_status_dv(csr_io_status_dv),
+    .io_status_prv(csr_io_status_prv),
+    .io_status_v(csr_io_status_v),
+    .io_status_sd(csr_io_status_sd),
+    .io_status_zero2(csr_io_status_zero2),
+    .io_status_mpv(csr_io_status_mpv),
+    .io_status_gva(csr_io_status_gva),
+    .io_status_mbe(csr_io_status_mbe),
+    .io_status_sbe(csr_io_status_sbe),
+    .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_vs(csr_io_status_vs),
+    .io_status_spp(csr_io_status_spp),
+    .io_status_mpie(csr_io_status_mpie),
+    .io_status_ube(csr_io_status_ube),
+    .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_gva(csr_io_gva),
+    .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_m(csr_io_bp_0_control_m),
+    .io_bp_0_control_s(csr_io_bp_0_control_s),
+    .io_bp_0_control_u(csr_io_bp_0_control_u),
+    .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_m(csr_io_bp_1_control_m),
+    .io_bp_1_control_s(csr_io_bp_1_control_s),
+    .io_bp_1_control_u(csr_io_bp_1_control_u),
+    .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_inhibit_cycle(csr_io_inhibit_cycle),
+    .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),
+    .io_customCSRs_0_value(csr_io_customCSRs_0_value)
+  );
+  BreakpointUnit bpu ( // @[RocketCore.scala 334:19]
+    .io_status_debug(bpu_io_status_debug),
+    .io_status_prv(bpu_io_status_prv),
+    .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_m(bpu_io_bp_0_control_m),
+    .io_bp_0_control_s(bpu_io_bp_0_control_s),
+    .io_bp_0_control_u(bpu_io_bp_0_control_u),
+    .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_m(bpu_io_bp_1_control_m),
+    .io_bp_1_control_s(bpu_io_bp_1_control_s),
+    .io_bp_1_control_u(bpu_io_bp_1_control_u),
+    .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 399:19]
+    .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 423:19]
+    .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 89:11]
+    .clock(PlusArgTimeout_clock),
+    .reset(PlusArgTimeout_reset),
+    .io_count(PlusArgTimeout_io_count)
+  );
+  assign rf_id_rs_MPORT_en = 1'h1;
+  assign rf_id_rs_MPORT_addr = ~id_raddr1;
+  `ifndef RANDOMIZE_GARBAGE_ASSIGN
+  assign rf_id_rs_MPORT_data = rf[rf_id_rs_MPORT_addr]; // @[RocketCore.scala 1061:15]
+  `else
+  assign rf_id_rs_MPORT_data = rf_id_rs_MPORT_addr >= 5'h1f ? _RAND_1[31:0] : rf[rf_id_rs_MPORT_addr]; // @[RocketCore.scala 1061:15]
+  `endif // RANDOMIZE_GARBAGE_ASSIGN
+  assign rf_id_rs_MPORT_1_en = 1'h1;
+  assign rf_id_rs_MPORT_1_addr = ~id_raddr2;
+  `ifndef RANDOMIZE_GARBAGE_ASSIGN
+  assign rf_id_rs_MPORT_1_data = rf[rf_id_rs_MPORT_1_addr]; // @[RocketCore.scala 1061:15]
+  `else
+  assign rf_id_rs_MPORT_1_data = rf_id_rs_MPORT_1_addr >= 5'h1f ? _RAND_2[31:0] : rf[rf_id_rs_MPORT_1_addr]; // @[RocketCore.scala 1061:15]
+  `endif // RANDOMIZE_GARBAGE_ASSIGN
+  assign rf_MPORT_data = _rf_wdata_T ? io_dmem_resp_bits_data : _rf_wdata_T_5;
+  assign rf_MPORT_addr = ~rf_waddr;
+  assign rf_MPORT_mask = 1'h1;
+  assign rf_MPORT_en = rf_wen & _T_133;
+  assign io_imem_might_request = imem_might_request_reg; // @[RocketCore.scala 836:25]
+  assign io_imem_req_valid = take_pc_wb | take_pc_mem; // @[RocketCore.scala 259:35]
+  assign io_imem_req_bits_pc = wb_xcpt | csr_io_eret ? csr_io_evec : _io_imem_req_bits_pc_T_1; // @[RocketCore.scala 832:8]
+  assign io_imem_req_bits_speculative = ~take_pc_wb; // @[RocketCore.scala 830:35]
+  assign io_imem_resp_ready = ibuf_io_imem_ready; // @[RocketCore.scala 267:16]
+  assign io_imem_btb_update_valid = mem_reg_valid & _wb_reg_replay_T & mem_wrong_npc & (~mem_cfi | mem_cfi_taken); // @[RocketCore.scala 851:77]
+  assign io_imem_btb_update_bits_prediction_entry = mem_reg_btb_resp_entry; // @[RocketCore.scala 861:38]
+  assign io_imem_btb_update_bits_pc = ~_io_imem_btb_update_bits_pc_T_1; // @[RocketCore.scala 860:33]
+  assign io_imem_btb_update_bits_isValid = mem_ctrl_branch | mem_ctrl_jalr | mem_ctrl_jal; // @[RocketCore.scala 537:50]
+  assign io_imem_btb_update_bits_br_pc = mem_reg_pc + _GEN_256; // @[RocketCore.scala 859:69]
+  assign io_imem_btb_update_bits_cfiType = (mem_ctrl_jal | mem_ctrl_jalr) & mem_waddr[0] ? 2'h2 :
+    _io_imem_btb_update_bits_cfiType_T_10; // @[RocketCore.scala 854:8]
+  assign io_imem_bht_update_valid = mem_reg_valid & _wb_reg_replay_T; // @[RocketCore.scala 863:45]
+  assign io_imem_bht_update_bits_prediction_history = mem_reg_btb_resp_bht_history; // @[RocketCore.scala 868:38]
+  assign io_imem_bht_update_bits_pc = io_imem_btb_update_bits_pc; // @[RocketCore.scala 864:30]
+  assign io_imem_bht_update_bits_branch = mem_ctrl_branch; // @[RocketCore.scala 867:34]
+  assign io_imem_bht_update_bits_taken = mem_br_taken; // @[RocketCore.scala 865:33]
+  assign io_imem_bht_update_bits_mispredict = ex_pc_valid ? mem_npc != ex_reg_pc : _mem_wrong_npc_T_3; // @[RocketCore.scala 533:8]
+  assign io_imem_flush_icache = wb_reg_valid & wb_ctrl_fence_i & ~io_dmem_s2_nack; // @[RocketCore.scala 835:59]
+  assign io_dmem_req_valid = ex_reg_valid & ex_ctrl_mem; // @[RocketCore.scala 881:41]
+  assign io_dmem_req_bits_addr = alu_io_adder_out; // @[RocketCore.scala 889:25]
+  assign io_dmem_req_bits_tag = {ex_waddr,1'h0}; // @[Cat.scala 31:58]
+  assign io_dmem_req_bits_cmd = ex_ctrl_mem_cmd; // @[RocketCore.scala 885:25]
+  assign io_dmem_req_bits_size = ex_reg_mem_size; // @[RocketCore.scala 886:25]
+  assign io_dmem_req_bits_signed = ~ex_reg_inst[14]; // @[RocketCore.scala 887:30]
+  assign io_dmem_req_bits_dprv = csr_io_status_dprv; // @[RocketCore.scala 891:31]
+  assign io_dmem_req_bits_dv = 1'h0; // @[RocketCore.scala 892:37]
+  assign io_dmem_s1_kill = killm_common | mem_ldst_xcpt; // @[RocketCore.scala 894:35]
+  assign io_dmem_s1_data_data = mem_reg_rs2; // @[RocketCore.scala 893:24]
+  assign io_ptw_status_debug = csr_io_status_debug; // @[RocketCore.scala 744:17]
+  assign io_ptw_status_prv = csr_io_status_prv; // @[RocketCore.scala 744:17]
+  assign io_ptw_pmp_0_cfg_l = csr_io_pmp_0_cfg_l; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_0_cfg_a = csr_io_pmp_0_cfg_a; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_0_cfg_x = csr_io_pmp_0_cfg_x; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_0_cfg_w = csr_io_pmp_0_cfg_w; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_0_cfg_r = csr_io_pmp_0_cfg_r; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_0_addr = csr_io_pmp_0_addr; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_0_mask = csr_io_pmp_0_mask; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_1_cfg_l = csr_io_pmp_1_cfg_l; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_1_cfg_a = csr_io_pmp_1_cfg_a; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_1_cfg_x = csr_io_pmp_1_cfg_x; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_1_cfg_w = csr_io_pmp_1_cfg_w; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_1_cfg_r = csr_io_pmp_1_cfg_r; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_1_addr = csr_io_pmp_1_addr; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_1_mask = csr_io_pmp_1_mask; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_2_cfg_l = csr_io_pmp_2_cfg_l; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_2_cfg_a = csr_io_pmp_2_cfg_a; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_2_cfg_x = csr_io_pmp_2_cfg_x; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_2_cfg_w = csr_io_pmp_2_cfg_w; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_2_cfg_r = csr_io_pmp_2_cfg_r; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_2_addr = csr_io_pmp_2_addr; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_2_mask = csr_io_pmp_2_mask; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_3_cfg_l = csr_io_pmp_3_cfg_l; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_3_cfg_a = csr_io_pmp_3_cfg_a; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_3_cfg_x = csr_io_pmp_3_cfg_x; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_3_cfg_w = csr_io_pmp_3_cfg_w; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_3_cfg_r = csr_io_pmp_3_cfg_r; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_3_addr = csr_io_pmp_3_addr; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_3_mask = csr_io_pmp_3_mask; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_4_cfg_l = csr_io_pmp_4_cfg_l; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_4_cfg_a = csr_io_pmp_4_cfg_a; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_4_cfg_x = csr_io_pmp_4_cfg_x; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_4_cfg_w = csr_io_pmp_4_cfg_w; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_4_cfg_r = csr_io_pmp_4_cfg_r; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_4_addr = csr_io_pmp_4_addr; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_4_mask = csr_io_pmp_4_mask; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_5_cfg_l = csr_io_pmp_5_cfg_l; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_5_cfg_a = csr_io_pmp_5_cfg_a; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_5_cfg_x = csr_io_pmp_5_cfg_x; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_5_cfg_w = csr_io_pmp_5_cfg_w; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_5_cfg_r = csr_io_pmp_5_cfg_r; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_5_addr = csr_io_pmp_5_addr; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_5_mask = csr_io_pmp_5_mask; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_6_cfg_l = csr_io_pmp_6_cfg_l; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_6_cfg_a = csr_io_pmp_6_cfg_a; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_6_cfg_x = csr_io_pmp_6_cfg_x; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_6_cfg_w = csr_io_pmp_6_cfg_w; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_6_cfg_r = csr_io_pmp_6_cfg_r; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_6_addr = csr_io_pmp_6_addr; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_6_mask = csr_io_pmp_6_mask; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_7_cfg_l = csr_io_pmp_7_cfg_l; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_7_cfg_a = csr_io_pmp_7_cfg_a; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_7_cfg_x = csr_io_pmp_7_cfg_x; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_7_cfg_w = csr_io_pmp_7_cfg_w; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_7_cfg_r = csr_io_pmp_7_cfg_r; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_7_addr = csr_io_pmp_7_addr; // @[RocketCore.scala 747:14]
+  assign io_ptw_pmp_7_mask = csr_io_pmp_7_mask; // @[RocketCore.scala 747:14]
+  assign io_ptw_customCSRs_csrs_0_value = csr_io_customCSRs_0_value; // @[RocketCore.scala 743:79]
+  assign io_wfi = csr_io_status_wfi; // @[RocketCore.scala 910:10]
+  assign ibuf_clock = clock;
+  assign ibuf_reset = reset;
+  assign ibuf_io_imem_valid = io_imem_resp_valid; // @[RocketCore.scala 267:16]
+  assign ibuf_io_imem_bits_btb_taken = io_imem_resp_bits_btb_taken; // @[RocketCore.scala 267:16]
+  assign ibuf_io_imem_bits_btb_bridx = io_imem_resp_bits_btb_bridx; // @[RocketCore.scala 267:16]
+  assign ibuf_io_imem_bits_btb_entry = io_imem_resp_bits_btb_entry; // @[RocketCore.scala 267:16]
+  assign ibuf_io_imem_bits_btb_bht_history = io_imem_resp_bits_btb_bht_history; // @[RocketCore.scala 267:16]
+  assign ibuf_io_imem_bits_pc = io_imem_resp_bits_pc; // @[RocketCore.scala 267:16]
+  assign ibuf_io_imem_bits_data = io_imem_resp_bits_data; // @[RocketCore.scala 267:16]
+  assign ibuf_io_imem_bits_xcpt_ae_inst = io_imem_resp_bits_xcpt_ae_inst; // @[RocketCore.scala 267:16]
+  assign ibuf_io_imem_bits_replay = io_imem_resp_bits_replay; // @[RocketCore.scala 267:16]
+  assign ibuf_io_kill = take_pc_wb | take_pc_mem; // @[RocketCore.scala 259:35]
+  assign ibuf_io_inst_0_ready = ~ctrl_stalld; // @[RocketCore.scala 849:28]
+  assign csr_clock = clock;
+  assign csr_reset = reset;
+  assign csr_io_ungated_clock = clock; // @[RocketCore.scala 709:24]
+  assign csr_io_interrupts_debug = io_interrupts_debug; // @[RocketCore.scala 715:21]
+  assign csr_io_interrupts_mtip = io_interrupts_mtip; // @[RocketCore.scala 715:21]
+  assign csr_io_interrupts_msip = io_interrupts_msip; // @[RocketCore.scala 715:21]
+  assign csr_io_interrupts_meip = io_interrupts_meip; // @[RocketCore.scala 715:21]
+  assign csr_io_interrupts_seip = io_interrupts_seip; // @[RocketCore.scala 715:21]
+  assign csr_io_hartid = io_hartid; // @[RocketCore.scala 716:17]
+  assign csr_io_rw_addr = wb_reg_inst[31:20]; // @[RocketCore.scala 748:32]
+  assign csr_io_rw_cmd = wb_ctrl_csr & _csr_io_rw_cmd_T_1; // @[CSR.scala 167:9]
+  assign csr_io_rw_wdata = wb_reg_wdata; // @[RocketCore.scala 750:19]
+  assign csr_io_decode_0_inst = ibuf_io_inst_0_bits_inst_bits; // @[RocketCore.scala 710:25]
+  assign csr_io_exception = wb_reg_xcpt | _T_95 | _T_97 | _T_103 | _T_105 | _T_107 | _T_109; // @[RocketCore.scala 1021:26]
+  assign csr_io_retire = wb_reg_valid & ~replay_wb_common & ~wb_xcpt; // @[RocketCore.scala 697:45]
+  assign csr_io_cause = wb_reg_xcpt ? wb_reg_cause : {{27'd0}, _T_123}; // @[Mux.scala 47:70]
+  assign csr_io_pc = wb_reg_pc; // @[RocketCore.scala 722:13]
+  assign csr_io_tval = tval_valid ? wb_reg_wdata : 32'h0; // @[RocketCore.scala 729:21]
+  assign csr_io_gva = wb_xcpt & (tval_dmem_addr & wb_reg_hls_or_dv); // @[RocketCore.scala 728:25]
+  assign csr_io_inst_0 = {_csr_io_inst_0_T_3,wb_reg_raw_inst[15:0]}; // @[Cat.scala 31:58]
+  assign bpu_io_status_debug = csr_io_status_debug; // @[RocketCore.scala 335:17]
+  assign bpu_io_status_prv = csr_io_status_prv; // @[RocketCore.scala 335:17]
+  assign bpu_io_bp_0_control_action = csr_io_bp_0_control_action; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_0_control_chain = csr_io_bp_0_control_chain; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_0_control_tmatch = csr_io_bp_0_control_tmatch; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_0_control_m = csr_io_bp_0_control_m; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_0_control_s = csr_io_bp_0_control_s; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_0_control_u = csr_io_bp_0_control_u; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_0_control_x = csr_io_bp_0_control_x; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_0_control_w = csr_io_bp_0_control_w; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_0_control_r = csr_io_bp_0_control_r; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_0_address = csr_io_bp_0_address; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_1_control_action = csr_io_bp_1_control_action; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_1_control_tmatch = csr_io_bp_1_control_tmatch; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_1_control_m = csr_io_bp_1_control_m; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_1_control_s = csr_io_bp_1_control_s; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_1_control_u = csr_io_bp_1_control_u; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_1_control_x = csr_io_bp_1_control_x; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_1_control_w = csr_io_bp_1_control_w; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_1_control_r = csr_io_bp_1_control_r; // @[RocketCore.scala 336:13]
+  assign bpu_io_bp_1_address = csr_io_bp_1_address; // @[RocketCore.scala 336:13]
+  assign bpu_io_pc = ibuf_io_pc; // @[RocketCore.scala 337:13]
+  assign bpu_io_ea = mem_reg_wdata; // @[RocketCore.scala 338:13]
+  assign alu_io_fn = ex_ctrl_alu_fn; // @[RocketCore.scala 401:13]
+  assign alu_io_in2 = 2'h1 == ex_ctrl_sel_alu2 ? $signed({{28{_ex_op2_T_1[3]}},_ex_op2_T_1}) : $signed(_ex_op2_T_5); // @[RocketCore.scala 402:24]
+  assign alu_io_in1 = 2'h2 == ex_ctrl_sel_alu1 ? $signed(ex_reg_pc) : $signed(_ex_op1_T_3); // @[RocketCore.scala 403:24]
+  assign div_clock = clock;
+  assign div_reset = reset;
+  assign div_io_req_valid = ex_reg_valid & ex_ctrl_div; // @[RocketCore.scala 424:36]
+  assign div_io_req_bits_fn = ex_ctrl_alu_fn; // @[RocketCore.scala 426:22]
+  assign div_io_req_bits_in1 = ex_reg_rs_bypass_0 ? _ex_rs_T_5 : _ex_rs_T_6; // @[RocketCore.scala 389:14]
+  assign div_io_req_bits_in2 = ex_reg_rs_bypass_1 ? _ex_rs_T_12 : _ex_rs_T_13; // @[RocketCore.scala 389:14]
+  assign div_io_req_bits_tag = ex_reg_inst[11:7]; // @[RocketCore.scala 373:29]
+  assign div_io_kill = killm_common & div_io_kill_REG; // @[RocketCore.scala 607:31]
+  assign div_io_resp_ready = dmem_resp_replay & dmem_resp_xpu ? 1'h0 : _ctrl_stalld_T_17; // @[RocketCore.scala 676:21 689:44 690:23]
+  assign PlusArgTimeout_clock = clock;
+  assign PlusArgTimeout_reset = reset;
+  assign PlusArgTimeout_io_count = csr_io_time; // @[PlusArg.scala 89:82]
+  always @(posedge clock) begin
+    if (rf_MPORT_en & rf_MPORT_mask) begin
+      rf[rf_MPORT_addr] <= rf_MPORT_data; // @[RocketCore.scala 1061:15]
+    end
+    if (unpause) begin // @[RocketCore.scala 908:18]
+      id_reg_pause <= 1'h0; // @[RocketCore.scala 908:33]
+    end else if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      id_reg_pause <= _GEN_1;
+    end
+    imem_might_request_reg <= ex_pc_valid | mem_pc_valid | io_ptw_customCSRs_csrs_0_value[1]; // @[RocketCore.scala 837:59]
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      ex_ctrl_branch <= id_ctrl_decoder_3; // @[RocketCore.scala 443:13]
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      ex_ctrl_jal <= id_ctrl_decoder_4; // @[RocketCore.scala 443:13]
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      ex_ctrl_jalr <= id_ctrl_decoder_5; // @[RocketCore.scala 443:13]
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      ex_ctrl_rxs2 <= id_ctrl_decoder_6; // @[RocketCore.scala 443:13]
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      ex_ctrl_rxs1 <= id_ctrl_decoder_7; // @[RocketCore.scala 443:13]
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      if (id_xcpt) begin // @[RocketCore.scala 450:20]
+        if (bpu_io_xcpt_if | |_T_37) begin // @[RocketCore.scala 460:52]
+          ex_ctrl_sel_alu2 <= 2'h0; // @[RocketCore.scala 462:26]
+        end else if (|_T_35) begin // @[RocketCore.scala 455:34]
+          ex_ctrl_sel_alu2 <= 2'h1; // @[RocketCore.scala 457:26]
+        end else begin
+          ex_ctrl_sel_alu2 <= 2'h0; // @[RocketCore.scala 454:24]
+        end
+      end else begin
+        ex_ctrl_sel_alu2 <= id_ctrl_decoder_9; // @[RocketCore.scala 443:13]
+      end
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      if (id_xcpt) begin // @[RocketCore.scala 450:20]
+        if (bpu_io_xcpt_if | |_T_37) begin // @[RocketCore.scala 460:52]
+          ex_ctrl_sel_alu1 <= 2'h2; // @[RocketCore.scala 461:26]
+        end else if (|_T_35) begin // @[RocketCore.scala 455:34]
+          ex_ctrl_sel_alu1 <= 2'h2; // @[RocketCore.scala 456:26]
+        end else begin
+          ex_ctrl_sel_alu1 <= 2'h1; // @[RocketCore.scala 453:24]
+        end
+      end else begin
+        ex_ctrl_sel_alu1 <= id_ctrl_decoder_10; // @[RocketCore.scala 443:13]
+      end
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      ex_ctrl_sel_imm <= id_ctrl_decoder_11; // @[RocketCore.scala 443:13]
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      if (id_xcpt) begin // @[RocketCore.scala 450:20]
+        ex_ctrl_alu_fn <= 4'h0; // @[RocketCore.scala 451:22]
+      end else begin
+        ex_ctrl_alu_fn <= id_ctrl_decoder_13; // @[RocketCore.scala 443:13]
+      end
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      ex_ctrl_mem <= id_ctrl_decoder_14; // @[RocketCore.scala 443:13]
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      ex_ctrl_mem_cmd <= id_ctrl_decoder_15;
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      ex_ctrl_div <= id_ctrl_decoder_21; // @[RocketCore.scala 443:13]
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      ex_ctrl_wxd <= id_ctrl_decoder_22; // @[RocketCore.scala 443:13]
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      if (id_system_insn & id_ctrl_decoder_14) begin // @[RocketCore.scala 295:19]
+        ex_ctrl_csr <= 3'h0;
+      end else if (id_csr_ren) begin // @[RocketCore.scala 295:61]
+        ex_ctrl_csr <= 3'h2;
+      end else begin
+        ex_ctrl_csr <= id_ctrl_decoder_23;
+      end
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      ex_ctrl_fence_i <= id_ctrl_decoder_24; // @[RocketCore.scala 443:13]
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_ctrl_branch <= ex_ctrl_branch; // @[RocketCore.scala 553:14]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_ctrl_jal <= ex_ctrl_jal; // @[RocketCore.scala 553:14]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_ctrl_jalr <= ex_ctrl_jalr; // @[RocketCore.scala 553:14]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_ctrl_rxs2 <= ex_ctrl_rxs2; // @[RocketCore.scala 553:14]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_ctrl_rxs1 <= ex_ctrl_rxs1; // @[RocketCore.scala 553:14]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_ctrl_mem <= ex_ctrl_mem; // @[RocketCore.scala 553:14]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_ctrl_div <= ex_ctrl_div; // @[RocketCore.scala 553:14]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_ctrl_wxd <= ex_ctrl_wxd; // @[RocketCore.scala 553:14]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_ctrl_csr <= ex_ctrl_csr; // @[RocketCore.scala 553:14]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_ctrl_fence_i <= _GEN_80;
+      end
+    end
+    if (mem_pc_valid) begin // @[RocketCore.scala 615:23]
+      wb_ctrl_rxs2 <= mem_ctrl_rxs2; // @[RocketCore.scala 616:13]
+    end
+    if (mem_pc_valid) begin // @[RocketCore.scala 615:23]
+      wb_ctrl_rxs1 <= mem_ctrl_rxs1; // @[RocketCore.scala 616:13]
+    end
+    if (mem_pc_valid) begin // @[RocketCore.scala 615:23]
+      wb_ctrl_mem <= mem_ctrl_mem; // @[RocketCore.scala 616:13]
+    end
+    if (mem_pc_valid) begin // @[RocketCore.scala 615:23]
+      wb_ctrl_div <= mem_ctrl_div; // @[RocketCore.scala 616:13]
+    end
+    if (mem_pc_valid) begin // @[RocketCore.scala 615:23]
+      wb_ctrl_wxd <= mem_ctrl_wxd; // @[RocketCore.scala 616:13]
+    end
+    if (mem_pc_valid) begin // @[RocketCore.scala 615:23]
+      wb_ctrl_csr <= mem_ctrl_csr; // @[RocketCore.scala 616:13]
+    end
+    if (mem_pc_valid) begin // @[RocketCore.scala 615:23]
+      wb_ctrl_fence_i <= mem_ctrl_fence_i; // @[RocketCore.scala 616:13]
+    end
+    ex_reg_xcpt_interrupt <= _ex_reg_replay_T_1 & csr_io_interrupt; // @[RocketCore.scala 440:62]
+    ex_reg_valid <= ~ctrl_killd; // @[RocketCore.scala 437:19]
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      if (id_xcpt) begin // @[RocketCore.scala 450:20]
+        ex_reg_rvc <= _GEN_5;
+      end else begin
+        ex_reg_rvc <= ibuf_io_inst_0_bits_rvc; // @[RocketCore.scala 444:16]
+      end
+    end
+    if (_ex_reg_valid_T | csr_io_interrupt | ibuf_io_inst_0_bits_replay) begin // @[RocketCore.scala 498:73]
+      ex_reg_btb_resp_entry <= ibuf_io_btb_resp_entry; // @[RocketCore.scala 503:21]
+    end
+    if (_ex_reg_valid_T | csr_io_interrupt | ibuf_io_inst_0_bits_replay) begin // @[RocketCore.scala 498:73]
+      ex_reg_btb_resp_bht_history <= ibuf_io_btb_resp_bht_history; // @[RocketCore.scala 503:21]
+    end
+    ex_reg_xcpt <= _ex_reg_valid_T & id_xcpt; // @[RocketCore.scala 439:30]
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      ex_reg_flush_pipe <= id_ctrl_decoder_24 | id_csr_flush; // @[RocketCore.scala 465:23]
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      ex_reg_load_use <= id_load_use; // @[RocketCore.scala 466:21]
+    end
+    if (_ex_reg_valid_T | csr_io_interrupt | ibuf_io_inst_0_bits_replay) begin // @[RocketCore.scala 498:73]
+      if (csr_io_interrupt) begin // @[Mux.scala 47:70]
+        ex_reg_cause <= csr_io_interrupt_cause;
+      end else begin
+        ex_reg_cause <= {{27'd0}, _T_18};
+      end
+    end
+    ex_reg_replay <= ~take_pc_mem_wb & ibuf_io_inst_0_valid & ibuf_io_inst_0_bits_replay; // @[RocketCore.scala 438:54]
+    if (_ex_reg_valid_T | csr_io_interrupt | ibuf_io_inst_0_bits_replay) begin // @[RocketCore.scala 498:73]
+      ex_reg_pc <= ibuf_io_pc; // @[RocketCore.scala 502:15]
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      if (_T_46) begin // @[RocketCore.scala 469:81]
+        ex_reg_mem_size <= _ex_reg_mem_size_T_6; // @[RocketCore.scala 470:23]
+      end else begin
+        ex_reg_mem_size <= ibuf_io_inst_0_bits_inst_bits[13:12]; // @[RocketCore.scala 468:21]
+      end
+    end
+    if (_ex_reg_valid_T | csr_io_interrupt | ibuf_io_inst_0_bits_replay) begin // @[RocketCore.scala 498:73]
+      ex_reg_inst <= ibuf_io_inst_0_bits_inst_bits; // @[RocketCore.scala 500:17]
+    end
+    if (_ex_reg_valid_T | csr_io_interrupt | ibuf_io_inst_0_bits_replay) begin // @[RocketCore.scala 498:73]
+      ex_reg_raw_inst <= ibuf_io_inst_0_bits_raw; // @[RocketCore.scala 501:21]
+    end
+    mem_reg_xcpt_interrupt <= _ex_reg_replay_T & ex_reg_xcpt_interrupt; // @[RocketCore.scala 546:45]
+    mem_reg_valid <= ~ctrl_killx; // @[RocketCore.scala 543:20]
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_reg_rvc <= ex_reg_rvc; // @[RocketCore.scala 556:17]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_reg_btb_resp_entry <= ex_reg_btb_resp_entry; // @[RocketCore.scala 560:22]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_reg_btb_resp_bht_history <= ex_reg_btb_resp_bht_history; // @[RocketCore.scala 560:22]
+      end
+    end
+    mem_reg_xcpt <= _mem_reg_valid_T & ex_xcpt; // @[RocketCore.scala 545:31]
+    mem_reg_replay <= _ex_reg_replay_T & replay_ex; // @[RocketCore.scala 544:37]
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_reg_flush_pipe <= _GEN_81;
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_reg_cause <= ex_reg_cause; // @[RocketCore.scala 565:19]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_reg_slow_bypass <= ex_slow_bypass; // @[RocketCore.scala 562:25]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_reg_load <= ex_ctrl_mem & _mem_reg_load_T_24; // @[RocketCore.scala 557:18]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_reg_store <= ex_ctrl_mem & _mem_reg_store_T_22; // @[RocketCore.scala 558:19]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_reg_pc <= ex_reg_pc; // @[RocketCore.scala 570:16]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_reg_inst <= ex_reg_inst; // @[RocketCore.scala 566:18]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_reg_hls_or_dv <= io_dmem_req_bits_dv; // @[RocketCore.scala 569:23]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_reg_raw_inst <= ex_reg_raw_inst; // @[RocketCore.scala 567:22]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_reg_wdata <= _mem_reg_wdata_T; // @[RocketCore.scala 571:19]
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        if (ex_ctrl_rxs2 & ex_ctrl_mem) begin // @[RocketCore.scala 574:71]
+          if (ex_reg_mem_size == 2'h0) begin // @[AMOALU.scala 26:13]
+            mem_reg_rs2 <= _mem_reg_rs2_T_3;
+          end else begin
+            mem_reg_rs2 <= _mem_reg_rs2_T_7;
+          end
+        end
+      end
+    end
+    if (!(mem_reg_valid & mem_reg_flush_pipe)) begin // @[RocketCore.scala 550:46]
+      if (ex_pc_valid) begin // @[RocketCore.scala 552:28]
+        mem_br_taken <= alu_io_cmp_out; // @[RocketCore.scala 572:18]
+      end
+    end
+    wb_reg_valid <= ~ctrl_killm; // @[RocketCore.scala 611:19]
+    wb_reg_xcpt <= mem_xcpt & _wb_reg_replay_T; // @[RocketCore.scala 613:27]
+    wb_reg_replay <= replay_mem & ~take_pc_wb; // @[RocketCore.scala 612:31]
+    wb_reg_flush_pipe <= _wb_reg_valid_T & mem_reg_flush_pipe; // @[RocketCore.scala 614:36]
+    if (mem_pc_valid) begin // @[RocketCore.scala 615:23]
+      if (_T_70) begin // @[Mux.scala 47:70]
+        wb_reg_cause <= mem_reg_cause;
+      end else begin
+        wb_reg_cause <= {{28'd0}, _T_74};
+      end
+    end
+    if (mem_pc_valid) begin // @[RocketCore.scala 615:23]
+      wb_reg_pc <= mem_reg_pc; // @[RocketCore.scala 630:15]
+    end
+    if (mem_pc_valid) begin // @[RocketCore.scala 615:23]
+      wb_reg_hls_or_dv <= mem_reg_hls_or_dv; // @[RocketCore.scala 627:22]
+    end
+    if (mem_pc_valid) begin // @[RocketCore.scala 615:23]
+      wb_reg_inst <= mem_reg_inst; // @[RocketCore.scala 624:17]
+    end
+    if (mem_pc_valid) begin // @[RocketCore.scala 615:23]
+      wb_reg_raw_inst <= mem_reg_raw_inst; // @[RocketCore.scala 625:21]
+    end
+    if (mem_pc_valid) begin // @[RocketCore.scala 615:23]
+      wb_reg_wdata <= mem_int_wdata; // @[RocketCore.scala 618:18]
+    end
+    if (reset) begin // @[RocketCore.scala 283:25]
+      id_reg_fence <= 1'h0; // @[RocketCore.scala 283:25]
+    end else if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      id_reg_fence <= _GEN_2;
+    end else if (~id_mem_busy) begin // @[RocketCore.scala 327:23]
+      id_reg_fence <= 1'h0; // @[RocketCore.scala 327:38]
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      if (id_illegal_insn) begin // @[RocketCore.scala 491:47]
+        ex_reg_rs_bypass_0 <= 1'h0; // @[RocketCore.scala 493:27]
+      end else begin
+        ex_reg_rs_bypass_0 <= do_bypass; // @[RocketCore.scala 484:27]
+      end
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      ex_reg_rs_bypass_1 <= do_bypass_1; // @[RocketCore.scala 484:27]
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      if (id_illegal_insn) begin // @[RocketCore.scala 491:47]
+        ex_reg_rs_lsb_0 <= inst[1:0]; // @[RocketCore.scala 494:24]
+      end else if (id_ctrl_decoder_7 & ~do_bypass) begin // @[RocketCore.scala 486:38]
+        ex_reg_rs_lsb_0 <= id_rs_0[1:0]; // @[RocketCore.scala 487:26]
+      end else if (id_bypass_src_0_0) begin // @[Mux.scala 47:70]
+        ex_reg_rs_lsb_0 <= 2'h0;
+      end else begin
+        ex_reg_rs_lsb_0 <= _bypass_src_T_1;
+      end
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      if (id_ctrl_decoder_6 & ~do_bypass_1) begin // @[RocketCore.scala 486:38]
+        ex_reg_rs_lsb_1 <= id_rs_1[1:0]; // @[RocketCore.scala 487:26]
+      end else if (id_bypass_src_1_0) begin // @[Mux.scala 47:70]
+        ex_reg_rs_lsb_1 <= 2'h0;
+      end else if (id_bypass_src_1_1) begin // @[Mux.scala 47:70]
+        ex_reg_rs_lsb_1 <= 2'h1;
+      end else begin
+        ex_reg_rs_lsb_1 <= _bypass_src_T_2;
+      end
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      if (id_illegal_insn) begin // @[RocketCore.scala 491:47]
+        ex_reg_rs_msb_0 <= inst[31:2]; // @[RocketCore.scala 495:24]
+      end else if (id_ctrl_decoder_7 & ~do_bypass) begin // @[RocketCore.scala 486:38]
+        ex_reg_rs_msb_0 <= id_rs_0[31:2]; // @[RocketCore.scala 488:26]
+      end
+    end
+    if (_ex_reg_valid_T) begin // @[RocketCore.scala 442:22]
+      if (id_ctrl_decoder_6 & ~do_bypass_1) begin // @[RocketCore.scala 486:38]
+        ex_reg_rs_msb_1 <= id_rs_1[31:2]; // @[RocketCore.scala 488:26]
+      end
+    end
+    if (reset) begin // @[RocketCore.scala 1047:25]
+      _r <= 32'h0; // @[RocketCore.scala 1047:25]
+    end else if (_T_153) begin // @[RocketCore.scala 1055:18]
+      _r <= _T_152; // @[RocketCore.scala 1055:23]
+    end else if (ll_wen) begin // @[RocketCore.scala 1055:18]
+      _r <= _T_147; // @[RocketCore.scala 1055:23]
+    end
+    blocked <= _replay_ex_structural_T & _dcache_blocked_T & (blocked | io_dmem_req_valid | io_dmem_s2_nack); // @[RocketCore.scala 808:83]
+    div_io_kill_REG <= div_io_req_ready & div_io_req_valid; // @[Decoupled.scala 50:35]
+    if (ex_reg_rs_bypass_0) begin // @[RocketCore.scala 389:14]
+      if (ex_reg_rs_lsb_0 == 2'h3) begin // @[package.scala 32:76]
+        coreMonitorBundle_rd0val_x23 <= io_dmem_resp_bits_data_word_bypass;
+      end else if (ex_reg_rs_lsb_0 == 2'h2) begin // @[package.scala 32:76]
+        coreMonitorBundle_rd0val_x23 <= wb_reg_wdata;
+      end else if (ex_reg_rs_lsb_0 == 2'h1) begin // @[package.scala 32:76]
+        coreMonitorBundle_rd0val_x23 <= mem_reg_wdata;
+      end else begin
+        coreMonitorBundle_rd0val_x23 <= 32'h0;
+      end
+    end else begin
+      coreMonitorBundle_rd0val_x23 <= _ex_rs_T_6;
+    end
+    coreMonitorBundle_rd0val_REG <= coreMonitorBundle_rd0val_x23; // @[RocketCore.scala 942:34]
+    if (ex_reg_rs_bypass_1) begin // @[RocketCore.scala 389:14]
+      if (ex_reg_rs_lsb_1 == 2'h3) begin // @[package.scala 32:76]
+        coreMonitorBundle_rd1val_x29 <= io_dmem_resp_bits_data_word_bypass;
+      end else if (ex_reg_rs_lsb_1 == 2'h2) begin // @[package.scala 32:76]
+        coreMonitorBundle_rd1val_x29 <= wb_reg_wdata;
+      end else if (ex_reg_rs_lsb_1 == 2'h1) begin // @[package.scala 32:76]
+        coreMonitorBundle_rd1val_x29 <= mem_reg_wdata;
+      end else begin
+        coreMonitorBundle_rd1val_x29 <= 32'h0;
+      end
+    end else begin
+      coreMonitorBundle_rd1val_x29 <= _ex_rs_T_13;
+    end
+    coreMonitorBundle_rd1val_REG <= coreMonitorBundle_rd1val_x29; // @[RocketCore.scala 944:34]
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~htval_valid_imem) & ~reset) begin
+          $fatal; // @[RocketCore.scala 733:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~(~htval_valid_imem)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at RocketCore.scala:733 assert(!htval_valid_imem || io.imem.gpa.valid)\n"); // @[RocketCore.scala 733:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (csr_io_trace_0_valid & _csr_io_htval_T_3) 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,
+            _io_fpu_time_T,coreMonitorBundle_valid,coreMonitorBundle_pc,_T_155,_T_156,coreMonitorBundle_wrenx,_T_158,
+            _T_160,_T_162,_T_164,coreMonitorBundle_inst,coreMonitorBundle_inst); // @[RocketCore.scala 977:13]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_GARBAGE_ASSIGN
+  _RAND_1 = {1{`RANDOM}};
+  _RAND_2 = {1{`RANDOM}};
+`endif // RANDOMIZE_GARBAGE_ASSIGN
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 31; initvar = initvar+1)
+    rf[initvar] = _RAND_0[31:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_3 = {1{`RANDOM}};
+  id_reg_pause = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  imem_might_request_reg = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  ex_ctrl_branch = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  ex_ctrl_jal = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  ex_ctrl_jalr = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  ex_ctrl_rxs2 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  ex_ctrl_rxs1 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  ex_ctrl_sel_alu2 = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  ex_ctrl_sel_alu1 = _RAND_11[1:0];
+  _RAND_12 = {1{`RANDOM}};
+  ex_ctrl_sel_imm = _RAND_12[2:0];
+  _RAND_13 = {1{`RANDOM}};
+  ex_ctrl_alu_fn = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  ex_ctrl_mem = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  ex_ctrl_mem_cmd = _RAND_15[4:0];
+  _RAND_16 = {1{`RANDOM}};
+  ex_ctrl_div = _RAND_16[0:0];
+  _RAND_17 = {1{`RANDOM}};
+  ex_ctrl_wxd = _RAND_17[0:0];
+  _RAND_18 = {1{`RANDOM}};
+  ex_ctrl_csr = _RAND_18[2:0];
+  _RAND_19 = {1{`RANDOM}};
+  ex_ctrl_fence_i = _RAND_19[0:0];
+  _RAND_20 = {1{`RANDOM}};
+  mem_ctrl_branch = _RAND_20[0:0];
+  _RAND_21 = {1{`RANDOM}};
+  mem_ctrl_jal = _RAND_21[0:0];
+  _RAND_22 = {1{`RANDOM}};
+  mem_ctrl_jalr = _RAND_22[0:0];
+  _RAND_23 = {1{`RANDOM}};
+  mem_ctrl_rxs2 = _RAND_23[0:0];
+  _RAND_24 = {1{`RANDOM}};
+  mem_ctrl_rxs1 = _RAND_24[0:0];
+  _RAND_25 = {1{`RANDOM}};
+  mem_ctrl_mem = _RAND_25[0:0];
+  _RAND_26 = {1{`RANDOM}};
+  mem_ctrl_div = _RAND_26[0:0];
+  _RAND_27 = {1{`RANDOM}};
+  mem_ctrl_wxd = _RAND_27[0:0];
+  _RAND_28 = {1{`RANDOM}};
+  mem_ctrl_csr = _RAND_28[2:0];
+  _RAND_29 = {1{`RANDOM}};
+  mem_ctrl_fence_i = _RAND_29[0:0];
+  _RAND_30 = {1{`RANDOM}};
+  wb_ctrl_rxs2 = _RAND_30[0:0];
+  _RAND_31 = {1{`RANDOM}};
+  wb_ctrl_rxs1 = _RAND_31[0:0];
+  _RAND_32 = {1{`RANDOM}};
+  wb_ctrl_mem = _RAND_32[0:0];
+  _RAND_33 = {1{`RANDOM}};
+  wb_ctrl_div = _RAND_33[0:0];
+  _RAND_34 = {1{`RANDOM}};
+  wb_ctrl_wxd = _RAND_34[0:0];
+  _RAND_35 = {1{`RANDOM}};
+  wb_ctrl_csr = _RAND_35[2:0];
+  _RAND_36 = {1{`RANDOM}};
+  wb_ctrl_fence_i = _RAND_36[0:0];
+  _RAND_37 = {1{`RANDOM}};
+  ex_reg_xcpt_interrupt = _RAND_37[0:0];
+  _RAND_38 = {1{`RANDOM}};
+  ex_reg_valid = _RAND_38[0:0];
+  _RAND_39 = {1{`RANDOM}};
+  ex_reg_rvc = _RAND_39[0:0];
+  _RAND_40 = {1{`RANDOM}};
+  ex_reg_btb_resp_entry = _RAND_40[4:0];
+  _RAND_41 = {1{`RANDOM}};
+  ex_reg_btb_resp_bht_history = _RAND_41[7:0];
+  _RAND_42 = {1{`RANDOM}};
+  ex_reg_xcpt = _RAND_42[0:0];
+  _RAND_43 = {1{`RANDOM}};
+  ex_reg_flush_pipe = _RAND_43[0:0];
+  _RAND_44 = {1{`RANDOM}};
+  ex_reg_load_use = _RAND_44[0:0];
+  _RAND_45 = {1{`RANDOM}};
+  ex_reg_cause = _RAND_45[31:0];
+  _RAND_46 = {1{`RANDOM}};
+  ex_reg_replay = _RAND_46[0:0];
+  _RAND_47 = {1{`RANDOM}};
+  ex_reg_pc = _RAND_47[31:0];
+  _RAND_48 = {1{`RANDOM}};
+  ex_reg_mem_size = _RAND_48[1:0];
+  _RAND_49 = {1{`RANDOM}};
+  ex_reg_inst = _RAND_49[31:0];
+  _RAND_50 = {1{`RANDOM}};
+  ex_reg_raw_inst = _RAND_50[31:0];
+  _RAND_51 = {1{`RANDOM}};
+  mem_reg_xcpt_interrupt = _RAND_51[0:0];
+  _RAND_52 = {1{`RANDOM}};
+  mem_reg_valid = _RAND_52[0:0];
+  _RAND_53 = {1{`RANDOM}};
+  mem_reg_rvc = _RAND_53[0:0];
+  _RAND_54 = {1{`RANDOM}};
+  mem_reg_btb_resp_entry = _RAND_54[4:0];
+  _RAND_55 = {1{`RANDOM}};
+  mem_reg_btb_resp_bht_history = _RAND_55[7:0];
+  _RAND_56 = {1{`RANDOM}};
+  mem_reg_xcpt = _RAND_56[0:0];
+  _RAND_57 = {1{`RANDOM}};
+  mem_reg_replay = _RAND_57[0:0];
+  _RAND_58 = {1{`RANDOM}};
+  mem_reg_flush_pipe = _RAND_58[0:0];
+  _RAND_59 = {1{`RANDOM}};
+  mem_reg_cause = _RAND_59[31:0];
+  _RAND_60 = {1{`RANDOM}};
+  mem_reg_slow_bypass = _RAND_60[0:0];
+  _RAND_61 = {1{`RANDOM}};
+  mem_reg_load = _RAND_61[0:0];
+  _RAND_62 = {1{`RANDOM}};
+  mem_reg_store = _RAND_62[0:0];
+  _RAND_63 = {1{`RANDOM}};
+  mem_reg_pc = _RAND_63[31:0];
+  _RAND_64 = {1{`RANDOM}};
+  mem_reg_inst = _RAND_64[31:0];
+  _RAND_65 = {1{`RANDOM}};
+  mem_reg_hls_or_dv = _RAND_65[0:0];
+  _RAND_66 = {1{`RANDOM}};
+  mem_reg_raw_inst = _RAND_66[31:0];
+  _RAND_67 = {1{`RANDOM}};
+  mem_reg_wdata = _RAND_67[31:0];
+  _RAND_68 = {1{`RANDOM}};
+  mem_reg_rs2 = _RAND_68[31:0];
+  _RAND_69 = {1{`RANDOM}};
+  mem_br_taken = _RAND_69[0:0];
+  _RAND_70 = {1{`RANDOM}};
+  wb_reg_valid = _RAND_70[0:0];
+  _RAND_71 = {1{`RANDOM}};
+  wb_reg_xcpt = _RAND_71[0:0];
+  _RAND_72 = {1{`RANDOM}};
+  wb_reg_replay = _RAND_72[0:0];
+  _RAND_73 = {1{`RANDOM}};
+  wb_reg_flush_pipe = _RAND_73[0:0];
+  _RAND_74 = {1{`RANDOM}};
+  wb_reg_cause = _RAND_74[31:0];
+  _RAND_75 = {1{`RANDOM}};
+  wb_reg_pc = _RAND_75[31:0];
+  _RAND_76 = {1{`RANDOM}};
+  wb_reg_hls_or_dv = _RAND_76[0:0];
+  _RAND_77 = {1{`RANDOM}};
+  wb_reg_inst = _RAND_77[31:0];
+  _RAND_78 = {1{`RANDOM}};
+  wb_reg_raw_inst = _RAND_78[31:0];
+  _RAND_79 = {1{`RANDOM}};
+  wb_reg_wdata = _RAND_79[31:0];
+  _RAND_80 = {1{`RANDOM}};
+  id_reg_fence = _RAND_80[0:0];
+  _RAND_81 = {1{`RANDOM}};
+  ex_reg_rs_bypass_0 = _RAND_81[0:0];
+  _RAND_82 = {1{`RANDOM}};
+  ex_reg_rs_bypass_1 = _RAND_82[0:0];
+  _RAND_83 = {1{`RANDOM}};
+  ex_reg_rs_lsb_0 = _RAND_83[1:0];
+  _RAND_84 = {1{`RANDOM}};
+  ex_reg_rs_lsb_1 = _RAND_84[1:0];
+  _RAND_85 = {1{`RANDOM}};
+  ex_reg_rs_msb_0 = _RAND_85[29:0];
+  _RAND_86 = {1{`RANDOM}};
+  ex_reg_rs_msb_1 = _RAND_86[29:0];
+  _RAND_87 = {1{`RANDOM}};
+  _r = _RAND_87[31:0];
+  _RAND_88 = {1{`RANDOM}};
+  blocked = _RAND_88[0:0];
+  _RAND_89 = {1{`RANDOM}};
+  div_io_kill_REG = _RAND_89[0:0];
+  _RAND_90 = {1{`RANDOM}};
+  coreMonitorBundle_rd0val_x23 = _RAND_90[31:0];
+  _RAND_91 = {1{`RANDOM}};
+  coreMonitorBundle_rd0val_REG = _RAND_91[31:0];
+  _RAND_92 = {1{`RANDOM}};
+  coreMonitorBundle_rd1val_x29 = _RAND_92[31:0];
+  _RAND_93 = {1{`RANDOM}};
+  coreMonitorBundle_rd1val_REG = _RAND_93[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module RocketTile(
+  input         clock,
+  input         reset,
+  output        auto_slave_in_a_ready,
+  input         auto_slave_in_a_valid,
+  input  [2:0]  auto_slave_in_a_bits_opcode,
+  input  [2:0]  auto_slave_in_a_bits_param,
+  input  [2:0]  auto_slave_in_a_bits_size,
+  input  [1:0]  auto_slave_in_a_bits_source,
+  input  [27:0] auto_slave_in_a_bits_address,
+  input  [3:0]  auto_slave_in_a_bits_mask,
+  input  [31:0] auto_slave_in_a_bits_data,
+  input         auto_slave_in_a_bits_corrupt,
+  input         auto_slave_in_d_ready,
+  output        auto_slave_in_d_valid,
+  output [2:0]  auto_slave_in_d_bits_opcode,
+  output [2:0]  auto_slave_in_d_bits_size,
+  output [1:0]  auto_slave_in_d_bits_source,
+  output [31:0] auto_slave_in_d_bits_data,
+  output        auto_wfi_out_0,
+  input         auto_int_local_in_3_0,
+  input         auto_int_local_in_2_0,
+  input         auto_int_local_in_1_0,
+  input         auto_int_local_in_1_1,
+  input         auto_int_local_in_0_0,
+  input         auto_hartid_in,
+  input         auto_tl_other_masters_out_a_ready,
+  output        auto_tl_other_masters_out_a_valid,
+  output [2:0]  auto_tl_other_masters_out_a_bits_opcode,
+  output [2:0]  auto_tl_other_masters_out_a_bits_param,
+  output [3:0]  auto_tl_other_masters_out_a_bits_size,
+  output [1:0]  auto_tl_other_masters_out_a_bits_source,
+  output [30:0] auto_tl_other_masters_out_a_bits_address,
+  output [3:0]  auto_tl_other_masters_out_a_bits_mask,
+  output [31:0] auto_tl_other_masters_out_a_bits_data,
+  output        auto_tl_other_masters_out_b_ready,
+  input         auto_tl_other_masters_out_b_valid,
+  input  [2:0]  auto_tl_other_masters_out_b_bits_opcode,
+  input  [1:0]  auto_tl_other_masters_out_b_bits_param,
+  input  [3:0]  auto_tl_other_masters_out_b_bits_size,
+  input  [1:0]  auto_tl_other_masters_out_b_bits_source,
+  input  [30:0] auto_tl_other_masters_out_b_bits_address,
+  input  [3:0]  auto_tl_other_masters_out_b_bits_mask,
+  input         auto_tl_other_masters_out_b_bits_corrupt,
+  input         auto_tl_other_masters_out_c_ready,
+  output        auto_tl_other_masters_out_c_valid,
+  output [2:0]  auto_tl_other_masters_out_c_bits_opcode,
+  output [2:0]  auto_tl_other_masters_out_c_bits_param,
+  output [3:0]  auto_tl_other_masters_out_c_bits_size,
+  output [1:0]  auto_tl_other_masters_out_c_bits_source,
+  output [30:0] auto_tl_other_masters_out_c_bits_address,
+  output [31:0] auto_tl_other_masters_out_c_bits_data,
+  output        auto_tl_other_masters_out_d_ready,
+  input         auto_tl_other_masters_out_d_valid,
+  input  [2:0]  auto_tl_other_masters_out_d_bits_opcode,
+  input  [1:0]  auto_tl_other_masters_out_d_bits_param,
+  input  [3:0]  auto_tl_other_masters_out_d_bits_size,
+  input  [1:0]  auto_tl_other_masters_out_d_bits_source,
+  input  [1:0]  auto_tl_other_masters_out_d_bits_sink,
+  input         auto_tl_other_masters_out_d_bits_denied,
+  input  [31:0] auto_tl_other_masters_out_d_bits_data,
+  input         auto_tl_other_masters_out_d_bits_corrupt,
+  input         auto_tl_other_masters_out_e_ready,
+  output        auto_tl_other_masters_out_e_valid,
+  output [1:0]  auto_tl_other_masters_out_e_bits_sink, // <no_sram>
+  output [5:0]  tag_array_ext_RW0_addr, // <no_sram>
+  output        tag_array_ext_RW0_en, // <no_sram>
+  output        tag_array_ext_RW0_clk, // <no_sram>
+  output        tag_array_ext_RW0_wmode, // <no_sram>
+  output [20:0] tag_array_ext_RW0_wdata, // <no_sram>
+  input  [20:0] tag_array_ext_RW0_rdata, // <no_sram>
+  output [9:0]  data_arrays_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_ext_RW0_wmode, // <no_sram>
+  output [31:0] data_arrays_0_ext_RW0_wdata, // <no_sram>
+  input  [31:0] data_arrays_0_ext_RW0_rdata, // <no_sram>
+  output [3:0]  data_arrays_0_ext_RW0_wmask, // <no_sram>
+  output [6:0]  tag_array_0_ext_RW0_addr, // <no_sram>
+  output        tag_array_0_ext_RW0_en, // <no_sram>
+  output        tag_array_0_ext_RW0_clk, // <no_sram>
+  output        tag_array_0_ext_RW0_wmode, // <no_sram>
+  output [37:0] tag_array_0_ext_RW0_wdata, // <no_sram>
+  input  [37:0] tag_array_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  tag_array_0_ext_RW0_wmask, // <no_sram>
+  output [10:0] data_arrays_0_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_wmode, // <no_sram>
+  output [63:0] data_arrays_0_0_ext_RW0_wdata, // <no_sram>
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  data_arrays_0_0_ext_RW0_wmask // <no_sram>
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+`endif // RANDOMIZE_REG_INIT
+  wire  tlMasterXbar_clock; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_reset; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_1_a_ready; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_1_a_valid; // @[BaseTile.scala 210:42]
+  wire [30:0] tlMasterXbar_auto_in_1_a_bits_address; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_1_d_ready; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_1_d_valid; // @[BaseTile.scala 210:42]
+  wire [2:0] tlMasterXbar_auto_in_1_d_bits_opcode; // @[BaseTile.scala 210:42]
+  wire [3:0] tlMasterXbar_auto_in_1_d_bits_size; // @[BaseTile.scala 210:42]
+  wire [31:0] tlMasterXbar_auto_in_1_d_bits_data; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_1_d_bits_corrupt; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_0_a_ready; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_0_a_valid; // @[BaseTile.scala 210:42]
+  wire [2:0] tlMasterXbar_auto_in_0_a_bits_opcode; // @[BaseTile.scala 210:42]
+  wire [2:0] tlMasterXbar_auto_in_0_a_bits_param; // @[BaseTile.scala 210:42]
+  wire [3:0] tlMasterXbar_auto_in_0_a_bits_size; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_0_a_bits_source; // @[BaseTile.scala 210:42]
+  wire [30:0] tlMasterXbar_auto_in_0_a_bits_address; // @[BaseTile.scala 210:42]
+  wire [3:0] tlMasterXbar_auto_in_0_a_bits_mask; // @[BaseTile.scala 210:42]
+  wire [31:0] tlMasterXbar_auto_in_0_a_bits_data; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_0_b_ready; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_0_b_valid; // @[BaseTile.scala 210:42]
+  wire [1:0] tlMasterXbar_auto_in_0_b_bits_param; // @[BaseTile.scala 210:42]
+  wire [3:0] tlMasterXbar_auto_in_0_b_bits_size; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_0_b_bits_source; // @[BaseTile.scala 210:42]
+  wire [30:0] tlMasterXbar_auto_in_0_b_bits_address; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_0_c_ready; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_0_c_valid; // @[BaseTile.scala 210:42]
+  wire [2:0] tlMasterXbar_auto_in_0_c_bits_opcode; // @[BaseTile.scala 210:42]
+  wire [2:0] tlMasterXbar_auto_in_0_c_bits_param; // @[BaseTile.scala 210:42]
+  wire [3:0] tlMasterXbar_auto_in_0_c_bits_size; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_0_c_bits_source; // @[BaseTile.scala 210:42]
+  wire [30:0] tlMasterXbar_auto_in_0_c_bits_address; // @[BaseTile.scala 210:42]
+  wire [31:0] tlMasterXbar_auto_in_0_c_bits_data; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_0_d_ready; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_0_d_valid; // @[BaseTile.scala 210:42]
+  wire [2:0] tlMasterXbar_auto_in_0_d_bits_opcode; // @[BaseTile.scala 210:42]
+  wire [1:0] tlMasterXbar_auto_in_0_d_bits_param; // @[BaseTile.scala 210:42]
+  wire [3:0] tlMasterXbar_auto_in_0_d_bits_size; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_0_d_bits_source; // @[BaseTile.scala 210:42]
+  wire [1:0] tlMasterXbar_auto_in_0_d_bits_sink; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_0_d_bits_denied; // @[BaseTile.scala 210:42]
+  wire [31:0] tlMasterXbar_auto_in_0_d_bits_data; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_0_e_ready; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_in_0_e_valid; // @[BaseTile.scala 210:42]
+  wire [1:0] tlMasterXbar_auto_in_0_e_bits_sink; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_out_a_ready; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_out_a_valid; // @[BaseTile.scala 210:42]
+  wire [2:0] tlMasterXbar_auto_out_a_bits_opcode; // @[BaseTile.scala 210:42]
+  wire [2:0] tlMasterXbar_auto_out_a_bits_param; // @[BaseTile.scala 210:42]
+  wire [3:0] tlMasterXbar_auto_out_a_bits_size; // @[BaseTile.scala 210:42]
+  wire [1:0] tlMasterXbar_auto_out_a_bits_source; // @[BaseTile.scala 210:42]
+  wire [30:0] tlMasterXbar_auto_out_a_bits_address; // @[BaseTile.scala 210:42]
+  wire [3:0] tlMasterXbar_auto_out_a_bits_mask; // @[BaseTile.scala 210:42]
+  wire [31:0] tlMasterXbar_auto_out_a_bits_data; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_out_b_ready; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_out_b_valid; // @[BaseTile.scala 210:42]
+  wire [2:0] tlMasterXbar_auto_out_b_bits_opcode; // @[BaseTile.scala 210:42]
+  wire [1:0] tlMasterXbar_auto_out_b_bits_param; // @[BaseTile.scala 210:42]
+  wire [3:0] tlMasterXbar_auto_out_b_bits_size; // @[BaseTile.scala 210:42]
+  wire [1:0] tlMasterXbar_auto_out_b_bits_source; // @[BaseTile.scala 210:42]
+  wire [30:0] tlMasterXbar_auto_out_b_bits_address; // @[BaseTile.scala 210:42]
+  wire [3:0] tlMasterXbar_auto_out_b_bits_mask; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_out_b_bits_corrupt; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_out_c_ready; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_out_c_valid; // @[BaseTile.scala 210:42]
+  wire [2:0] tlMasterXbar_auto_out_c_bits_opcode; // @[BaseTile.scala 210:42]
+  wire [2:0] tlMasterXbar_auto_out_c_bits_param; // @[BaseTile.scala 210:42]
+  wire [3:0] tlMasterXbar_auto_out_c_bits_size; // @[BaseTile.scala 210:42]
+  wire [1:0] tlMasterXbar_auto_out_c_bits_source; // @[BaseTile.scala 210:42]
+  wire [30:0] tlMasterXbar_auto_out_c_bits_address; // @[BaseTile.scala 210:42]
+  wire [31:0] tlMasterXbar_auto_out_c_bits_data; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_out_d_ready; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_out_d_valid; // @[BaseTile.scala 210:42]
+  wire [2:0] tlMasterXbar_auto_out_d_bits_opcode; // @[BaseTile.scala 210:42]
+  wire [1:0] tlMasterXbar_auto_out_d_bits_param; // @[BaseTile.scala 210:42]
+  wire [3:0] tlMasterXbar_auto_out_d_bits_size; // @[BaseTile.scala 210:42]
+  wire [1:0] tlMasterXbar_auto_out_d_bits_source; // @[BaseTile.scala 210:42]
+  wire [1:0] tlMasterXbar_auto_out_d_bits_sink; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_out_d_bits_denied; // @[BaseTile.scala 210:42]
+  wire [31:0] tlMasterXbar_auto_out_d_bits_data; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_out_d_bits_corrupt; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_out_e_ready; // @[BaseTile.scala 210:42]
+  wire  tlMasterXbar_auto_out_e_valid; // @[BaseTile.scala 210:42]
+  wire [1:0] tlMasterXbar_auto_out_e_bits_sink; // @[BaseTile.scala 210:42]
+  wire  tlSlaveXbar_auto_in_a_ready; // @[BaseTile.scala 211:41]
+  wire  tlSlaveXbar_auto_in_a_valid; // @[BaseTile.scala 211:41]
+  wire [2:0] tlSlaveXbar_auto_in_a_bits_opcode; // @[BaseTile.scala 211:41]
+  wire [2:0] tlSlaveXbar_auto_in_a_bits_param; // @[BaseTile.scala 211:41]
+  wire [2:0] tlSlaveXbar_auto_in_a_bits_size; // @[BaseTile.scala 211:41]
+  wire [1:0] tlSlaveXbar_auto_in_a_bits_source; // @[BaseTile.scala 211:41]
+  wire [27:0] tlSlaveXbar_auto_in_a_bits_address; // @[BaseTile.scala 211:41]
+  wire [3:0] tlSlaveXbar_auto_in_a_bits_mask; // @[BaseTile.scala 211:41]
+  wire [31:0] tlSlaveXbar_auto_in_a_bits_data; // @[BaseTile.scala 211:41]
+  wire  tlSlaveXbar_auto_in_a_bits_corrupt; // @[BaseTile.scala 211:41]
+  wire  tlSlaveXbar_auto_in_d_ready; // @[BaseTile.scala 211:41]
+  wire  tlSlaveXbar_auto_in_d_valid; // @[BaseTile.scala 211:41]
+  wire [2:0] tlSlaveXbar_auto_in_d_bits_opcode; // @[BaseTile.scala 211:41]
+  wire [2:0] tlSlaveXbar_auto_in_d_bits_size; // @[BaseTile.scala 211:41]
+  wire [1:0] tlSlaveXbar_auto_in_d_bits_source; // @[BaseTile.scala 211:41]
+  wire [31:0] tlSlaveXbar_auto_in_d_bits_data; // @[BaseTile.scala 211:41]
+  wire  tlSlaveXbar_auto_out_a_ready; // @[BaseTile.scala 211:41]
+  wire  tlSlaveXbar_auto_out_a_valid; // @[BaseTile.scala 211:41]
+  wire [2:0] tlSlaveXbar_auto_out_a_bits_opcode; // @[BaseTile.scala 211:41]
+  wire [2:0] tlSlaveXbar_auto_out_a_bits_param; // @[BaseTile.scala 211:41]
+  wire [2:0] tlSlaveXbar_auto_out_a_bits_size; // @[BaseTile.scala 211:41]
+  wire [1:0] tlSlaveXbar_auto_out_a_bits_source; // @[BaseTile.scala 211:41]
+  wire [27:0] tlSlaveXbar_auto_out_a_bits_address; // @[BaseTile.scala 211:41]
+  wire [3:0] tlSlaveXbar_auto_out_a_bits_mask; // @[BaseTile.scala 211:41]
+  wire [31:0] tlSlaveXbar_auto_out_a_bits_data; // @[BaseTile.scala 211:41]
+  wire  tlSlaveXbar_auto_out_a_bits_corrupt; // @[BaseTile.scala 211:41]
+  wire  tlSlaveXbar_auto_out_d_ready; // @[BaseTile.scala 211:41]
+  wire  tlSlaveXbar_auto_out_d_valid; // @[BaseTile.scala 211:41]
+  wire [2:0] tlSlaveXbar_auto_out_d_bits_opcode; // @[BaseTile.scala 211:41]
+  wire [2:0] tlSlaveXbar_auto_out_d_bits_size; // @[BaseTile.scala 211:41]
+  wire [1:0] tlSlaveXbar_auto_out_d_bits_source; // @[BaseTile.scala 211:41]
+  wire [31:0] tlSlaveXbar_auto_out_d_bits_data; // @[BaseTile.scala 211:41]
+  wire  intXbar_auto_int_in_3_0; // @[BaseTile.scala 212:37]
+  wire  intXbar_auto_int_in_2_0; // @[BaseTile.scala 212:37]
+  wire  intXbar_auto_int_in_1_0; // @[BaseTile.scala 212:37]
+  wire  intXbar_auto_int_in_1_1; // @[BaseTile.scala 212:37]
+  wire  intXbar_auto_int_in_0_0; // @[BaseTile.scala 212:37]
+  wire  intXbar_auto_int_out_0; // @[BaseTile.scala 212:37]
+  wire  intXbar_auto_int_out_1; // @[BaseTile.scala 212:37]
+  wire  intXbar_auto_int_out_2; // @[BaseTile.scala 212:37]
+  wire  intXbar_auto_int_out_3; // @[BaseTile.scala 212:37]
+  wire  intXbar_auto_int_out_4; // @[BaseTile.scala 212:37]
+  wire  broadcast_auto_in; // @[BundleBridge.scala 196:31]
+  wire  broadcast_auto_out_0; // @[BundleBridge.scala 196:31]
+  wire  dcache_clock; // @[HellaCache.scala 269:43]
+  wire  dcache_reset; // @[HellaCache.scala 269:43]
+  wire  dcache_auto_out_a_ready; // @[HellaCache.scala 269:43]
+  wire  dcache_auto_out_a_valid; // @[HellaCache.scala 269:43]
+  wire [2:0] dcache_auto_out_a_bits_opcode; // @[HellaCache.scala 269:43]
+  wire [2:0] dcache_auto_out_a_bits_param; // @[HellaCache.scala 269:43]
+  wire [3:0] dcache_auto_out_a_bits_size; // @[HellaCache.scala 269:43]
+  wire  dcache_auto_out_a_bits_source; // @[HellaCache.scala 269:43]
+  wire [30:0] dcache_auto_out_a_bits_address; // @[HellaCache.scala 269:43]
+  wire [3:0] dcache_auto_out_a_bits_mask; // @[HellaCache.scala 269:43]
+  wire [31:0] dcache_auto_out_a_bits_data; // @[HellaCache.scala 269:43]
+  wire  dcache_auto_out_b_ready; // @[HellaCache.scala 269:43]
+  wire  dcache_auto_out_b_valid; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_auto_out_b_bits_param; // @[HellaCache.scala 269:43]
+  wire [3:0] dcache_auto_out_b_bits_size; // @[HellaCache.scala 269:43]
+  wire  dcache_auto_out_b_bits_source; // @[HellaCache.scala 269:43]
+  wire [30:0] dcache_auto_out_b_bits_address; // @[HellaCache.scala 269:43]
+  wire  dcache_auto_out_c_ready; // @[HellaCache.scala 269:43]
+  wire  dcache_auto_out_c_valid; // @[HellaCache.scala 269:43]
+  wire [2:0] dcache_auto_out_c_bits_opcode; // @[HellaCache.scala 269:43]
+  wire [2:0] dcache_auto_out_c_bits_param; // @[HellaCache.scala 269:43]
+  wire [3:0] dcache_auto_out_c_bits_size; // @[HellaCache.scala 269:43]
+  wire  dcache_auto_out_c_bits_source; // @[HellaCache.scala 269:43]
+  wire [30:0] dcache_auto_out_c_bits_address; // @[HellaCache.scala 269:43]
+  wire [31:0] dcache_auto_out_c_bits_data; // @[HellaCache.scala 269:43]
+  wire  dcache_auto_out_d_ready; // @[HellaCache.scala 269:43]
+  wire  dcache_auto_out_d_valid; // @[HellaCache.scala 269:43]
+  wire [2:0] dcache_auto_out_d_bits_opcode; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_auto_out_d_bits_param; // @[HellaCache.scala 269:43]
+  wire [3:0] dcache_auto_out_d_bits_size; // @[HellaCache.scala 269:43]
+  wire  dcache_auto_out_d_bits_source; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_auto_out_d_bits_sink; // @[HellaCache.scala 269:43]
+  wire  dcache_auto_out_d_bits_denied; // @[HellaCache.scala 269:43]
+  wire [31:0] dcache_auto_out_d_bits_data; // @[HellaCache.scala 269:43]
+  wire  dcache_auto_out_e_ready; // @[HellaCache.scala 269:43]
+  wire  dcache_auto_out_e_valid; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_auto_out_e_bits_sink; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_req_ready; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_req_valid; // @[HellaCache.scala 269:43]
+  wire [31:0] dcache_io_cpu_req_bits_addr; // @[HellaCache.scala 269:43]
+  wire [5:0] dcache_io_cpu_req_bits_tag; // @[HellaCache.scala 269:43]
+  wire [4:0] dcache_io_cpu_req_bits_cmd; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_io_cpu_req_bits_size; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_req_bits_signed; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_io_cpu_req_bits_dprv; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_s1_kill; // @[HellaCache.scala 269:43]
+  wire [31:0] dcache_io_cpu_s1_data_data; // @[HellaCache.scala 269:43]
+  wire [3:0] dcache_io_cpu_s1_data_mask; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_s2_nack; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_resp_valid; // @[HellaCache.scala 269:43]
+  wire [31:0] dcache_io_cpu_resp_bits_addr; // @[HellaCache.scala 269:43]
+  wire [5:0] dcache_io_cpu_resp_bits_tag; // @[HellaCache.scala 269:43]
+  wire [4:0] dcache_io_cpu_resp_bits_cmd; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_io_cpu_resp_bits_size; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_resp_bits_signed; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_io_cpu_resp_bits_dprv; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_resp_bits_dv; // @[HellaCache.scala 269:43]
+  wire [31:0] dcache_io_cpu_resp_bits_data; // @[HellaCache.scala 269:43]
+  wire [3:0] dcache_io_cpu_resp_bits_mask; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_resp_bits_replay; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_resp_bits_has_data; // @[HellaCache.scala 269:43]
+  wire [31:0] dcache_io_cpu_resp_bits_data_word_bypass; // @[HellaCache.scala 269:43]
+  wire [31:0] dcache_io_cpu_resp_bits_data_raw; // @[HellaCache.scala 269:43]
+  wire [31:0] dcache_io_cpu_resp_bits_store_data; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_replay_next; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_s2_xcpt_ma_ld; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_s2_xcpt_ma_st; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_s2_xcpt_pf_ld; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_s2_xcpt_pf_st; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_s2_xcpt_gf_ld; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_s2_xcpt_gf_st; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_s2_xcpt_ae_ld; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_s2_xcpt_ae_st; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_ordered; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_perf_release; // @[HellaCache.scala 269:43]
+  wire  dcache_io_cpu_perf_grant; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_status_debug; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_0_cfg_l; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_io_ptw_pmp_0_cfg_a; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_0_cfg_x; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_0_cfg_w; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_0_cfg_r; // @[HellaCache.scala 269:43]
+  wire [28:0] dcache_io_ptw_pmp_0_addr; // @[HellaCache.scala 269:43]
+  wire [30:0] dcache_io_ptw_pmp_0_mask; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_1_cfg_l; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_io_ptw_pmp_1_cfg_a; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_1_cfg_x; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_1_cfg_w; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_1_cfg_r; // @[HellaCache.scala 269:43]
+  wire [28:0] dcache_io_ptw_pmp_1_addr; // @[HellaCache.scala 269:43]
+  wire [30:0] dcache_io_ptw_pmp_1_mask; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_2_cfg_l; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_io_ptw_pmp_2_cfg_a; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_2_cfg_x; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_2_cfg_w; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_2_cfg_r; // @[HellaCache.scala 269:43]
+  wire [28:0] dcache_io_ptw_pmp_2_addr; // @[HellaCache.scala 269:43]
+  wire [30:0] dcache_io_ptw_pmp_2_mask; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_3_cfg_l; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_io_ptw_pmp_3_cfg_a; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_3_cfg_x; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_3_cfg_w; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_3_cfg_r; // @[HellaCache.scala 269:43]
+  wire [28:0] dcache_io_ptw_pmp_3_addr; // @[HellaCache.scala 269:43]
+  wire [30:0] dcache_io_ptw_pmp_3_mask; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_4_cfg_l; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_io_ptw_pmp_4_cfg_a; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_4_cfg_x; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_4_cfg_w; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_4_cfg_r; // @[HellaCache.scala 269:43]
+  wire [28:0] dcache_io_ptw_pmp_4_addr; // @[HellaCache.scala 269:43]
+  wire [30:0] dcache_io_ptw_pmp_4_mask; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_5_cfg_l; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_io_ptw_pmp_5_cfg_a; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_5_cfg_x; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_5_cfg_w; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_5_cfg_r; // @[HellaCache.scala 269:43]
+  wire [28:0] dcache_io_ptw_pmp_5_addr; // @[HellaCache.scala 269:43]
+  wire [30:0] dcache_io_ptw_pmp_5_mask; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_6_cfg_l; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_io_ptw_pmp_6_cfg_a; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_6_cfg_x; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_6_cfg_w; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_6_cfg_r; // @[HellaCache.scala 269:43]
+  wire [28:0] dcache_io_ptw_pmp_6_addr; // @[HellaCache.scala 269:43]
+  wire [30:0] dcache_io_ptw_pmp_6_mask; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_7_cfg_l; // @[HellaCache.scala 269:43]
+  wire [1:0] dcache_io_ptw_pmp_7_cfg_a; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_7_cfg_x; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_7_cfg_w; // @[HellaCache.scala 269:43]
+  wire  dcache_io_ptw_pmp_7_cfg_r; // @[HellaCache.scala 269:43]
+  wire [28:0] dcache_io_ptw_pmp_7_addr; // @[HellaCache.scala 269:43]
+  wire [30:0] dcache_io_ptw_pmp_7_mask; // @[HellaCache.scala 269:43]
+  wire  frontend_clock; // @[Frontend.scala 371:28]
+  wire  frontend_reset; // @[Frontend.scala 371:28]
+  wire  frontend_auto_icache_slave_in_a_ready; // @[Frontend.scala 371:28]
+  wire  frontend_auto_icache_slave_in_a_valid; // @[Frontend.scala 371:28]
+  wire [2:0] frontend_auto_icache_slave_in_a_bits_opcode; // @[Frontend.scala 371:28]
+  wire [1:0] frontend_auto_icache_slave_in_a_bits_size; // @[Frontend.scala 371:28]
+  wire [7:0] frontend_auto_icache_slave_in_a_bits_source; // @[Frontend.scala 371:28]
+  wire [27:0] frontend_auto_icache_slave_in_a_bits_address; // @[Frontend.scala 371:28]
+  wire [3:0] frontend_auto_icache_slave_in_a_bits_mask; // @[Frontend.scala 371:28]
+  wire [31:0] frontend_auto_icache_slave_in_a_bits_data; // @[Frontend.scala 371:28]
+  wire  frontend_auto_icache_slave_in_d_ready; // @[Frontend.scala 371:28]
+  wire  frontend_auto_icache_slave_in_d_valid; // @[Frontend.scala 371:28]
+  wire [2:0] frontend_auto_icache_slave_in_d_bits_opcode; // @[Frontend.scala 371:28]
+  wire [1:0] frontend_auto_icache_slave_in_d_bits_size; // @[Frontend.scala 371:28]
+  wire [7:0] frontend_auto_icache_slave_in_d_bits_source; // @[Frontend.scala 371:28]
+  wire [31:0] frontend_auto_icache_slave_in_d_bits_data; // @[Frontend.scala 371:28]
+  wire  frontend_auto_icache_master_out_a_ready; // @[Frontend.scala 371:28]
+  wire  frontend_auto_icache_master_out_a_valid; // @[Frontend.scala 371:28]
+  wire [30:0] frontend_auto_icache_master_out_a_bits_address; // @[Frontend.scala 371:28]
+  wire  frontend_auto_icache_master_out_d_ready; // @[Frontend.scala 371:28]
+  wire  frontend_auto_icache_master_out_d_valid; // @[Frontend.scala 371:28]
+  wire [2:0] frontend_auto_icache_master_out_d_bits_opcode; // @[Frontend.scala 371:28]
+  wire [3:0] frontend_auto_icache_master_out_d_bits_size; // @[Frontend.scala 371:28]
+  wire [31:0] frontend_auto_icache_master_out_d_bits_data; // @[Frontend.scala 371:28]
+  wire  frontend_auto_icache_master_out_d_bits_corrupt; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_might_request; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_req_valid; // @[Frontend.scala 371:28]
+  wire [31:0] frontend_io_cpu_req_bits_pc; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_req_bits_speculative; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_resp_ready; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_resp_valid; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_resp_bits_btb_taken; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_resp_bits_btb_bridx; // @[Frontend.scala 371:28]
+  wire [4:0] frontend_io_cpu_resp_bits_btb_entry; // @[Frontend.scala 371:28]
+  wire [7:0] frontend_io_cpu_resp_bits_btb_bht_history; // @[Frontend.scala 371:28]
+  wire [31:0] frontend_io_cpu_resp_bits_pc; // @[Frontend.scala 371:28]
+  wire [31:0] frontend_io_cpu_resp_bits_data; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_resp_bits_xcpt_ae_inst; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_resp_bits_replay; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_btb_update_valid; // @[Frontend.scala 371:28]
+  wire [4:0] frontend_io_cpu_btb_update_bits_prediction_entry; // @[Frontend.scala 371:28]
+  wire [31:0] frontend_io_cpu_btb_update_bits_pc; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_btb_update_bits_isValid; // @[Frontend.scala 371:28]
+  wire [31:0] frontend_io_cpu_btb_update_bits_br_pc; // @[Frontend.scala 371:28]
+  wire [1:0] frontend_io_cpu_btb_update_bits_cfiType; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_bht_update_valid; // @[Frontend.scala 371:28]
+  wire [7:0] frontend_io_cpu_bht_update_bits_prediction_history; // @[Frontend.scala 371:28]
+  wire [31:0] frontend_io_cpu_bht_update_bits_pc; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_bht_update_bits_branch; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_bht_update_bits_taken; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_bht_update_bits_mispredict; // @[Frontend.scala 371:28]
+  wire  frontend_io_cpu_flush_icache; // @[Frontend.scala 371:28]
+  wire [31:0] frontend_io_cpu_npc; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_status_debug; // @[Frontend.scala 371:28]
+  wire [1:0] frontend_io_ptw_status_prv; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_0_cfg_l; // @[Frontend.scala 371:28]
+  wire [1:0] frontend_io_ptw_pmp_0_cfg_a; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_0_cfg_x; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_0_cfg_w; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_0_cfg_r; // @[Frontend.scala 371:28]
+  wire [28:0] frontend_io_ptw_pmp_0_addr; // @[Frontend.scala 371:28]
+  wire [30:0] frontend_io_ptw_pmp_0_mask; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_1_cfg_l; // @[Frontend.scala 371:28]
+  wire [1:0] frontend_io_ptw_pmp_1_cfg_a; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_1_cfg_x; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_1_cfg_w; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_1_cfg_r; // @[Frontend.scala 371:28]
+  wire [28:0] frontend_io_ptw_pmp_1_addr; // @[Frontend.scala 371:28]
+  wire [30:0] frontend_io_ptw_pmp_1_mask; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_2_cfg_l; // @[Frontend.scala 371:28]
+  wire [1:0] frontend_io_ptw_pmp_2_cfg_a; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_2_cfg_x; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_2_cfg_w; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_2_cfg_r; // @[Frontend.scala 371:28]
+  wire [28:0] frontend_io_ptw_pmp_2_addr; // @[Frontend.scala 371:28]
+  wire [30:0] frontend_io_ptw_pmp_2_mask; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_3_cfg_l; // @[Frontend.scala 371:28]
+  wire [1:0] frontend_io_ptw_pmp_3_cfg_a; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_3_cfg_x; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_3_cfg_w; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_3_cfg_r; // @[Frontend.scala 371:28]
+  wire [28:0] frontend_io_ptw_pmp_3_addr; // @[Frontend.scala 371:28]
+  wire [30:0] frontend_io_ptw_pmp_3_mask; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_4_cfg_l; // @[Frontend.scala 371:28]
+  wire [1:0] frontend_io_ptw_pmp_4_cfg_a; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_4_cfg_x; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_4_cfg_w; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_4_cfg_r; // @[Frontend.scala 371:28]
+  wire [28:0] frontend_io_ptw_pmp_4_addr; // @[Frontend.scala 371:28]
+  wire [30:0] frontend_io_ptw_pmp_4_mask; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_5_cfg_l; // @[Frontend.scala 371:28]
+  wire [1:0] frontend_io_ptw_pmp_5_cfg_a; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_5_cfg_x; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_5_cfg_w; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_5_cfg_r; // @[Frontend.scala 371:28]
+  wire [28:0] frontend_io_ptw_pmp_5_addr; // @[Frontend.scala 371:28]
+  wire [30:0] frontend_io_ptw_pmp_5_mask; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_6_cfg_l; // @[Frontend.scala 371:28]
+  wire [1:0] frontend_io_ptw_pmp_6_cfg_a; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_6_cfg_x; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_6_cfg_w; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_6_cfg_r; // @[Frontend.scala 371:28]
+  wire [28:0] frontend_io_ptw_pmp_6_addr; // @[Frontend.scala 371:28]
+  wire [30:0] frontend_io_ptw_pmp_6_mask; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_7_cfg_l; // @[Frontend.scala 371:28]
+  wire [1:0] frontend_io_ptw_pmp_7_cfg_a; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_7_cfg_x; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_7_cfg_w; // @[Frontend.scala 371:28]
+  wire  frontend_io_ptw_pmp_7_cfg_r; // @[Frontend.scala 371:28]
+  wire [28:0] frontend_io_ptw_pmp_7_addr; // @[Frontend.scala 371:28]
+  wire [30:0] frontend_io_ptw_pmp_7_mask; // @[Frontend.scala 371:28]
+  wire [31:0] frontend_io_ptw_customCSRs_csrs_0_value; // @[Frontend.scala 371:28]
+  wire  fragmenter_clock; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_reset; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [27:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 333:34]
+  wire [7:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 333:34]
+  wire [27:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 333:34]
+  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 333:34]
+  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 333:34]
+  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 333:34]
+  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 333:34]
+  wire [7:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 333:34]
+  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 333:34]
+  wire  dcacheArb_io_requestor_0_req_ready; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_req_valid; // @[HellaCache.scala 280:25]
+  wire [31:0] dcacheArb_io_requestor_0_req_bits_addr; // @[HellaCache.scala 280:25]
+  wire [5:0] dcacheArb_io_requestor_0_req_bits_tag; // @[HellaCache.scala 280:25]
+  wire [4:0] dcacheArb_io_requestor_0_req_bits_cmd; // @[HellaCache.scala 280:25]
+  wire [1:0] dcacheArb_io_requestor_0_req_bits_size; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_req_bits_signed; // @[HellaCache.scala 280:25]
+  wire [1:0] dcacheArb_io_requestor_0_req_bits_dprv; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_s1_kill; // @[HellaCache.scala 280:25]
+  wire [31:0] dcacheArb_io_requestor_0_s1_data_data; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_s2_nack; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_resp_valid; // @[HellaCache.scala 280:25]
+  wire [5:0] dcacheArb_io_requestor_0_resp_bits_tag; // @[HellaCache.scala 280:25]
+  wire [31:0] dcacheArb_io_requestor_0_resp_bits_data; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_resp_bits_replay; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_resp_bits_has_data; // @[HellaCache.scala 280:25]
+  wire [31:0] dcacheArb_io_requestor_0_resp_bits_data_word_bypass; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_replay_next; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_s2_xcpt_ma_ld; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_s2_xcpt_ma_st; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_s2_xcpt_pf_ld; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_s2_xcpt_pf_st; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_s2_xcpt_ae_ld; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_s2_xcpt_ae_st; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_ordered; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_perf_release; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_requestor_0_perf_grant; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_req_ready; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_req_valid; // @[HellaCache.scala 280:25]
+  wire [31:0] dcacheArb_io_mem_req_bits_addr; // @[HellaCache.scala 280:25]
+  wire [5:0] dcacheArb_io_mem_req_bits_tag; // @[HellaCache.scala 280:25]
+  wire [4:0] dcacheArb_io_mem_req_bits_cmd; // @[HellaCache.scala 280:25]
+  wire [1:0] dcacheArb_io_mem_req_bits_size; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_req_bits_signed; // @[HellaCache.scala 280:25]
+  wire [1:0] dcacheArb_io_mem_req_bits_dprv; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_s1_kill; // @[HellaCache.scala 280:25]
+  wire [31:0] dcacheArb_io_mem_s1_data_data; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_s2_nack; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_resp_valid; // @[HellaCache.scala 280:25]
+  wire [5:0] dcacheArb_io_mem_resp_bits_tag; // @[HellaCache.scala 280:25]
+  wire [31:0] dcacheArb_io_mem_resp_bits_data; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_resp_bits_replay; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_resp_bits_has_data; // @[HellaCache.scala 280:25]
+  wire [31:0] dcacheArb_io_mem_resp_bits_data_word_bypass; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_replay_next; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_s2_xcpt_ma_ld; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_s2_xcpt_ma_st; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_s2_xcpt_pf_ld; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_s2_xcpt_pf_st; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_s2_xcpt_ae_ld; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_s2_xcpt_ae_st; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_ordered; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_perf_release; // @[HellaCache.scala 280:25]
+  wire  dcacheArb_io_mem_perf_grant; // @[HellaCache.scala 280:25]
+  wire  ptw_clock; // @[PTW.scala 604:19]
+  wire  ptw_reset; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_status_debug; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_0_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_0_pmp_0_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_0_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_0_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_0_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_0_pmp_0_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_0_pmp_0_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_1_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_0_pmp_1_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_1_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_1_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_1_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_0_pmp_1_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_0_pmp_1_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_2_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_0_pmp_2_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_2_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_2_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_2_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_0_pmp_2_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_0_pmp_2_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_3_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_0_pmp_3_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_3_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_3_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_3_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_0_pmp_3_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_0_pmp_3_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_4_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_0_pmp_4_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_4_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_4_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_4_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_0_pmp_4_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_0_pmp_4_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_5_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_0_pmp_5_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_5_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_5_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_5_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_0_pmp_5_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_0_pmp_5_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_6_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_0_pmp_6_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_6_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_6_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_6_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_0_pmp_6_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_0_pmp_6_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_7_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_0_pmp_7_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_7_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_7_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_0_pmp_7_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_0_pmp_7_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_0_pmp_7_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_status_debug; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_1_status_prv; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_0_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_1_pmp_0_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_0_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_0_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_0_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_1_pmp_0_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_1_pmp_0_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_1_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_1_pmp_1_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_1_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_1_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_1_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_1_pmp_1_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_1_pmp_1_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_2_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_1_pmp_2_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_2_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_2_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_2_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_1_pmp_2_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_1_pmp_2_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_3_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_1_pmp_3_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_3_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_3_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_3_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_1_pmp_3_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_1_pmp_3_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_4_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_1_pmp_4_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_4_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_4_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_4_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_1_pmp_4_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_1_pmp_4_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_5_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_1_pmp_5_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_5_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_5_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_5_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_1_pmp_5_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_1_pmp_5_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_6_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_1_pmp_6_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_6_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_6_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_6_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_1_pmp_6_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_1_pmp_6_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_7_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_requestor_1_pmp_7_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_7_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_7_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_requestor_1_pmp_7_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_requestor_1_pmp_7_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_requestor_1_pmp_7_mask; // @[PTW.scala 604:19]
+  wire [31:0] ptw_io_requestor_1_customCSRs_csrs_0_value; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_status_debug; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_dpath_status_prv; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_0_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_dpath_pmp_0_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_0_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_0_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_0_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_dpath_pmp_0_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_dpath_pmp_0_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_1_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_dpath_pmp_1_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_1_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_1_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_1_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_dpath_pmp_1_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_dpath_pmp_1_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_2_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_dpath_pmp_2_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_2_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_2_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_2_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_dpath_pmp_2_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_dpath_pmp_2_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_3_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_dpath_pmp_3_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_3_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_3_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_3_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_dpath_pmp_3_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_dpath_pmp_3_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_4_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_dpath_pmp_4_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_4_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_4_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_4_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_dpath_pmp_4_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_dpath_pmp_4_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_5_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_dpath_pmp_5_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_5_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_5_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_5_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_dpath_pmp_5_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_dpath_pmp_5_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_6_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_dpath_pmp_6_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_6_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_6_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_6_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_dpath_pmp_6_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_dpath_pmp_6_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_7_cfg_l; // @[PTW.scala 604:19]
+  wire [1:0] ptw_io_dpath_pmp_7_cfg_a; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_7_cfg_x; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_7_cfg_w; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_pmp_7_cfg_r; // @[PTW.scala 604:19]
+  wire [28:0] ptw_io_dpath_pmp_7_addr; // @[PTW.scala 604:19]
+  wire [30:0] ptw_io_dpath_pmp_7_mask; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_perf_l2hit; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_perf_pte_miss; // @[PTW.scala 604:19]
+  wire  ptw_io_dpath_perf_pte_hit; // @[PTW.scala 604:19]
+  wire [31:0] ptw_io_dpath_customCSRs_csrs_0_value; // @[PTW.scala 604:19]
+  wire  core_clock; // @[RocketTile.scala 140:20]
+  wire  core_reset; // @[RocketTile.scala 140:20]
+  wire  core_io_hartid; // @[RocketTile.scala 140:20]
+  wire  core_io_interrupts_debug; // @[RocketTile.scala 140:20]
+  wire  core_io_interrupts_mtip; // @[RocketTile.scala 140:20]
+  wire  core_io_interrupts_msip; // @[RocketTile.scala 140:20]
+  wire  core_io_interrupts_meip; // @[RocketTile.scala 140:20]
+  wire  core_io_interrupts_seip; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_might_request; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_req_valid; // @[RocketTile.scala 140:20]
+  wire [31:0] core_io_imem_req_bits_pc; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_req_bits_speculative; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_resp_ready; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_resp_valid; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_resp_bits_btb_taken; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_resp_bits_btb_bridx; // @[RocketTile.scala 140:20]
+  wire [4:0] core_io_imem_resp_bits_btb_entry; // @[RocketTile.scala 140:20]
+  wire [7:0] core_io_imem_resp_bits_btb_bht_history; // @[RocketTile.scala 140:20]
+  wire [31:0] core_io_imem_resp_bits_pc; // @[RocketTile.scala 140:20]
+  wire [31:0] core_io_imem_resp_bits_data; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_resp_bits_xcpt_ae_inst; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_resp_bits_replay; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_btb_update_valid; // @[RocketTile.scala 140:20]
+  wire [4:0] core_io_imem_btb_update_bits_prediction_entry; // @[RocketTile.scala 140:20]
+  wire [31:0] core_io_imem_btb_update_bits_pc; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_btb_update_bits_isValid; // @[RocketTile.scala 140:20]
+  wire [31:0] core_io_imem_btb_update_bits_br_pc; // @[RocketTile.scala 140:20]
+  wire [1:0] core_io_imem_btb_update_bits_cfiType; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_bht_update_valid; // @[RocketTile.scala 140:20]
+  wire [7:0] core_io_imem_bht_update_bits_prediction_history; // @[RocketTile.scala 140:20]
+  wire [31:0] core_io_imem_bht_update_bits_pc; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_bht_update_bits_branch; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_bht_update_bits_taken; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_bht_update_bits_mispredict; // @[RocketTile.scala 140:20]
+  wire  core_io_imem_flush_icache; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_req_ready; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_req_valid; // @[RocketTile.scala 140:20]
+  wire [31:0] core_io_dmem_req_bits_addr; // @[RocketTile.scala 140:20]
+  wire [5:0] core_io_dmem_req_bits_tag; // @[RocketTile.scala 140:20]
+  wire [4:0] core_io_dmem_req_bits_cmd; // @[RocketTile.scala 140:20]
+  wire [1:0] core_io_dmem_req_bits_size; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_req_bits_signed; // @[RocketTile.scala 140:20]
+  wire [1:0] core_io_dmem_req_bits_dprv; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_req_bits_dv; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_s1_kill; // @[RocketTile.scala 140:20]
+  wire [31:0] core_io_dmem_s1_data_data; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_s2_nack; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_resp_valid; // @[RocketTile.scala 140:20]
+  wire [5:0] core_io_dmem_resp_bits_tag; // @[RocketTile.scala 140:20]
+  wire [31:0] core_io_dmem_resp_bits_data; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_resp_bits_replay; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_resp_bits_has_data; // @[RocketTile.scala 140:20]
+  wire [31:0] core_io_dmem_resp_bits_data_word_bypass; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_replay_next; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_s2_xcpt_ma_ld; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_s2_xcpt_ma_st; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_s2_xcpt_pf_ld; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_s2_xcpt_pf_st; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_s2_xcpt_ae_ld; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_s2_xcpt_ae_st; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_ordered; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_perf_release; // @[RocketTile.scala 140:20]
+  wire  core_io_dmem_perf_grant; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_status_debug; // @[RocketTile.scala 140:20]
+  wire [1:0] core_io_ptw_status_prv; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_0_cfg_l; // @[RocketTile.scala 140:20]
+  wire [1:0] core_io_ptw_pmp_0_cfg_a; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_0_cfg_x; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_0_cfg_w; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_0_cfg_r; // @[RocketTile.scala 140:20]
+  wire [28:0] core_io_ptw_pmp_0_addr; // @[RocketTile.scala 140:20]
+  wire [30:0] core_io_ptw_pmp_0_mask; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_1_cfg_l; // @[RocketTile.scala 140:20]
+  wire [1:0] core_io_ptw_pmp_1_cfg_a; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_1_cfg_x; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_1_cfg_w; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_1_cfg_r; // @[RocketTile.scala 140:20]
+  wire [28:0] core_io_ptw_pmp_1_addr; // @[RocketTile.scala 140:20]
+  wire [30:0] core_io_ptw_pmp_1_mask; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_2_cfg_l; // @[RocketTile.scala 140:20]
+  wire [1:0] core_io_ptw_pmp_2_cfg_a; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_2_cfg_x; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_2_cfg_w; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_2_cfg_r; // @[RocketTile.scala 140:20]
+  wire [28:0] core_io_ptw_pmp_2_addr; // @[RocketTile.scala 140:20]
+  wire [30:0] core_io_ptw_pmp_2_mask; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_3_cfg_l; // @[RocketTile.scala 140:20]
+  wire [1:0] core_io_ptw_pmp_3_cfg_a; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_3_cfg_x; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_3_cfg_w; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_3_cfg_r; // @[RocketTile.scala 140:20]
+  wire [28:0] core_io_ptw_pmp_3_addr; // @[RocketTile.scala 140:20]
+  wire [30:0] core_io_ptw_pmp_3_mask; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_4_cfg_l; // @[RocketTile.scala 140:20]
+  wire [1:0] core_io_ptw_pmp_4_cfg_a; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_4_cfg_x; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_4_cfg_w; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_4_cfg_r; // @[RocketTile.scala 140:20]
+  wire [28:0] core_io_ptw_pmp_4_addr; // @[RocketTile.scala 140:20]
+  wire [30:0] core_io_ptw_pmp_4_mask; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_5_cfg_l; // @[RocketTile.scala 140:20]
+  wire [1:0] core_io_ptw_pmp_5_cfg_a; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_5_cfg_x; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_5_cfg_w; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_5_cfg_r; // @[RocketTile.scala 140:20]
+  wire [28:0] core_io_ptw_pmp_5_addr; // @[RocketTile.scala 140:20]
+  wire [30:0] core_io_ptw_pmp_5_mask; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_6_cfg_l; // @[RocketTile.scala 140:20]
+  wire [1:0] core_io_ptw_pmp_6_cfg_a; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_6_cfg_x; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_6_cfg_w; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_6_cfg_r; // @[RocketTile.scala 140:20]
+  wire [28:0] core_io_ptw_pmp_6_addr; // @[RocketTile.scala 140:20]
+  wire [30:0] core_io_ptw_pmp_6_mask; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_7_cfg_l; // @[RocketTile.scala 140:20]
+  wire [1:0] core_io_ptw_pmp_7_cfg_a; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_7_cfg_x; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_7_cfg_w; // @[RocketTile.scala 140:20]
+  wire  core_io_ptw_pmp_7_cfg_r; // @[RocketTile.scala 140:20]
+  wire [28:0] core_io_ptw_pmp_7_addr; // @[RocketTile.scala 140:20]
+  wire [30:0] core_io_ptw_pmp_7_mask; // @[RocketTile.scala 140:20]
+  wire [31:0] core_io_ptw_customCSRs_csrs_0_value; // @[RocketTile.scala 140:20]
+  wire  core_io_wfi; // @[RocketTile.scala 140:20]
+  reg  bundleOut_0_0_REG; // @[Interrupts.scala 126:36]
+  TLXbar_7 tlMasterXbar ( // @[BaseTile.scala 210:42]
+    .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_source(tlMasterXbar_auto_in_0_a_bits_source),
+    .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_b_ready(tlMasterXbar_auto_in_0_b_ready),
+    .auto_in_0_b_valid(tlMasterXbar_auto_in_0_b_valid),
+    .auto_in_0_b_bits_param(tlMasterXbar_auto_in_0_b_bits_param),
+    .auto_in_0_b_bits_size(tlMasterXbar_auto_in_0_b_bits_size),
+    .auto_in_0_b_bits_source(tlMasterXbar_auto_in_0_b_bits_source),
+    .auto_in_0_b_bits_address(tlMasterXbar_auto_in_0_b_bits_address),
+    .auto_in_0_c_ready(tlMasterXbar_auto_in_0_c_ready),
+    .auto_in_0_c_valid(tlMasterXbar_auto_in_0_c_valid),
+    .auto_in_0_c_bits_opcode(tlMasterXbar_auto_in_0_c_bits_opcode),
+    .auto_in_0_c_bits_param(tlMasterXbar_auto_in_0_c_bits_param),
+    .auto_in_0_c_bits_size(tlMasterXbar_auto_in_0_c_bits_size),
+    .auto_in_0_c_bits_source(tlMasterXbar_auto_in_0_c_bits_source),
+    .auto_in_0_c_bits_address(tlMasterXbar_auto_in_0_c_bits_address),
+    .auto_in_0_c_bits_data(tlMasterXbar_auto_in_0_c_bits_data),
+    .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_param(tlMasterXbar_auto_in_0_d_bits_param),
+    .auto_in_0_d_bits_size(tlMasterXbar_auto_in_0_d_bits_size),
+    .auto_in_0_d_bits_source(tlMasterXbar_auto_in_0_d_bits_source),
+    .auto_in_0_d_bits_sink(tlMasterXbar_auto_in_0_d_bits_sink),
+    .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_ready(tlMasterXbar_auto_in_0_e_ready),
+    .auto_in_0_e_valid(tlMasterXbar_auto_in_0_e_valid),
+    .auto_in_0_e_bits_sink(tlMasterXbar_auto_in_0_e_bits_sink),
+    .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_b_ready(tlMasterXbar_auto_out_b_ready),
+    .auto_out_b_valid(tlMasterXbar_auto_out_b_valid),
+    .auto_out_b_bits_opcode(tlMasterXbar_auto_out_b_bits_opcode),
+    .auto_out_b_bits_param(tlMasterXbar_auto_out_b_bits_param),
+    .auto_out_b_bits_size(tlMasterXbar_auto_out_b_bits_size),
+    .auto_out_b_bits_source(tlMasterXbar_auto_out_b_bits_source),
+    .auto_out_b_bits_address(tlMasterXbar_auto_out_b_bits_address),
+    .auto_out_b_bits_mask(tlMasterXbar_auto_out_b_bits_mask),
+    .auto_out_b_bits_corrupt(tlMasterXbar_auto_out_b_bits_corrupt),
+    .auto_out_c_ready(tlMasterXbar_auto_out_c_ready),
+    .auto_out_c_valid(tlMasterXbar_auto_out_c_valid),
+    .auto_out_c_bits_opcode(tlMasterXbar_auto_out_c_bits_opcode),
+    .auto_out_c_bits_param(tlMasterXbar_auto_out_c_bits_param),
+    .auto_out_c_bits_size(tlMasterXbar_auto_out_c_bits_size),
+    .auto_out_c_bits_source(tlMasterXbar_auto_out_c_bits_source),
+    .auto_out_c_bits_address(tlMasterXbar_auto_out_c_bits_address),
+    .auto_out_c_bits_data(tlMasterXbar_auto_out_c_bits_data),
+    .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),
+    .auto_out_e_ready(tlMasterXbar_auto_out_e_ready),
+    .auto_out_e_valid(tlMasterXbar_auto_out_e_valid),
+    .auto_out_e_bits_sink(tlMasterXbar_auto_out_e_bits_sink)
+  );
+  TLXbar_8 tlSlaveXbar ( // @[BaseTile.scala 211:41]
+    .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_size(tlSlaveXbar_auto_in_d_bits_size),
+    .auto_in_d_bits_source(tlSlaveXbar_auto_in_d_bits_source),
+    .auto_in_d_bits_data(tlSlaveXbar_auto_in_d_bits_data),
+    .auto_out_a_ready(tlSlaveXbar_auto_out_a_ready),
+    .auto_out_a_valid(tlSlaveXbar_auto_out_a_valid),
+    .auto_out_a_bits_opcode(tlSlaveXbar_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(tlSlaveXbar_auto_out_a_bits_param),
+    .auto_out_a_bits_size(tlSlaveXbar_auto_out_a_bits_size),
+    .auto_out_a_bits_source(tlSlaveXbar_auto_out_a_bits_source),
+    .auto_out_a_bits_address(tlSlaveXbar_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(tlSlaveXbar_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(tlSlaveXbar_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(tlSlaveXbar_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(tlSlaveXbar_auto_out_d_ready),
+    .auto_out_d_valid(tlSlaveXbar_auto_out_d_valid),
+    .auto_out_d_bits_opcode(tlSlaveXbar_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(tlSlaveXbar_auto_out_d_bits_size),
+    .auto_out_d_bits_source(tlSlaveXbar_auto_out_d_bits_source),
+    .auto_out_d_bits_data(tlSlaveXbar_auto_out_d_bits_data)
+  );
+  IntXbar_1 intXbar ( // @[BaseTile.scala 212:37]
+    .auto_int_in_3_0(intXbar_auto_int_in_3_0),
+    .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),
+    .auto_int_out_4(intXbar_auto_int_out_4)
+  );
+  BundleBridgeNexus_6 broadcast ( // @[BundleBridge.scala 196:31]
+    .auto_in(broadcast_auto_in),
+    .auto_out_0(broadcast_auto_out_0)
+  );
+  DCache dcache ( // @[HellaCache.scala 269:43]
+    .clock(dcache_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_source(dcache_auto_out_a_bits_source),
+    .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_b_ready(dcache_auto_out_b_ready),
+    .auto_out_b_valid(dcache_auto_out_b_valid),
+    .auto_out_b_bits_param(dcache_auto_out_b_bits_param),
+    .auto_out_b_bits_size(dcache_auto_out_b_bits_size),
+    .auto_out_b_bits_source(dcache_auto_out_b_bits_source),
+    .auto_out_b_bits_address(dcache_auto_out_b_bits_address),
+    .auto_out_c_ready(dcache_auto_out_c_ready),
+    .auto_out_c_valid(dcache_auto_out_c_valid),
+    .auto_out_c_bits_opcode(dcache_auto_out_c_bits_opcode),
+    .auto_out_c_bits_param(dcache_auto_out_c_bits_param),
+    .auto_out_c_bits_size(dcache_auto_out_c_bits_size),
+    .auto_out_c_bits_source(dcache_auto_out_c_bits_source),
+    .auto_out_c_bits_address(dcache_auto_out_c_bits_address),
+    .auto_out_c_bits_data(dcache_auto_out_c_bits_data),
+    .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_param(dcache_auto_out_d_bits_param),
+    .auto_out_d_bits_size(dcache_auto_out_d_bits_size),
+    .auto_out_d_bits_source(dcache_auto_out_d_bits_source),
+    .auto_out_d_bits_sink(dcache_auto_out_d_bits_sink),
+    .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_ready(dcache_auto_out_e_ready),
+    .auto_out_e_valid(dcache_auto_out_e_valid),
+    .auto_out_e_bits_sink(dcache_auto_out_e_bits_sink),
+    .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_size(dcache_io_cpu_req_bits_size),
+    .io_cpu_req_bits_signed(dcache_io_cpu_req_bits_signed),
+    .io_cpu_req_bits_dprv(dcache_io_cpu_req_bits_dprv),
+    .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_size(dcache_io_cpu_resp_bits_size),
+    .io_cpu_resp_bits_signed(dcache_io_cpu_resp_bits_signed),
+    .io_cpu_resp_bits_dprv(dcache_io_cpu_resp_bits_dprv),
+    .io_cpu_resp_bits_dv(dcache_io_cpu_resp_bits_dv),
+    .io_cpu_resp_bits_data(dcache_io_cpu_resp_bits_data),
+    .io_cpu_resp_bits_mask(dcache_io_cpu_resp_bits_mask),
+    .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_gf_ld(dcache_io_cpu_s2_xcpt_gf_ld),
+    .io_cpu_s2_xcpt_gf_st(dcache_io_cpu_s2_xcpt_gf_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_release(dcache_io_cpu_perf_release),
+    .io_cpu_perf_grant(dcache_io_cpu_perf_grant),
+    .io_ptw_status_debug(dcache_io_ptw_status_debug),
+    .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), // <no_sram>
+    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr), // <no_sram>
+    .tag_array_ext_RW0_en(tag_array_ext_RW0_en), // <no_sram>
+    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk), // <no_sram>
+    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode), // <no_sram>
+    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata), // <no_sram>
+    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask) // <no_sram>
+  );
+  Frontend frontend ( // @[Frontend.scala 371:28]
+    .clock(frontend_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_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_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_status_debug(frontend_io_ptw_status_debug),
+    .io_ptw_status_prv(frontend_io_ptw_status_prv),
+    .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),
+    .io_ptw_customCSRs_csrs_0_value(frontend_io_ptw_customCSRs_csrs_0_value), // <no_sram>
+    .tag_array_0_ext_RW0_addr(tag_array_0_ext_RW0_addr), // <no_sram>
+    .tag_array_0_ext_RW0_en(tag_array_0_ext_RW0_en), // <no_sram>
+    .tag_array_0_ext_RW0_clk(tag_array_0_ext_RW0_clk), // <no_sram>
+    .tag_array_0_ext_RW0_wmode(tag_array_0_ext_RW0_wmode), // <no_sram>
+    .tag_array_0_ext_RW0_wdata(tag_array_0_ext_RW0_wdata), // <no_sram>
+    .tag_array_0_ext_RW0_rdata(tag_array_0_ext_RW0_rdata), // <no_sram>
+    .tag_array_0_ext_RW0_wmask(tag_array_0_ext_RW0_wmask), // <no_sram>
+    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask) // <no_sram>
+  );
+  TLFragmenter_21 fragmenter ( // @[Fragmenter.scala 333:34]
+    .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)
+  );
+  HellaCacheArbiter dcacheArb ( // @[HellaCache.scala 280:25]
+    .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_size(dcacheArb_io_requestor_0_req_bits_size),
+    .io_requestor_0_req_bits_signed(dcacheArb_io_requestor_0_req_bits_signed),
+    .io_requestor_0_req_bits_dprv(dcacheArb_io_requestor_0_req_bits_dprv),
+    .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_release(dcacheArb_io_requestor_0_perf_release),
+    .io_requestor_0_perf_grant(dcacheArb_io_requestor_0_perf_grant),
+    .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_size(dcacheArb_io_mem_req_bits_size),
+    .io_mem_req_bits_signed(dcacheArb_io_mem_req_bits_signed),
+    .io_mem_req_bits_dprv(dcacheArb_io_mem_req_bits_dprv),
+    .io_mem_s1_kill(dcacheArb_io_mem_s1_kill),
+    .io_mem_s1_data_data(dcacheArb_io_mem_s1_data_data),
+    .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_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_release(dcacheArb_io_mem_perf_release),
+    .io_mem_perf_grant(dcacheArb_io_mem_perf_grant)
+  );
+  PTW ptw ( // @[PTW.scala 604:19]
+    .clock(ptw_clock),
+    .reset(ptw_reset),
+    .io_requestor_0_status_debug(ptw_io_requestor_0_status_debug),
+    .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_status_debug(ptw_io_requestor_1_status_debug),
+    .io_requestor_1_status_prv(ptw_io_requestor_1_status_prv),
+    .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_requestor_1_customCSRs_csrs_0_value(ptw_io_requestor_1_customCSRs_csrs_0_value),
+    .io_dpath_status_debug(ptw_io_dpath_status_debug),
+    .io_dpath_status_prv(ptw_io_dpath_status_prv),
+    .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),
+    .io_dpath_perf_l2hit(ptw_io_dpath_perf_l2hit),
+    .io_dpath_perf_pte_miss(ptw_io_dpath_perf_pte_miss),
+    .io_dpath_perf_pte_hit(ptw_io_dpath_perf_pte_hit),
+    .io_dpath_customCSRs_csrs_0_value(ptw_io_dpath_customCSRs_csrs_0_value)
+  );
+  Rocket core ( // @[RocketTile.scala 140:20]
+    .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_interrupts_seip(core_io_interrupts_seip),
+    .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_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_size(core_io_dmem_req_bits_size),
+    .io_dmem_req_bits_signed(core_io_dmem_req_bits_signed),
+    .io_dmem_req_bits_dprv(core_io_dmem_req_bits_dprv),
+    .io_dmem_req_bits_dv(core_io_dmem_req_bits_dv),
+    .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_release(core_io_dmem_perf_release),
+    .io_dmem_perf_grant(core_io_dmem_perf_grant),
+    .io_ptw_status_debug(core_io_ptw_status_debug),
+    .io_ptw_status_prv(core_io_ptw_status_prv),
+    .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),
+    .io_wfi(core_io_wfi)
+  );
+  assign auto_slave_in_a_ready = tlSlaveXbar_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_slave_in_d_valid = tlSlaveXbar_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_slave_in_d_bits_opcode = tlSlaveXbar_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_slave_in_d_bits_size = tlSlaveXbar_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_slave_in_d_bits_source = tlSlaveXbar_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_slave_in_d_bits_data = tlSlaveXbar_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_wfi_out_0 = bundleOut_0_0_REG; // @[Nodes.scala 1207:84 Interrupts.scala 126:12]
+  assign auto_tl_other_masters_out_a_valid = tlMasterXbar_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_a_bits_opcode = tlMasterXbar_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_a_bits_param = tlMasterXbar_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_a_bits_size = tlMasterXbar_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_a_bits_source = tlMasterXbar_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_a_bits_address = tlMasterXbar_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_a_bits_mask = tlMasterXbar_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_a_bits_data = tlMasterXbar_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_b_ready = tlMasterXbar_auto_out_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_c_valid = tlMasterXbar_auto_out_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_c_bits_opcode = tlMasterXbar_auto_out_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_c_bits_param = tlMasterXbar_auto_out_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_c_bits_size = tlMasterXbar_auto_out_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_c_bits_source = tlMasterXbar_auto_out_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_c_bits_address = tlMasterXbar_auto_out_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_c_bits_data = tlMasterXbar_auto_out_c_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_d_ready = tlMasterXbar_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_e_valid = tlMasterXbar_auto_out_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_other_masters_out_e_bits_sink = tlMasterXbar_auto_out_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign tlMasterXbar_clock = clock;
+  assign tlMasterXbar_reset = reset;
+  assign tlMasterXbar_auto_in_1_a_valid = frontend_auto_icache_master_out_a_valid; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_1_a_bits_address = frontend_auto_icache_master_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_1_d_ready = frontend_auto_icache_master_out_d_ready; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_a_valid = dcache_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_a_bits_opcode = dcache_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_a_bits_param = dcache_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_a_bits_size = dcache_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_a_bits_source = dcache_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_a_bits_address = dcache_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_a_bits_mask = dcache_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_a_bits_data = dcache_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_b_ready = dcache_auto_out_b_ready; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_c_valid = dcache_auto_out_c_valid; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_c_bits_opcode = dcache_auto_out_c_bits_opcode; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_c_bits_param = dcache_auto_out_c_bits_param; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_c_bits_size = dcache_auto_out_c_bits_size; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_c_bits_source = dcache_auto_out_c_bits_source; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_c_bits_address = dcache_auto_out_c_bits_address; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_c_bits_data = dcache_auto_out_c_bits_data; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_d_ready = dcache_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_e_valid = dcache_auto_out_e_valid; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_in_0_e_bits_sink = dcache_auto_out_e_bits_sink; // @[LazyModule.scala 296:16]
+  assign tlMasterXbar_auto_out_a_ready = auto_tl_other_masters_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_b_valid = auto_tl_other_masters_out_b_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_b_bits_opcode = auto_tl_other_masters_out_b_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_b_bits_param = auto_tl_other_masters_out_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_b_bits_size = auto_tl_other_masters_out_b_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_b_bits_source = auto_tl_other_masters_out_b_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_b_bits_address = auto_tl_other_masters_out_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_b_bits_mask = auto_tl_other_masters_out_b_bits_mask; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_b_bits_corrupt = auto_tl_other_masters_out_b_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_c_ready = auto_tl_other_masters_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_d_valid = auto_tl_other_masters_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_d_bits_opcode = auto_tl_other_masters_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_d_bits_param = auto_tl_other_masters_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_d_bits_size = auto_tl_other_masters_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_d_bits_source = auto_tl_other_masters_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_d_bits_sink = auto_tl_other_masters_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_d_bits_denied = auto_tl_other_masters_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_d_bits_data = auto_tl_other_masters_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_d_bits_corrupt = auto_tl_other_masters_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlMasterXbar_auto_out_e_ready = auto_tl_other_masters_out_e_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign tlSlaveXbar_auto_in_a_valid = auto_slave_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign tlSlaveXbar_auto_in_a_bits_opcode = auto_slave_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign tlSlaveXbar_auto_in_a_bits_param = auto_slave_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign tlSlaveXbar_auto_in_a_bits_size = auto_slave_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign tlSlaveXbar_auto_in_a_bits_source = auto_slave_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign tlSlaveXbar_auto_in_a_bits_address = auto_slave_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign tlSlaveXbar_auto_in_a_bits_mask = auto_slave_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign tlSlaveXbar_auto_in_a_bits_data = auto_slave_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign tlSlaveXbar_auto_in_a_bits_corrupt = auto_slave_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign tlSlaveXbar_auto_in_d_ready = auto_slave_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign tlSlaveXbar_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 298:16]
+  assign tlSlaveXbar_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 298:16]
+  assign tlSlaveXbar_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign tlSlaveXbar_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign tlSlaveXbar_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign tlSlaveXbar_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign intXbar_auto_int_in_3_0 = auto_int_local_in_3_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign intXbar_auto_int_in_2_0 = auto_int_local_in_2_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign intXbar_auto_int_in_1_0 = auto_int_local_in_1_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign intXbar_auto_int_in_1_1 = auto_int_local_in_1_1; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign intXbar_auto_int_in_0_0 = auto_int_local_in_0_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign broadcast_auto_in = auto_hartid_in; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign dcache_clock = clock;
+  assign dcache_reset = reset;
+  assign dcache_auto_out_a_ready = tlMasterXbar_auto_in_0_a_ready; // @[LazyModule.scala 296:16]
+  assign dcache_auto_out_b_valid = tlMasterXbar_auto_in_0_b_valid; // @[LazyModule.scala 296:16]
+  assign dcache_auto_out_b_bits_param = tlMasterXbar_auto_in_0_b_bits_param; // @[LazyModule.scala 296:16]
+  assign dcache_auto_out_b_bits_size = tlMasterXbar_auto_in_0_b_bits_size; // @[LazyModule.scala 296:16]
+  assign dcache_auto_out_b_bits_source = tlMasterXbar_auto_in_0_b_bits_source; // @[LazyModule.scala 296:16]
+  assign dcache_auto_out_b_bits_address = tlMasterXbar_auto_in_0_b_bits_address; // @[LazyModule.scala 296:16]
+  assign dcache_auto_out_c_ready = tlMasterXbar_auto_in_0_c_ready; // @[LazyModule.scala 296:16]
+  assign dcache_auto_out_d_valid = tlMasterXbar_auto_in_0_d_valid; // @[LazyModule.scala 296:16]
+  assign dcache_auto_out_d_bits_opcode = tlMasterXbar_auto_in_0_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign dcache_auto_out_d_bits_param = tlMasterXbar_auto_in_0_d_bits_param; // @[LazyModule.scala 296:16]
+  assign dcache_auto_out_d_bits_size = tlMasterXbar_auto_in_0_d_bits_size; // @[LazyModule.scala 296:16]
+  assign dcache_auto_out_d_bits_source = tlMasterXbar_auto_in_0_d_bits_source; // @[LazyModule.scala 296:16]
+  assign dcache_auto_out_d_bits_sink = tlMasterXbar_auto_in_0_d_bits_sink; // @[LazyModule.scala 296:16]
+  assign dcache_auto_out_d_bits_denied = tlMasterXbar_auto_in_0_d_bits_denied; // @[LazyModule.scala 296:16]
+  assign dcache_auto_out_d_bits_data = tlMasterXbar_auto_in_0_d_bits_data; // @[LazyModule.scala 296:16]
+  assign dcache_auto_out_e_ready = tlMasterXbar_auto_in_0_e_ready; // @[LazyModule.scala 296:16]
+  assign dcache_io_cpu_req_valid = dcacheArb_io_mem_req_valid; // @[HellaCache.scala 281:30]
+  assign dcache_io_cpu_req_bits_addr = dcacheArb_io_mem_req_bits_addr; // @[HellaCache.scala 281:30]
+  assign dcache_io_cpu_req_bits_tag = dcacheArb_io_mem_req_bits_tag; // @[HellaCache.scala 281:30]
+  assign dcache_io_cpu_req_bits_cmd = dcacheArb_io_mem_req_bits_cmd; // @[HellaCache.scala 281:30]
+  assign dcache_io_cpu_req_bits_size = dcacheArb_io_mem_req_bits_size; // @[HellaCache.scala 281:30]
+  assign dcache_io_cpu_req_bits_signed = dcacheArb_io_mem_req_bits_signed; // @[HellaCache.scala 281:30]
+  assign dcache_io_cpu_req_bits_dprv = dcacheArb_io_mem_req_bits_dprv; // @[HellaCache.scala 281:30]
+  assign dcache_io_cpu_s1_kill = dcacheArb_io_mem_s1_kill; // @[HellaCache.scala 281:30]
+  assign dcache_io_cpu_s1_data_data = dcacheArb_io_mem_s1_data_data; // @[HellaCache.scala 281:30]
+  assign dcache_io_cpu_s1_data_mask = 4'h0; // @[HellaCache.scala 281:30]
+  assign dcache_io_ptw_status_debug = ptw_io_requestor_0_status_debug; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_0_cfg_l = ptw_io_requestor_0_pmp_0_cfg_l; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_0_cfg_a = ptw_io_requestor_0_pmp_0_cfg_a; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_0_cfg_x = ptw_io_requestor_0_pmp_0_cfg_x; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_0_cfg_w = ptw_io_requestor_0_pmp_0_cfg_w; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_0_cfg_r = ptw_io_requestor_0_pmp_0_cfg_r; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_0_addr = ptw_io_requestor_0_pmp_0_addr; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_0_mask = ptw_io_requestor_0_pmp_0_mask; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_1_cfg_l = ptw_io_requestor_0_pmp_1_cfg_l; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_1_cfg_a = ptw_io_requestor_0_pmp_1_cfg_a; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_1_cfg_x = ptw_io_requestor_0_pmp_1_cfg_x; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_1_cfg_w = ptw_io_requestor_0_pmp_1_cfg_w; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_1_cfg_r = ptw_io_requestor_0_pmp_1_cfg_r; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_1_addr = ptw_io_requestor_0_pmp_1_addr; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_1_mask = ptw_io_requestor_0_pmp_1_mask; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_2_cfg_l = ptw_io_requestor_0_pmp_2_cfg_l; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_2_cfg_a = ptw_io_requestor_0_pmp_2_cfg_a; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_2_cfg_x = ptw_io_requestor_0_pmp_2_cfg_x; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_2_cfg_w = ptw_io_requestor_0_pmp_2_cfg_w; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_2_cfg_r = ptw_io_requestor_0_pmp_2_cfg_r; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_2_addr = ptw_io_requestor_0_pmp_2_addr; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_2_mask = ptw_io_requestor_0_pmp_2_mask; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_3_cfg_l = ptw_io_requestor_0_pmp_3_cfg_l; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_3_cfg_a = ptw_io_requestor_0_pmp_3_cfg_a; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_3_cfg_x = ptw_io_requestor_0_pmp_3_cfg_x; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_3_cfg_w = ptw_io_requestor_0_pmp_3_cfg_w; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_3_cfg_r = ptw_io_requestor_0_pmp_3_cfg_r; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_3_addr = ptw_io_requestor_0_pmp_3_addr; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_3_mask = ptw_io_requestor_0_pmp_3_mask; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_4_cfg_l = ptw_io_requestor_0_pmp_4_cfg_l; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_4_cfg_a = ptw_io_requestor_0_pmp_4_cfg_a; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_4_cfg_x = ptw_io_requestor_0_pmp_4_cfg_x; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_4_cfg_w = ptw_io_requestor_0_pmp_4_cfg_w; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_4_cfg_r = ptw_io_requestor_0_pmp_4_cfg_r; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_4_addr = ptw_io_requestor_0_pmp_4_addr; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_4_mask = ptw_io_requestor_0_pmp_4_mask; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_5_cfg_l = ptw_io_requestor_0_pmp_5_cfg_l; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_5_cfg_a = ptw_io_requestor_0_pmp_5_cfg_a; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_5_cfg_x = ptw_io_requestor_0_pmp_5_cfg_x; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_5_cfg_w = ptw_io_requestor_0_pmp_5_cfg_w; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_5_cfg_r = ptw_io_requestor_0_pmp_5_cfg_r; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_5_addr = ptw_io_requestor_0_pmp_5_addr; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_5_mask = ptw_io_requestor_0_pmp_5_mask; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_6_cfg_l = ptw_io_requestor_0_pmp_6_cfg_l; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_6_cfg_a = ptw_io_requestor_0_pmp_6_cfg_a; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_6_cfg_x = ptw_io_requestor_0_pmp_6_cfg_x; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_6_cfg_w = ptw_io_requestor_0_pmp_6_cfg_w; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_6_cfg_r = ptw_io_requestor_0_pmp_6_cfg_r; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_6_addr = ptw_io_requestor_0_pmp_6_addr; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_6_mask = ptw_io_requestor_0_pmp_6_mask; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_7_cfg_l = ptw_io_requestor_0_pmp_7_cfg_l; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_7_cfg_a = ptw_io_requestor_0_pmp_7_cfg_a; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_7_cfg_x = ptw_io_requestor_0_pmp_7_cfg_x; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_7_cfg_w = ptw_io_requestor_0_pmp_7_cfg_w; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_7_cfg_r = ptw_io_requestor_0_pmp_7_cfg_r; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_7_addr = ptw_io_requestor_0_pmp_7_addr; // @[RocketTile.scala 198:20]
+  assign dcache_io_ptw_pmp_7_mask = ptw_io_requestor_0_pmp_7_mask; // @[RocketTile.scala 198:20]
+  assign frontend_clock = clock;
+  assign frontend_reset = reset;
+  assign frontend_auto_icache_slave_in_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign frontend_auto_icache_slave_in_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign frontend_auto_icache_slave_in_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign frontend_auto_icache_slave_in_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign frontend_auto_icache_slave_in_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign frontend_auto_icache_slave_in_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign frontend_auto_icache_slave_in_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign frontend_auto_icache_slave_in_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign frontend_auto_icache_master_out_a_ready = tlMasterXbar_auto_in_1_a_ready; // @[LazyModule.scala 296:16]
+  assign frontend_auto_icache_master_out_d_valid = tlMasterXbar_auto_in_1_d_valid; // @[LazyModule.scala 296:16]
+  assign frontend_auto_icache_master_out_d_bits_opcode = tlMasterXbar_auto_in_1_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign frontend_auto_icache_master_out_d_bits_size = tlMasterXbar_auto_in_1_d_bits_size; // @[LazyModule.scala 296:16]
+  assign frontend_auto_icache_master_out_d_bits_data = tlMasterXbar_auto_in_1_d_bits_data; // @[LazyModule.scala 296:16]
+  assign frontend_auto_icache_master_out_d_bits_corrupt = tlMasterXbar_auto_in_1_d_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign frontend_io_cpu_might_request = core_io_imem_might_request; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_req_valid = core_io_imem_req_valid; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_req_bits_pc = core_io_imem_req_bits_pc; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_req_bits_speculative = core_io_imem_req_bits_speculative; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_resp_ready = core_io_imem_resp_ready; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_btb_update_valid = core_io_imem_btb_update_valid; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_btb_update_bits_prediction_entry = core_io_imem_btb_update_bits_prediction_entry; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_btb_update_bits_pc = core_io_imem_btb_update_bits_pc; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_btb_update_bits_isValid = core_io_imem_btb_update_bits_isValid; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_btb_update_bits_br_pc = core_io_imem_btb_update_bits_br_pc; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_btb_update_bits_cfiType = core_io_imem_btb_update_bits_cfiType; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_bht_update_valid = core_io_imem_bht_update_valid; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_bht_update_bits_prediction_history = core_io_imem_bht_update_bits_prediction_history; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_bht_update_bits_pc = core_io_imem_bht_update_bits_pc; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_bht_update_bits_branch = core_io_imem_bht_update_bits_branch; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_bht_update_bits_taken = core_io_imem_bht_update_bits_taken; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_bht_update_bits_mispredict = core_io_imem_bht_update_bits_mispredict; // @[RocketTile.scala 173:32]
+  assign frontend_io_cpu_flush_icache = core_io_imem_flush_icache; // @[RocketTile.scala 173:32]
+  assign frontend_io_ptw_status_debug = ptw_io_requestor_1_status_debug; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_status_prv = ptw_io_requestor_1_status_prv; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_0_cfg_l = ptw_io_requestor_1_pmp_0_cfg_l; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_0_cfg_a = ptw_io_requestor_1_pmp_0_cfg_a; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_0_cfg_x = ptw_io_requestor_1_pmp_0_cfg_x; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_0_cfg_w = ptw_io_requestor_1_pmp_0_cfg_w; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_0_cfg_r = ptw_io_requestor_1_pmp_0_cfg_r; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_0_addr = ptw_io_requestor_1_pmp_0_addr; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_0_mask = ptw_io_requestor_1_pmp_0_mask; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_1_cfg_l = ptw_io_requestor_1_pmp_1_cfg_l; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_1_cfg_a = ptw_io_requestor_1_pmp_1_cfg_a; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_1_cfg_x = ptw_io_requestor_1_pmp_1_cfg_x; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_1_cfg_w = ptw_io_requestor_1_pmp_1_cfg_w; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_1_cfg_r = ptw_io_requestor_1_pmp_1_cfg_r; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_1_addr = ptw_io_requestor_1_pmp_1_addr; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_1_mask = ptw_io_requestor_1_pmp_1_mask; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_2_cfg_l = ptw_io_requestor_1_pmp_2_cfg_l; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_2_cfg_a = ptw_io_requestor_1_pmp_2_cfg_a; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_2_cfg_x = ptw_io_requestor_1_pmp_2_cfg_x; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_2_cfg_w = ptw_io_requestor_1_pmp_2_cfg_w; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_2_cfg_r = ptw_io_requestor_1_pmp_2_cfg_r; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_2_addr = ptw_io_requestor_1_pmp_2_addr; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_2_mask = ptw_io_requestor_1_pmp_2_mask; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_3_cfg_l = ptw_io_requestor_1_pmp_3_cfg_l; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_3_cfg_a = ptw_io_requestor_1_pmp_3_cfg_a; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_3_cfg_x = ptw_io_requestor_1_pmp_3_cfg_x; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_3_cfg_w = ptw_io_requestor_1_pmp_3_cfg_w; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_3_cfg_r = ptw_io_requestor_1_pmp_3_cfg_r; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_3_addr = ptw_io_requestor_1_pmp_3_addr; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_3_mask = ptw_io_requestor_1_pmp_3_mask; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_4_cfg_l = ptw_io_requestor_1_pmp_4_cfg_l; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_4_cfg_a = ptw_io_requestor_1_pmp_4_cfg_a; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_4_cfg_x = ptw_io_requestor_1_pmp_4_cfg_x; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_4_cfg_w = ptw_io_requestor_1_pmp_4_cfg_w; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_4_cfg_r = ptw_io_requestor_1_pmp_4_cfg_r; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_4_addr = ptw_io_requestor_1_pmp_4_addr; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_4_mask = ptw_io_requestor_1_pmp_4_mask; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_5_cfg_l = ptw_io_requestor_1_pmp_5_cfg_l; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_5_cfg_a = ptw_io_requestor_1_pmp_5_cfg_a; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_5_cfg_x = ptw_io_requestor_1_pmp_5_cfg_x; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_5_cfg_w = ptw_io_requestor_1_pmp_5_cfg_w; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_5_cfg_r = ptw_io_requestor_1_pmp_5_cfg_r; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_5_addr = ptw_io_requestor_1_pmp_5_addr; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_5_mask = ptw_io_requestor_1_pmp_5_mask; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_6_cfg_l = ptw_io_requestor_1_pmp_6_cfg_l; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_6_cfg_a = ptw_io_requestor_1_pmp_6_cfg_a; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_6_cfg_x = ptw_io_requestor_1_pmp_6_cfg_x; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_6_cfg_w = ptw_io_requestor_1_pmp_6_cfg_w; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_6_cfg_r = ptw_io_requestor_1_pmp_6_cfg_r; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_6_addr = ptw_io_requestor_1_pmp_6_addr; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_6_mask = ptw_io_requestor_1_pmp_6_mask; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_7_cfg_l = ptw_io_requestor_1_pmp_7_cfg_l; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_7_cfg_a = ptw_io_requestor_1_pmp_7_cfg_a; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_7_cfg_x = ptw_io_requestor_1_pmp_7_cfg_x; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_7_cfg_w = ptw_io_requestor_1_pmp_7_cfg_w; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_7_cfg_r = ptw_io_requestor_1_pmp_7_cfg_r; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_7_addr = ptw_io_requestor_1_pmp_7_addr; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_pmp_7_mask = ptw_io_requestor_1_pmp_7_mask; // @[RocketTile.scala 198:20]
+  assign frontend_io_ptw_customCSRs_csrs_0_value = ptw_io_requestor_1_customCSRs_csrs_0_value; // @[RocketTile.scala 198:20]
+  assign fragmenter_clock = clock;
+  assign fragmenter_reset = reset;
+  assign fragmenter_auto_in_a_valid = tlSlaveXbar_auto_out_a_valid; // @[LazyModule.scala 298:16]
+  assign fragmenter_auto_in_a_bits_opcode = tlSlaveXbar_auto_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign fragmenter_auto_in_a_bits_param = tlSlaveXbar_auto_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign fragmenter_auto_in_a_bits_size = tlSlaveXbar_auto_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign fragmenter_auto_in_a_bits_source = tlSlaveXbar_auto_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign fragmenter_auto_in_a_bits_address = tlSlaveXbar_auto_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign fragmenter_auto_in_a_bits_mask = tlSlaveXbar_auto_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign fragmenter_auto_in_a_bits_data = tlSlaveXbar_auto_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign fragmenter_auto_in_a_bits_corrupt = tlSlaveXbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign fragmenter_auto_in_d_ready = tlSlaveXbar_auto_out_d_ready; // @[LazyModule.scala 298:16]
+  assign fragmenter_auto_out_a_ready = frontend_auto_icache_slave_in_a_ready; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_d_valid = frontend_auto_icache_slave_in_d_valid; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_d_bits_opcode = frontend_auto_icache_slave_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_d_bits_size = frontend_auto_icache_slave_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_d_bits_source = frontend_auto_icache_slave_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign fragmenter_auto_out_d_bits_data = frontend_auto_icache_slave_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign dcacheArb_io_requestor_0_req_valid = core_io_dmem_req_valid; // @[RocketTile.scala 197:26]
+  assign dcacheArb_io_requestor_0_req_bits_addr = core_io_dmem_req_bits_addr; // @[RocketTile.scala 197:26]
+  assign dcacheArb_io_requestor_0_req_bits_tag = core_io_dmem_req_bits_tag; // @[RocketTile.scala 197:26]
+  assign dcacheArb_io_requestor_0_req_bits_cmd = core_io_dmem_req_bits_cmd; // @[RocketTile.scala 197:26]
+  assign dcacheArb_io_requestor_0_req_bits_size = core_io_dmem_req_bits_size; // @[RocketTile.scala 197:26]
+  assign dcacheArb_io_requestor_0_req_bits_signed = core_io_dmem_req_bits_signed; // @[RocketTile.scala 197:26]
+  assign dcacheArb_io_requestor_0_req_bits_dprv = core_io_dmem_req_bits_dprv; // @[RocketTile.scala 197:26]
+  assign dcacheArb_io_requestor_0_s1_kill = core_io_dmem_s1_kill; // @[RocketTile.scala 197:26]
+  assign dcacheArb_io_requestor_0_s1_data_data = core_io_dmem_s1_data_data; // @[RocketTile.scala 197:26]
+  assign dcacheArb_io_mem_req_ready = dcache_io_cpu_req_ready; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_s2_nack = dcache_io_cpu_s2_nack; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_resp_valid = dcache_io_cpu_resp_valid; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_resp_bits_tag = dcache_io_cpu_resp_bits_tag; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_resp_bits_data = dcache_io_cpu_resp_bits_data; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_resp_bits_replay = dcache_io_cpu_resp_bits_replay; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_resp_bits_has_data = dcache_io_cpu_resp_bits_has_data; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_resp_bits_data_word_bypass = dcache_io_cpu_resp_bits_data_word_bypass; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_replay_next = dcache_io_cpu_replay_next; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_s2_xcpt_ma_ld = dcache_io_cpu_s2_xcpt_ma_ld; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_s2_xcpt_ma_st = dcache_io_cpu_s2_xcpt_ma_st; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_s2_xcpt_pf_ld = dcache_io_cpu_s2_xcpt_pf_ld; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_s2_xcpt_pf_st = dcache_io_cpu_s2_xcpt_pf_st; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_s2_xcpt_ae_ld = dcache_io_cpu_s2_xcpt_ae_ld; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_s2_xcpt_ae_st = dcache_io_cpu_s2_xcpt_ae_st; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_ordered = dcache_io_cpu_ordered; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_perf_release = dcache_io_cpu_perf_release; // @[HellaCache.scala 281:30]
+  assign dcacheArb_io_mem_perf_grant = dcache_io_cpu_perf_grant; // @[HellaCache.scala 281:30]
+  assign ptw_clock = clock;
+  assign ptw_reset = reset;
+  assign ptw_io_dpath_status_debug = core_io_ptw_status_debug; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_status_prv = core_io_ptw_status_prv; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_0_cfg_l = core_io_ptw_pmp_0_cfg_l; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_0_cfg_a = core_io_ptw_pmp_0_cfg_a; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_0_cfg_x = core_io_ptw_pmp_0_cfg_x; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_0_cfg_w = core_io_ptw_pmp_0_cfg_w; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_0_cfg_r = core_io_ptw_pmp_0_cfg_r; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_0_addr = core_io_ptw_pmp_0_addr; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_0_mask = core_io_ptw_pmp_0_mask; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_1_cfg_l = core_io_ptw_pmp_1_cfg_l; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_1_cfg_a = core_io_ptw_pmp_1_cfg_a; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_1_cfg_x = core_io_ptw_pmp_1_cfg_x; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_1_cfg_w = core_io_ptw_pmp_1_cfg_w; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_1_cfg_r = core_io_ptw_pmp_1_cfg_r; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_1_addr = core_io_ptw_pmp_1_addr; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_1_mask = core_io_ptw_pmp_1_mask; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_2_cfg_l = core_io_ptw_pmp_2_cfg_l; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_2_cfg_a = core_io_ptw_pmp_2_cfg_a; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_2_cfg_x = core_io_ptw_pmp_2_cfg_x; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_2_cfg_w = core_io_ptw_pmp_2_cfg_w; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_2_cfg_r = core_io_ptw_pmp_2_cfg_r; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_2_addr = core_io_ptw_pmp_2_addr; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_2_mask = core_io_ptw_pmp_2_mask; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_3_cfg_l = core_io_ptw_pmp_3_cfg_l; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_3_cfg_a = core_io_ptw_pmp_3_cfg_a; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_3_cfg_x = core_io_ptw_pmp_3_cfg_x; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_3_cfg_w = core_io_ptw_pmp_3_cfg_w; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_3_cfg_r = core_io_ptw_pmp_3_cfg_r; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_3_addr = core_io_ptw_pmp_3_addr; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_3_mask = core_io_ptw_pmp_3_mask; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_4_cfg_l = core_io_ptw_pmp_4_cfg_l; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_4_cfg_a = core_io_ptw_pmp_4_cfg_a; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_4_cfg_x = core_io_ptw_pmp_4_cfg_x; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_4_cfg_w = core_io_ptw_pmp_4_cfg_w; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_4_cfg_r = core_io_ptw_pmp_4_cfg_r; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_4_addr = core_io_ptw_pmp_4_addr; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_4_mask = core_io_ptw_pmp_4_mask; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_5_cfg_l = core_io_ptw_pmp_5_cfg_l; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_5_cfg_a = core_io_ptw_pmp_5_cfg_a; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_5_cfg_x = core_io_ptw_pmp_5_cfg_x; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_5_cfg_w = core_io_ptw_pmp_5_cfg_w; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_5_cfg_r = core_io_ptw_pmp_5_cfg_r; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_5_addr = core_io_ptw_pmp_5_addr; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_5_mask = core_io_ptw_pmp_5_mask; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_6_cfg_l = core_io_ptw_pmp_6_cfg_l; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_6_cfg_a = core_io_ptw_pmp_6_cfg_a; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_6_cfg_x = core_io_ptw_pmp_6_cfg_x; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_6_cfg_w = core_io_ptw_pmp_6_cfg_w; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_6_cfg_r = core_io_ptw_pmp_6_cfg_r; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_6_addr = core_io_ptw_pmp_6_addr; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_6_mask = core_io_ptw_pmp_6_mask; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_7_cfg_l = core_io_ptw_pmp_7_cfg_l; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_7_cfg_a = core_io_ptw_pmp_7_cfg_a; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_7_cfg_x = core_io_ptw_pmp_7_cfg_x; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_7_cfg_w = core_io_ptw_pmp_7_cfg_w; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_7_cfg_r = core_io_ptw_pmp_7_cfg_r; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_7_addr = core_io_ptw_pmp_7_addr; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_pmp_7_mask = core_io_ptw_pmp_7_mask; // @[RocketTile.scala 176:15]
+  assign ptw_io_dpath_customCSRs_csrs_0_value = core_io_ptw_customCSRs_csrs_0_value; // @[RocketTile.scala 176:15]
+  assign core_clock = clock;
+  assign core_reset = reset;
+  assign core_io_hartid = broadcast_auto_out_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign core_io_interrupts_debug = intXbar_auto_int_out_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign core_io_interrupts_mtip = intXbar_auto_int_out_2; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign core_io_interrupts_msip = intXbar_auto_int_out_1; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign core_io_interrupts_meip = intXbar_auto_int_out_3; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign core_io_interrupts_seip = intXbar_auto_int_out_4; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign core_io_imem_resp_valid = frontend_io_cpu_resp_valid; // @[RocketTile.scala 173:32]
+  assign core_io_imem_resp_bits_btb_taken = frontend_io_cpu_resp_bits_btb_taken; // @[RocketTile.scala 173:32]
+  assign core_io_imem_resp_bits_btb_bridx = frontend_io_cpu_resp_bits_btb_bridx; // @[RocketTile.scala 173:32]
+  assign core_io_imem_resp_bits_btb_entry = frontend_io_cpu_resp_bits_btb_entry; // @[RocketTile.scala 173:32]
+  assign core_io_imem_resp_bits_btb_bht_history = frontend_io_cpu_resp_bits_btb_bht_history; // @[RocketTile.scala 173:32]
+  assign core_io_imem_resp_bits_pc = frontend_io_cpu_resp_bits_pc; // @[RocketTile.scala 173:32]
+  assign core_io_imem_resp_bits_data = frontend_io_cpu_resp_bits_data; // @[RocketTile.scala 173:32]
+  assign core_io_imem_resp_bits_xcpt_ae_inst = frontend_io_cpu_resp_bits_xcpt_ae_inst; // @[RocketTile.scala 173:32]
+  assign core_io_imem_resp_bits_replay = frontend_io_cpu_resp_bits_replay; // @[RocketTile.scala 173:32]
+  assign core_io_dmem_req_ready = dcacheArb_io_requestor_0_req_ready; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_s2_nack = dcacheArb_io_requestor_0_s2_nack; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_resp_valid = dcacheArb_io_requestor_0_resp_valid; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_resp_bits_tag = dcacheArb_io_requestor_0_resp_bits_tag; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_resp_bits_data = dcacheArb_io_requestor_0_resp_bits_data; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_resp_bits_replay = dcacheArb_io_requestor_0_resp_bits_replay; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_resp_bits_has_data = dcacheArb_io_requestor_0_resp_bits_has_data; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_resp_bits_data_word_bypass = dcacheArb_io_requestor_0_resp_bits_data_word_bypass; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_replay_next = dcacheArb_io_requestor_0_replay_next; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_s2_xcpt_ma_ld = dcacheArb_io_requestor_0_s2_xcpt_ma_ld; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_s2_xcpt_ma_st = dcacheArb_io_requestor_0_s2_xcpt_ma_st; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_s2_xcpt_pf_ld = dcacheArb_io_requestor_0_s2_xcpt_pf_ld; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_s2_xcpt_pf_st = dcacheArb_io_requestor_0_s2_xcpt_pf_st; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_s2_xcpt_ae_ld = dcacheArb_io_requestor_0_s2_xcpt_ae_ld; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_s2_xcpt_ae_st = dcacheArb_io_requestor_0_s2_xcpt_ae_st; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_ordered = dcacheArb_io_requestor_0_ordered; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_perf_release = dcacheArb_io_requestor_0_perf_release; // @[RocketTile.scala 197:26]
+  assign core_io_dmem_perf_grant = dcacheArb_io_requestor_0_perf_grant; // @[RocketTile.scala 197:26]
+  always @(posedge clock) begin
+    if (reset) begin // @[Interrupts.scala 126:36]
+      bundleOut_0_0_REG <= 1'h0; // @[Interrupts.scala 126:36]
+    end else begin
+      bundleOut_0_0_REG <= core_io_wfi; // @[Interrupts.scala 126:36]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  bundleOut_0_0_REG = _RAND_0[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TileResetDomain(
+  output        auto_tile_slave_in_a_ready,
+  input         auto_tile_slave_in_a_valid,
+  input  [2:0]  auto_tile_slave_in_a_bits_opcode,
+  input  [2:0]  auto_tile_slave_in_a_bits_param,
+  input  [2:0]  auto_tile_slave_in_a_bits_size,
+  input  [1:0]  auto_tile_slave_in_a_bits_source,
+  input  [27:0] auto_tile_slave_in_a_bits_address,
+  input  [3:0]  auto_tile_slave_in_a_bits_mask,
+  input  [31:0] auto_tile_slave_in_a_bits_data,
+  input         auto_tile_slave_in_a_bits_corrupt,
+  input         auto_tile_slave_in_d_ready,
+  output        auto_tile_slave_in_d_valid,
+  output [2:0]  auto_tile_slave_in_d_bits_opcode,
+  output [2:0]  auto_tile_slave_in_d_bits_size,
+  output [1:0]  auto_tile_slave_in_d_bits_source,
+  output [31:0] auto_tile_slave_in_d_bits_data,
+  output        auto_tile_wfi_out_0,
+  input         auto_tile_int_local_in_3_0,
+  input         auto_tile_int_local_in_2_0,
+  input         auto_tile_int_local_in_1_0,
+  input         auto_tile_int_local_in_1_1,
+  input         auto_tile_int_local_in_0_0,
+  input         auto_tile_hartid_in,
+  input         auto_tile_tl_other_masters_out_a_ready,
+  output        auto_tile_tl_other_masters_out_a_valid,
+  output [2:0]  auto_tile_tl_other_masters_out_a_bits_opcode,
+  output [2:0]  auto_tile_tl_other_masters_out_a_bits_param,
+  output [3:0]  auto_tile_tl_other_masters_out_a_bits_size,
+  output [1:0]  auto_tile_tl_other_masters_out_a_bits_source,
+  output [30:0] auto_tile_tl_other_masters_out_a_bits_address,
+  output [3:0]  auto_tile_tl_other_masters_out_a_bits_mask,
+  output [31:0] auto_tile_tl_other_masters_out_a_bits_data,
+  output        auto_tile_tl_other_masters_out_b_ready,
+  input         auto_tile_tl_other_masters_out_b_valid,
+  input  [2:0]  auto_tile_tl_other_masters_out_b_bits_opcode,
+  input  [1:0]  auto_tile_tl_other_masters_out_b_bits_param,
+  input  [3:0]  auto_tile_tl_other_masters_out_b_bits_size,
+  input  [1:0]  auto_tile_tl_other_masters_out_b_bits_source,
+  input  [30:0] auto_tile_tl_other_masters_out_b_bits_address,
+  input  [3:0]  auto_tile_tl_other_masters_out_b_bits_mask,
+  input         auto_tile_tl_other_masters_out_b_bits_corrupt,
+  input         auto_tile_tl_other_masters_out_c_ready,
+  output        auto_tile_tl_other_masters_out_c_valid,
+  output [2:0]  auto_tile_tl_other_masters_out_c_bits_opcode,
+  output [2:0]  auto_tile_tl_other_masters_out_c_bits_param,
+  output [3:0]  auto_tile_tl_other_masters_out_c_bits_size,
+  output [1:0]  auto_tile_tl_other_masters_out_c_bits_source,
+  output [30:0] auto_tile_tl_other_masters_out_c_bits_address,
+  output [31:0] auto_tile_tl_other_masters_out_c_bits_data,
+  output        auto_tile_tl_other_masters_out_d_ready,
+  input         auto_tile_tl_other_masters_out_d_valid,
+  input  [2:0]  auto_tile_tl_other_masters_out_d_bits_opcode,
+  input  [1:0]  auto_tile_tl_other_masters_out_d_bits_param,
+  input  [3:0]  auto_tile_tl_other_masters_out_d_bits_size,
+  input  [1:0]  auto_tile_tl_other_masters_out_d_bits_source,
+  input  [1:0]  auto_tile_tl_other_masters_out_d_bits_sink,
+  input         auto_tile_tl_other_masters_out_d_bits_denied,
+  input  [31:0] auto_tile_tl_other_masters_out_d_bits_data,
+  input         auto_tile_tl_other_masters_out_d_bits_corrupt,
+  input         auto_tile_tl_other_masters_out_e_ready,
+  output        auto_tile_tl_other_masters_out_e_valid,
+  output [1:0]  auto_tile_tl_other_masters_out_e_bits_sink,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset, // <no_sram>
+  output [5:0]  tag_array_ext_RW0_addr, // <no_sram>
+  output        tag_array_ext_RW0_en, // <no_sram>
+  output        tag_array_ext_RW0_clk, // <no_sram>
+  output        tag_array_ext_RW0_wmode, // <no_sram>
+  output [20:0] tag_array_ext_RW0_wdata, // <no_sram>
+  input  [20:0] tag_array_ext_RW0_rdata, // <no_sram>
+  output [9:0]  data_arrays_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_ext_RW0_wmode, // <no_sram>
+  output [31:0] data_arrays_0_ext_RW0_wdata, // <no_sram>
+  input  [31:0] data_arrays_0_ext_RW0_rdata, // <no_sram>
+  output [3:0]  data_arrays_0_ext_RW0_wmask, // <no_sram>
+  output [6:0]  tag_array_0_ext_RW0_addr, // <no_sram>
+  output        tag_array_0_ext_RW0_en, // <no_sram>
+  output        tag_array_0_ext_RW0_clk, // <no_sram>
+  output        tag_array_0_ext_RW0_wmode, // <no_sram>
+  output [37:0] tag_array_0_ext_RW0_wdata, // <no_sram>
+  input  [37:0] tag_array_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  tag_array_0_ext_RW0_wmask, // <no_sram>
+  output [10:0] data_arrays_0_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_wmode, // <no_sram>
+  output [63:0] data_arrays_0_0_ext_RW0_wdata, // <no_sram>
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  data_arrays_0_0_ext_RW0_wmask // <no_sram>
+);
+  wire  tile_clock; // @[HasTiles.scala 253:53]
+  wire  tile_reset; // @[HasTiles.scala 253:53]
+  wire  tile_auto_slave_in_a_ready; // @[HasTiles.scala 253:53]
+  wire  tile_auto_slave_in_a_valid; // @[HasTiles.scala 253:53]
+  wire [2:0] tile_auto_slave_in_a_bits_opcode; // @[HasTiles.scala 253:53]
+  wire [2:0] tile_auto_slave_in_a_bits_param; // @[HasTiles.scala 253:53]
+  wire [2:0] tile_auto_slave_in_a_bits_size; // @[HasTiles.scala 253:53]
+  wire [1:0] tile_auto_slave_in_a_bits_source; // @[HasTiles.scala 253:53]
+  wire [27:0] tile_auto_slave_in_a_bits_address; // @[HasTiles.scala 253:53]
+  wire [3:0] tile_auto_slave_in_a_bits_mask; // @[HasTiles.scala 253:53]
+  wire [31:0] tile_auto_slave_in_a_bits_data; // @[HasTiles.scala 253:53]
+  wire  tile_auto_slave_in_a_bits_corrupt; // @[HasTiles.scala 253:53]
+  wire  tile_auto_slave_in_d_ready; // @[HasTiles.scala 253:53]
+  wire  tile_auto_slave_in_d_valid; // @[HasTiles.scala 253:53]
+  wire [2:0] tile_auto_slave_in_d_bits_opcode; // @[HasTiles.scala 253:53]
+  wire [2:0] tile_auto_slave_in_d_bits_size; // @[HasTiles.scala 253:53]
+  wire [1:0] tile_auto_slave_in_d_bits_source; // @[HasTiles.scala 253:53]
+  wire [31:0] tile_auto_slave_in_d_bits_data; // @[HasTiles.scala 253:53]
+  wire  tile_auto_wfi_out_0; // @[HasTiles.scala 253:53]
+  wire  tile_auto_int_local_in_3_0; // @[HasTiles.scala 253:53]
+  wire  tile_auto_int_local_in_2_0; // @[HasTiles.scala 253:53]
+  wire  tile_auto_int_local_in_1_0; // @[HasTiles.scala 253:53]
+  wire  tile_auto_int_local_in_1_1; // @[HasTiles.scala 253:53]
+  wire  tile_auto_int_local_in_0_0; // @[HasTiles.scala 253:53]
+  wire  tile_auto_hartid_in; // @[HasTiles.scala 253:53]
+  wire  tile_auto_tl_other_masters_out_a_ready; // @[HasTiles.scala 253:53]
+  wire  tile_auto_tl_other_masters_out_a_valid; // @[HasTiles.scala 253:53]
+  wire [2:0] tile_auto_tl_other_masters_out_a_bits_opcode; // @[HasTiles.scala 253:53]
+  wire [2:0] tile_auto_tl_other_masters_out_a_bits_param; // @[HasTiles.scala 253:53]
+  wire [3:0] tile_auto_tl_other_masters_out_a_bits_size; // @[HasTiles.scala 253:53]
+  wire [1:0] tile_auto_tl_other_masters_out_a_bits_source; // @[HasTiles.scala 253:53]
+  wire [30:0] tile_auto_tl_other_masters_out_a_bits_address; // @[HasTiles.scala 253:53]
+  wire [3:0] tile_auto_tl_other_masters_out_a_bits_mask; // @[HasTiles.scala 253:53]
+  wire [31:0] tile_auto_tl_other_masters_out_a_bits_data; // @[HasTiles.scala 253:53]
+  wire  tile_auto_tl_other_masters_out_b_ready; // @[HasTiles.scala 253:53]
+  wire  tile_auto_tl_other_masters_out_b_valid; // @[HasTiles.scala 253:53]
+  wire [2:0] tile_auto_tl_other_masters_out_b_bits_opcode; // @[HasTiles.scala 253:53]
+  wire [1:0] tile_auto_tl_other_masters_out_b_bits_param; // @[HasTiles.scala 253:53]
+  wire [3:0] tile_auto_tl_other_masters_out_b_bits_size; // @[HasTiles.scala 253:53]
+  wire [1:0] tile_auto_tl_other_masters_out_b_bits_source; // @[HasTiles.scala 253:53]
+  wire [30:0] tile_auto_tl_other_masters_out_b_bits_address; // @[HasTiles.scala 253:53]
+  wire [3:0] tile_auto_tl_other_masters_out_b_bits_mask; // @[HasTiles.scala 253:53]
+  wire  tile_auto_tl_other_masters_out_b_bits_corrupt; // @[HasTiles.scala 253:53]
+  wire  tile_auto_tl_other_masters_out_c_ready; // @[HasTiles.scala 253:53]
+  wire  tile_auto_tl_other_masters_out_c_valid; // @[HasTiles.scala 253:53]
+  wire [2:0] tile_auto_tl_other_masters_out_c_bits_opcode; // @[HasTiles.scala 253:53]
+  wire [2:0] tile_auto_tl_other_masters_out_c_bits_param; // @[HasTiles.scala 253:53]
+  wire [3:0] tile_auto_tl_other_masters_out_c_bits_size; // @[HasTiles.scala 253:53]
+  wire [1:0] tile_auto_tl_other_masters_out_c_bits_source; // @[HasTiles.scala 253:53]
+  wire [30:0] tile_auto_tl_other_masters_out_c_bits_address; // @[HasTiles.scala 253:53]
+  wire [31:0] tile_auto_tl_other_masters_out_c_bits_data; // @[HasTiles.scala 253:53]
+  wire  tile_auto_tl_other_masters_out_d_ready; // @[HasTiles.scala 253:53]
+  wire  tile_auto_tl_other_masters_out_d_valid; // @[HasTiles.scala 253:53]
+  wire [2:0] tile_auto_tl_other_masters_out_d_bits_opcode; // @[HasTiles.scala 253:53]
+  wire [1:0] tile_auto_tl_other_masters_out_d_bits_param; // @[HasTiles.scala 253:53]
+  wire [3:0] tile_auto_tl_other_masters_out_d_bits_size; // @[HasTiles.scala 253:53]
+  wire [1:0] tile_auto_tl_other_masters_out_d_bits_source; // @[HasTiles.scala 253:53]
+  wire [1:0] tile_auto_tl_other_masters_out_d_bits_sink; // @[HasTiles.scala 253:53]
+  wire  tile_auto_tl_other_masters_out_d_bits_denied; // @[HasTiles.scala 253:53]
+  wire [31:0] tile_auto_tl_other_masters_out_d_bits_data; // @[HasTiles.scala 253:53]
+  wire  tile_auto_tl_other_masters_out_d_bits_corrupt; // @[HasTiles.scala 253:53]
+  wire  tile_auto_tl_other_masters_out_e_ready; // @[HasTiles.scala 253:53]
+  wire  tile_auto_tl_other_masters_out_e_valid; // @[HasTiles.scala 253:53]
+  wire [1:0] tile_auto_tl_other_masters_out_e_bits_sink; // @[HasTiles.scala 253:53]
+  RocketTile tile ( // @[HasTiles.scala 253:53]
+    .clock(tile_clock),
+    .reset(tile_reset),
+    .auto_slave_in_a_ready(tile_auto_slave_in_a_ready),
+    .auto_slave_in_a_valid(tile_auto_slave_in_a_valid),
+    .auto_slave_in_a_bits_opcode(tile_auto_slave_in_a_bits_opcode),
+    .auto_slave_in_a_bits_param(tile_auto_slave_in_a_bits_param),
+    .auto_slave_in_a_bits_size(tile_auto_slave_in_a_bits_size),
+    .auto_slave_in_a_bits_source(tile_auto_slave_in_a_bits_source),
+    .auto_slave_in_a_bits_address(tile_auto_slave_in_a_bits_address),
+    .auto_slave_in_a_bits_mask(tile_auto_slave_in_a_bits_mask),
+    .auto_slave_in_a_bits_data(tile_auto_slave_in_a_bits_data),
+    .auto_slave_in_a_bits_corrupt(tile_auto_slave_in_a_bits_corrupt),
+    .auto_slave_in_d_ready(tile_auto_slave_in_d_ready),
+    .auto_slave_in_d_valid(tile_auto_slave_in_d_valid),
+    .auto_slave_in_d_bits_opcode(tile_auto_slave_in_d_bits_opcode),
+    .auto_slave_in_d_bits_size(tile_auto_slave_in_d_bits_size),
+    .auto_slave_in_d_bits_source(tile_auto_slave_in_d_bits_source),
+    .auto_slave_in_d_bits_data(tile_auto_slave_in_d_bits_data),
+    .auto_wfi_out_0(tile_auto_wfi_out_0),
+    .auto_int_local_in_3_0(tile_auto_int_local_in_3_0),
+    .auto_int_local_in_2_0(tile_auto_int_local_in_2_0),
+    .auto_int_local_in_1_0(tile_auto_int_local_in_1_0),
+    .auto_int_local_in_1_1(tile_auto_int_local_in_1_1),
+    .auto_int_local_in_0_0(tile_auto_int_local_in_0_0),
+    .auto_hartid_in(tile_auto_hartid_in),
+    .auto_tl_other_masters_out_a_ready(tile_auto_tl_other_masters_out_a_ready),
+    .auto_tl_other_masters_out_a_valid(tile_auto_tl_other_masters_out_a_valid),
+    .auto_tl_other_masters_out_a_bits_opcode(tile_auto_tl_other_masters_out_a_bits_opcode),
+    .auto_tl_other_masters_out_a_bits_param(tile_auto_tl_other_masters_out_a_bits_param),
+    .auto_tl_other_masters_out_a_bits_size(tile_auto_tl_other_masters_out_a_bits_size),
+    .auto_tl_other_masters_out_a_bits_source(tile_auto_tl_other_masters_out_a_bits_source),
+    .auto_tl_other_masters_out_a_bits_address(tile_auto_tl_other_masters_out_a_bits_address),
+    .auto_tl_other_masters_out_a_bits_mask(tile_auto_tl_other_masters_out_a_bits_mask),
+    .auto_tl_other_masters_out_a_bits_data(tile_auto_tl_other_masters_out_a_bits_data),
+    .auto_tl_other_masters_out_b_ready(tile_auto_tl_other_masters_out_b_ready),
+    .auto_tl_other_masters_out_b_valid(tile_auto_tl_other_masters_out_b_valid),
+    .auto_tl_other_masters_out_b_bits_opcode(tile_auto_tl_other_masters_out_b_bits_opcode),
+    .auto_tl_other_masters_out_b_bits_param(tile_auto_tl_other_masters_out_b_bits_param),
+    .auto_tl_other_masters_out_b_bits_size(tile_auto_tl_other_masters_out_b_bits_size),
+    .auto_tl_other_masters_out_b_bits_source(tile_auto_tl_other_masters_out_b_bits_source),
+    .auto_tl_other_masters_out_b_bits_address(tile_auto_tl_other_masters_out_b_bits_address),
+    .auto_tl_other_masters_out_b_bits_mask(tile_auto_tl_other_masters_out_b_bits_mask),
+    .auto_tl_other_masters_out_b_bits_corrupt(tile_auto_tl_other_masters_out_b_bits_corrupt),
+    .auto_tl_other_masters_out_c_ready(tile_auto_tl_other_masters_out_c_ready),
+    .auto_tl_other_masters_out_c_valid(tile_auto_tl_other_masters_out_c_valid),
+    .auto_tl_other_masters_out_c_bits_opcode(tile_auto_tl_other_masters_out_c_bits_opcode),
+    .auto_tl_other_masters_out_c_bits_param(tile_auto_tl_other_masters_out_c_bits_param),
+    .auto_tl_other_masters_out_c_bits_size(tile_auto_tl_other_masters_out_c_bits_size),
+    .auto_tl_other_masters_out_c_bits_source(tile_auto_tl_other_masters_out_c_bits_source),
+    .auto_tl_other_masters_out_c_bits_address(tile_auto_tl_other_masters_out_c_bits_address),
+    .auto_tl_other_masters_out_c_bits_data(tile_auto_tl_other_masters_out_c_bits_data),
+    .auto_tl_other_masters_out_d_ready(tile_auto_tl_other_masters_out_d_ready),
+    .auto_tl_other_masters_out_d_valid(tile_auto_tl_other_masters_out_d_valid),
+    .auto_tl_other_masters_out_d_bits_opcode(tile_auto_tl_other_masters_out_d_bits_opcode),
+    .auto_tl_other_masters_out_d_bits_param(tile_auto_tl_other_masters_out_d_bits_param),
+    .auto_tl_other_masters_out_d_bits_size(tile_auto_tl_other_masters_out_d_bits_size),
+    .auto_tl_other_masters_out_d_bits_source(tile_auto_tl_other_masters_out_d_bits_source),
+    .auto_tl_other_masters_out_d_bits_sink(tile_auto_tl_other_masters_out_d_bits_sink),
+    .auto_tl_other_masters_out_d_bits_denied(tile_auto_tl_other_masters_out_d_bits_denied),
+    .auto_tl_other_masters_out_d_bits_data(tile_auto_tl_other_masters_out_d_bits_data),
+    .auto_tl_other_masters_out_d_bits_corrupt(tile_auto_tl_other_masters_out_d_bits_corrupt),
+    .auto_tl_other_masters_out_e_ready(tile_auto_tl_other_masters_out_e_ready),
+    .auto_tl_other_masters_out_e_valid(tile_auto_tl_other_masters_out_e_valid),
+    .auto_tl_other_masters_out_e_bits_sink(tile_auto_tl_other_masters_out_e_bits_sink), // <no_sram>
+    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr), // <no_sram>
+    .tag_array_ext_RW0_en(tag_array_ext_RW0_en), // <no_sram>
+    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk), // <no_sram>
+    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode), // <no_sram>
+    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata), // <no_sram>
+    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask), // <no_sram>
+    .tag_array_0_ext_RW0_addr(tag_array_0_ext_RW0_addr), // <no_sram>
+    .tag_array_0_ext_RW0_en(tag_array_0_ext_RW0_en), // <no_sram>
+    .tag_array_0_ext_RW0_clk(tag_array_0_ext_RW0_clk), // <no_sram>
+    .tag_array_0_ext_RW0_wmode(tag_array_0_ext_RW0_wmode), // <no_sram>
+    .tag_array_0_ext_RW0_wdata(tag_array_0_ext_RW0_wdata), // <no_sram>
+    .tag_array_0_ext_RW0_rdata(tag_array_0_ext_RW0_rdata), // <no_sram>
+    .tag_array_0_ext_RW0_wmask(tag_array_0_ext_RW0_wmask), // <no_sram>
+    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask) // <no_sram>
+  );
+  assign auto_tile_slave_in_a_ready = tile_auto_slave_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_tile_slave_in_d_valid = tile_auto_slave_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_tile_slave_in_d_bits_opcode = tile_auto_slave_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_tile_slave_in_d_bits_size = tile_auto_slave_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_tile_slave_in_d_bits_source = tile_auto_slave_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_tile_slave_in_d_bits_data = tile_auto_slave_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_tile_wfi_out_0 = tile_auto_wfi_out_0; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_a_valid = tile_auto_tl_other_masters_out_a_valid; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_a_bits_opcode = tile_auto_tl_other_masters_out_a_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_a_bits_param = tile_auto_tl_other_masters_out_a_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_a_bits_size = tile_auto_tl_other_masters_out_a_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_a_bits_source = tile_auto_tl_other_masters_out_a_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_a_bits_address = tile_auto_tl_other_masters_out_a_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_a_bits_mask = tile_auto_tl_other_masters_out_a_bits_mask; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_a_bits_data = tile_auto_tl_other_masters_out_a_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_b_ready = tile_auto_tl_other_masters_out_b_ready; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_c_valid = tile_auto_tl_other_masters_out_c_valid; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_c_bits_opcode = tile_auto_tl_other_masters_out_c_bits_opcode; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_c_bits_param = tile_auto_tl_other_masters_out_c_bits_param; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_c_bits_size = tile_auto_tl_other_masters_out_c_bits_size; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_c_bits_source = tile_auto_tl_other_masters_out_c_bits_source; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_c_bits_address = tile_auto_tl_other_masters_out_c_bits_address; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_c_bits_data = tile_auto_tl_other_masters_out_c_bits_data; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_d_ready = tile_auto_tl_other_masters_out_d_ready; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_e_valid = tile_auto_tl_other_masters_out_e_valid; // @[LazyModule.scala 311:12]
+  assign auto_tile_tl_other_masters_out_e_bits_sink = tile_auto_tl_other_masters_out_e_bits_sink; // @[LazyModule.scala 311:12]
+  assign tile_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign tile_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign tile_auto_slave_in_a_valid = auto_tile_slave_in_a_valid; // @[LazyModule.scala 309:16]
+  assign tile_auto_slave_in_a_bits_opcode = auto_tile_slave_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign tile_auto_slave_in_a_bits_param = auto_tile_slave_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign tile_auto_slave_in_a_bits_size = auto_tile_slave_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign tile_auto_slave_in_a_bits_source = auto_tile_slave_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign tile_auto_slave_in_a_bits_address = auto_tile_slave_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign tile_auto_slave_in_a_bits_mask = auto_tile_slave_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign tile_auto_slave_in_a_bits_data = auto_tile_slave_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign tile_auto_slave_in_a_bits_corrupt = auto_tile_slave_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign tile_auto_slave_in_d_ready = auto_tile_slave_in_d_ready; // @[LazyModule.scala 309:16]
+  assign tile_auto_int_local_in_3_0 = auto_tile_int_local_in_3_0; // @[LazyModule.scala 309:16]
+  assign tile_auto_int_local_in_2_0 = auto_tile_int_local_in_2_0; // @[LazyModule.scala 309:16]
+  assign tile_auto_int_local_in_1_0 = auto_tile_int_local_in_1_0; // @[LazyModule.scala 309:16]
+  assign tile_auto_int_local_in_1_1 = auto_tile_int_local_in_1_1; // @[LazyModule.scala 309:16]
+  assign tile_auto_int_local_in_0_0 = auto_tile_int_local_in_0_0; // @[LazyModule.scala 309:16]
+  assign tile_auto_hartid_in = auto_tile_hartid_in; // @[LazyModule.scala 309:16]
+  assign tile_auto_tl_other_masters_out_a_ready = auto_tile_tl_other_masters_out_a_ready; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_b_valid = auto_tile_tl_other_masters_out_b_valid; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_b_bits_opcode = auto_tile_tl_other_masters_out_b_bits_opcode; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_b_bits_param = auto_tile_tl_other_masters_out_b_bits_param; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_b_bits_size = auto_tile_tl_other_masters_out_b_bits_size; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_b_bits_source = auto_tile_tl_other_masters_out_b_bits_source; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_b_bits_address = auto_tile_tl_other_masters_out_b_bits_address; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_b_bits_mask = auto_tile_tl_other_masters_out_b_bits_mask; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_b_bits_corrupt = auto_tile_tl_other_masters_out_b_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_c_ready = auto_tile_tl_other_masters_out_c_ready; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_d_valid = auto_tile_tl_other_masters_out_d_valid; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_d_bits_opcode = auto_tile_tl_other_masters_out_d_bits_opcode; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_d_bits_param = auto_tile_tl_other_masters_out_d_bits_param; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_d_bits_size = auto_tile_tl_other_masters_out_d_bits_size; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_d_bits_source = auto_tile_tl_other_masters_out_d_bits_source; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_d_bits_sink = auto_tile_tl_other_masters_out_d_bits_sink; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_d_bits_denied = auto_tile_tl_other_masters_out_d_bits_denied; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_d_bits_data = auto_tile_tl_other_masters_out_d_bits_data; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_d_bits_corrupt = auto_tile_tl_other_masters_out_d_bits_corrupt; // @[LazyModule.scala 311:12]
+  assign tile_auto_tl_other_masters_out_e_ready = auto_tile_tl_other_masters_out_e_ready; // @[LazyModule.scala 311:12]
+endmodule
+module TLBuffer_9(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [3:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_b_ready,
+  output        auto_in_b_valid,
+  output [2:0]  auto_in_b_bits_opcode,
+  output [1:0]  auto_in_b_bits_param,
+  output [3:0]  auto_in_b_bits_size,
+  output [1:0]  auto_in_b_bits_source,
+  output [30:0] auto_in_b_bits_address,
+  output [3:0]  auto_in_b_bits_mask,
+  output        auto_in_b_bits_corrupt,
+  output        auto_in_c_ready,
+  input         auto_in_c_valid,
+  input  [2:0]  auto_in_c_bits_opcode,
+  input  [2:0]  auto_in_c_bits_param,
+  input  [3:0]  auto_in_c_bits_size,
+  input  [1:0]  auto_in_c_bits_source,
+  input  [30:0] auto_in_c_bits_address,
+  input  [31:0] auto_in_c_bits_data,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [3:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [1:0]  auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  output        auto_in_e_ready,
+  input         auto_in_e_valid,
+  input  [1:0]  auto_in_e_bits_sink,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [3:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_b_ready,
+  input         auto_out_b_valid,
+  input  [2:0]  auto_out_b_bits_opcode,
+  input  [1:0]  auto_out_b_bits_param,
+  input  [3:0]  auto_out_b_bits_size,
+  input  [1:0]  auto_out_b_bits_source,
+  input  [30:0] auto_out_b_bits_address,
+  input  [3:0]  auto_out_b_bits_mask,
+  input         auto_out_b_bits_corrupt,
+  input         auto_out_c_ready,
+  output        auto_out_c_valid,
+  output [2:0]  auto_out_c_bits_opcode,
+  output [2:0]  auto_out_c_bits_param,
+  output [3:0]  auto_out_c_bits_size,
+  output [1:0]  auto_out_c_bits_source,
+  output [30:0] auto_out_c_bits_address,
+  output [31:0] auto_out_c_bits_data,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [3:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input  [1:0]  auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt,
+  input         auto_out_e_ready,
+  output        auto_out_e_valid,
+  output [1:0]  auto_out_e_bits_sink
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_valid = auto_out_b_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_bits_opcode = auto_out_b_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_bits_param = auto_out_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_bits_size = auto_out_b_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_bits_source = auto_out_b_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_bits_address = auto_out_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_bits_mask = auto_out_b_bits_mask; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_b_bits_corrupt = auto_out_b_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_c_ready = auto_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_e_ready = auto_out_e_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_b_ready = auto_in_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_valid = auto_in_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_opcode = auto_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_param = auto_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_size = auto_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_source = auto_in_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_address = auto_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_c_bits_data = auto_in_c_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_e_valid = auto_in_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_e_bits_sink = auto_in_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_45(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [3:0]  io_in_a_bits_size,
+  input  [1:0]  io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_b_ready,
+  input         io_in_b_valid,
+  input  [2:0]  io_in_b_bits_opcode,
+  input  [1:0]  io_in_b_bits_param,
+  input  [3:0]  io_in_b_bits_size,
+  input  [1:0]  io_in_b_bits_source,
+  input  [30:0] io_in_b_bits_address,
+  input  [3:0]  io_in_b_bits_mask,
+  input         io_in_b_bits_corrupt,
+  input         io_in_c_ready,
+  input         io_in_c_valid,
+  input  [2:0]  io_in_c_bits_opcode,
+  input  [2:0]  io_in_c_bits_param,
+  input  [3:0]  io_in_c_bits_size,
+  input  [1:0]  io_in_c_bits_source,
+  input  [30:0] io_in_c_bits_address,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_param,
+  input  [3:0]  io_in_d_bits_size,
+  input  [1:0]  io_in_d_bits_source,
+  input  [1:0]  io_in_d_bits_sink,
+  input         io_in_d_bits_denied,
+  input         io_in_d_bits_corrupt,
+  input         io_in_e_ready,
+  input         io_in_e_valid,
+  input  [1:0]  io_in_e_bits_sink
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+  reg [31:0] _RAND_34;
+  reg [31:0] _RAND_35;
+  reg [31:0] _RAND_36;
+  reg [31:0] _RAND_37;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T = io_in_a_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_1 = io_in_a_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_2 = io_in_a_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok = _source_ok_T | _source_ok_T_1 | _source_ok_T_2; // @[Parameters.scala 1125:46]
+  wire [26:0] _is_aligned_mask_T_1 = 27'hfff << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask = ~_is_aligned_mask_T_1[11:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_86 = {{19'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T = io_in_a_bits_address & _GEN_86; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 31'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 4'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire [31:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_33 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire  _T_35 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire  _T_42 = _T_35 & source_ok; // @[Parameters.scala 1160:30]
+  wire [31:0] _T_48 = $signed(_T_7) & -32'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_50 = io_in_a_bits_address ^ 31'h3000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_51 = {1'b0,$signed(_T_50)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_53 = $signed(_T_51) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_54 = $signed(_T_53) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_55 = io_in_a_bits_address ^ 31'h10000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_56 = {1'b0,$signed(_T_55)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_58 = $signed(_T_56) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_59 = $signed(_T_58) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_60 = io_in_a_bits_address ^ 31'h2000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_61 = {1'b0,$signed(_T_60)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_63 = $signed(_T_61) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_64 = $signed(_T_63) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_65 = io_in_a_bits_address ^ 31'h8000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_66 = {1'b0,$signed(_T_65)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_68 = $signed(_T_66) & -32'sh4000; // @[Parameters.scala 137:52]
+  wire  _T_69 = $signed(_T_68) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_70 = io_in_a_bits_address ^ 31'hc000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_71 = {1'b0,$signed(_T_70)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_73 = $signed(_T_71) & -32'sh4000000; // @[Parameters.scala 137:52]
+  wire  _T_74 = $signed(_T_73) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_75 = io_in_a_bits_address ^ 31'h10012000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_76 = {1'b0,$signed(_T_75)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_78 = $signed(_T_76) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_79 = $signed(_T_78) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_80 = io_in_a_bits_address ^ 31'h10014000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_83 = $signed(_T_81) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_84 = $signed(_T_83) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_85 = io_in_a_bits_address ^ 31'h10016000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_88 = $signed(_T_86) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_89 = $signed(_T_88) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_90 = io_in_a_bits_address ^ 31'h10023000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_93 = $signed(_T_91) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_94 = $signed(_T_93) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_95 = io_in_a_bits_address ^ 31'h10024000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_98 = $signed(_T_96) & -32'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_99 = $signed(_T_98) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_100 = io_in_a_bits_address ^ 31'h10026000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_103 = $signed(_T_101) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_104 = $signed(_T_103) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_105 = io_in_a_bits_address ^ 31'h10043000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_108 = $signed(_T_106) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_109 = $signed(_T_108) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _T_110 = io_in_a_bits_address ^ 31'h20000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_113 = $signed(_T_111) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_114 = $signed(_T_113) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_130 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 92:42]
+  wire [30:0] _T_133 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_134 = {1'b0,$signed(_T_133)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_136 = $signed(_T_134) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_137 = $signed(_T_136) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_138 = _T_130 & _T_137; // @[Parameters.scala 670:56]
+  wire  _T_141 = _T_42 & _T_138; // @[Monitor.scala 82:72]
+  wire  _T_148 = 4'h6 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_149 = _source_ok_T & _T_148; // @[Mux.scala 27:73]
+  wire  _T_246 = _T_49 | _T_54 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109
+     | _T_114 | _T_137; // @[Parameters.scala 671:42]
+  wire  _T_247 = _T_35 & _T_246; // @[Parameters.scala 670:56]
+  wire  _T_249 = _T_149 & _T_247; // @[Monitor.scala 83:78]
+  wire  _T_263 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_267 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_268 = _T_267 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_276 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_510 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_523 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_546 = _T_35 & _T_54; // @[Parameters.scala 670:56]
+  wire  _T_633 = _T_49 | _T_59 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109 |
+    _T_114 | _T_137; // @[Parameters.scala 671:42]
+  wire  _T_634 = _T_130 & _T_633; // @[Parameters.scala 670:56]
+  wire  _T_636 = _T_546 | _T_634; // @[Parameters.scala 672:30]
+  wire  _T_646 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_650 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_658 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_752 = _T_49 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109; // @[Parameters.scala 671:42]
+  wire  _T_753 = _T_49 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109 | _T_137; // @[Parameters.scala 671:42]
+  wire  _T_754 = _T_130 & _T_753; // @[Parameters.scala 670:56]
+  wire  _T_769 = _T_546 | _T_754; // @[Parameters.scala 672:30]
+  wire  _T_771 = _T_42 & _T_769; // @[Monitor.scala 115:71]
+  wire  _T_789 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire  _T_879 = _T_130 & _T_752; // @[Parameters.scala 670:56]
+  wire  _T_900 = _T_546 | _T_879; // @[Parameters.scala 672:30]
+  wire  _T_902 = _T_42 & _T_900; // @[Monitor.scala 123:74]
+  wire [3:0] _T_916 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_917 = io_in_a_bits_mask & _T_916; // @[Monitor.scala 127:31]
+  wire  _T_918 = _T_917 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_922 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_934 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 92:42]
+  wire  _T_1007 = _T_49 | _T_54 | _T_64 | _T_69 | _T_74 | _T_79 | _T_84 | _T_89 | _T_94 | _T_99 | _T_104 | _T_109; // @[Parameters.scala 671:42]
+  wire  _T_1008 = _T_934 & _T_1007; // @[Parameters.scala 670:56]
+  wire  _T_1030 = _T_42 & _T_1008; // @[Monitor.scala 131:74]
+  wire  _T_1040 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_1048 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_1166 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_1174 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_1282 = _T_42 & _T_546; // @[Monitor.scala 147:68]
+  wire  _T_1292 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_1304 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_4 = io_in_d_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_5 = io_in_d_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_6 = io_in_d_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_1 = _source_ok_T_4 | _source_ok_T_5 | _source_ok_T_6; // @[Parameters.scala 1125:46]
+  wire  _T_1308 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_1312 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 312:27]
+  wire  _T_1316 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_1320 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_1324 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_1328 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_1339 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_1343 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_1356 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_1376 = _T_1324 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_1385 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_1402 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_1420 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  _T_1437 = io_in_b_bits_opcode <= 3'h6; // @[Bundles.scala 40:24]
+  wire  _T_1441 = io_in_b_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire [31:0] _T_1444 = {1'b0,$signed(io_in_b_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_1449 = io_in_b_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _T_1457 = io_in_b_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire [30:0] _address_ok_T = io_in_b_bits_address ^ 31'h3000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_1 = {1'b0,$signed(_address_ok_T)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_3 = $signed(_address_ok_T_1) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_4 = $signed(_address_ok_T_3) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_5 = io_in_b_bits_address ^ 31'h10013000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_6 = {1'b0,$signed(_address_ok_T_5)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_8 = $signed(_address_ok_T_6) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_9 = $signed(_address_ok_T_8) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_10 = io_in_b_bits_address ^ 31'h10023000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_11 = {1'b0,$signed(_address_ok_T_10)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_13 = $signed(_address_ok_T_11) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_14 = $signed(_address_ok_T_13) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_15 = io_in_b_bits_address ^ 31'h10033000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_16 = {1'b0,$signed(_address_ok_T_15)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_18 = $signed(_address_ok_T_16) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_19 = $signed(_address_ok_T_18) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_20 = io_in_b_bits_address ^ 31'h10043000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_21 = {1'b0,$signed(_address_ok_T_20)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_23 = $signed(_address_ok_T_21) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_24 = $signed(_address_ok_T_23) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_25 = io_in_b_bits_address ^ 31'h10053000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_26 = {1'b0,$signed(_address_ok_T_25)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_28 = $signed(_address_ok_T_26) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_29 = $signed(_address_ok_T_28) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_30 = io_in_b_bits_address ^ 31'h10014000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_31 = {1'b0,$signed(_address_ok_T_30)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_33 = $signed(_address_ok_T_31) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_34 = $signed(_address_ok_T_33) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_35 = io_in_b_bits_address ^ 31'h20000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_36 = {1'b0,$signed(_address_ok_T_35)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_38 = $signed(_address_ok_T_36) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_39 = $signed(_address_ok_T_38) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_40 = io_in_b_bits_address ^ 31'h10034000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_41 = {1'b0,$signed(_address_ok_T_40)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_43 = $signed(_address_ok_T_41) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_44 = $signed(_address_ok_T_43) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_45 = io_in_b_bits_address ^ 31'h10024000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_46 = {1'b0,$signed(_address_ok_T_45)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_48 = $signed(_address_ok_T_46) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_49 = $signed(_address_ok_T_48) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_50 = io_in_b_bits_address ^ 31'h10012000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_51 = {1'b0,$signed(_address_ok_T_50)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_53 = $signed(_address_ok_T_51) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_54 = $signed(_address_ok_T_53) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_55 = io_in_b_bits_address ^ 31'h10015000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_56 = {1'b0,$signed(_address_ok_T_55)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_58 = $signed(_address_ok_T_56) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_59 = $signed(_address_ok_T_58) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_60 = io_in_b_bits_address ^ 31'h10025000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_61 = {1'b0,$signed(_address_ok_T_60)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_63 = $signed(_address_ok_T_61) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_64 = $signed(_address_ok_T_63) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_65 = io_in_b_bits_address ^ 31'h10035000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_66 = {1'b0,$signed(_address_ok_T_65)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_68 = $signed(_address_ok_T_66) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_69 = $signed(_address_ok_T_68) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_70 = io_in_b_bits_address ^ 31'h10016000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_71 = {1'b0,$signed(_address_ok_T_70)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_73 = $signed(_address_ok_T_71) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_74 = $signed(_address_ok_T_73) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_75 = io_in_b_bits_address ^ 31'h10026000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_76 = {1'b0,$signed(_address_ok_T_75)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_78 = $signed(_address_ok_T_76) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_79 = $signed(_address_ok_T_78) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_80 = io_in_b_bits_address ^ 31'hc000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_81 = {1'b0,$signed(_address_ok_T_80)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_83 = $signed(_address_ok_T_81) & -32'sh4000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_84 = $signed(_address_ok_T_83) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_85 = io_in_b_bits_address ^ 31'h2000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_86 = {1'b0,$signed(_address_ok_T_85)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_88 = $signed(_address_ok_T_86) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_89 = $signed(_address_ok_T_88) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _address_ok_T_93 = $signed(_T_1444) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_94 = $signed(_address_ok_T_93) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_95 = io_in_b_bits_address ^ 31'h8000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_96 = {1'b0,$signed(_address_ok_T_95)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_98 = $signed(_address_ok_T_96) & -32'sh4000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_99 = $signed(_address_ok_T_98) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_100 = io_in_b_bits_address ^ 31'h10000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_101 = {1'b0,$signed(_address_ok_T_100)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_103 = $signed(_address_ok_T_101) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_104 = $signed(_address_ok_T_103) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_105 = io_in_b_bits_address ^ 31'h10000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_106 = {1'b0,$signed(_address_ok_T_105)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_108 = $signed(_address_ok_T_106) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_109 = $signed(_address_ok_T_108) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_110 = io_in_b_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_111 = {1'b0,$signed(_address_ok_T_110)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_113 = $signed(_address_ok_T_111) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_114 = $signed(_address_ok_T_113) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  address_ok = _address_ok_T_4 | _address_ok_T_9 | _address_ok_T_14 | _address_ok_T_19 | _address_ok_T_24 |
+    _address_ok_T_29 | _address_ok_T_34 | _address_ok_T_39 | _address_ok_T_44 | _address_ok_T_49 | _address_ok_T_54 |
+    _address_ok_T_59 | _address_ok_T_64 | _address_ok_T_69 | _address_ok_T_74 | _address_ok_T_79 | _address_ok_T_84 |
+    _address_ok_T_89 | _address_ok_T_94 | _address_ok_T_99 | _address_ok_T_104 | _address_ok_T_109 | _address_ok_T_114; // @[Parameters.scala 622:64]
+  wire [26:0] _is_aligned_mask_T_4 = 27'hfff << io_in_b_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask_1 = ~_is_aligned_mask_T_4[11:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_87 = {{19'd0}, is_aligned_mask_1}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T_1 = io_in_b_bits_address & _GEN_87; // @[Edges.scala 20:16]
+  wire  is_aligned_1 = _is_aligned_T_1 == 31'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount_1 = io_in_b_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_4 = 2'h1 << mask_sizeOH_shiftAmount_1; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH_1 = _mask_sizeOH_T_4 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T_1 = io_in_b_bits_size >= 4'h2; // @[Misc.scala 205:21]
+  wire  mask_size_2 = mask_sizeOH_1[1]; // @[Misc.scala 208:26]
+  wire  mask_bit_2 = io_in_b_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit_2 = ~mask_bit_2; // @[Misc.scala 210:20]
+  wire  mask_acc_6 = _mask_T_1 | mask_size_2 & mask_nbit_2; // @[Misc.scala 214:29]
+  wire  mask_acc_7 = _mask_T_1 | mask_size_2 & mask_bit_2; // @[Misc.scala 214:29]
+  wire  mask_size_3 = mask_sizeOH_1[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_3 = io_in_b_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_3 = ~mask_bit_3; // @[Misc.scala 210:20]
+  wire  mask_eq_8 = mask_nbit_2 & mask_nbit_3; // @[Misc.scala 213:27]
+  wire  mask_acc_8 = mask_acc_6 | mask_size_3 & mask_eq_8; // @[Misc.scala 214:29]
+  wire  mask_eq_9 = mask_nbit_2 & mask_bit_3; // @[Misc.scala 213:27]
+  wire  mask_acc_9 = mask_acc_6 | mask_size_3 & mask_eq_9; // @[Misc.scala 214:29]
+  wire  mask_eq_10 = mask_bit_2 & mask_nbit_3; // @[Misc.scala 213:27]
+  wire  mask_acc_10 = mask_acc_7 | mask_size_3 & mask_eq_10; // @[Misc.scala 214:29]
+  wire  mask_eq_11 = mask_bit_2 & mask_bit_3; // @[Misc.scala 213:27]
+  wire  mask_acc_11 = mask_acc_7 | mask_size_3 & mask_eq_11; // @[Misc.scala 214:29]
+  wire [3:0] mask_1 = {mask_acc_11,mask_acc_10,mask_acc_9,mask_acc_8}; // @[Cat.scala 31:58]
+  wire [1:0] _legal_source_T_5 = _T_1457 ? 2'h2 : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _GEN_88 = {{1'd0}, _T_1449}; // @[Mux.scala 27:73]
+  wire [1:0] _legal_source_T_7 = _GEN_88 | _legal_source_T_5; // @[Mux.scala 27:73]
+  wire  legal_source = _legal_source_T_7 == io_in_b_bits_source; // @[Monitor.scala 165:113]
+  wire  _T_1470 = io_in_b_bits_opcode == 3'h6; // @[Monitor.scala 167:25]
+  wire  _T_1474 = 4'h6 == io_in_b_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_1475 = _T_1441 & _T_1474; // @[Mux.scala 27:73]
+  wire  _T_1481 = io_in_b_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire [31:0] _T_1487 = $signed(_T_1444) & -32'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_1488 = $signed(_T_1487) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1517 = $signed(_address_ok_T_51) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_1518 = $signed(_T_1517) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1522 = $signed(_address_ok_T_31) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_1523 = $signed(_T_1522) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1532 = $signed(_address_ok_T_11) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_1533 = $signed(_T_1532) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1537 = $signed(_address_ok_T_46) & -32'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_1538 = $signed(_T_1537) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_1547 = $signed(_address_ok_T_21) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_1548 = $signed(_T_1547) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_1572 = _T_1488 | _address_ok_T_4 | _address_ok_T_109 | _address_ok_T_89 | _address_ok_T_99 | _address_ok_T_84
+     | _T_1518 | _T_1523 | _address_ok_T_74 | _T_1533 | _T_1538 | _address_ok_T_79 | _T_1548 | _address_ok_T_39 |
+    _address_ok_T_114; // @[Parameters.scala 671:42]
+  wire  _T_1573 = _T_1481 & _T_1572; // @[Parameters.scala 670:56]
+  wire  _T_1575 = _T_1475 & _T_1573; // @[Monitor.scala 168:75]
+  wire  _T_1581 = ~address_ok; // @[Monitor.scala 49:11]
+  wire  _T_1584 = ~legal_source; // @[Monitor.scala 49:11]
+  wire  _T_1587 = ~is_aligned_1; // @[Monitor.scala 49:11]
+  wire  _T_1588 = io_in_b_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_1592 = io_in_b_bits_mask == mask_1; // @[Monitor.scala 173:27]
+  wire  _T_1595 = ~_T_1592; // @[Monitor.scala 49:11]
+  wire  _T_1596 = ~io_in_b_bits_corrupt; // @[Monitor.scala 174:15]
+  wire  _T_1599 = ~_T_1596; // @[Monitor.scala 49:11]
+  wire  _T_1600 = io_in_b_bits_opcode == 3'h4; // @[Monitor.scala 177:25]
+  wire  _T_1709 = io_in_b_bits_param == 2'h0; // @[Monitor.scala 182:31]
+  wire  _T_1721 = io_in_b_bits_opcode == 3'h0; // @[Monitor.scala 187:25]
+  wire  _T_1838 = io_in_b_bits_opcode == 3'h1; // @[Monitor.scala 196:25]
+  wire [3:0] _T_1951 = ~mask_1; // @[Monitor.scala 202:33]
+  wire [3:0] _T_1952 = io_in_b_bits_mask & _T_1951; // @[Monitor.scala 202:31]
+  wire  _T_1953 = _T_1952 == 4'h0; // @[Monitor.scala 202:40]
+  wire  _T_1957 = io_in_b_bits_opcode == 3'h2; // @[Monitor.scala 205:25]
+  wire  _T_2074 = io_in_b_bits_opcode == 3'h3; // @[Monitor.scala 214:25]
+  wire  _T_2191 = io_in_b_bits_opcode == 3'h5; // @[Monitor.scala 223:25]
+  wire  _source_ok_T_8 = io_in_c_bits_source == 2'h0; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_9 = io_in_c_bits_source == 2'h1; // @[Parameters.scala 46:9]
+  wire  _source_ok_T_10 = io_in_c_bits_source == 2'h2; // @[Parameters.scala 46:9]
+  wire  source_ok_2 = _source_ok_T_8 | _source_ok_T_9 | _source_ok_T_10; // @[Parameters.scala 1125:46]
+  wire [26:0] _is_aligned_mask_T_7 = 27'hfff << io_in_c_bits_size; // @[package.scala 234:77]
+  wire [11:0] is_aligned_mask_2 = ~_is_aligned_mask_T_7[11:0]; // @[package.scala 234:46]
+  wire [30:0] _GEN_89 = {{19'd0}, is_aligned_mask_2}; // @[Edges.scala 20:16]
+  wire [30:0] _is_aligned_T_2 = io_in_c_bits_address & _GEN_89; // @[Edges.scala 20:16]
+  wire  is_aligned_2 = _is_aligned_T_2 == 31'h0; // @[Edges.scala 20:24]
+  wire [30:0] _address_ok_T_136 = io_in_c_bits_address ^ 31'h3000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_137 = {1'b0,$signed(_address_ok_T_136)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_139 = $signed(_address_ok_T_137) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_140 = $signed(_address_ok_T_139) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_141 = io_in_c_bits_address ^ 31'h10013000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_142 = {1'b0,$signed(_address_ok_T_141)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_144 = $signed(_address_ok_T_142) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_145 = $signed(_address_ok_T_144) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_146 = io_in_c_bits_address ^ 31'h10023000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_147 = {1'b0,$signed(_address_ok_T_146)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_149 = $signed(_address_ok_T_147) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_150 = $signed(_address_ok_T_149) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_151 = io_in_c_bits_address ^ 31'h10033000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_152 = {1'b0,$signed(_address_ok_T_151)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_154 = $signed(_address_ok_T_152) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_155 = $signed(_address_ok_T_154) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_156 = io_in_c_bits_address ^ 31'h10043000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_157 = {1'b0,$signed(_address_ok_T_156)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_159 = $signed(_address_ok_T_157) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_160 = $signed(_address_ok_T_159) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_161 = io_in_c_bits_address ^ 31'h10053000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_162 = {1'b0,$signed(_address_ok_T_161)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_164 = $signed(_address_ok_T_162) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_165 = $signed(_address_ok_T_164) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_166 = io_in_c_bits_address ^ 31'h10014000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_167 = {1'b0,$signed(_address_ok_T_166)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_169 = $signed(_address_ok_T_167) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_170 = $signed(_address_ok_T_169) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_171 = io_in_c_bits_address ^ 31'h20000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_172 = {1'b0,$signed(_address_ok_T_171)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_174 = $signed(_address_ok_T_172) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_175 = $signed(_address_ok_T_174) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_176 = io_in_c_bits_address ^ 31'h10034000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_177 = {1'b0,$signed(_address_ok_T_176)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_179 = $signed(_address_ok_T_177) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_180 = $signed(_address_ok_T_179) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_181 = io_in_c_bits_address ^ 31'h10024000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_182 = {1'b0,$signed(_address_ok_T_181)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_184 = $signed(_address_ok_T_182) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_185 = $signed(_address_ok_T_184) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_186 = io_in_c_bits_address ^ 31'h10012000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_187 = {1'b0,$signed(_address_ok_T_186)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_189 = $signed(_address_ok_T_187) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_190 = $signed(_address_ok_T_189) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_191 = io_in_c_bits_address ^ 31'h10015000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_192 = {1'b0,$signed(_address_ok_T_191)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_194 = $signed(_address_ok_T_192) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_195 = $signed(_address_ok_T_194) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_196 = io_in_c_bits_address ^ 31'h10025000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_197 = {1'b0,$signed(_address_ok_T_196)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_199 = $signed(_address_ok_T_197) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_200 = $signed(_address_ok_T_199) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_201 = io_in_c_bits_address ^ 31'h10035000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_202 = {1'b0,$signed(_address_ok_T_201)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_204 = $signed(_address_ok_T_202) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_205 = $signed(_address_ok_T_204) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_206 = io_in_c_bits_address ^ 31'h10016000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_207 = {1'b0,$signed(_address_ok_T_206)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_209 = $signed(_address_ok_T_207) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_210 = $signed(_address_ok_T_209) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_211 = io_in_c_bits_address ^ 31'h10026000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_212 = {1'b0,$signed(_address_ok_T_211)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_214 = $signed(_address_ok_T_212) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_215 = $signed(_address_ok_T_214) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_216 = io_in_c_bits_address ^ 31'hc000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_217 = {1'b0,$signed(_address_ok_T_216)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_219 = $signed(_address_ok_T_217) & -32'sh4000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_220 = $signed(_address_ok_T_219) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_221 = io_in_c_bits_address ^ 31'h2000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_222 = {1'b0,$signed(_address_ok_T_221)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_224 = $signed(_address_ok_T_222) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_225 = $signed(_address_ok_T_224) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _address_ok_T_227 = {1'b0,$signed(io_in_c_bits_address)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_229 = $signed(_address_ok_T_227) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_230 = $signed(_address_ok_T_229) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_231 = io_in_c_bits_address ^ 31'h8000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_232 = {1'b0,$signed(_address_ok_T_231)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_234 = $signed(_address_ok_T_232) & -32'sh4000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_235 = $signed(_address_ok_T_234) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_236 = io_in_c_bits_address ^ 31'h10000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_237 = {1'b0,$signed(_address_ok_T_236)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_239 = $signed(_address_ok_T_237) & -32'sh1000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_240 = $signed(_address_ok_T_239) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_241 = io_in_c_bits_address ^ 31'h10000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_242 = {1'b0,$signed(_address_ok_T_241)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_244 = $signed(_address_ok_T_242) & -32'sh10000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_245 = $signed(_address_ok_T_244) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [30:0] _address_ok_T_246 = io_in_c_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _address_ok_T_247 = {1'b0,$signed(_address_ok_T_246)}; // @[Parameters.scala 137:49]
+  wire [31:0] _address_ok_T_249 = $signed(_address_ok_T_247) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _address_ok_T_250 = $signed(_address_ok_T_249) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  address_ok_1 = _address_ok_T_140 | _address_ok_T_145 | _address_ok_T_150 | _address_ok_T_155 | _address_ok_T_160
+     | _address_ok_T_165 | _address_ok_T_170 | _address_ok_T_175 | _address_ok_T_180 | _address_ok_T_185 |
+    _address_ok_T_190 | _address_ok_T_195 | _address_ok_T_200 | _address_ok_T_205 | _address_ok_T_210 |
+    _address_ok_T_215 | _address_ok_T_220 | _address_ok_T_225 | _address_ok_T_230 | _address_ok_T_235 |
+    _address_ok_T_240 | _address_ok_T_245 | _address_ok_T_250; // @[Parameters.scala 622:64]
+  wire  _T_2341 = io_in_c_bits_opcode == 3'h4; // @[Monitor.scala 242:25]
+  wire  _T_2348 = io_in_c_bits_size >= 4'h2; // @[Monitor.scala 245:30]
+  wire  _T_2355 = io_in_c_bits_param <= 3'h5; // @[Bundles.scala 120:29]
+  wire  _T_2363 = io_in_c_bits_opcode == 3'h5; // @[Monitor.scala 251:25]
+  wire  _T_2381 = io_in_c_bits_opcode == 3'h6; // @[Monitor.scala 259:25]
+  wire  _T_2383 = io_in_c_bits_size <= 4'hc; // @[Parameters.scala 92:42]
+  wire  _T_2390 = _T_2383 & source_ok_2; // @[Parameters.scala 1160:30]
+  wire [31:0] _T_2396 = $signed(_address_ok_T_227) & -32'sh10001000; // @[Parameters.scala 137:52]
+  wire  _T_2397 = $signed(_T_2396) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2426 = $signed(_address_ok_T_187) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_2427 = $signed(_T_2426) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2431 = $signed(_address_ok_T_167) & -32'sh2000; // @[Parameters.scala 137:52]
+  wire  _T_2432 = $signed(_T_2431) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2441 = $signed(_address_ok_T_147) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_2442 = $signed(_T_2441) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2446 = $signed(_address_ok_T_182) & -32'sh12000; // @[Parameters.scala 137:52]
+  wire  _T_2447 = $signed(_T_2446) == 32'sh0; // @[Parameters.scala 137:67]
+  wire [31:0] _T_2456 = $signed(_address_ok_T_157) & -32'sh11000; // @[Parameters.scala 137:52]
+  wire  _T_2457 = $signed(_T_2456) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_2478 = io_in_c_bits_size <= 4'h6; // @[Parameters.scala 92:42]
+  wire  _T_2486 = _T_2478 & _address_ok_T_250; // @[Parameters.scala 670:56]
+  wire  _T_2489 = _T_2390 & _T_2486; // @[Monitor.scala 260:78]
+  wire  _T_2496 = 4'h6 == io_in_c_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_2497 = _source_ok_T_8 & _T_2496; // @[Mux.scala 27:73]
+  wire  _T_2594 = _T_2397 | _address_ok_T_140 | _address_ok_T_245 | _address_ok_T_225 | _address_ok_T_235 |
+    _address_ok_T_220 | _T_2427 | _T_2432 | _address_ok_T_210 | _T_2442 | _T_2447 | _address_ok_T_215 | _T_2457 |
+    _address_ok_T_175 | _address_ok_T_250; // @[Parameters.scala 671:42]
+  wire  _T_2595 = _T_2383 & _T_2594; // @[Parameters.scala 670:56]
+  wire  _T_2597 = _T_2497 & _T_2595; // @[Monitor.scala 261:78]
+  wire  _T_2619 = io_in_c_bits_opcode == 3'h7; // @[Monitor.scala 269:25]
+  wire  _T_2853 = io_in_c_bits_opcode == 3'h0; // @[Monitor.scala 278:25]
+  wire  _T_2863 = io_in_c_bits_param == 3'h0; // @[Monitor.scala 282:31]
+  wire  _T_2871 = io_in_c_bits_opcode == 3'h1; // @[Monitor.scala 286:25]
+  wire  _T_2885 = io_in_c_bits_opcode == 3'h2; // @[Monitor.scala 293:25]
+  wire  _a_first_T = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  wire [9:0] a_first_beats1_decode = is_aligned_mask[11:2]; // @[Edges.scala 219:59]
+  wire  a_first_beats1_opdata = ~io_in_a_bits_opcode[2]; // @[Edges.scala 91:28]
+  reg [9:0] a_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1 = a_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first = a_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [3:0] size; // @[Monitor.scala 386:22]
+  reg [1:0] source; // @[Monitor.scala 387:22]
+  reg [30:0] address; // @[Monitor.scala 388:22]
+  wire  _T_2907 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_2908 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_2912 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_2916 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_2920 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_2924 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  _d_first_T = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  wire [26:0] _d_first_beats1_decode_T_1 = 27'hfff << io_in_d_bits_size; // @[package.scala 234:77]
+  wire [11:0] _d_first_beats1_decode_T_3 = ~_d_first_beats1_decode_T_1[11:0]; // @[package.scala 234:46]
+  wire [9:0] d_first_beats1_decode = _d_first_beats1_decode_T_3[11:2]; // @[Edges.scala 219:59]
+  wire  d_first_beats1_opdata = io_in_d_bits_opcode[0]; // @[Edges.scala 105:36]
+  reg [9:0] d_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1 = d_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first = d_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [3:0] size_1; // @[Monitor.scala 537:22]
+  reg [1:0] source_1; // @[Monitor.scala 538:22]
+  reg [1:0] sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_2931 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_2932 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_2936 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_2940 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_2944 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_2948 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_2952 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  wire  b_first_done = io_in_b_ready & io_in_b_valid; // @[Decoupled.scala 50:35]
+  reg [9:0] b_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] b_first_counter1 = b_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  b_first = b_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_2; // @[Monitor.scala 407:22]
+  reg [1:0] param_2; // @[Monitor.scala 408:22]
+  reg [3:0] size_2; // @[Monitor.scala 409:22]
+  reg [1:0] source_2; // @[Monitor.scala 410:22]
+  reg [30:0] address_1; // @[Monitor.scala 411:22]
+  wire  _T_2959 = io_in_b_valid & ~b_first; // @[Monitor.scala 412:19]
+  wire  _T_2960 = io_in_b_bits_opcode == opcode_2; // @[Monitor.scala 413:32]
+  wire  _T_2964 = io_in_b_bits_param == param_2; // @[Monitor.scala 414:32]
+  wire  _T_2968 = io_in_b_bits_size == size_2; // @[Monitor.scala 415:32]
+  wire  _T_2972 = io_in_b_bits_source == source_2; // @[Monitor.scala 416:32]
+  wire  _T_2976 = io_in_b_bits_address == address_1; // @[Monitor.scala 417:32]
+  wire  _c_first_T = io_in_c_ready & io_in_c_valid; // @[Decoupled.scala 50:35]
+  wire [9:0] c_first_beats1_decode = is_aligned_mask_2[11:2]; // @[Edges.scala 219:59]
+  wire  c_first_beats1_opdata = io_in_c_bits_opcode[0]; // @[Edges.scala 101:36]
+  reg [9:0] c_first_counter; // @[Edges.scala 228:27]
+  wire [9:0] c_first_counter1 = c_first_counter - 10'h1; // @[Edges.scala 229:28]
+  wire  c_first = c_first_counter == 10'h0; // @[Edges.scala 230:25]
+  reg [2:0] opcode_3; // @[Monitor.scala 512:22]
+  reg [2:0] param_3; // @[Monitor.scala 513:22]
+  reg [3:0] size_3; // @[Monitor.scala 514:22]
+  reg [1:0] source_3; // @[Monitor.scala 515:22]
+  reg [30:0] address_2; // @[Monitor.scala 516:22]
+  wire  _T_2983 = io_in_c_valid & ~c_first; // @[Monitor.scala 517:19]
+  wire  _T_2984 = io_in_c_bits_opcode == opcode_3; // @[Monitor.scala 518:32]
+  wire  _T_2988 = io_in_c_bits_param == param_3; // @[Monitor.scala 519:32]
+  wire  _T_2992 = io_in_c_bits_size == size_3; // @[Monitor.scala 520:32]
+  wire  _T_2996 = io_in_c_bits_source == source_3; // @[Monitor.scala 521:32]
+  wire  _T_3000 = io_in_c_bits_address == address_2; // @[Monitor.scala 522:32]
+  reg [2:0] inflight; // @[Monitor.scala 611:27]
+  reg [11:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [23:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg [9:0] a_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] a_first_counter1_1 = a_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = a_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  reg [9:0] d_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_1 = d_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = d_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  wire [3:0] _GEN_90 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [4:0] _a_opcode_lookup_T = {{1'd0}, _GEN_90}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_91 = {{4'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_91 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [4:0] _a_size_lookup_T = {io_in_d_bits_source, 3'h0}; // @[Monitor.scala 638:65]
+  wire [23:0] _a_size_lookup_T_1 = inflight_sizes >> _a_size_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _a_size_lookup_T_5 = 16'h100 - 16'h1; // @[Monitor.scala 609:57]
+  wire [23:0] _GEN_93 = {{8'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_93; // @[Monitor.scala 638:91]
+  wire [23:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[23:1]}; // @[Monitor.scala 638:144]
+  wire  _T_3006 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [3:0] _a_set_wo_ready_T = 4'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_27 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_3009 = _a_first_T & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [4:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [4:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 5'h1; // @[Monitor.scala 655:59]
+  wire [3:0] _GEN_95 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [4:0] _a_opcodes_set_T = {{1'd0}, _GEN_95}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = _a_first_T & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [34:0] _GEN_1 = {{31'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [34:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [4:0] _a_sizes_set_T = {io_in_a_bits_source, 3'h0}; // @[Monitor.scala 657:77]
+  wire [4:0] a_sizes_set_interm = _a_first_T & a_first_1 ? _a_sizes_set_interm_T_1 : 5'h0; // @[Monitor.scala 652:72 655:28]
+  wire [35:0] _GEN_2 = {{31'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [35:0] _a_sizes_set_T_1 = _GEN_2 << _a_sizes_set_T; // @[Monitor.scala 657:52]
+  wire [2:0] _T_3011 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_3013 = ~_T_3011[0]; // @[Monitor.scala 658:17]
+  wire [3:0] _GEN_28 = _a_first_T & a_first_1 ? _a_set_wo_ready_T : 4'h0; // @[Monitor.scala 652:72 653:28]
+  wire [34:0] _GEN_31 = _a_first_T & a_first_1 ? _a_opcodes_set_T_1 : 35'h0; // @[Monitor.scala 652:72 656:28]
+  wire [35:0] _GEN_32 = _a_first_T & a_first_1 ? _a_sizes_set_T_1 : 36'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_3017 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_3019 = ~_T_1308; // @[Monitor.scala 671:74]
+  wire  _T_3020 = io_in_d_valid & d_first_1 & ~_T_1308; // @[Monitor.scala 671:71]
+  wire [3:0] _d_clr_wo_ready_T = 4'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_33 = io_in_d_valid & d_first_1 & ~_T_1308 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 671:90 672:22]
+  wire [46:0] _GEN_3 = {{31'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [46:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [46:0] _GEN_4 = {{31'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 678:74]
+  wire [46:0] _d_sizes_clr_T_5 = _GEN_4 << _a_size_lookup_T; // @[Monitor.scala 678:74]
+  wire [3:0] _GEN_34 = _d_first_T & d_first_1 & _T_3019 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 675:91 676:21]
+  wire [46:0] _GEN_35 = _d_first_T & d_first_1 & _T_3019 ? _d_opcodes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 677:21]
+  wire [46:0] _GEN_36 = _d_first_T & d_first_1 & _T_3019 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 675:91 678:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_3006 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2:0] _T_3030 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_3032 = _T_3030[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_39 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_40 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_39; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_41 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_40; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_42 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_41; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_43 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_42; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_44 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_43; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_51 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_42; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_52 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_51; // @[Monitor.scala 686:{39,39}]
+  wire  _T_3037 = io_in_d_bits_opcode == _GEN_52; // @[Monitor.scala 686:39]
+  wire  _T_3038 = io_in_d_bits_opcode == _GEN_44 | _T_3037; // @[Monitor.scala 685:77]
+  wire  _T_3042 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_55 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_56 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_55; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_57 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_56; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_58 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_57; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_59 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_58; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_60 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_59; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_67 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_58; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_68 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_67; // @[Monitor.scala 690:{38,38}]
+  wire  _T_3049 = io_in_d_bits_opcode == _GEN_68; // @[Monitor.scala 690:38]
+  wire  _T_3050 = io_in_d_bits_opcode == _GEN_60 | _T_3049; // @[Monitor.scala 689:72]
+  wire [7:0] a_size_lookup = _a_size_lookup_T_7[7:0];
+  wire [7:0] _GEN_97 = {{4'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_3054 = _GEN_97 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_3064 = _T_3017 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_3019; // @[Monitor.scala 694:116]
+  wire  _T_3065 = ~io_in_d_ready; // @[Monitor.scala 695:15]
+  wire  _T_3066 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2:0] a_set_wo_ready = _GEN_27[2:0];
+  wire [2:0] d_clr_wo_ready = _GEN_33[2:0];
+  wire  _T_3073 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [2:0] a_set = _GEN_28[2:0];
+  wire [2:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2:0] d_clr = _GEN_34[2:0];
+  wire [2:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [11:0] a_opcodes_set = _GEN_31[11:0];
+  wire [11:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [11:0] d_opcodes_clr = _GEN_35[11:0];
+  wire [11:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [11:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [23:0] a_sizes_set = _GEN_32[23:0];
+  wire [23:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [23:0] d_sizes_clr = _GEN_36[23:0];
+  wire [23:0] _inflight_sizes_T_1 = ~d_sizes_clr; // @[Monitor.scala 704:56]
+  wire [23:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_sizes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_3082 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [23:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg [9:0] c_first_counter_1; // @[Edges.scala 228:27]
+  wire [9:0] c_first_counter1_1 = c_first_counter_1 - 10'h1; // @[Edges.scala 229:28]
+  wire  c_first_1 = c_first_counter_1 == 10'h0; // @[Edges.scala 230:25]
+  reg [9:0] d_first_counter_2; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_2 = d_first_counter_2 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = d_first_counter_2 == 10'h0; // @[Edges.scala 230:25]
+  wire [23:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_size_lookup_T; // @[Monitor.scala 747:42]
+  wire [23:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_93; // @[Monitor.scala 747:93]
+  wire [23:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[23:1]}; // @[Monitor.scala 747:146]
+  wire  _T_3092 = io_in_c_bits_opcode[2] & io_in_c_bits_opcode[1]; // @[Edges.scala 67:40]
+  wire  _T_3093 = io_in_c_valid & c_first_1 & _T_3092; // @[Monitor.scala 756:37]
+  wire [3:0] _c_set_wo_ready_T = 4'h1 << io_in_c_bits_source; // @[OneHot.scala 57:35]
+  wire [3:0] _GEN_72 = io_in_c_valid & c_first_1 & _T_3092 ? _c_set_wo_ready_T : 4'h0; // @[Monitor.scala 756:71 757:22]
+  wire  _T_3099 = _c_first_T & c_first_1 & _T_3092; // @[Monitor.scala 760:38]
+  wire [4:0] _c_sizes_set_interm_T = {io_in_c_bits_size, 1'h0}; // @[Monitor.scala 763:51]
+  wire [4:0] _c_sizes_set_interm_T_1 = _c_sizes_set_interm_T | 5'h1; // @[Monitor.scala 763:59]
+  wire [4:0] _c_sizes_set_T = {io_in_c_bits_source, 3'h0}; // @[Monitor.scala 765:77]
+  wire [4:0] c_sizes_set_interm = _c_first_T & c_first_1 & _T_3092 ? _c_sizes_set_interm_T_1 : 5'h0; // @[Monitor.scala 760:72 763:28]
+  wire [35:0] _GEN_5 = {{31'd0}, c_sizes_set_interm}; // @[Monitor.scala 765:52]
+  wire [35:0] _c_sizes_set_T_1 = _GEN_5 << _c_sizes_set_T; // @[Monitor.scala 765:52]
+  wire [2:0] _T_3100 = inflight_1 >> io_in_c_bits_source; // @[Monitor.scala 766:26]
+  wire  _T_3102 = ~_T_3100[0]; // @[Monitor.scala 766:17]
+  wire [3:0] _GEN_73 = _c_first_T & c_first_1 & _T_3092 ? _c_set_wo_ready_T : 4'h0; // @[Monitor.scala 760:72 761:28]
+  wire [35:0] _GEN_77 = _c_first_T & c_first_1 & _T_3092 ? _c_sizes_set_T_1 : 36'h0; // @[Monitor.scala 760:72 765:28]
+  wire  _T_3106 = io_in_d_valid & d_first_2; // @[Monitor.scala 779:26]
+  wire  _T_3108 = io_in_d_valid & d_first_2 & _T_1308; // @[Monitor.scala 779:71]
+  wire [3:0] _GEN_78 = io_in_d_valid & d_first_2 & _T_1308 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 779:89 780:22]
+  wire [3:0] _GEN_79 = _d_first_T & d_first_2 & _T_1308 ? _d_clr_wo_ready_T : 4'h0; // @[Monitor.scala 783:90 784:21]
+  wire [46:0] _GEN_81 = _d_first_T & d_first_2 & _T_1308 ? _d_sizes_clr_T_5 : 47'h0; // @[Monitor.scala 783:90 786:21]
+  wire  _same_cycle_resp_T_8 = io_in_c_bits_source == io_in_d_bits_source; // @[Monitor.scala 790:113]
+  wire  same_cycle_resp_1 = _T_3093 & io_in_c_bits_source == io_in_d_bits_source; // @[Monitor.scala 790:88]
+  wire [2:0] _T_3116 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire  _T_3118 = _T_3116[0] | same_cycle_resp_1; // @[Monitor.scala 791:49]
+  wire  _T_3122 = io_in_d_bits_size == io_in_c_bits_size; // @[Monitor.scala 793:36]
+  wire [7:0] c_size_lookup = _c_size_lookup_T_7[7:0];
+  wire  _T_3126 = _GEN_97 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire  _T_3135 = _T_3106 & c_first_1 & io_in_c_valid & _same_cycle_resp_T_8 & _T_1308; // @[Monitor.scala 799:116]
+  wire  _T_3137 = _T_3065 | io_in_c_ready; // @[Monitor.scala 800:32]
+  wire [2:0] c_set_wo_ready = _GEN_72[2:0];
+  wire  _T_3141 = |c_set_wo_ready; // @[Monitor.scala 804:28]
+  wire [2:0] d_clr_wo_ready_1 = _GEN_78[2:0];
+  wire  _T_3142 = c_set_wo_ready != d_clr_wo_ready_1; // @[Monitor.scala 805:31]
+  wire [2:0] c_set = _GEN_73[2:0];
+  wire [2:0] _inflight_T_3 = inflight_1 | c_set; // @[Monitor.scala 809:35]
+  wire [2:0] d_clr_1 = _GEN_79[2:0];
+  wire [2:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2:0] _inflight_T_5 = _inflight_T_3 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [23:0] c_sizes_set = _GEN_77[23:0];
+  wire [23:0] _inflight_sizes_T_3 = inflight_sizes_1 | c_sizes_set; // @[Monitor.scala 811:41]
+  wire [23:0] d_sizes_clr_1 = _GEN_81[23:0];
+  wire [23:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
+  wire [23:0] _inflight_sizes_T_5 = _inflight_sizes_T_3 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_3151 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  reg [3:0] inflight_2; // @[Monitor.scala 823:27]
+  reg [9:0] d_first_counter_3; // @[Edges.scala 228:27]
+  wire [9:0] d_first_counter1_3 = d_first_counter_3 - 10'h1; // @[Edges.scala 229:28]
+  wire  d_first_3 = d_first_counter_3 == 10'h0; // @[Edges.scala 230:25]
+  wire  _T_3163 = io_in_d_bits_opcode[2] & ~io_in_d_bits_opcode[1]; // @[Edges.scala 70:40]
+  wire  _T_3164 = _d_first_T & d_first_3 & _T_3163; // @[Monitor.scala 829:38]
+  wire [3:0] _d_set_T = 4'h1 << io_in_d_bits_sink; // @[OneHot.scala 57:35]
+  wire [3:0] _T_3165 = inflight_2 >> io_in_d_bits_sink; // @[Monitor.scala 831:23]
+  wire  _T_3167 = ~_T_3165[0]; // @[Monitor.scala 831:14]
+  wire [3:0] d_set = _d_first_T & d_first_3 & _T_3163 ? _d_set_T : 4'h0; // @[Monitor.scala 829:72 830:13]
+  wire  _T_3171 = io_in_e_ready & io_in_e_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _e_clr_T = 4'h1 << io_in_e_bits_sink; // @[OneHot.scala 57:35]
+  wire [3:0] _T_3174 = d_set | inflight_2; // @[Monitor.scala 837:24]
+  wire [3:0] _T_3175 = _T_3174 >> io_in_e_bits_sink; // @[Monitor.scala 837:35]
+  wire [3:0] e_clr = _T_3171 ? _e_clr_T : 4'h0; // @[Monitor.scala 835:73 836:13]
+  wire [3:0] _inflight_T_6 = inflight_2 | d_set; // @[Monitor.scala 842:27]
+  wire [3:0] _inflight_T_7 = ~e_clr; // @[Monitor.scala 842:38]
+  wire [3:0] _inflight_T_8 = _inflight_T_6 & _inflight_T_7; // @[Monitor.scala 842:36]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter <= a_first_beats1_decode;
+        end else begin
+          a_first_counter <= 10'h0;
+        end
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (_a_first_T & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter <= d_first_beats1_decode;
+        end else begin
+          d_first_counter <= 10'h0;
+        end
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (_d_first_T & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      b_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (b_first_done) begin // @[Edges.scala 234:17]
+      if (b_first) begin // @[Edges.scala 235:21]
+        b_first_counter <= 10'h0;
+      end else begin
+        b_first_counter <= b_first_counter1;
+      end
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      opcode_2 <= io_in_b_bits_opcode; // @[Monitor.scala 420:15]
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      param_2 <= io_in_b_bits_param; // @[Monitor.scala 421:15]
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      size_2 <= io_in_b_bits_size; // @[Monitor.scala 422:15]
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      source_2 <= io_in_b_bits_source; // @[Monitor.scala 423:15]
+    end
+    if (b_first_done & b_first) begin // @[Monitor.scala 419:32]
+      address_1 <= io_in_b_bits_address; // @[Monitor.scala 424:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      c_first_counter <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_c_first_T) begin // @[Edges.scala 234:17]
+      if (c_first) begin // @[Edges.scala 235:21]
+        if (c_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          c_first_counter <= c_first_beats1_decode;
+        end else begin
+          c_first_counter <= 10'h0;
+        end
+      end else begin
+        c_first_counter <= c_first_counter1;
+      end
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      opcode_3 <= io_in_c_bits_opcode; // @[Monitor.scala 525:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      param_3 <= io_in_c_bits_param; // @[Monitor.scala 526:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      size_3 <= io_in_c_bits_size; // @[Monitor.scala 527:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      source_3 <= io_in_c_bits_source; // @[Monitor.scala 528:15]
+    end
+    if (_c_first_T & c_first) begin // @[Monitor.scala 524:32]
+      address_2 <= io_in_c_bits_address; // @[Monitor.scala 529:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 3'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 12'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 24'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_a_first_T) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        if (a_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          a_first_counter_1 <= a_first_beats1_decode;
+        end else begin
+          a_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_1 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (_a_first_T | _d_first_T) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 3'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 24'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      c_first_counter_1 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_c_first_T) begin // @[Edges.scala 234:17]
+      if (c_first_1) begin // @[Edges.scala 235:21]
+        if (c_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          c_first_counter_1 <= c_first_beats1_decode;
+        end else begin
+          c_first_counter_1 <= 10'h0;
+        end
+      end else begin
+        c_first_counter_1 <= c_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_2 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_2 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (_c_first_T | _d_first_T) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    if (reset) begin // @[Monitor.scala 823:27]
+      inflight_2 <= 4'h0; // @[Monitor.scala 823:27]
+    end else begin
+      inflight_2 <= _inflight_T_8; // @[Monitor.scala 842:14]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_3 <= 10'h0; // @[Edges.scala 228:27]
+    end else if (_d_first_T) begin // @[Edges.scala 234:17]
+      if (d_first_3) begin // @[Edges.scala 235:21]
+        if (d_first_beats1_opdata) begin // @[Edges.scala 220:14]
+          d_first_counter_3 <= d_first_beats1_decode;
+        end else begin
+          d_first_counter_3 <= 10'h0;
+        end
+      end else begin
+        d_first_counter_3 <= d_first_counter1_3;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_141 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_141) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_249 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_249) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_263 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_263) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_268 & (io_in_a_valid & _T_33 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_33 & ~reset & ~_T_268) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_141 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_141) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_249 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_249) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_263 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_263) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_510 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_510) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_268 & (io_in_a_valid & _T_276 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_276 & ~reset & ~_T_268) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_42 & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~_T_42) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_636 & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~_T_636) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_a_valid & _T_523 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_523 & ~reset & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_771 & (io_in_a_valid & _T_658 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_658 & ~reset & ~_T_771) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_658 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_658 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_658 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_658 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_a_valid & _T_658 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_658 & ~reset & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_a_valid & _T_658 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_658 & ~reset & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_902 & (io_in_a_valid & _T_789 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_789 & ~reset & ~_T_902) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_789 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_789 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_789 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_789 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_a_valid & _T_789 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_789 & ~reset & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_918 & (io_in_a_valid & _T_789 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_789 & ~reset & ~_T_918) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1030 & (io_in_a_valid & _T_922 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_922 & ~reset & ~_T_1030) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_922 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_922 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_922 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_922 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1040 & (io_in_a_valid & _T_922 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_922 & ~reset & ~_T_1040) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_a_valid & _T_922 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_922 & ~reset & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1030 & (io_in_a_valid & _T_1048 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1048 & ~reset & ~_T_1030) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_1048 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1048 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_1048 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1048 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1166 & (io_in_a_valid & _T_1048 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1048 & ~reset & ~_T_1166) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_a_valid & _T_1048 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1048 & ~reset & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1282 & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~_T_1282) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~source_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1292 & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~_T_1292) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_a_valid & _T_1174 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_1174 & ~reset & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1304 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_1304) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1308 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1308 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1312 & (io_in_d_valid & _T_1308 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1308 & _T_2 & ~_T_1312) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1316 & (io_in_d_valid & _T_1308 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1308 & _T_2 & ~_T_1316) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1320 & (io_in_d_valid & _T_1308 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1308 & _T_2 & ~_T_1320) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1324 & (io_in_d_valid & _T_1308 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1308 & _T_2 & ~_T_1324) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1328 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1328 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1312 & (io_in_d_valid & _T_1328 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1328 & _T_2 & ~_T_1312) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1339 & (io_in_d_valid & _T_1328 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1328 & _T_2 & ~_T_1339) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1343 & (io_in_d_valid & _T_1328 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1328 & _T_2 & ~_T_1343) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1320 & (io_in_d_valid & _T_1328 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1328 & _T_2 & ~_T_1320) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1356 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1356 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1312 & (io_in_d_valid & _T_1356 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1356 & _T_2 & ~_T_1312) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1339 & (io_in_d_valid & _T_1356 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1356 & _T_2 & ~_T_1339) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1343 & (io_in_d_valid & _T_1356 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1356 & _T_2 & ~_T_1343) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1376 & (io_in_d_valid & _T_1356 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1356 & _T_2 & ~_T_1376) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1385 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1385 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1316 & (io_in_d_valid & _T_1385 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1385 & _T_2 & ~_T_1316) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1320 & (io_in_d_valid & _T_1385 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1385 & _T_2 & ~_T_1320) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1402 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1402 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1316 & (io_in_d_valid & _T_1402 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1402 & _T_2 & ~_T_1316) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1376 & (io_in_d_valid & _T_1402 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1402 & _T_2 & ~_T_1376) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_1 & (io_in_d_valid & _T_1420 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1420 & _T_2 & ~source_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1316 & (io_in_d_valid & _T_1420 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1420 & _T_2 & ~_T_1316) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1320 & (io_in_d_valid & _T_1420 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_1420 & _T_2 & ~_T_1320) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1437 & (io_in_b_valid & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & ~reset & ~_T_1437) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel has invalid opcode (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1575 & (io_in_b_valid & _T_1470 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1470 & _T_2 & ~_T_1575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries Probe type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok & (io_in_b_valid & _T_1470 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1470 & _T_2 & ~address_ok) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe carries unmanaged address (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~legal_source & (io_in_b_valid & _T_1470 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1470 & _T_2 & ~legal_source) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe carries source that is not first source (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_1 & (io_in_b_valid & _T_1470 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1470 & _T_2 & ~is_aligned_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1588 & (io_in_b_valid & _T_1470 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1470 & _T_2 & ~_T_1588) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe carries invalid cap param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1592 & (io_in_b_valid & _T_1470 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1470 & _T_2 & ~_T_1592) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe contains invalid mask (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1596 & (io_in_b_valid & _T_1470 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1470 & _T_2 & ~_T_1596) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Probe is corrupt (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1600 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1600 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries Get type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1581 & (io_in_b_valid & _T_1600 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1600 & ~reset & _T_1581) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Get carries unmanaged address (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1584 & (io_in_b_valid & _T_1600 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1600 & ~reset & _T_1584) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Get carries source that is not first source (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1587 & (io_in_b_valid & _T_1600 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1600 & ~reset & _T_1587) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Get address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1709 & (io_in_b_valid & _T_1600 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1600 & ~reset & ~_T_1709) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Get carries invalid param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1595 & (io_in_b_valid & _T_1600 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1600 & ~reset & _T_1595) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Get contains invalid mask (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1599 & (io_in_b_valid & _T_1600 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1600 & ~reset & _T_1599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Get is corrupt (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1721 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1721 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1581 & (io_in_b_valid & _T_1721 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1721 & ~reset & _T_1581) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutFull carries unmanaged address (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1584 & (io_in_b_valid & _T_1721 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1721 & ~reset & _T_1584) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutFull carries source that is not first source (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1587 & (io_in_b_valid & _T_1721 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1721 & ~reset & _T_1587) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutFull address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1709 & (io_in_b_valid & _T_1721 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1721 & ~reset & ~_T_1709) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutFull carries invalid param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1595 & (io_in_b_valid & _T_1721 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1721 & ~reset & _T_1595) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutFull contains invalid mask (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1838 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1838 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1581 & (io_in_b_valid & _T_1838 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1838 & ~reset & _T_1581) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutPartial carries unmanaged address (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1584 & (io_in_b_valid & _T_1838 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1838 & ~reset & _T_1584) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutPartial carries source that is not first source (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1587 & (io_in_b_valid & _T_1838 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1838 & ~reset & _T_1587) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1709 & (io_in_b_valid & _T_1838 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1838 & ~reset & ~_T_1709) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutPartial carries invalid param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_1953 & (io_in_b_valid & _T_1838 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1838 & ~reset & ~_T_1953) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1957 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1957 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries Arithmetic type unsupported by master (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1581 & (io_in_b_valid & _T_1957 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1957 & ~reset & _T_1581) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Arithmetic carries unmanaged address (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1584 & (io_in_b_valid & _T_1957 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1957 & ~reset & _T_1584) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Arithmetic carries source that is not first source (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1587 & (io_in_b_valid & _T_1957 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1957 & ~reset & _T_1587) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1595 & (io_in_b_valid & _T_1957 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_1957 & ~reset & _T_1595) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2074 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2074 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries Logical type unsupported by client (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1581 & (io_in_b_valid & _T_2074 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2074 & ~reset & _T_1581) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Logical carries unmanaged address (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1584 & (io_in_b_valid & _T_2074 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2074 & ~reset & _T_1584) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Logical carries source that is not first source (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1587 & (io_in_b_valid & _T_2074 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2074 & ~reset & _T_1587) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Logical address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1595 & (io_in_b_valid & _T_2074 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2074 & ~reset & _T_1595) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Logical contains invalid mask (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2191 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2191 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel carries Hint type unsupported by client (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1581 & (io_in_b_valid & _T_2191 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2191 & ~reset & _T_1581) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Hint carries unmanaged address (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1584 & (io_in_b_valid & _T_2191 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2191 & ~reset & _T_1584) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Hint carries source that is not first source (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1587 & (io_in_b_valid & _T_2191 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2191 & ~reset & _T_1587) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Hint address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1595 & (io_in_b_valid & _T_2191 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2191 & ~reset & _T_1595) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Hint contains invalid mask (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_1599 & (io_in_b_valid & _T_2191 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_b_valid & _T_2191 & ~reset & _T_1599) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel Hint is corrupt (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck carries unmanaged address (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2348 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~_T_2348) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck smaller than a beat (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2355 & (io_in_c_valid & _T_2341 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2341 & ~reset & ~_T_2355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAck carries invalid report param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2363 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2363 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData carries unmanaged address (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2363 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2363 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2348 & (io_in_c_valid & _T_2363 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2363 & ~reset & ~_T_2348) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData smaller than a beat (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2363 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2363 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2355 & (io_in_c_valid & _T_2363 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2363 & ~reset & ~_T_2355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ProbeAckData carries invalid report param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2489 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~_T_2489) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries Release type unsupported by manager (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2597 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~_T_2597) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2348 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~_T_2348) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release smaller than a beat (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2355 & (io_in_c_valid & _T_2381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2381 & ~reset & ~_T_2355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel Release carries invalid report param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2489 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~_T_2489) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries ReleaseData type unsupported by manager (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2597 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~_T_2597) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel carries Release from a client which does not support Probe (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2348 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~_T_2348) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData smaller than a beat (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2355 & (io_in_c_valid & _T_2619 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2619 & ~reset & ~_T_2355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel ReleaseData carries invalid report param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2853 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2853 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck carries unmanaged address (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2853 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2853 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2853 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2853 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2863 & (io_in_c_valid & _T_2853 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2853 & ~reset & ~_T_2863) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAck carries invalid param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2871 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2871 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData carries unmanaged address (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2871 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2871 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2871 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2871 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2863 & (io_in_c_valid & _T_2871 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2871 & ~reset & ~_T_2863) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~address_ok_1 & (io_in_c_valid & _T_2885 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2885 & ~reset & ~address_ok_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck carries unmanaged address (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~source_ok_2 & (io_in_c_valid & _T_2885 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2885 & ~reset & ~source_ok_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned_2 & (io_in_c_valid & _T_2885 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2885 & ~reset & ~is_aligned_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck address not aligned to size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2863 & (io_in_c_valid & _T_2885 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_c_valid & _T_2885 & ~reset & ~_T_2863) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel HintAck carries invalid param (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2908 & (_T_2907 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2907 & ~reset & ~_T_2908) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2912 & (_T_2907 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2907 & ~reset & ~_T_2912) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2916 & (_T_2907 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2907 & ~reset & ~_T_2916) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2920 & (_T_2907 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2907 & ~reset & ~_T_2920) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2924 & (_T_2907 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2907 & ~reset & ~_T_2924) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2932 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2932) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2936 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2936) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2940 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2940) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2944 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2944) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2948 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2948) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2952 & (_T_2931 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2931 & _T_2 & ~_T_2952) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2960 & (_T_2959 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2959 & ~reset & ~_T_2960) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2964 & (_T_2959 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2959 & ~reset & ~_T_2964) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel param changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2968 & (_T_2959 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2959 & ~reset & ~_T_2968) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel size changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2972 & (_T_2959 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2959 & ~reset & ~_T_2972) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel source changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2976 & (_T_2959 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2959 & ~reset & ~_T_2976) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'B' channel addresss changed with multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2984 & (_T_2983 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2983 & ~reset & ~_T_2984) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2988 & (_T_2983 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2983 & ~reset & ~_T_2988) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel param changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2992 & (_T_2983 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2983 & ~reset & ~_T_2992) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel size changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_2996 & (_T_2983 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2983 & ~reset & ~_T_2996) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel source changed within multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3000 & (_T_2983 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2983 & ~reset & ~_T_3000) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel address changed with multibeat operation (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3013 & (_T_3009 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3009 & ~reset & ~_T_3013) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3032 & (_T_3020 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3020 & _T_2 & ~_T_3032) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3038 & (_T_3020 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3020 & same_cycle_resp & _T_2 & ~_T_3038) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3042 & (_T_3020 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3020 & same_cycle_resp & _T_2 & ~_T_3042) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3050 & (_T_3020 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3020 & ~same_cycle_resp & _T_2 & ~_T_3050) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3054 & (_T_3020 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3020 & ~same_cycle_resp & _T_2 & ~_T_3054) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3066 & (_T_3064 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3064 & _T_2 & ~_T_3066) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3073 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_3073) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 3 (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3082 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_3082) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3102 & (_T_3099 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3099 & ~reset & ~_T_3102) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' channel re-used a source ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3118 & (_T_3108 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3108 & _T_2 & ~_T_3118) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3122 & (_T_3108 & same_cycle_resp_1 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3108 & same_cycle_resp_1 & _T_2 & ~_T_3122) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3126 & (_T_3108 & ~same_cycle_resp_1 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3108 & ~same_cycle_resp_1 & _T_2 & ~_T_3126) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3137 & (_T_3135 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3135 & _T_2 & ~_T_3137) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3142 & (_T_3141 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3141 & _T_2 & ~_T_3142) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'C' and 'D' concurrent, despite minlatency 3 (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3151 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_3151) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3167 & (_T_3164 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3164 & _T_2 & ~_T_3167) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel re-used a sink ID (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_3175[0] & (_T_3171 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3171 & ~reset & ~_T_3175[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'E' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:61:80)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[9:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[30:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[9:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  param_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  size_1 = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  source_1 = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  sink = _RAND_11[1:0];
+  _RAND_12 = {1{`RANDOM}};
+  denied = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  b_first_counter = _RAND_13[9:0];
+  _RAND_14 = {1{`RANDOM}};
+  opcode_2 = _RAND_14[2:0];
+  _RAND_15 = {1{`RANDOM}};
+  param_2 = _RAND_15[1:0];
+  _RAND_16 = {1{`RANDOM}};
+  size_2 = _RAND_16[3:0];
+  _RAND_17 = {1{`RANDOM}};
+  source_2 = _RAND_17[1:0];
+  _RAND_18 = {1{`RANDOM}};
+  address_1 = _RAND_18[30:0];
+  _RAND_19 = {1{`RANDOM}};
+  c_first_counter = _RAND_19[9:0];
+  _RAND_20 = {1{`RANDOM}};
+  opcode_3 = _RAND_20[2:0];
+  _RAND_21 = {1{`RANDOM}};
+  param_3 = _RAND_21[2:0];
+  _RAND_22 = {1{`RANDOM}};
+  size_3 = _RAND_22[3:0];
+  _RAND_23 = {1{`RANDOM}};
+  source_3 = _RAND_23[1:0];
+  _RAND_24 = {1{`RANDOM}};
+  address_2 = _RAND_24[30:0];
+  _RAND_25 = {1{`RANDOM}};
+  inflight = _RAND_25[2:0];
+  _RAND_26 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_26[11:0];
+  _RAND_27 = {1{`RANDOM}};
+  inflight_sizes = _RAND_27[23:0];
+  _RAND_28 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_28[9:0];
+  _RAND_29 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_29[9:0];
+  _RAND_30 = {1{`RANDOM}};
+  watchdog = _RAND_30[31:0];
+  _RAND_31 = {1{`RANDOM}};
+  inflight_1 = _RAND_31[2:0];
+  _RAND_32 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_32[23:0];
+  _RAND_33 = {1{`RANDOM}};
+  c_first_counter_1 = _RAND_33[9:0];
+  _RAND_34 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_34[9:0];
+  _RAND_35 = {1{`RANDOM}};
+  watchdog_1 = _RAND_35[31:0];
+  _RAND_36 = {1{`RANDOM}};
+  inflight_2 = _RAND_36[3:0];
+  _RAND_37 = {1{`RANDOM}};
+  d_first_counter_3 = _RAND_37[9:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Queue_15(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [3:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input  [30:0] io_enq_bits_address,
+  input  [3:0]  io_enq_bits_mask,
+  input  [31:0] io_enq_bits_data,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [3:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [30:0] io_deq_bits_address,
+  output [3:0]  io_deq_bits_mask,
+  output [31:0] io_deq_bits_data,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+`endif // RANDOMIZE_REG_INIT
+  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] ram_param [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_size [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_source [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [30:0] ram_address [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [30:0] ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [30:0] ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_mask [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [31:0] ram_data [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_corrupt [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  value; // @[Counter.scala 62:40]
+  reg  value_1; // @[Counter.scala 62:40]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  ptr_match = value == value_1; // @[Decoupled.scala 263:33]
+  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 264:25]
+  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 265:24]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_opcode_io_deq_bits_MPORT_addr = value_1;
+  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
+  assign ram_opcode_MPORT_addr = value;
+  assign ram_opcode_MPORT_mask = 1'h1;
+  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_param_io_deq_bits_MPORT_addr = value_1;
+  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_param_MPORT_data = io_enq_bits_param;
+  assign ram_param_MPORT_addr = value;
+  assign ram_param_MPORT_mask = 1'h1;
+  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_size_io_deq_bits_MPORT_addr = value_1;
+  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_size_MPORT_data = io_enq_bits_size;
+  assign ram_size_MPORT_addr = value;
+  assign ram_size_MPORT_mask = 1'h1;
+  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_source_io_deq_bits_MPORT_addr = value_1;
+  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_source_MPORT_data = io_enq_bits_source;
+  assign ram_source_MPORT_addr = value;
+  assign ram_source_MPORT_mask = 1'h1;
+  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_address_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_address_io_deq_bits_MPORT_addr = value_1;
+  assign ram_address_io_deq_bits_MPORT_data = ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_address_MPORT_data = io_enq_bits_address;
+  assign ram_address_MPORT_addr = value;
+  assign ram_address_MPORT_mask = 1'h1;
+  assign ram_address_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_mask_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_mask_io_deq_bits_MPORT_addr = value_1;
+  assign ram_mask_io_deq_bits_MPORT_data = ram_mask[ram_mask_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_mask_MPORT_data = io_enq_bits_mask;
+  assign ram_mask_MPORT_addr = value;
+  assign ram_mask_MPORT_mask = 1'h1;
+  assign ram_mask_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_data_io_deq_bits_MPORT_addr = value_1;
+  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_data_MPORT_data = io_enq_bits_data;
+  assign ram_data_MPORT_addr = value;
+  assign ram_data_MPORT_mask = 1'h1;
+  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_corrupt_io_deq_bits_MPORT_addr = value_1;
+  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_corrupt_MPORT_data = 1'h0;
+  assign ram_corrupt_MPORT_addr = value;
+  assign ram_corrupt_MPORT_mask = 1'h1;
+  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_address = ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_mask = ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
+      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
+      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
+      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
+      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_address_MPORT_en & ram_address_MPORT_mask) begin
+      ram_address[ram_address_MPORT_addr] <= ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_mask_MPORT_en & ram_mask_MPORT_mask) begin
+      ram_mask[ram_mask_MPORT_addr] <= ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
+      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
+      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_enq) begin // @[Decoupled.scala 272:16]
+      value <= value + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value_1 <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_deq) begin // @[Decoupled.scala 276:16]
+      value_1 <= value_1 + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_opcode[initvar] = _RAND_0[2:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_param[initvar] = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_size[initvar] = _RAND_2[3:0];
+  _RAND_3 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_source[initvar] = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_address[initvar] = _RAND_4[30:0];
+  _RAND_5 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_mask[initvar] = _RAND_5[3:0];
+  _RAND_6 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_data[initvar] = _RAND_6[31:0];
+  _RAND_7 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_corrupt[initvar] = _RAND_7[0:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  value = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  value_1 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  maybe_full = _RAND_10[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Queue_16(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [1:0]  io_enq_bits_param,
+  input  [3:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input  [1:0]  io_enq_bits_sink,
+  input         io_enq_bits_denied,
+  input  [31:0] io_enq_bits_data,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [1:0]  io_deq_bits_param,
+  output [3:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [1:0]  io_deq_bits_sink,
+  output        io_deq_bits_denied,
+  output [31:0] io_deq_bits_data,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+`endif // RANDOMIZE_REG_INIT
+  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_param [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_size [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_source [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_sink [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_sink_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_sink_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_sink_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_sink_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_sink_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_sink_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_denied [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_denied_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_denied_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_denied_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_denied_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_denied_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_denied_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_denied_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [31:0] ram_data [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_corrupt [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  value; // @[Counter.scala 62:40]
+  reg  value_1; // @[Counter.scala 62:40]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  ptr_match = value == value_1; // @[Decoupled.scala 263:33]
+  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 264:25]
+  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 265:24]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_opcode_io_deq_bits_MPORT_addr = value_1;
+  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
+  assign ram_opcode_MPORT_addr = value;
+  assign ram_opcode_MPORT_mask = 1'h1;
+  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_param_io_deq_bits_MPORT_addr = value_1;
+  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_param_MPORT_data = io_enq_bits_param;
+  assign ram_param_MPORT_addr = value;
+  assign ram_param_MPORT_mask = 1'h1;
+  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_size_io_deq_bits_MPORT_addr = value_1;
+  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_size_MPORT_data = io_enq_bits_size;
+  assign ram_size_MPORT_addr = value;
+  assign ram_size_MPORT_mask = 1'h1;
+  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_source_io_deq_bits_MPORT_addr = value_1;
+  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_source_MPORT_data = io_enq_bits_source;
+  assign ram_source_MPORT_addr = value;
+  assign ram_source_MPORT_mask = 1'h1;
+  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_sink_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_sink_io_deq_bits_MPORT_addr = value_1;
+  assign ram_sink_io_deq_bits_MPORT_data = ram_sink[ram_sink_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_sink_MPORT_data = io_enq_bits_sink;
+  assign ram_sink_MPORT_addr = value;
+  assign ram_sink_MPORT_mask = 1'h1;
+  assign ram_sink_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_denied_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_denied_io_deq_bits_MPORT_addr = value_1;
+  assign ram_denied_io_deq_bits_MPORT_data = ram_denied[ram_denied_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_denied_MPORT_data = io_enq_bits_denied;
+  assign ram_denied_MPORT_addr = value;
+  assign ram_denied_MPORT_mask = 1'h1;
+  assign ram_denied_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_data_io_deq_bits_MPORT_addr = value_1;
+  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_data_MPORT_data = io_enq_bits_data;
+  assign ram_data_MPORT_addr = value;
+  assign ram_data_MPORT_mask = 1'h1;
+  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_corrupt_io_deq_bits_MPORT_addr = value_1;
+  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_corrupt_MPORT_data = io_enq_bits_corrupt;
+  assign ram_corrupt_MPORT_addr = value;
+  assign ram_corrupt_MPORT_mask = 1'h1;
+  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_sink = ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_denied = ram_denied_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
+      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
+      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
+      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
+      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_sink_MPORT_en & ram_sink_MPORT_mask) begin
+      ram_sink[ram_sink_MPORT_addr] <= ram_sink_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_denied_MPORT_en & ram_denied_MPORT_mask) begin
+      ram_denied[ram_denied_MPORT_addr] <= ram_denied_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
+      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
+      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_enq) begin // @[Decoupled.scala 272:16]
+      value <= value + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value_1 <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_deq) begin // @[Decoupled.scala 276:16]
+      value_1 <= value_1 + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_opcode[initvar] = _RAND_0[2:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_param[initvar] = _RAND_1[1:0];
+  _RAND_2 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_size[initvar] = _RAND_2[3:0];
+  _RAND_3 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_source[initvar] = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_sink[initvar] = _RAND_4[1:0];
+  _RAND_5 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_denied[initvar] = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_data[initvar] = _RAND_6[31:0];
+  _RAND_7 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_corrupt[initvar] = _RAND_7[0:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  value = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  value_1 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  maybe_full = _RAND_10[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Queue_17(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [1:0]  io_enq_bits_param,
+  input  [30:0] io_enq_bits_address,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [1:0]  io_deq_bits_param,
+  output [3:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [30:0] io_deq_bits_address,
+  output [3:0]  io_deq_bits_mask,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+`endif // RANDOMIZE_REG_INIT
+  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_param [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_size [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_source [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [30:0] ram_address [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [30:0] ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [30:0] ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_mask [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_corrupt [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  value; // @[Counter.scala 62:40]
+  reg  value_1; // @[Counter.scala 62:40]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  ptr_match = value == value_1; // @[Decoupled.scala 263:33]
+  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 264:25]
+  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 265:24]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_opcode_io_deq_bits_MPORT_addr = value_1;
+  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_opcode_MPORT_data = 3'h6;
+  assign ram_opcode_MPORT_addr = value;
+  assign ram_opcode_MPORT_mask = 1'h1;
+  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_param_io_deq_bits_MPORT_addr = value_1;
+  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_param_MPORT_data = io_enq_bits_param;
+  assign ram_param_MPORT_addr = value;
+  assign ram_param_MPORT_mask = 1'h1;
+  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_size_io_deq_bits_MPORT_addr = value_1;
+  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_size_MPORT_data = 4'h6;
+  assign ram_size_MPORT_addr = value;
+  assign ram_size_MPORT_mask = 1'h1;
+  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_source_io_deq_bits_MPORT_addr = value_1;
+  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_source_MPORT_data = 2'h0;
+  assign ram_source_MPORT_addr = value;
+  assign ram_source_MPORT_mask = 1'h1;
+  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_address_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_address_io_deq_bits_MPORT_addr = value_1;
+  assign ram_address_io_deq_bits_MPORT_data = ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_address_MPORT_data = io_enq_bits_address;
+  assign ram_address_MPORT_addr = value;
+  assign ram_address_MPORT_mask = 1'h1;
+  assign ram_address_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_mask_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_mask_io_deq_bits_MPORT_addr = value_1;
+  assign ram_mask_io_deq_bits_MPORT_data = ram_mask[ram_mask_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_mask_MPORT_data = 4'hf;
+  assign ram_mask_MPORT_addr = value;
+  assign ram_mask_MPORT_mask = 1'h1;
+  assign ram_mask_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_corrupt_io_deq_bits_MPORT_addr = value_1;
+  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_corrupt_MPORT_data = 1'h0;
+  assign ram_corrupt_MPORT_addr = value;
+  assign ram_corrupt_MPORT_mask = 1'h1;
+  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_address = ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_mask = ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
+      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
+      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
+      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
+      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_address_MPORT_en & ram_address_MPORT_mask) begin
+      ram_address[ram_address_MPORT_addr] <= ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_mask_MPORT_en & ram_mask_MPORT_mask) begin
+      ram_mask[ram_mask_MPORT_addr] <= ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
+      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_enq) begin // @[Decoupled.scala 272:16]
+      value <= value + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value_1 <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_deq) begin // @[Decoupled.scala 276:16]
+      value_1 <= value_1 + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_opcode[initvar] = _RAND_0[2:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_param[initvar] = _RAND_1[1:0];
+  _RAND_2 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_size[initvar] = _RAND_2[3:0];
+  _RAND_3 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_source[initvar] = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_address[initvar] = _RAND_4[30:0];
+  _RAND_5 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_mask[initvar] = _RAND_5[3:0];
+  _RAND_6 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_corrupt[initvar] = _RAND_6[0:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  value = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  value_1 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  maybe_full = _RAND_9[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Queue_18(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [3:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input  [30:0] io_enq_bits_address,
+  input  [31:0] io_enq_bits_data,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [3:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [30:0] io_deq_bits_address,
+  output [31:0] io_deq_bits_data,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+`endif // RANDOMIZE_REG_INIT
+  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] ram_param [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_size [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_source [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [30:0] ram_address [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [30:0] ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [30:0] ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [31:0] ram_data [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_corrupt [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  value; // @[Counter.scala 62:40]
+  reg  value_1; // @[Counter.scala 62:40]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  ptr_match = value == value_1; // @[Decoupled.scala 263:33]
+  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 264:25]
+  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 265:24]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_opcode_io_deq_bits_MPORT_addr = value_1;
+  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
+  assign ram_opcode_MPORT_addr = value;
+  assign ram_opcode_MPORT_mask = 1'h1;
+  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_param_io_deq_bits_MPORT_addr = value_1;
+  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_param_MPORT_data = io_enq_bits_param;
+  assign ram_param_MPORT_addr = value;
+  assign ram_param_MPORT_mask = 1'h1;
+  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_size_io_deq_bits_MPORT_addr = value_1;
+  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_size_MPORT_data = io_enq_bits_size;
+  assign ram_size_MPORT_addr = value;
+  assign ram_size_MPORT_mask = 1'h1;
+  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_source_io_deq_bits_MPORT_addr = value_1;
+  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_source_MPORT_data = io_enq_bits_source;
+  assign ram_source_MPORT_addr = value;
+  assign ram_source_MPORT_mask = 1'h1;
+  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_address_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_address_io_deq_bits_MPORT_addr = value_1;
+  assign ram_address_io_deq_bits_MPORT_data = ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_address_MPORT_data = io_enq_bits_address;
+  assign ram_address_MPORT_addr = value;
+  assign ram_address_MPORT_mask = 1'h1;
+  assign ram_address_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_data_io_deq_bits_MPORT_addr = value_1;
+  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_data_MPORT_data = io_enq_bits_data;
+  assign ram_data_MPORT_addr = value;
+  assign ram_data_MPORT_mask = 1'h1;
+  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_corrupt_io_deq_bits_MPORT_addr = value_1;
+  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_corrupt_MPORT_data = 1'h0;
+  assign ram_corrupt_MPORT_addr = value;
+  assign ram_corrupt_MPORT_mask = 1'h1;
+  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_address = ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
+      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
+      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
+      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
+      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_address_MPORT_en & ram_address_MPORT_mask) begin
+      ram_address[ram_address_MPORT_addr] <= ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
+      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
+      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_enq) begin // @[Decoupled.scala 272:16]
+      value <= value + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value_1 <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_deq) begin // @[Decoupled.scala 276:16]
+      value_1 <= value_1 + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_opcode[initvar] = _RAND_0[2:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_param[initvar] = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_size[initvar] = _RAND_2[3:0];
+  _RAND_3 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_source[initvar] = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_address[initvar] = _RAND_4[30:0];
+  _RAND_5 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_data[initvar] = _RAND_5[31:0];
+  _RAND_6 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_corrupt[initvar] = _RAND_6[0:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_7 = {1{`RANDOM}};
+  value = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  value_1 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  maybe_full = _RAND_9[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Queue_19(
+  input        clock,
+  input        reset,
+  output       io_enq_ready,
+  input        io_enq_valid,
+  input  [1:0] io_enq_bits_sink,
+  output       io_deq_valid,
+  output [1:0] io_deq_bits_sink
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+`endif // RANDOMIZE_REG_INIT
+  reg [1:0] ram_sink [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_sink_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_sink_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_sink_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_sink_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_sink_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_sink_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  value; // @[Counter.scala 62:40]
+  reg  value_1; // @[Counter.scala 62:40]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  ptr_match = value == value_1; // @[Decoupled.scala 263:33]
+  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 264:25]
+  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 265:24]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  assign ram_sink_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_sink_io_deq_bits_MPORT_addr = value_1;
+  assign ram_sink_io_deq_bits_MPORT_data = ram_sink[ram_sink_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_sink_MPORT_data = io_enq_bits_sink;
+  assign ram_sink_MPORT_addr = value;
+  assign ram_sink_MPORT_mask = 1'h1;
+  assign ram_sink_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_sink = ram_sink_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_sink_MPORT_en & ram_sink_MPORT_mask) begin
+      ram_sink[ram_sink_MPORT_addr] <= ram_sink_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_enq) begin // @[Decoupled.scala 272:16]
+      value <= value + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value_1 <= 1'h0; // @[Counter.scala 62:40]
+    end else if (io_deq_valid) begin // @[Decoupled.scala 276:16]
+      value_1 <= value_1 + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != io_deq_valid) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_sink[initvar] = _RAND_0[1:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  value = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  value_1 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  maybe_full = _RAND_3[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLBuffer_10(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [3:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_b_ready,
+  output        auto_in_b_valid,
+  output [2:0]  auto_in_b_bits_opcode,
+  output [1:0]  auto_in_b_bits_param,
+  output [3:0]  auto_in_b_bits_size,
+  output [1:0]  auto_in_b_bits_source,
+  output [30:0] auto_in_b_bits_address,
+  output [3:0]  auto_in_b_bits_mask,
+  output        auto_in_b_bits_corrupt,
+  output        auto_in_c_ready,
+  input         auto_in_c_valid,
+  input  [2:0]  auto_in_c_bits_opcode,
+  input  [2:0]  auto_in_c_bits_param,
+  input  [3:0]  auto_in_c_bits_size,
+  input  [1:0]  auto_in_c_bits_source,
+  input  [30:0] auto_in_c_bits_address,
+  input  [31:0] auto_in_c_bits_data,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [3:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [1:0]  auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  output        auto_in_e_ready,
+  input         auto_in_e_valid,
+  input  [1:0]  auto_in_e_bits_sink,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [3:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_b_ready,
+  input         auto_out_b_valid,
+  input  [1:0]  auto_out_b_bits_param,
+  input  [30:0] auto_out_b_bits_address,
+  input         auto_out_c_ready,
+  output        auto_out_c_valid,
+  output [2:0]  auto_out_c_bits_opcode,
+  output [2:0]  auto_out_c_bits_param,
+  output [3:0]  auto_out_c_bits_size,
+  output [1:0]  auto_out_c_bits_source,
+  output [30:0] auto_out_c_bits_address,
+  output [31:0] auto_out_c_bits_data,
+  output        auto_out_c_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_param,
+  input  [3:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input  [1:0]  auto_out_d_bits_sink,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt,
+  output        auto_out_e_valid,
+  output [1:0]  auto_out_e_bits_sink
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_b_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_b_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_b_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_b_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_b_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_b_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_b_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_b_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_b_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_c_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_c_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_c_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_c_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_c_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_c_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_c_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_e_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_e_valid; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_e_bits_sink; // @[Nodes.scala 24:25]
+  wire  bundleOut_0_a_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_a_q_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire [30:0] bundleOut_0_a_q_io_enq_bits_address; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_enq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleOut_0_a_q_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_a_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire [30:0] bundleOut_0_a_q_io_deq_bits_address; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_deq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleOut_0_a_q_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleIn_0_d_q_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_enq_bits_sink; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_denied; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleIn_0_d_q_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleIn_0_d_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_deq_bits_sink; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_denied; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleIn_0_d_q_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_b_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_b_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_b_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_b_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_b_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [30:0] bundleIn_0_b_q_io_enq_bits_address; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_b_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_b_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_b_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_b_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleIn_0_b_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_b_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire [30:0] bundleIn_0_b_q_io_deq_bits_address; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleIn_0_b_q_io_deq_bits_mask; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_b_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_c_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_c_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_c_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_c_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_c_q_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_c_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_c_q_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_c_q_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire [30:0] bundleOut_0_c_q_io_enq_bits_address; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleOut_0_c_q_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_c_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_c_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_c_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_c_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_c_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_c_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire [30:0] bundleOut_0_c_q_io_deq_bits_address; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleOut_0_c_q_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_c_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_e_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_e_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_e_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_e_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_e_q_io_enq_bits_sink; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_e_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_e_q_io_deq_bits_sink; // @[Decoupled.scala 361:21]
+  TLMonitor_45 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_b_ready(monitor_io_in_b_ready),
+    .io_in_b_valid(monitor_io_in_b_valid),
+    .io_in_b_bits_opcode(monitor_io_in_b_bits_opcode),
+    .io_in_b_bits_param(monitor_io_in_b_bits_param),
+    .io_in_b_bits_size(monitor_io_in_b_bits_size),
+    .io_in_b_bits_source(monitor_io_in_b_bits_source),
+    .io_in_b_bits_address(monitor_io_in_b_bits_address),
+    .io_in_b_bits_mask(monitor_io_in_b_bits_mask),
+    .io_in_b_bits_corrupt(monitor_io_in_b_bits_corrupt),
+    .io_in_c_ready(monitor_io_in_c_ready),
+    .io_in_c_valid(monitor_io_in_c_valid),
+    .io_in_c_bits_opcode(monitor_io_in_c_bits_opcode),
+    .io_in_c_bits_param(monitor_io_in_c_bits_param),
+    .io_in_c_bits_size(monitor_io_in_c_bits_size),
+    .io_in_c_bits_source(monitor_io_in_c_bits_source),
+    .io_in_c_bits_address(monitor_io_in_c_bits_address),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt),
+    .io_in_e_ready(monitor_io_in_e_ready),
+    .io_in_e_valid(monitor_io_in_e_valid),
+    .io_in_e_bits_sink(monitor_io_in_e_bits_sink)
+  );
+  Queue_15 bundleOut_0_a_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleOut_0_a_q_clock),
+    .reset(bundleOut_0_a_q_reset),
+    .io_enq_ready(bundleOut_0_a_q_io_enq_ready),
+    .io_enq_valid(bundleOut_0_a_q_io_enq_valid),
+    .io_enq_bits_opcode(bundleOut_0_a_q_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleOut_0_a_q_io_enq_bits_param),
+    .io_enq_bits_size(bundleOut_0_a_q_io_enq_bits_size),
+    .io_enq_bits_source(bundleOut_0_a_q_io_enq_bits_source),
+    .io_enq_bits_address(bundleOut_0_a_q_io_enq_bits_address),
+    .io_enq_bits_mask(bundleOut_0_a_q_io_enq_bits_mask),
+    .io_enq_bits_data(bundleOut_0_a_q_io_enq_bits_data),
+    .io_deq_ready(bundleOut_0_a_q_io_deq_ready),
+    .io_deq_valid(bundleOut_0_a_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleOut_0_a_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleOut_0_a_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleOut_0_a_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleOut_0_a_q_io_deq_bits_source),
+    .io_deq_bits_address(bundleOut_0_a_q_io_deq_bits_address),
+    .io_deq_bits_mask(bundleOut_0_a_q_io_deq_bits_mask),
+    .io_deq_bits_data(bundleOut_0_a_q_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleOut_0_a_q_io_deq_bits_corrupt)
+  );
+  Queue_16 bundleIn_0_d_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleIn_0_d_q_clock),
+    .reset(bundleIn_0_d_q_reset),
+    .io_enq_ready(bundleIn_0_d_q_io_enq_ready),
+    .io_enq_valid(bundleIn_0_d_q_io_enq_valid),
+    .io_enq_bits_opcode(bundleIn_0_d_q_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleIn_0_d_q_io_enq_bits_param),
+    .io_enq_bits_size(bundleIn_0_d_q_io_enq_bits_size),
+    .io_enq_bits_source(bundleIn_0_d_q_io_enq_bits_source),
+    .io_enq_bits_sink(bundleIn_0_d_q_io_enq_bits_sink),
+    .io_enq_bits_denied(bundleIn_0_d_q_io_enq_bits_denied),
+    .io_enq_bits_data(bundleIn_0_d_q_io_enq_bits_data),
+    .io_enq_bits_corrupt(bundleIn_0_d_q_io_enq_bits_corrupt),
+    .io_deq_ready(bundleIn_0_d_q_io_deq_ready),
+    .io_deq_valid(bundleIn_0_d_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleIn_0_d_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleIn_0_d_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleIn_0_d_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleIn_0_d_q_io_deq_bits_source),
+    .io_deq_bits_sink(bundleIn_0_d_q_io_deq_bits_sink),
+    .io_deq_bits_denied(bundleIn_0_d_q_io_deq_bits_denied),
+    .io_deq_bits_data(bundleIn_0_d_q_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleIn_0_d_q_io_deq_bits_corrupt)
+  );
+  Queue_17 bundleIn_0_b_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleIn_0_b_q_clock),
+    .reset(bundleIn_0_b_q_reset),
+    .io_enq_ready(bundleIn_0_b_q_io_enq_ready),
+    .io_enq_valid(bundleIn_0_b_q_io_enq_valid),
+    .io_enq_bits_param(bundleIn_0_b_q_io_enq_bits_param),
+    .io_enq_bits_address(bundleIn_0_b_q_io_enq_bits_address),
+    .io_deq_ready(bundleIn_0_b_q_io_deq_ready),
+    .io_deq_valid(bundleIn_0_b_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleIn_0_b_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleIn_0_b_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleIn_0_b_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleIn_0_b_q_io_deq_bits_source),
+    .io_deq_bits_address(bundleIn_0_b_q_io_deq_bits_address),
+    .io_deq_bits_mask(bundleIn_0_b_q_io_deq_bits_mask),
+    .io_deq_bits_corrupt(bundleIn_0_b_q_io_deq_bits_corrupt)
+  );
+  Queue_18 bundleOut_0_c_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleOut_0_c_q_clock),
+    .reset(bundleOut_0_c_q_reset),
+    .io_enq_ready(bundleOut_0_c_q_io_enq_ready),
+    .io_enq_valid(bundleOut_0_c_q_io_enq_valid),
+    .io_enq_bits_opcode(bundleOut_0_c_q_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleOut_0_c_q_io_enq_bits_param),
+    .io_enq_bits_size(bundleOut_0_c_q_io_enq_bits_size),
+    .io_enq_bits_source(bundleOut_0_c_q_io_enq_bits_source),
+    .io_enq_bits_address(bundleOut_0_c_q_io_enq_bits_address),
+    .io_enq_bits_data(bundleOut_0_c_q_io_enq_bits_data),
+    .io_deq_ready(bundleOut_0_c_q_io_deq_ready),
+    .io_deq_valid(bundleOut_0_c_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleOut_0_c_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleOut_0_c_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleOut_0_c_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleOut_0_c_q_io_deq_bits_source),
+    .io_deq_bits_address(bundleOut_0_c_q_io_deq_bits_address),
+    .io_deq_bits_data(bundleOut_0_c_q_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleOut_0_c_q_io_deq_bits_corrupt)
+  );
+  Queue_19 bundleOut_0_e_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleOut_0_e_q_clock),
+    .reset(bundleOut_0_e_q_reset),
+    .io_enq_ready(bundleOut_0_e_q_io_enq_ready),
+    .io_enq_valid(bundleOut_0_e_q_io_enq_valid),
+    .io_enq_bits_sink(bundleOut_0_e_q_io_enq_bits_sink),
+    .io_deq_valid(bundleOut_0_e_q_io_deq_valid),
+    .io_deq_bits_sink(bundleOut_0_e_q_io_deq_bits_sink)
+  );
+  assign auto_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign auto_in_b_valid = bundleIn_0_b_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign auto_in_b_bits_opcode = bundleIn_0_b_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign auto_in_b_bits_param = bundleIn_0_b_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign auto_in_b_bits_size = bundleIn_0_b_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign auto_in_b_bits_source = bundleIn_0_b_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign auto_in_b_bits_address = bundleIn_0_b_q_io_deq_bits_address; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign auto_in_b_bits_mask = bundleIn_0_b_q_io_deq_bits_mask; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign auto_in_b_bits_corrupt = bundleIn_0_b_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign auto_in_c_ready = bundleOut_0_c_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign auto_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_param = bundleIn_0_d_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_sink = bundleIn_0_d_q_io_deq_bits_sink; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_denied = bundleIn_0_d_q_io_deq_bits_denied; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_data = bundleIn_0_d_q_io_deq_bits_data; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_corrupt = bundleIn_0_d_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_e_ready = bundleOut_0_e_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign auto_out_a_valid = bundleOut_0_a_q_io_deq_valid; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_opcode = bundleOut_0_a_q_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_param = bundleOut_0_a_q_io_deq_bits_param; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_size = bundleOut_0_a_q_io_deq_bits_size; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_source = bundleOut_0_a_q_io_deq_bits_source; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_address = bundleOut_0_a_q_io_deq_bits_address; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_mask = bundleOut_0_a_q_io_deq_bits_mask; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_data = bundleOut_0_a_q_io_deq_bits_data; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_corrupt = bundleOut_0_a_q_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_b_ready = bundleIn_0_b_q_io_enq_ready; // @[Nodes.scala 1207:84 Decoupled.scala 365:17]
+  assign auto_out_c_valid = bundleOut_0_c_q_io_deq_valid; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
+  assign auto_out_c_bits_opcode = bundleOut_0_c_q_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
+  assign auto_out_c_bits_param = bundleOut_0_c_q_io_deq_bits_param; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
+  assign auto_out_c_bits_size = bundleOut_0_c_q_io_deq_bits_size; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
+  assign auto_out_c_bits_source = bundleOut_0_c_q_io_deq_bits_source; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
+  assign auto_out_c_bits_address = bundleOut_0_c_q_io_deq_bits_address; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
+  assign auto_out_c_bits_data = bundleOut_0_c_q_io_deq_bits_data; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
+  assign auto_out_c_bits_corrupt = bundleOut_0_c_q_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Buffer.scala 42:15]
+  assign auto_out_d_ready = bundleIn_0_d_q_io_enq_ready; // @[Nodes.scala 1207:84 Decoupled.scala 365:17]
+  assign auto_out_e_valid = bundleOut_0_e_q_io_deq_valid; // @[Nodes.scala 1207:84 Buffer.scala 43:15]
+  assign auto_out_e_bits_sink = bundleOut_0_e_q_io_deq_bits_sink; // @[Nodes.scala 1207:84 Buffer.scala 43:15]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_b_ready = auto_in_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_b_valid = bundleIn_0_b_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign monitor_io_in_b_bits_opcode = bundleIn_0_b_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign monitor_io_in_b_bits_param = bundleIn_0_b_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign monitor_io_in_b_bits_size = bundleIn_0_b_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign monitor_io_in_b_bits_source = bundleIn_0_b_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign monitor_io_in_b_bits_address = bundleIn_0_b_q_io_deq_bits_address; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign monitor_io_in_b_bits_mask = bundleIn_0_b_q_io_deq_bits_mask; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign monitor_io_in_b_bits_corrupt = bundleIn_0_b_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 41:15]
+  assign monitor_io_in_c_ready = bundleOut_0_c_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign monitor_io_in_c_valid = auto_in_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_opcode = auto_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_param = auto_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_size = auto_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_source = auto_in_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_c_bits_address = auto_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_param = bundleIn_0_d_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_sink = bundleIn_0_d_q_io_deq_bits_sink; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_denied = bundleIn_0_d_q_io_deq_bits_denied; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_d_bits_corrupt = bundleIn_0_d_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign monitor_io_in_e_ready = bundleOut_0_e_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign monitor_io_in_e_valid = auto_in_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_e_bits_sink = auto_in_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_clock = clock;
+  assign bundleOut_0_a_q_reset = reset;
+  assign bundleOut_0_a_q_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_clock = clock;
+  assign bundleIn_0_d_q_reset = reset;
+  assign bundleIn_0_d_q_io_enq_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_param = auto_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_deq_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleIn_0_b_q_clock = clock;
+  assign bundleIn_0_b_q_reset = reset;
+  assign bundleIn_0_b_q_io_enq_valid = auto_out_b_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_b_q_io_enq_bits_param = auto_out_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_b_q_io_enq_bits_address = auto_out_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_b_q_io_deq_ready = auto_in_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_c_q_clock = clock;
+  assign bundleOut_0_c_q_reset = reset;
+  assign bundleOut_0_c_q_io_enq_valid = auto_in_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_c_q_io_enq_bits_opcode = auto_in_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_c_q_io_enq_bits_param = auto_in_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_c_q_io_enq_bits_size = auto_in_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_c_q_io_enq_bits_source = auto_in_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_c_q_io_enq_bits_address = auto_in_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_c_q_io_enq_bits_data = auto_in_c_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_c_q_io_deq_ready = auto_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleOut_0_e_q_clock = clock;
+  assign bundleOut_0_e_q_reset = reset;
+  assign bundleOut_0_e_q_io_enq_valid = auto_in_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_e_q_io_enq_bits_sink = auto_in_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLBuffer_11(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [27:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [27:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module Queue_20(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [2:0]  io_enq_bits_param,
+  input  [2:0]  io_enq_bits_size,
+  input  [1:0]  io_enq_bits_source,
+  input  [27:0] io_enq_bits_address,
+  input  [3:0]  io_enq_bits_mask,
+  input  [31:0] io_enq_bits_data,
+  input         io_enq_bits_corrupt,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [2:0]  io_deq_bits_size,
+  output [1:0]  io_deq_bits_source,
+  output [27:0] io_deq_bits_address,
+  output [3:0]  io_deq_bits_mask,
+  output [31:0] io_deq_bits_data,
+  output        io_deq_bits_corrupt
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+`endif // RANDOMIZE_REG_INIT
+  reg [2:0] ram_opcode [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_opcode_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] ram_param [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_param_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_param_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] ram_size [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_size_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_source [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_source_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [27:0] ram_address [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_address_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [27:0] ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [27:0] ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_address_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_mask [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [31:0] ram_data [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  ram_corrupt [0:1]; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_corrupt_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  value; // @[Counter.scala 62:40]
+  reg  value_1; // @[Counter.scala 62:40]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  ptr_match = value == value_1; // @[Decoupled.scala 263:33]
+  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 264:25]
+  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 265:24]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign ram_opcode_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_opcode_io_deq_bits_MPORT_addr = value_1;
+  assign ram_opcode_io_deq_bits_MPORT_data = ram_opcode[ram_opcode_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_opcode_MPORT_data = io_enq_bits_opcode;
+  assign ram_opcode_MPORT_addr = value;
+  assign ram_opcode_MPORT_mask = 1'h1;
+  assign ram_opcode_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_param_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_param_io_deq_bits_MPORT_addr = value_1;
+  assign ram_param_io_deq_bits_MPORT_data = ram_param[ram_param_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_param_MPORT_data = io_enq_bits_param;
+  assign ram_param_MPORT_addr = value;
+  assign ram_param_MPORT_mask = 1'h1;
+  assign ram_param_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_size_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_size_io_deq_bits_MPORT_addr = value_1;
+  assign ram_size_io_deq_bits_MPORT_data = ram_size[ram_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_size_MPORT_data = io_enq_bits_size;
+  assign ram_size_MPORT_addr = value;
+  assign ram_size_MPORT_mask = 1'h1;
+  assign ram_size_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_source_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_source_io_deq_bits_MPORT_addr = value_1;
+  assign ram_source_io_deq_bits_MPORT_data = ram_source[ram_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_source_MPORT_data = io_enq_bits_source;
+  assign ram_source_MPORT_addr = value;
+  assign ram_source_MPORT_mask = 1'h1;
+  assign ram_source_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_address_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_address_io_deq_bits_MPORT_addr = value_1;
+  assign ram_address_io_deq_bits_MPORT_data = ram_address[ram_address_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_address_MPORT_data = io_enq_bits_address;
+  assign ram_address_MPORT_addr = value;
+  assign ram_address_MPORT_mask = 1'h1;
+  assign ram_address_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_mask_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_mask_io_deq_bits_MPORT_addr = value_1;
+  assign ram_mask_io_deq_bits_MPORT_data = ram_mask[ram_mask_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_mask_MPORT_data = io_enq_bits_mask;
+  assign ram_mask_MPORT_addr = value;
+  assign ram_mask_MPORT_mask = 1'h1;
+  assign ram_mask_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_data_io_deq_bits_MPORT_addr = value_1;
+  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_data_MPORT_data = io_enq_bits_data;
+  assign ram_data_MPORT_addr = value;
+  assign ram_data_MPORT_mask = 1'h1;
+  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_corrupt_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_corrupt_io_deq_bits_MPORT_addr = value_1;
+  assign ram_corrupt_io_deq_bits_MPORT_data = ram_corrupt[ram_corrupt_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_corrupt_MPORT_data = io_enq_bits_corrupt;
+  assign ram_corrupt_MPORT_addr = value;
+  assign ram_corrupt_MPORT_mask = 1'h1;
+  assign ram_corrupt_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_opcode = ram_opcode_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_param = ram_param_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_size = ram_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_source = ram_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_address = ram_address_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_mask = ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_corrupt = ram_corrupt_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_opcode_MPORT_en & ram_opcode_MPORT_mask) begin
+      ram_opcode[ram_opcode_MPORT_addr] <= ram_opcode_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_param_MPORT_en & ram_param_MPORT_mask) begin
+      ram_param[ram_param_MPORT_addr] <= ram_param_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_size_MPORT_en & ram_size_MPORT_mask) begin
+      ram_size[ram_size_MPORT_addr] <= ram_size_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_source_MPORT_en & ram_source_MPORT_mask) begin
+      ram_source[ram_source_MPORT_addr] <= ram_source_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_address_MPORT_en & ram_address_MPORT_mask) begin
+      ram_address[ram_address_MPORT_addr] <= ram_address_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_mask_MPORT_en & ram_mask_MPORT_mask) begin
+      ram_mask[ram_mask_MPORT_addr] <= ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
+      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_corrupt_MPORT_en & ram_corrupt_MPORT_mask) begin
+      ram_corrupt[ram_corrupt_MPORT_addr] <= ram_corrupt_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_enq) begin // @[Decoupled.scala 272:16]
+      value <= value + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      value_1 <= 1'h0; // @[Counter.scala 62:40]
+    end else if (do_deq) begin // @[Decoupled.scala 276:16]
+      value_1 <= value_1 + 1'h1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_opcode[initvar] = _RAND_0[2:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_param[initvar] = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_size[initvar] = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_source[initvar] = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_address[initvar] = _RAND_4[27:0];
+  _RAND_5 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_mask[initvar] = _RAND_5[3:0];
+  _RAND_6 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_data[initvar] = _RAND_6[31:0];
+  _RAND_7 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 2; initvar = initvar+1)
+    ram_corrupt[initvar] = _RAND_7[0:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_8 = {1{`RANDOM}};
+  value = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  value_1 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  maybe_full = _RAND_10[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLBuffer_12(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [2:0]  auto_in_a_bits_size,
+  input  [1:0]  auto_in_a_bits_source,
+  input  [27:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [2:0]  auto_in_d_bits_size,
+  output [1:0]  auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [2:0]  auto_out_a_bits_size,
+  output [1:0]  auto_out_a_bits_source,
+  output [27:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [2:0]  auto_out_d_bits_size,
+  input  [1:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+  wire  bundleOut_0_a_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_a_q_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire [27:0] bundleOut_0_a_q_io_enq_bits_address; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_enq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleOut_0_a_q_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_enq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleOut_0_a_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleOut_0_a_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire [27:0] bundleOut_0_a_q_io_deq_bits_address; // @[Decoupled.scala 361:21]
+  wire [3:0] bundleOut_0_a_q_io_deq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleOut_0_a_q_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleOut_0_a_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_clock; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_reset; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_enq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_enq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_enq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_enq_bits_source; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_sink; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_denied; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleIn_0_d_q_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_enq_bits_corrupt; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_deq_bits_opcode; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_deq_bits_param; // @[Decoupled.scala 361:21]
+  wire [2:0] bundleIn_0_d_q_io_deq_bits_size; // @[Decoupled.scala 361:21]
+  wire [1:0] bundleIn_0_d_q_io_deq_bits_source; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_sink; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_denied; // @[Decoupled.scala 361:21]
+  wire [31:0] bundleIn_0_d_q_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  wire  bundleIn_0_d_q_io_deq_bits_corrupt; // @[Decoupled.scala 361:21]
+  Queue_20 bundleOut_0_a_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleOut_0_a_q_clock),
+    .reset(bundleOut_0_a_q_reset),
+    .io_enq_ready(bundleOut_0_a_q_io_enq_ready),
+    .io_enq_valid(bundleOut_0_a_q_io_enq_valid),
+    .io_enq_bits_opcode(bundleOut_0_a_q_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleOut_0_a_q_io_enq_bits_param),
+    .io_enq_bits_size(bundleOut_0_a_q_io_enq_bits_size),
+    .io_enq_bits_source(bundleOut_0_a_q_io_enq_bits_source),
+    .io_enq_bits_address(bundleOut_0_a_q_io_enq_bits_address),
+    .io_enq_bits_mask(bundleOut_0_a_q_io_enq_bits_mask),
+    .io_enq_bits_data(bundleOut_0_a_q_io_enq_bits_data),
+    .io_enq_bits_corrupt(bundleOut_0_a_q_io_enq_bits_corrupt),
+    .io_deq_ready(bundleOut_0_a_q_io_deq_ready),
+    .io_deq_valid(bundleOut_0_a_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleOut_0_a_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleOut_0_a_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleOut_0_a_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleOut_0_a_q_io_deq_bits_source),
+    .io_deq_bits_address(bundleOut_0_a_q_io_deq_bits_address),
+    .io_deq_bits_mask(bundleOut_0_a_q_io_deq_bits_mask),
+    .io_deq_bits_data(bundleOut_0_a_q_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleOut_0_a_q_io_deq_bits_corrupt)
+  );
+  Queue_1 bundleIn_0_d_q ( // @[Decoupled.scala 361:21]
+    .clock(bundleIn_0_d_q_clock),
+    .reset(bundleIn_0_d_q_reset),
+    .io_enq_ready(bundleIn_0_d_q_io_enq_ready),
+    .io_enq_valid(bundleIn_0_d_q_io_enq_valid),
+    .io_enq_bits_opcode(bundleIn_0_d_q_io_enq_bits_opcode),
+    .io_enq_bits_param(bundleIn_0_d_q_io_enq_bits_param),
+    .io_enq_bits_size(bundleIn_0_d_q_io_enq_bits_size),
+    .io_enq_bits_source(bundleIn_0_d_q_io_enq_bits_source),
+    .io_enq_bits_sink(bundleIn_0_d_q_io_enq_bits_sink),
+    .io_enq_bits_denied(bundleIn_0_d_q_io_enq_bits_denied),
+    .io_enq_bits_data(bundleIn_0_d_q_io_enq_bits_data),
+    .io_enq_bits_corrupt(bundleIn_0_d_q_io_enq_bits_corrupt),
+    .io_deq_ready(bundleIn_0_d_q_io_deq_ready),
+    .io_deq_valid(bundleIn_0_d_q_io_deq_valid),
+    .io_deq_bits_opcode(bundleIn_0_d_q_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleIn_0_d_q_io_deq_bits_param),
+    .io_deq_bits_size(bundleIn_0_d_q_io_deq_bits_size),
+    .io_deq_bits_source(bundleIn_0_d_q_io_deq_bits_source),
+    .io_deq_bits_sink(bundleIn_0_d_q_io_deq_bits_sink),
+    .io_deq_bits_denied(bundleIn_0_d_q_io_deq_bits_denied),
+    .io_deq_bits_data(bundleIn_0_d_q_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleIn_0_d_q_io_deq_bits_corrupt)
+  );
+  assign auto_in_a_ready = bundleOut_0_a_q_io_enq_ready; // @[Nodes.scala 1210:84 Decoupled.scala 365:17]
+  assign auto_in_d_valid = bundleIn_0_d_q_io_deq_valid; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_opcode = bundleIn_0_d_q_io_deq_bits_opcode; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_param = bundleIn_0_d_q_io_deq_bits_param; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_size = bundleIn_0_d_q_io_deq_bits_size; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_source = bundleIn_0_d_q_io_deq_bits_source; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_sink = bundleIn_0_d_q_io_deq_bits_sink; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_denied = bundleIn_0_d_q_io_deq_bits_denied; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_data = bundleIn_0_d_q_io_deq_bits_data; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_in_d_bits_corrupt = bundleIn_0_d_q_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 Buffer.scala 38:13]
+  assign auto_out_a_valid = bundleOut_0_a_q_io_deq_valid; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_opcode = bundleOut_0_a_q_io_deq_bits_opcode; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_param = bundleOut_0_a_q_io_deq_bits_param; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_size = bundleOut_0_a_q_io_deq_bits_size; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_source = bundleOut_0_a_q_io_deq_bits_source; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_address = bundleOut_0_a_q_io_deq_bits_address; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_mask = bundleOut_0_a_q_io_deq_bits_mask; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_data = bundleOut_0_a_q_io_deq_bits_data; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_a_bits_corrupt = bundleOut_0_a_q_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 Buffer.scala 37:13]
+  assign auto_out_d_ready = bundleIn_0_d_q_io_enq_ready; // @[Nodes.scala 1207:84 Decoupled.scala 365:17]
+  assign bundleOut_0_a_q_clock = clock;
+  assign bundleOut_0_a_q_reset = reset;
+  assign bundleOut_0_a_q_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_q_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_clock = clock;
+  assign bundleIn_0_d_q_reset = reset;
+  assign bundleIn_0_d_q_io_enq_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_param = 2'h0; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_sink = 1'h0; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_denied = 1'h0; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_enq_bits_corrupt = 1'h0; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_q_io_deq_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module NonSyncResetSynchronizerPrimitiveShiftReg_d3(
+  input   clock,
+  input   io_d,
+  output  io_q
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+`endif // RANDOMIZE_REG_INIT
+  reg  sync_0; // @[SynchronizerReg.scala 51:66]
+  reg  sync_1; // @[SynchronizerReg.scala 51:66]
+  reg  sync_2; // @[SynchronizerReg.scala 51:66]
+  assign io_q = sync_0; // @[SynchronizerReg.scala 59:8]
+  always @(posedge clock) begin
+    sync_0 <= sync_1; // @[SynchronizerReg.scala 57:10]
+    sync_1 <= sync_2; // @[SynchronizerReg.scala 57:10]
+    sync_2 <= io_d; // @[SynchronizerReg.scala 54:22]
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  sync_1 = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  sync_2 = _RAND_2[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module SynchronizerShiftReg_w1_d3(
+  input   clock,
+  input   io_d,
+  output  io_q
+);
+  wire  output_chain_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_io_q; // @[ShiftReg.scala 45:23]
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_clock),
+    .io_d(output_chain_io_d),
+    .io_q(output_chain_io_q)
+  );
+  assign io_q = output_chain_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign output_chain_clock = clock;
+  assign output_chain_io_d = io_d; // @[SynchronizerReg.scala 173:39]
+endmodule
+module IntSyncAsyncCrossingSink(
+  input   clock,
+  input   auto_in_sync_0,
+  output  auto_out_0
+);
+  wire  chain_clock; // @[ShiftReg.scala 45:23]
+  wire  chain_io_d; // @[ShiftReg.scala 45:23]
+  wire  chain_io_q; // @[ShiftReg.scala 45:23]
+  SynchronizerShiftReg_w1_d3 chain ( // @[ShiftReg.scala 45:23]
+    .clock(chain_clock),
+    .io_d(chain_io_d),
+    .io_q(chain_io_q)
+  );
+  assign auto_out_0 = chain_io_q; // @[ShiftReg.scala 48:24]
+  assign chain_clock = clock;
+  assign chain_io_d = auto_in_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module IntSyncSyncCrossingSink(
+  input   auto_in_sync_0,
+  input   auto_in_sync_1,
+  output  auto_out_0,
+  output  auto_out_1
+);
+  assign auto_out_0 = auto_in_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1 = auto_in_sync_1; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module IntSyncSyncCrossingSink_1(
+  input   auto_in_sync_0,
+  output  auto_out_0
+);
+  assign auto_out_0 = auto_in_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module AsyncResetRegVec_w1_i0(
+  input   clock,
+  input   reset,
+  input   io_d,
+  output  io_q,
+  input   io_en
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+`endif // RANDOMIZE_REG_INIT
+  reg  reg_; // @[AsyncResetReg.scala 64:50]
+  assign io_q = reg_; // @[AsyncResetReg.scala 68:8]
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncResetReg.scala 65:16]
+      reg_ <= 1'h0; // @[AsyncResetReg.scala 66:9]
+    end else if (io_en) begin // @[AsyncResetReg.scala 64:50]
+      reg_ <= io_d;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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
+  if (reset) begin
+    reg_ = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module IntSyncCrossingSource_1(
+  input   clock,
+  input   reset,
+  input   auto_in_0,
+  output  auto_out_sync_0
+);
+  wire  reg__clock; // @[AsyncResetReg.scala 89:21]
+  wire  reg__reset; // @[AsyncResetReg.scala 89:21]
+  wire  reg__io_d; // @[AsyncResetReg.scala 89:21]
+  wire  reg__io_q; // @[AsyncResetReg.scala 89:21]
+  wire  reg__io_en; // @[AsyncResetReg.scala 89:21]
+  AsyncResetRegVec_w1_i0 reg_ ( // @[AsyncResetReg.scala 89:21]
+    .clock(reg__clock),
+    .reset(reg__reset),
+    .io_d(reg__io_d),
+    .io_q(reg__io_q),
+    .io_en(reg__io_en)
+  );
+  assign auto_out_sync_0 = reg__io_q; // @[Crossing.scala 41:52]
+  assign reg__clock = clock;
+  assign reg__reset = reset;
+  assign reg__io_d = auto_in_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign reg__io_en = 1'h1; // @[AsyncResetReg.scala 92:15]
+endmodule
+module TilePRCIDomain(
+  input         auto_intsink_in_sync_0,
+  input         auto_tile_reset_domain_tile_hartid_in,
+  output        auto_int_out_clock_xing_out_2_sync_0,
+  output        auto_int_out_clock_xing_out_1_sync_0,
+  output        auto_int_out_clock_xing_out_0_sync_0,
+  input         auto_int_in_clock_xing_in_2_sync_0,
+  input         auto_int_in_clock_xing_in_1_sync_0,
+  input         auto_int_in_clock_xing_in_0_sync_0,
+  input         auto_int_in_clock_xing_in_0_sync_1,
+  output        auto_tl_slave_clock_xing_in_a_ready,
+  input         auto_tl_slave_clock_xing_in_a_valid,
+  input  [2:0]  auto_tl_slave_clock_xing_in_a_bits_opcode,
+  input  [2:0]  auto_tl_slave_clock_xing_in_a_bits_param,
+  input  [2:0]  auto_tl_slave_clock_xing_in_a_bits_size,
+  input  [1:0]  auto_tl_slave_clock_xing_in_a_bits_source,
+  input  [27:0] auto_tl_slave_clock_xing_in_a_bits_address,
+  input  [3:0]  auto_tl_slave_clock_xing_in_a_bits_mask,
+  input  [31:0] auto_tl_slave_clock_xing_in_a_bits_data,
+  input         auto_tl_slave_clock_xing_in_a_bits_corrupt,
+  input         auto_tl_slave_clock_xing_in_d_ready,
+  output        auto_tl_slave_clock_xing_in_d_valid,
+  output [2:0]  auto_tl_slave_clock_xing_in_d_bits_opcode,
+  output [1:0]  auto_tl_slave_clock_xing_in_d_bits_param,
+  output [2:0]  auto_tl_slave_clock_xing_in_d_bits_size,
+  output [1:0]  auto_tl_slave_clock_xing_in_d_bits_source,
+  output        auto_tl_slave_clock_xing_in_d_bits_sink,
+  output        auto_tl_slave_clock_xing_in_d_bits_denied,
+  output [31:0] auto_tl_slave_clock_xing_in_d_bits_data,
+  output        auto_tl_slave_clock_xing_in_d_bits_corrupt,
+  input         auto_tl_master_clock_xing_out_a_ready,
+  output        auto_tl_master_clock_xing_out_a_valid,
+  output [2:0]  auto_tl_master_clock_xing_out_a_bits_opcode,
+  output [2:0]  auto_tl_master_clock_xing_out_a_bits_param,
+  output [3:0]  auto_tl_master_clock_xing_out_a_bits_size,
+  output [1:0]  auto_tl_master_clock_xing_out_a_bits_source,
+  output [30:0] auto_tl_master_clock_xing_out_a_bits_address,
+  output [3:0]  auto_tl_master_clock_xing_out_a_bits_mask,
+  output [31:0] auto_tl_master_clock_xing_out_a_bits_data,
+  output        auto_tl_master_clock_xing_out_a_bits_corrupt,
+  output        auto_tl_master_clock_xing_out_b_ready,
+  input         auto_tl_master_clock_xing_out_b_valid,
+  input  [1:0]  auto_tl_master_clock_xing_out_b_bits_param,
+  input  [30:0] auto_tl_master_clock_xing_out_b_bits_address,
+  input         auto_tl_master_clock_xing_out_c_ready,
+  output        auto_tl_master_clock_xing_out_c_valid,
+  output [2:0]  auto_tl_master_clock_xing_out_c_bits_opcode,
+  output [2:0]  auto_tl_master_clock_xing_out_c_bits_param,
+  output [3:0]  auto_tl_master_clock_xing_out_c_bits_size,
+  output [1:0]  auto_tl_master_clock_xing_out_c_bits_source,
+  output [30:0] auto_tl_master_clock_xing_out_c_bits_address,
+  output [31:0] auto_tl_master_clock_xing_out_c_bits_data,
+  output        auto_tl_master_clock_xing_out_c_bits_corrupt,
+  output        auto_tl_master_clock_xing_out_d_ready,
+  input         auto_tl_master_clock_xing_out_d_valid,
+  input  [2:0]  auto_tl_master_clock_xing_out_d_bits_opcode,
+  input  [1:0]  auto_tl_master_clock_xing_out_d_bits_param,
+  input  [3:0]  auto_tl_master_clock_xing_out_d_bits_size,
+  input  [1:0]  auto_tl_master_clock_xing_out_d_bits_source,
+  input  [1:0]  auto_tl_master_clock_xing_out_d_bits_sink,
+  input         auto_tl_master_clock_xing_out_d_bits_denied,
+  input  [31:0] auto_tl_master_clock_xing_out_d_bits_data,
+  input         auto_tl_master_clock_xing_out_d_bits_corrupt,
+  output        auto_tl_master_clock_xing_out_e_valid,
+  output [1:0]  auto_tl_master_clock_xing_out_e_bits_sink,
+  input         auto_tap_clock_in_clock,
+  input         auto_tap_clock_in_reset, // <no_sram>
+  output [5:0]  tag_array_ext_RW0_addr, // <no_sram>
+  output        tag_array_ext_RW0_en, // <no_sram>
+  output        tag_array_ext_RW0_clk, // <no_sram>
+  output        tag_array_ext_RW0_wmode, // <no_sram>
+  output [20:0] tag_array_ext_RW0_wdata, // <no_sram>
+  input  [20:0] tag_array_ext_RW0_rdata, // <no_sram>
+  output [9:0]  data_arrays_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_ext_RW0_wmode, // <no_sram>
+  output [31:0] data_arrays_0_ext_RW0_wdata, // <no_sram>
+  input  [31:0] data_arrays_0_ext_RW0_rdata, // <no_sram>
+  output [3:0]  data_arrays_0_ext_RW0_wmask, // <no_sram>
+  output [6:0]  tag_array_0_ext_RW0_addr, // <no_sram>
+  output        tag_array_0_ext_RW0_en, // <no_sram>
+  output        tag_array_0_ext_RW0_clk, // <no_sram>
+  output        tag_array_0_ext_RW0_wmode, // <no_sram>
+  output [37:0] tag_array_0_ext_RW0_wdata, // <no_sram>
+  input  [37:0] tag_array_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  tag_array_0_ext_RW0_wmask, // <no_sram>
+  output [10:0] data_arrays_0_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_wmode, // <no_sram>
+  output [63:0] data_arrays_0_0_ext_RW0_wdata, // <no_sram>
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  data_arrays_0_0_ext_RW0_wmask // <no_sram>
+);
+  wire  tile_reset_domain_auto_tile_slave_in_a_ready; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_slave_in_a_valid; // @[TilePRCIDomain.scala 45:37]
+  wire [2:0] tile_reset_domain_auto_tile_slave_in_a_bits_opcode; // @[TilePRCIDomain.scala 45:37]
+  wire [2:0] tile_reset_domain_auto_tile_slave_in_a_bits_param; // @[TilePRCIDomain.scala 45:37]
+  wire [2:0] tile_reset_domain_auto_tile_slave_in_a_bits_size; // @[TilePRCIDomain.scala 45:37]
+  wire [1:0] tile_reset_domain_auto_tile_slave_in_a_bits_source; // @[TilePRCIDomain.scala 45:37]
+  wire [27:0] tile_reset_domain_auto_tile_slave_in_a_bits_address; // @[TilePRCIDomain.scala 45:37]
+  wire [3:0] tile_reset_domain_auto_tile_slave_in_a_bits_mask; // @[TilePRCIDomain.scala 45:37]
+  wire [31:0] tile_reset_domain_auto_tile_slave_in_a_bits_data; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_slave_in_a_bits_corrupt; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_slave_in_d_ready; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_slave_in_d_valid; // @[TilePRCIDomain.scala 45:37]
+  wire [2:0] tile_reset_domain_auto_tile_slave_in_d_bits_opcode; // @[TilePRCIDomain.scala 45:37]
+  wire [2:0] tile_reset_domain_auto_tile_slave_in_d_bits_size; // @[TilePRCIDomain.scala 45:37]
+  wire [1:0] tile_reset_domain_auto_tile_slave_in_d_bits_source; // @[TilePRCIDomain.scala 45:37]
+  wire [31:0] tile_reset_domain_auto_tile_slave_in_d_bits_data; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_wfi_out_0; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_int_local_in_3_0; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_int_local_in_2_0; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_int_local_in_1_0; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_int_local_in_1_1; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_int_local_in_0_0; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_hartid_in; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_tl_other_masters_out_a_ready; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_tl_other_masters_out_a_valid; // @[TilePRCIDomain.scala 45:37]
+  wire [2:0] tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_opcode; // @[TilePRCIDomain.scala 45:37]
+  wire [2:0] tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_param; // @[TilePRCIDomain.scala 45:37]
+  wire [3:0] tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_size; // @[TilePRCIDomain.scala 45:37]
+  wire [1:0] tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_source; // @[TilePRCIDomain.scala 45:37]
+  wire [30:0] tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_address; // @[TilePRCIDomain.scala 45:37]
+  wire [3:0] tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_mask; // @[TilePRCIDomain.scala 45:37]
+  wire [31:0] tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_data; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_tl_other_masters_out_b_ready; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_tl_other_masters_out_b_valid; // @[TilePRCIDomain.scala 45:37]
+  wire [2:0] tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_opcode; // @[TilePRCIDomain.scala 45:37]
+  wire [1:0] tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_param; // @[TilePRCIDomain.scala 45:37]
+  wire [3:0] tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_size; // @[TilePRCIDomain.scala 45:37]
+  wire [1:0] tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_source; // @[TilePRCIDomain.scala 45:37]
+  wire [30:0] tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_address; // @[TilePRCIDomain.scala 45:37]
+  wire [3:0] tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_mask; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_corrupt; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_tl_other_masters_out_c_ready; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_tl_other_masters_out_c_valid; // @[TilePRCIDomain.scala 45:37]
+  wire [2:0] tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_opcode; // @[TilePRCIDomain.scala 45:37]
+  wire [2:0] tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_param; // @[TilePRCIDomain.scala 45:37]
+  wire [3:0] tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_size; // @[TilePRCIDomain.scala 45:37]
+  wire [1:0] tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_source; // @[TilePRCIDomain.scala 45:37]
+  wire [30:0] tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_address; // @[TilePRCIDomain.scala 45:37]
+  wire [31:0] tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_data; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_tl_other_masters_out_d_ready; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_tl_other_masters_out_d_valid; // @[TilePRCIDomain.scala 45:37]
+  wire [2:0] tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_opcode; // @[TilePRCIDomain.scala 45:37]
+  wire [1:0] tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_param; // @[TilePRCIDomain.scala 45:37]
+  wire [3:0] tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_size; // @[TilePRCIDomain.scala 45:37]
+  wire [1:0] tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_source; // @[TilePRCIDomain.scala 45:37]
+  wire [1:0] tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_sink; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_denied; // @[TilePRCIDomain.scala 45:37]
+  wire [31:0] tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_data; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_corrupt; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_tl_other_masters_out_e_ready; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_tile_tl_other_masters_out_e_valid; // @[TilePRCIDomain.scala 45:37]
+  wire [1:0] tile_reset_domain_auto_tile_tl_other_masters_out_e_bits_sink; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_clock_in_clock; // @[TilePRCIDomain.scala 45:37]
+  wire  tile_reset_domain_auto_clock_in_reset; // @[TilePRCIDomain.scala 45:37]
+  wire  clockNode_auto_in_clock; // @[ClockGroup.scala 106:107]
+  wire  clockNode_auto_in_reset; // @[ClockGroup.scala 106:107]
+  wire  clockNode_auto_out_clock; // @[ClockGroup.scala 106:107]
+  wire  clockNode_auto_out_reset; // @[ClockGroup.scala 106:107]
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_b_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_b_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_b_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_b_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_b_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_b_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_auto_in_b_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_b_bits_mask; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_b_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_c_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_c_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_c_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_c_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_c_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_c_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_auto_in_c_bits_address; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_c_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_e_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_e_valid; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_e_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_b_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_b_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_b_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_b_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_b_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_b_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_auto_out_b_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_b_bits_mask; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_b_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_c_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_c_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_c_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_c_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_c_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_c_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_auto_out_c_bits_address; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_c_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_e_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_e_valid; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_e_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_1_clock; // @[Buffer.scala 68:28]
+  wire  buffer_1_reset; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_1_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_b_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_b_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_b_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_in_b_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_in_b_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_in_b_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_1_auto_in_b_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_in_b_bits_mask; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_b_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_c_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_c_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_c_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_c_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_in_c_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_in_c_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_1_auto_in_c_bits_address; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_1_auto_in_c_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_in_d_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_in_d_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_bits_denied; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_e_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_e_valid; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_in_e_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_1_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_b_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_b_valid; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_out_b_bits_param; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_1_auto_out_b_bits_address; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_c_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_c_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_c_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_c_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_out_c_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_out_c_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_1_auto_out_c_bits_address; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_1_auto_out_c_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_c_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_out_d_bits_param; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_1_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_out_d_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_bits_denied; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_e_valid; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_1_auto_out_e_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_2_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_2_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_2_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_2_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_2_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_2_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [27:0] buffer_2_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_2_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_2_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_2_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_2_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_2_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_2_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_2_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_2_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_2_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_2_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_2_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_2_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_2_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_2_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_2_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [27:0] buffer_2_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_2_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_2_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_2_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_2_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_2_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_2_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_2_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_2_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_2_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_3_clock; // @[Buffer.scala 68:28]
+  wire  buffer_3_reset; // @[Buffer.scala 68:28]
+  wire  buffer_3_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_3_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_3_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_3_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_3_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_3_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [27:0] buffer_3_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_3_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_3_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_3_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_3_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_3_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_3_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_3_auto_in_d_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_3_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_3_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire  buffer_3_auto_in_d_bits_sink; // @[Buffer.scala 68:28]
+  wire  buffer_3_auto_in_d_bits_denied; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_3_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_3_auto_in_d_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_3_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_3_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_3_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_3_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_3_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_3_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [27:0] buffer_3_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_3_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_3_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_3_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_3_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_3_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_3_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_3_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_3_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_3_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  intsink_clock; // @[Crossing.scala 74:29]
+  wire  intsink_auto_in_sync_0; // @[Crossing.scala 74:29]
+  wire  intsink_auto_out_0; // @[Crossing.scala 74:29]
+  wire  intsink_1_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_1_auto_in_sync_1; // @[Crossing.scala 94:29]
+  wire  intsink_1_auto_out_0; // @[Crossing.scala 94:29]
+  wire  intsink_1_auto_out_1; // @[Crossing.scala 94:29]
+  wire  intsink_2_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_2_auto_out_0; // @[Crossing.scala 94:29]
+  wire  intsink_3_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_3_auto_out_0; // @[Crossing.scala 94:29]
+  wire  intsource_1_clock; // @[Crossing.scala 26:31]
+  wire  intsource_1_reset; // @[Crossing.scala 26:31]
+  wire  intsource_1_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_1_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  intsource_2_clock; // @[Crossing.scala 26:31]
+  wire  intsource_2_reset; // @[Crossing.scala 26:31]
+  wire  intsource_2_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_2_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  intsource_3_clock; // @[Crossing.scala 26:31]
+  wire  intsource_3_reset; // @[Crossing.scala 26:31]
+  wire  intsource_3_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_3_auto_out_sync_0; // @[Crossing.scala 26:31]
+  TileResetDomain tile_reset_domain ( // @[TilePRCIDomain.scala 45:37]
+    .auto_tile_slave_in_a_ready(tile_reset_domain_auto_tile_slave_in_a_ready),
+    .auto_tile_slave_in_a_valid(tile_reset_domain_auto_tile_slave_in_a_valid),
+    .auto_tile_slave_in_a_bits_opcode(tile_reset_domain_auto_tile_slave_in_a_bits_opcode),
+    .auto_tile_slave_in_a_bits_param(tile_reset_domain_auto_tile_slave_in_a_bits_param),
+    .auto_tile_slave_in_a_bits_size(tile_reset_domain_auto_tile_slave_in_a_bits_size),
+    .auto_tile_slave_in_a_bits_source(tile_reset_domain_auto_tile_slave_in_a_bits_source),
+    .auto_tile_slave_in_a_bits_address(tile_reset_domain_auto_tile_slave_in_a_bits_address),
+    .auto_tile_slave_in_a_bits_mask(tile_reset_domain_auto_tile_slave_in_a_bits_mask),
+    .auto_tile_slave_in_a_bits_data(tile_reset_domain_auto_tile_slave_in_a_bits_data),
+    .auto_tile_slave_in_a_bits_corrupt(tile_reset_domain_auto_tile_slave_in_a_bits_corrupt),
+    .auto_tile_slave_in_d_ready(tile_reset_domain_auto_tile_slave_in_d_ready),
+    .auto_tile_slave_in_d_valid(tile_reset_domain_auto_tile_slave_in_d_valid),
+    .auto_tile_slave_in_d_bits_opcode(tile_reset_domain_auto_tile_slave_in_d_bits_opcode),
+    .auto_tile_slave_in_d_bits_size(tile_reset_domain_auto_tile_slave_in_d_bits_size),
+    .auto_tile_slave_in_d_bits_source(tile_reset_domain_auto_tile_slave_in_d_bits_source),
+    .auto_tile_slave_in_d_bits_data(tile_reset_domain_auto_tile_slave_in_d_bits_data),
+    .auto_tile_wfi_out_0(tile_reset_domain_auto_tile_wfi_out_0),
+    .auto_tile_int_local_in_3_0(tile_reset_domain_auto_tile_int_local_in_3_0),
+    .auto_tile_int_local_in_2_0(tile_reset_domain_auto_tile_int_local_in_2_0),
+    .auto_tile_int_local_in_1_0(tile_reset_domain_auto_tile_int_local_in_1_0),
+    .auto_tile_int_local_in_1_1(tile_reset_domain_auto_tile_int_local_in_1_1),
+    .auto_tile_int_local_in_0_0(tile_reset_domain_auto_tile_int_local_in_0_0),
+    .auto_tile_hartid_in(tile_reset_domain_auto_tile_hartid_in),
+    .auto_tile_tl_other_masters_out_a_ready(tile_reset_domain_auto_tile_tl_other_masters_out_a_ready),
+    .auto_tile_tl_other_masters_out_a_valid(tile_reset_domain_auto_tile_tl_other_masters_out_a_valid),
+    .auto_tile_tl_other_masters_out_a_bits_opcode(tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_opcode),
+    .auto_tile_tl_other_masters_out_a_bits_param(tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_param),
+    .auto_tile_tl_other_masters_out_a_bits_size(tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_size),
+    .auto_tile_tl_other_masters_out_a_bits_source(tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_source),
+    .auto_tile_tl_other_masters_out_a_bits_address(tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_address),
+    .auto_tile_tl_other_masters_out_a_bits_mask(tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_mask),
+    .auto_tile_tl_other_masters_out_a_bits_data(tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_data),
+    .auto_tile_tl_other_masters_out_b_ready(tile_reset_domain_auto_tile_tl_other_masters_out_b_ready),
+    .auto_tile_tl_other_masters_out_b_valid(tile_reset_domain_auto_tile_tl_other_masters_out_b_valid),
+    .auto_tile_tl_other_masters_out_b_bits_opcode(tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_opcode),
+    .auto_tile_tl_other_masters_out_b_bits_param(tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_param),
+    .auto_tile_tl_other_masters_out_b_bits_size(tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_size),
+    .auto_tile_tl_other_masters_out_b_bits_source(tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_source),
+    .auto_tile_tl_other_masters_out_b_bits_address(tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_address),
+    .auto_tile_tl_other_masters_out_b_bits_mask(tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_mask),
+    .auto_tile_tl_other_masters_out_b_bits_corrupt(tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_corrupt),
+    .auto_tile_tl_other_masters_out_c_ready(tile_reset_domain_auto_tile_tl_other_masters_out_c_ready),
+    .auto_tile_tl_other_masters_out_c_valid(tile_reset_domain_auto_tile_tl_other_masters_out_c_valid),
+    .auto_tile_tl_other_masters_out_c_bits_opcode(tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_opcode),
+    .auto_tile_tl_other_masters_out_c_bits_param(tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_param),
+    .auto_tile_tl_other_masters_out_c_bits_size(tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_size),
+    .auto_tile_tl_other_masters_out_c_bits_source(tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_source),
+    .auto_tile_tl_other_masters_out_c_bits_address(tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_address),
+    .auto_tile_tl_other_masters_out_c_bits_data(tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_data),
+    .auto_tile_tl_other_masters_out_d_ready(tile_reset_domain_auto_tile_tl_other_masters_out_d_ready),
+    .auto_tile_tl_other_masters_out_d_valid(tile_reset_domain_auto_tile_tl_other_masters_out_d_valid),
+    .auto_tile_tl_other_masters_out_d_bits_opcode(tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_opcode),
+    .auto_tile_tl_other_masters_out_d_bits_param(tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_param),
+    .auto_tile_tl_other_masters_out_d_bits_size(tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_size),
+    .auto_tile_tl_other_masters_out_d_bits_source(tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_source),
+    .auto_tile_tl_other_masters_out_d_bits_sink(tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_sink),
+    .auto_tile_tl_other_masters_out_d_bits_denied(tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_denied),
+    .auto_tile_tl_other_masters_out_d_bits_data(tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_data),
+    .auto_tile_tl_other_masters_out_d_bits_corrupt(tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_corrupt),
+    .auto_tile_tl_other_masters_out_e_ready(tile_reset_domain_auto_tile_tl_other_masters_out_e_ready),
+    .auto_tile_tl_other_masters_out_e_valid(tile_reset_domain_auto_tile_tl_other_masters_out_e_valid),
+    .auto_tile_tl_other_masters_out_e_bits_sink(tile_reset_domain_auto_tile_tl_other_masters_out_e_bits_sink),
+    .auto_clock_in_clock(tile_reset_domain_auto_clock_in_clock),
+    .auto_clock_in_reset(tile_reset_domain_auto_clock_in_reset), // <no_sram>
+    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr), // <no_sram>
+    .tag_array_ext_RW0_en(tag_array_ext_RW0_en), // <no_sram>
+    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk), // <no_sram>
+    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode), // <no_sram>
+    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata), // <no_sram>
+    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask), // <no_sram>
+    .tag_array_0_ext_RW0_addr(tag_array_0_ext_RW0_addr), // <no_sram>
+    .tag_array_0_ext_RW0_en(tag_array_0_ext_RW0_en), // <no_sram>
+    .tag_array_0_ext_RW0_clk(tag_array_0_ext_RW0_clk), // <no_sram>
+    .tag_array_0_ext_RW0_wmode(tag_array_0_ext_RW0_wmode), // <no_sram>
+    .tag_array_0_ext_RW0_wdata(tag_array_0_ext_RW0_wdata), // <no_sram>
+    .tag_array_0_ext_RW0_rdata(tag_array_0_ext_RW0_rdata), // <no_sram>
+    .tag_array_0_ext_RW0_wmask(tag_array_0_ext_RW0_wmask), // <no_sram>
+    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask) // <no_sram>
+  );
+  FixedClockBroadcast_2 clockNode ( // @[ClockGroup.scala 106:107]
+    .auto_in_clock(clockNode_auto_in_clock),
+    .auto_in_reset(clockNode_auto_in_reset),
+    .auto_out_clock(clockNode_auto_out_clock),
+    .auto_out_reset(clockNode_auto_out_reset)
+  );
+  TLBuffer_9 buffer ( // @[Buffer.scala 68:28]
+    .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_b_ready(buffer_auto_in_b_ready),
+    .auto_in_b_valid(buffer_auto_in_b_valid),
+    .auto_in_b_bits_opcode(buffer_auto_in_b_bits_opcode),
+    .auto_in_b_bits_param(buffer_auto_in_b_bits_param),
+    .auto_in_b_bits_size(buffer_auto_in_b_bits_size),
+    .auto_in_b_bits_source(buffer_auto_in_b_bits_source),
+    .auto_in_b_bits_address(buffer_auto_in_b_bits_address),
+    .auto_in_b_bits_mask(buffer_auto_in_b_bits_mask),
+    .auto_in_b_bits_corrupt(buffer_auto_in_b_bits_corrupt),
+    .auto_in_c_ready(buffer_auto_in_c_ready),
+    .auto_in_c_valid(buffer_auto_in_c_valid),
+    .auto_in_c_bits_opcode(buffer_auto_in_c_bits_opcode),
+    .auto_in_c_bits_param(buffer_auto_in_c_bits_param),
+    .auto_in_c_bits_size(buffer_auto_in_c_bits_size),
+    .auto_in_c_bits_source(buffer_auto_in_c_bits_source),
+    .auto_in_c_bits_address(buffer_auto_in_c_bits_address),
+    .auto_in_c_bits_data(buffer_auto_in_c_bits_data),
+    .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_in_e_ready(buffer_auto_in_e_ready),
+    .auto_in_e_valid(buffer_auto_in_e_valid),
+    .auto_in_e_bits_sink(buffer_auto_in_e_bits_sink),
+    .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_b_ready(buffer_auto_out_b_ready),
+    .auto_out_b_valid(buffer_auto_out_b_valid),
+    .auto_out_b_bits_opcode(buffer_auto_out_b_bits_opcode),
+    .auto_out_b_bits_param(buffer_auto_out_b_bits_param),
+    .auto_out_b_bits_size(buffer_auto_out_b_bits_size),
+    .auto_out_b_bits_source(buffer_auto_out_b_bits_source),
+    .auto_out_b_bits_address(buffer_auto_out_b_bits_address),
+    .auto_out_b_bits_mask(buffer_auto_out_b_bits_mask),
+    .auto_out_b_bits_corrupt(buffer_auto_out_b_bits_corrupt),
+    .auto_out_c_ready(buffer_auto_out_c_ready),
+    .auto_out_c_valid(buffer_auto_out_c_valid),
+    .auto_out_c_bits_opcode(buffer_auto_out_c_bits_opcode),
+    .auto_out_c_bits_param(buffer_auto_out_c_bits_param),
+    .auto_out_c_bits_size(buffer_auto_out_c_bits_size),
+    .auto_out_c_bits_source(buffer_auto_out_c_bits_source),
+    .auto_out_c_bits_address(buffer_auto_out_c_bits_address),
+    .auto_out_c_bits_data(buffer_auto_out_c_bits_data),
+    .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),
+    .auto_out_e_ready(buffer_auto_out_e_ready),
+    .auto_out_e_valid(buffer_auto_out_e_valid),
+    .auto_out_e_bits_sink(buffer_auto_out_e_bits_sink)
+  );
+  TLBuffer_10 buffer_1 ( // @[Buffer.scala 68:28]
+    .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_b_ready(buffer_1_auto_in_b_ready),
+    .auto_in_b_valid(buffer_1_auto_in_b_valid),
+    .auto_in_b_bits_opcode(buffer_1_auto_in_b_bits_opcode),
+    .auto_in_b_bits_param(buffer_1_auto_in_b_bits_param),
+    .auto_in_b_bits_size(buffer_1_auto_in_b_bits_size),
+    .auto_in_b_bits_source(buffer_1_auto_in_b_bits_source),
+    .auto_in_b_bits_address(buffer_1_auto_in_b_bits_address),
+    .auto_in_b_bits_mask(buffer_1_auto_in_b_bits_mask),
+    .auto_in_b_bits_corrupt(buffer_1_auto_in_b_bits_corrupt),
+    .auto_in_c_ready(buffer_1_auto_in_c_ready),
+    .auto_in_c_valid(buffer_1_auto_in_c_valid),
+    .auto_in_c_bits_opcode(buffer_1_auto_in_c_bits_opcode),
+    .auto_in_c_bits_param(buffer_1_auto_in_c_bits_param),
+    .auto_in_c_bits_size(buffer_1_auto_in_c_bits_size),
+    .auto_in_c_bits_source(buffer_1_auto_in_c_bits_source),
+    .auto_in_c_bits_address(buffer_1_auto_in_c_bits_address),
+    .auto_in_c_bits_data(buffer_1_auto_in_c_bits_data),
+    .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_in_e_ready(buffer_1_auto_in_e_ready),
+    .auto_in_e_valid(buffer_1_auto_in_e_valid),
+    .auto_in_e_bits_sink(buffer_1_auto_in_e_bits_sink),
+    .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_b_ready(buffer_1_auto_out_b_ready),
+    .auto_out_b_valid(buffer_1_auto_out_b_valid),
+    .auto_out_b_bits_param(buffer_1_auto_out_b_bits_param),
+    .auto_out_b_bits_address(buffer_1_auto_out_b_bits_address),
+    .auto_out_c_ready(buffer_1_auto_out_c_ready),
+    .auto_out_c_valid(buffer_1_auto_out_c_valid),
+    .auto_out_c_bits_opcode(buffer_1_auto_out_c_bits_opcode),
+    .auto_out_c_bits_param(buffer_1_auto_out_c_bits_param),
+    .auto_out_c_bits_size(buffer_1_auto_out_c_bits_size),
+    .auto_out_c_bits_source(buffer_1_auto_out_c_bits_source),
+    .auto_out_c_bits_address(buffer_1_auto_out_c_bits_address),
+    .auto_out_c_bits_data(buffer_1_auto_out_c_bits_data),
+    .auto_out_c_bits_corrupt(buffer_1_auto_out_c_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),
+    .auto_out_e_valid(buffer_1_auto_out_e_valid),
+    .auto_out_e_bits_sink(buffer_1_auto_out_e_bits_sink)
+  );
+  TLBuffer_11 buffer_2 ( // @[Buffer.scala 68:28]
+    .auto_in_a_ready(buffer_2_auto_in_a_ready),
+    .auto_in_a_valid(buffer_2_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_2_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_2_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_2_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_2_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_2_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_2_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_2_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_2_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_2_auto_in_d_ready),
+    .auto_in_d_valid(buffer_2_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_2_auto_in_d_bits_opcode),
+    .auto_in_d_bits_size(buffer_2_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_2_auto_in_d_bits_source),
+    .auto_in_d_bits_data(buffer_2_auto_in_d_bits_data),
+    .auto_out_a_ready(buffer_2_auto_out_a_ready),
+    .auto_out_a_valid(buffer_2_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_2_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_2_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_2_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_2_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_2_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_2_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_2_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_2_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_2_auto_out_d_ready),
+    .auto_out_d_valid(buffer_2_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_2_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_2_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_2_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_2_auto_out_d_bits_data)
+  );
+  TLBuffer_12 buffer_3 ( // @[Buffer.scala 68:28]
+    .clock(buffer_3_clock),
+    .reset(buffer_3_reset),
+    .auto_in_a_ready(buffer_3_auto_in_a_ready),
+    .auto_in_a_valid(buffer_3_auto_in_a_valid),
+    .auto_in_a_bits_opcode(buffer_3_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(buffer_3_auto_in_a_bits_param),
+    .auto_in_a_bits_size(buffer_3_auto_in_a_bits_size),
+    .auto_in_a_bits_source(buffer_3_auto_in_a_bits_source),
+    .auto_in_a_bits_address(buffer_3_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(buffer_3_auto_in_a_bits_mask),
+    .auto_in_a_bits_data(buffer_3_auto_in_a_bits_data),
+    .auto_in_a_bits_corrupt(buffer_3_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(buffer_3_auto_in_d_ready),
+    .auto_in_d_valid(buffer_3_auto_in_d_valid),
+    .auto_in_d_bits_opcode(buffer_3_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(buffer_3_auto_in_d_bits_param),
+    .auto_in_d_bits_size(buffer_3_auto_in_d_bits_size),
+    .auto_in_d_bits_source(buffer_3_auto_in_d_bits_source),
+    .auto_in_d_bits_sink(buffer_3_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(buffer_3_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(buffer_3_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(buffer_3_auto_in_d_bits_corrupt),
+    .auto_out_a_ready(buffer_3_auto_out_a_ready),
+    .auto_out_a_valid(buffer_3_auto_out_a_valid),
+    .auto_out_a_bits_opcode(buffer_3_auto_out_a_bits_opcode),
+    .auto_out_a_bits_param(buffer_3_auto_out_a_bits_param),
+    .auto_out_a_bits_size(buffer_3_auto_out_a_bits_size),
+    .auto_out_a_bits_source(buffer_3_auto_out_a_bits_source),
+    .auto_out_a_bits_address(buffer_3_auto_out_a_bits_address),
+    .auto_out_a_bits_mask(buffer_3_auto_out_a_bits_mask),
+    .auto_out_a_bits_data(buffer_3_auto_out_a_bits_data),
+    .auto_out_a_bits_corrupt(buffer_3_auto_out_a_bits_corrupt),
+    .auto_out_d_ready(buffer_3_auto_out_d_ready),
+    .auto_out_d_valid(buffer_3_auto_out_d_valid),
+    .auto_out_d_bits_opcode(buffer_3_auto_out_d_bits_opcode),
+    .auto_out_d_bits_size(buffer_3_auto_out_d_bits_size),
+    .auto_out_d_bits_source(buffer_3_auto_out_d_bits_source),
+    .auto_out_d_bits_data(buffer_3_auto_out_d_bits_data)
+  );
+  IntSyncAsyncCrossingSink intsink ( // @[Crossing.scala 74:29]
+    .clock(intsink_clock),
+    .auto_in_sync_0(intsink_auto_in_sync_0),
+    .auto_out_0(intsink_auto_out_0)
+  );
+  IntSyncSyncCrossingSink intsink_1 ( // @[Crossing.scala 94:29]
+    .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)
+  );
+  IntSyncSyncCrossingSink_1 intsink_2 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_2_auto_in_sync_0),
+    .auto_out_0(intsink_2_auto_out_0)
+  );
+  IntSyncSyncCrossingSink_1 intsink_3 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_3_auto_in_sync_0),
+    .auto_out_0(intsink_3_auto_out_0)
+  );
+  IntSyncCrossingSource_1 intsource_1 ( // @[Crossing.scala 26:31]
+    .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)
+  );
+  IntSyncCrossingSource_1 intsource_2 ( // @[Crossing.scala 26:31]
+    .clock(intsource_2_clock),
+    .reset(intsource_2_reset),
+    .auto_in_0(intsource_2_auto_in_0),
+    .auto_out_sync_0(intsource_2_auto_out_sync_0)
+  );
+  IntSyncCrossingSource_1 intsource_3 ( // @[Crossing.scala 26:31]
+    .clock(intsource_3_clock),
+    .reset(intsource_3_reset),
+    .auto_in_0(intsource_3_auto_in_0),
+    .auto_out_sync_0(intsource_3_auto_out_sync_0)
+  );
+  assign auto_int_out_clock_xing_out_2_sync_0 = intsource_3_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_out_clock_xing_out_1_sync_0 = intsource_2_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_out_clock_xing_out_0_sync_0 = intsource_1_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_slave_clock_xing_in_a_ready = buffer_3_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_slave_clock_xing_in_d_valid = buffer_3_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_slave_clock_xing_in_d_bits_opcode = buffer_3_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_slave_clock_xing_in_d_bits_param = buffer_3_auto_in_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_slave_clock_xing_in_d_bits_size = buffer_3_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_slave_clock_xing_in_d_bits_source = buffer_3_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_slave_clock_xing_in_d_bits_sink = buffer_3_auto_in_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_slave_clock_xing_in_d_bits_denied = buffer_3_auto_in_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_slave_clock_xing_in_d_bits_data = buffer_3_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_slave_clock_xing_in_d_bits_corrupt = buffer_3_auto_in_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_tl_master_clock_xing_out_a_valid = buffer_1_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_a_bits_param = buffer_1_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_a_bits_size = buffer_1_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_a_bits_source = buffer_1_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_a_bits_address = buffer_1_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_a_bits_data = buffer_1_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_b_ready = buffer_1_auto_out_b_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_c_valid = buffer_1_auto_out_c_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_c_bits_opcode = buffer_1_auto_out_c_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_c_bits_param = buffer_1_auto_out_c_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_c_bits_size = buffer_1_auto_out_c_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_c_bits_source = buffer_1_auto_out_c_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_c_bits_address = buffer_1_auto_out_c_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_c_bits_data = buffer_1_auto_out_c_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_c_bits_corrupt = buffer_1_auto_out_c_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_d_ready = buffer_1_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_e_valid = buffer_1_auto_out_e_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_tl_master_clock_xing_out_e_bits_sink = buffer_1_auto_out_e_bits_sink; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_slave_in_a_valid = buffer_2_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_slave_in_a_bits_opcode = buffer_2_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_slave_in_a_bits_param = buffer_2_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_slave_in_a_bits_size = buffer_2_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_slave_in_a_bits_source = buffer_2_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_slave_in_a_bits_address = buffer_2_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_slave_in_a_bits_mask = buffer_2_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_slave_in_a_bits_data = buffer_2_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_slave_in_a_bits_corrupt = buffer_2_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_slave_in_d_ready = buffer_2_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_int_local_in_3_0 = intsink_3_auto_out_0; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_int_local_in_2_0 = intsink_2_auto_out_0; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_int_local_in_1_0 = intsink_1_auto_out_0; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_int_local_in_1_1 = intsink_1_auto_out_1; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_int_local_in_0_0 = intsink_auto_out_0; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_tile_hartid_in = auto_tile_reset_domain_tile_hartid_in; // @[LazyModule.scala 309:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_b_valid = buffer_auto_in_b_valid; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_opcode = buffer_auto_in_b_bits_opcode; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_param = buffer_auto_in_b_bits_param; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_size = buffer_auto_in_b_bits_size; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_source = buffer_auto_in_b_bits_source; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_address = buffer_auto_in_b_bits_address; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_mask = buffer_auto_in_b_bits_mask; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_b_bits_corrupt = buffer_auto_in_b_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_c_ready = buffer_auto_in_c_ready; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_tile_tl_other_masters_out_e_ready = buffer_auto_in_e_ready; // @[LazyModule.scala 298:16]
+  assign tile_reset_domain_auto_clock_in_clock = clockNode_auto_out_clock; // @[LazyModule.scala 296:16]
+  assign tile_reset_domain_auto_clock_in_reset = clockNode_auto_out_reset; // @[LazyModule.scala 296:16]
+  assign clockNode_auto_in_clock = auto_tap_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign clockNode_auto_in_reset = auto_tap_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_valid = tile_reset_domain_auto_tile_tl_other_masters_out_a_valid; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_a_bits_opcode = tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_a_bits_param = tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_a_bits_size = tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_a_bits_source = tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_a_bits_address = tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_a_bits_mask = tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_a_bits_data = tile_reset_domain_auto_tile_tl_other_masters_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_b_ready = tile_reset_domain_auto_tile_tl_other_masters_out_b_ready; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_c_valid = tile_reset_domain_auto_tile_tl_other_masters_out_c_valid; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_c_bits_opcode = tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_opcode; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_c_bits_param = tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_param; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_c_bits_size = tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_size; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_c_bits_source = tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_source; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_c_bits_address = tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_address; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_c_bits_data = tile_reset_domain_auto_tile_tl_other_masters_out_c_bits_data; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_d_ready = tile_reset_domain_auto_tile_tl_other_masters_out_d_ready; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_e_valid = tile_reset_domain_auto_tile_tl_other_masters_out_e_valid; // @[LazyModule.scala 298:16]
+  assign buffer_auto_in_e_bits_sink = tile_reset_domain_auto_tile_tl_other_masters_out_e_bits_sink; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_a_ready = buffer_1_auto_in_a_ready; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_b_valid = buffer_1_auto_in_b_valid; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_b_bits_opcode = buffer_1_auto_in_b_bits_opcode; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_b_bits_param = buffer_1_auto_in_b_bits_param; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_b_bits_size = buffer_1_auto_in_b_bits_size; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_b_bits_source = buffer_1_auto_in_b_bits_source; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_b_bits_address = buffer_1_auto_in_b_bits_address; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_b_bits_mask = buffer_1_auto_in_b_bits_mask; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_b_bits_corrupt = buffer_1_auto_in_b_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_c_ready = buffer_1_auto_in_c_ready; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_d_valid = buffer_1_auto_in_d_valid; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_d_bits_opcode = buffer_1_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_d_bits_param = buffer_1_auto_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_d_bits_size = buffer_1_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_d_bits_source = buffer_1_auto_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_d_bits_sink = buffer_1_auto_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_d_bits_denied = buffer_1_auto_in_d_bits_denied; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_d_bits_data = buffer_1_auto_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_d_bits_corrupt = buffer_1_auto_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign buffer_auto_out_e_ready = buffer_1_auto_in_e_ready; // @[LazyModule.scala 298:16]
+  assign buffer_1_clock = auto_tap_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_reset = auto_tap_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_b_ready = buffer_auto_out_b_ready; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_c_valid = buffer_auto_out_c_valid; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_c_bits_opcode = buffer_auto_out_c_bits_opcode; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_c_bits_param = buffer_auto_out_c_bits_param; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_c_bits_size = buffer_auto_out_c_bits_size; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_c_bits_source = buffer_auto_out_c_bits_source; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_c_bits_address = buffer_auto_out_c_bits_address; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_c_bits_data = buffer_auto_out_c_bits_data; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_e_valid = buffer_auto_out_e_valid; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_in_e_bits_sink = buffer_auto_out_e_bits_sink; // @[LazyModule.scala 298:16]
+  assign buffer_1_auto_out_a_ready = auto_tl_master_clock_xing_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_1_auto_out_b_valid = auto_tl_master_clock_xing_out_b_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_1_auto_out_b_bits_param = auto_tl_master_clock_xing_out_b_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_1_auto_out_b_bits_address = auto_tl_master_clock_xing_out_b_bits_address; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_1_auto_out_c_ready = auto_tl_master_clock_xing_out_c_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_1_auto_out_d_valid = auto_tl_master_clock_xing_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_1_auto_out_d_bits_opcode = auto_tl_master_clock_xing_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_1_auto_out_d_bits_param = auto_tl_master_clock_xing_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_1_auto_out_d_bits_size = auto_tl_master_clock_xing_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_1_auto_out_d_bits_source = auto_tl_master_clock_xing_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_1_auto_out_d_bits_sink = auto_tl_master_clock_xing_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_1_auto_out_d_bits_denied = auto_tl_master_clock_xing_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_1_auto_out_d_bits_data = auto_tl_master_clock_xing_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_1_auto_out_d_bits_corrupt = auto_tl_master_clock_xing_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign buffer_2_auto_in_a_valid = buffer_3_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign buffer_2_auto_in_a_bits_opcode = buffer_3_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign buffer_2_auto_in_a_bits_param = buffer_3_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign buffer_2_auto_in_a_bits_size = buffer_3_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign buffer_2_auto_in_a_bits_source = buffer_3_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign buffer_2_auto_in_a_bits_address = buffer_3_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign buffer_2_auto_in_a_bits_mask = buffer_3_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign buffer_2_auto_in_a_bits_data = buffer_3_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign buffer_2_auto_in_a_bits_corrupt = buffer_3_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign buffer_2_auto_in_d_ready = buffer_3_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign buffer_2_auto_out_a_ready = tile_reset_domain_auto_tile_slave_in_a_ready; // @[LazyModule.scala 296:16]
+  assign buffer_2_auto_out_d_valid = tile_reset_domain_auto_tile_slave_in_d_valid; // @[LazyModule.scala 296:16]
+  assign buffer_2_auto_out_d_bits_opcode = tile_reset_domain_auto_tile_slave_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign buffer_2_auto_out_d_bits_size = tile_reset_domain_auto_tile_slave_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign buffer_2_auto_out_d_bits_source = tile_reset_domain_auto_tile_slave_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign buffer_2_auto_out_d_bits_data = tile_reset_domain_auto_tile_slave_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign buffer_3_clock = auto_tap_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_3_reset = auto_tap_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_3_auto_in_a_valid = auto_tl_slave_clock_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_3_auto_in_a_bits_opcode = auto_tl_slave_clock_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_3_auto_in_a_bits_param = auto_tl_slave_clock_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_3_auto_in_a_bits_size = auto_tl_slave_clock_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_3_auto_in_a_bits_source = auto_tl_slave_clock_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_3_auto_in_a_bits_address = auto_tl_slave_clock_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_3_auto_in_a_bits_mask = auto_tl_slave_clock_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_3_auto_in_a_bits_data = auto_tl_slave_clock_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_3_auto_in_a_bits_corrupt = auto_tl_slave_clock_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_3_auto_in_d_ready = auto_tl_slave_clock_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_3_auto_out_a_ready = buffer_2_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign buffer_3_auto_out_d_valid = buffer_2_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign buffer_3_auto_out_d_bits_opcode = buffer_2_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign buffer_3_auto_out_d_bits_size = buffer_2_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign buffer_3_auto_out_d_bits_source = buffer_2_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign buffer_3_auto_out_d_bits_data = buffer_2_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign intsink_clock = auto_tap_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign intsink_auto_in_sync_0 = auto_intsink_in_sync_0; // @[LazyModule.scala 309:16]
+  assign intsink_1_auto_in_sync_0 = auto_int_in_clock_xing_in_0_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign intsink_1_auto_in_sync_1 = auto_int_in_clock_xing_in_0_sync_1; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign intsink_2_auto_in_sync_0 = auto_int_in_clock_xing_in_1_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign intsink_3_auto_in_sync_0 = auto_int_in_clock_xing_in_2_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign intsource_1_clock = auto_tap_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign intsource_1_reset = auto_tap_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign intsource_1_auto_in_0 = 1'h0; // @[LazyModule.scala 298:16]
+  assign intsource_2_clock = auto_tap_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign intsource_2_reset = auto_tap_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign intsource_2_auto_in_0 = tile_reset_domain_auto_tile_wfi_out_0; // @[LazyModule.scala 298:16]
+  assign intsource_3_clock = auto_tap_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign intsource_3_reset = auto_tap_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign intsource_3_auto_in_0 = 1'h0; // @[LazyModule.scala 298:16]
+endmodule
+module TLMonitor_46(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [27:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [27:0] _GEN_71 = {{26'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [27:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 28'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [27:0] _T_33 = io_in_a_bits_address ^ 28'hc000000; // @[Parameters.scala 137:31]
+  wire [28:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [28:0] _T_36 = $signed(_T_34) & -29'sh4000000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 29'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [27:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [127:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [127:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 671:90 672:22]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set_wo_ready = _GEN_15[95:0];
+  wire [95:0] d_clr_wo_ready = _GEN_21[95:0];
+  wire  _T_661 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_670 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_696 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_704 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_714 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_739 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_670 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_670) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_704[0] & (_T_696 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_696 & _T_2 & ~_T_704[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_714 & (_T_696 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_696 & _T_2 & ~_T_714) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Plic.scala:363:15)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_739 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_739) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at Plic.scala:363:15)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[27:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module LevelGateway(
+  input   clock,
+  input   reset,
+  input   io_interrupt,
+  output  io_plic_valid,
+  input   io_plic_ready,
+  input   io_plic_complete
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+`endif // RANDOMIZE_REG_INIT
+  reg  inFlight; // @[Plic.scala 34:21]
+  wire  _GEN_0 = io_interrupt & io_plic_ready | inFlight; // @[Plic.scala 34:21 35:{40,51}]
+  assign io_plic_valid = io_interrupt & ~inFlight; // @[Plic.scala 37:33]
+  always @(posedge clock) begin
+    if (reset) begin // @[Plic.scala 34:21]
+      inFlight <= 1'h0; // @[Plic.scala 34:21]
+    end else if (io_plic_complete) begin // @[Plic.scala 36:27]
+      inFlight <= 1'h0; // @[Plic.scala 36:38]
+    end else begin
+      inFlight <= _GEN_0;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module PLICFanIn(
+  input  [2:0]  io_prio_0,
+  input  [2:0]  io_prio_1,
+  input  [2:0]  io_prio_2,
+  input  [2:0]  io_prio_3,
+  input  [2:0]  io_prio_4,
+  input  [2:0]  io_prio_5,
+  input  [2:0]  io_prio_6,
+  input  [2:0]  io_prio_7,
+  input  [2:0]  io_prio_8,
+  input  [2:0]  io_prio_9,
+  input  [2:0]  io_prio_10,
+  input  [2:0]  io_prio_11,
+  input  [2:0]  io_prio_12,
+  input  [2:0]  io_prio_13,
+  input  [2:0]  io_prio_14,
+  input  [2:0]  io_prio_15,
+  input  [2:0]  io_prio_16,
+  input  [2:0]  io_prio_17,
+  input  [2:0]  io_prio_18,
+  input  [2:0]  io_prio_19,
+  input  [2:0]  io_prio_20,
+  input  [2:0]  io_prio_21,
+  input  [2:0]  io_prio_22,
+  input  [2:0]  io_prio_23,
+  input  [2:0]  io_prio_24,
+  input  [2:0]  io_prio_25,
+  input  [2:0]  io_prio_26,
+  input  [2:0]  io_prio_27,
+  input  [2:0]  io_prio_28,
+  input  [2:0]  io_prio_29,
+  input  [2:0]  io_prio_30,
+  input  [2:0]  io_prio_31,
+  input  [2:0]  io_prio_32,
+  input  [2:0]  io_prio_33,
+  input  [2:0]  io_prio_34,
+  input  [2:0]  io_prio_35,
+  input  [2:0]  io_prio_36,
+  input  [2:0]  io_prio_37,
+  input  [2:0]  io_prio_38,
+  input  [2:0]  io_prio_39,
+  input  [2:0]  io_prio_40,
+  input  [2:0]  io_prio_41,
+  input  [2:0]  io_prio_42,
+  input  [2:0]  io_prio_43,
+  input  [2:0]  io_prio_44,
+  input  [2:0]  io_prio_45,
+  input  [2:0]  io_prio_46,
+  input  [2:0]  io_prio_47,
+  input  [2:0]  io_prio_48,
+  input  [2:0]  io_prio_49,
+  input  [2:0]  io_prio_50,
+  input  [2:0]  io_prio_51,
+  input  [2:0]  io_prio_52,
+  input  [2:0]  io_prio_53,
+  input  [2:0]  io_prio_54,
+  input  [2:0]  io_prio_55,
+  input  [55:0] io_ip,
+  output [5:0]  io_dev,
+  output [2:0]  io_max
+);
+  wire [3:0] effectivePriority_1 = {io_ip[0],io_prio_0}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_2 = {io_ip[1],io_prio_1}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_3 = {io_ip[2],io_prio_2}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_4 = {io_ip[3],io_prio_3}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_5 = {io_ip[4],io_prio_4}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_6 = {io_ip[5],io_prio_5}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_7 = {io_ip[6],io_prio_6}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_8 = {io_ip[7],io_prio_7}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_9 = {io_ip[8],io_prio_8}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_10 = {io_ip[9],io_prio_9}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_11 = {io_ip[10],io_prio_10}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_12 = {io_ip[11],io_prio_11}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_13 = {io_ip[12],io_prio_12}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_14 = {io_ip[13],io_prio_13}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_15 = {io_ip[14],io_prio_14}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_16 = {io_ip[15],io_prio_15}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_17 = {io_ip[16],io_prio_16}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_18 = {io_ip[17],io_prio_17}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_19 = {io_ip[18],io_prio_18}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_20 = {io_ip[19],io_prio_19}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_21 = {io_ip[20],io_prio_20}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_22 = {io_ip[21],io_prio_21}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_23 = {io_ip[22],io_prio_22}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_24 = {io_ip[23],io_prio_23}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_25 = {io_ip[24],io_prio_24}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_26 = {io_ip[25],io_prio_25}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_27 = {io_ip[26],io_prio_26}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_28 = {io_ip[27],io_prio_27}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_29 = {io_ip[28],io_prio_28}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_30 = {io_ip[29],io_prio_29}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_31 = {io_ip[30],io_prio_30}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_32 = {io_ip[31],io_prio_31}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_33 = {io_ip[32],io_prio_32}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_34 = {io_ip[33],io_prio_33}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_35 = {io_ip[34],io_prio_34}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_36 = {io_ip[35],io_prio_35}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_37 = {io_ip[36],io_prio_36}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_38 = {io_ip[37],io_prio_37}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_39 = {io_ip[38],io_prio_38}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_40 = {io_ip[39],io_prio_39}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_41 = {io_ip[40],io_prio_40}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_42 = {io_ip[41],io_prio_41}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_43 = {io_ip[42],io_prio_42}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_44 = {io_ip[43],io_prio_43}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_45 = {io_ip[44],io_prio_44}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_46 = {io_ip[45],io_prio_45}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_47 = {io_ip[46],io_prio_46}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_48 = {io_ip[47],io_prio_47}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_49 = {io_ip[48],io_prio_48}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_50 = {io_ip[49],io_prio_49}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_51 = {io_ip[50],io_prio_50}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_52 = {io_ip[51],io_prio_51}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_53 = {io_ip[52],io_prio_52}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_54 = {io_ip[53],io_prio_53}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_55 = {io_ip[54],io_prio_54}; // @[Cat.scala 31:58]
+  wire [3:0] effectivePriority_56 = {io_ip[55],io_prio_55}; // @[Cat.scala 31:58]
+  wire  _T = 4'h8 >= effectivePriority_1; // @[Plic.scala 345:20]
+  wire [3:0] _T_2 = _T ? 4'h8 : effectivePriority_1; // @[Misc.scala 34:9]
+  wire  _T_3 = _T ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_4 = effectivePriority_2 >= effectivePriority_3; // @[Plic.scala 345:20]
+  wire [3:0] _T_6 = _T_4 ? effectivePriority_2 : effectivePriority_3; // @[Misc.scala 34:9]
+  wire  _T_7 = _T_4 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_8 = _T_2 >= _T_6; // @[Plic.scala 345:20]
+  wire [1:0] _GEN_0 = {{1'd0}, _T_7}; // @[Plic.scala 345:61]
+  wire [1:0] _T_9 = 2'h2 | _GEN_0; // @[Plic.scala 345:61]
+  wire [3:0] _T_10 = _T_8 ? _T_2 : _T_6; // @[Misc.scala 34:9]
+  wire [1:0] _T_11 = _T_8 ? {{1'd0}, _T_3} : _T_9; // @[Misc.scala 34:36]
+  wire  _T_12 = effectivePriority_4 >= effectivePriority_5; // @[Plic.scala 345:20]
+  wire [3:0] _T_14 = _T_12 ? effectivePriority_4 : effectivePriority_5; // @[Misc.scala 34:9]
+  wire  _T_15 = _T_12 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_16 = effectivePriority_6 >= effectivePriority_7; // @[Plic.scala 345:20]
+  wire [3:0] _T_18 = _T_16 ? effectivePriority_6 : effectivePriority_7; // @[Misc.scala 34:9]
+  wire  _T_19 = _T_16 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_20 = _T_14 >= _T_18; // @[Plic.scala 345:20]
+  wire [1:0] _GEN_1 = {{1'd0}, _T_19}; // @[Plic.scala 345:61]
+  wire [1:0] _T_21 = 2'h2 | _GEN_1; // @[Plic.scala 345:61]
+  wire [3:0] _T_22 = _T_20 ? _T_14 : _T_18; // @[Misc.scala 34:9]
+  wire [1:0] _T_23 = _T_20 ? {{1'd0}, _T_15} : _T_21; // @[Misc.scala 34:36]
+  wire  _T_24 = _T_10 >= _T_22; // @[Plic.scala 345:20]
+  wire [2:0] _GEN_2 = {{1'd0}, _T_23}; // @[Plic.scala 345:61]
+  wire [2:0] _T_25 = 3'h4 | _GEN_2; // @[Plic.scala 345:61]
+  wire [3:0] _T_26 = _T_24 ? _T_10 : _T_22; // @[Misc.scala 34:9]
+  wire [2:0] _T_27 = _T_24 ? {{1'd0}, _T_11} : _T_25; // @[Misc.scala 34:36]
+  wire  _T_28 = effectivePriority_8 >= effectivePriority_9; // @[Plic.scala 345:20]
+  wire [3:0] _T_30 = _T_28 ? effectivePriority_8 : effectivePriority_9; // @[Misc.scala 34:9]
+  wire  _T_31 = _T_28 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_32 = effectivePriority_10 >= effectivePriority_11; // @[Plic.scala 345:20]
+  wire [3:0] _T_34 = _T_32 ? effectivePriority_10 : effectivePriority_11; // @[Misc.scala 34:9]
+  wire  _T_35 = _T_32 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_36 = _T_30 >= _T_34; // @[Plic.scala 345:20]
+  wire [1:0] _GEN_3 = {{1'd0}, _T_35}; // @[Plic.scala 345:61]
+  wire [1:0] _T_37 = 2'h2 | _GEN_3; // @[Plic.scala 345:61]
+  wire [3:0] _T_38 = _T_36 ? _T_30 : _T_34; // @[Misc.scala 34:9]
+  wire [1:0] _T_39 = _T_36 ? {{1'd0}, _T_31} : _T_37; // @[Misc.scala 34:36]
+  wire  _T_40 = effectivePriority_12 >= effectivePriority_13; // @[Plic.scala 345:20]
+  wire [3:0] _T_42 = _T_40 ? effectivePriority_12 : effectivePriority_13; // @[Misc.scala 34:9]
+  wire  _T_43 = _T_40 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_44 = effectivePriority_14 >= effectivePriority_15; // @[Plic.scala 345:20]
+  wire [3:0] _T_46 = _T_44 ? effectivePriority_14 : effectivePriority_15; // @[Misc.scala 34:9]
+  wire  _T_47 = _T_44 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_48 = _T_42 >= _T_46; // @[Plic.scala 345:20]
+  wire [1:0] _GEN_4 = {{1'd0}, _T_47}; // @[Plic.scala 345:61]
+  wire [1:0] _T_49 = 2'h2 | _GEN_4; // @[Plic.scala 345:61]
+  wire [3:0] _T_50 = _T_48 ? _T_42 : _T_46; // @[Misc.scala 34:9]
+  wire [1:0] _T_51 = _T_48 ? {{1'd0}, _T_43} : _T_49; // @[Misc.scala 34:36]
+  wire  _T_52 = _T_38 >= _T_50; // @[Plic.scala 345:20]
+  wire [2:0] _GEN_5 = {{1'd0}, _T_51}; // @[Plic.scala 345:61]
+  wire [2:0] _T_53 = 3'h4 | _GEN_5; // @[Plic.scala 345:61]
+  wire [3:0] _T_54 = _T_52 ? _T_38 : _T_50; // @[Misc.scala 34:9]
+  wire [2:0] _T_55 = _T_52 ? {{1'd0}, _T_39} : _T_53; // @[Misc.scala 34:36]
+  wire  _T_56 = _T_26 >= _T_54; // @[Plic.scala 345:20]
+  wire [3:0] _GEN_6 = {{1'd0}, _T_55}; // @[Plic.scala 345:61]
+  wire [3:0] _T_57 = 4'h8 | _GEN_6; // @[Plic.scala 345:61]
+  wire [3:0] _T_58 = _T_56 ? _T_26 : _T_54; // @[Misc.scala 34:9]
+  wire [3:0] _T_59 = _T_56 ? {{1'd0}, _T_27} : _T_57; // @[Misc.scala 34:36]
+  wire  _T_60 = effectivePriority_16 >= effectivePriority_17; // @[Plic.scala 345:20]
+  wire [3:0] _T_62 = _T_60 ? effectivePriority_16 : effectivePriority_17; // @[Misc.scala 34:9]
+  wire  _T_63 = _T_60 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_64 = effectivePriority_18 >= effectivePriority_19; // @[Plic.scala 345:20]
+  wire [3:0] _T_66 = _T_64 ? effectivePriority_18 : effectivePriority_19; // @[Misc.scala 34:9]
+  wire  _T_67 = _T_64 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_68 = _T_62 >= _T_66; // @[Plic.scala 345:20]
+  wire [1:0] _GEN_7 = {{1'd0}, _T_67}; // @[Plic.scala 345:61]
+  wire [1:0] _T_69 = 2'h2 | _GEN_7; // @[Plic.scala 345:61]
+  wire [3:0] _T_70 = _T_68 ? _T_62 : _T_66; // @[Misc.scala 34:9]
+  wire [1:0] _T_71 = _T_68 ? {{1'd0}, _T_63} : _T_69; // @[Misc.scala 34:36]
+  wire  _T_72 = effectivePriority_20 >= effectivePriority_21; // @[Plic.scala 345:20]
+  wire [3:0] _T_74 = _T_72 ? effectivePriority_20 : effectivePriority_21; // @[Misc.scala 34:9]
+  wire  _T_75 = _T_72 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_76 = effectivePriority_22 >= effectivePriority_23; // @[Plic.scala 345:20]
+  wire [3:0] _T_78 = _T_76 ? effectivePriority_22 : effectivePriority_23; // @[Misc.scala 34:9]
+  wire  _T_79 = _T_76 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_80 = _T_74 >= _T_78; // @[Plic.scala 345:20]
+  wire [1:0] _GEN_8 = {{1'd0}, _T_79}; // @[Plic.scala 345:61]
+  wire [1:0] _T_81 = 2'h2 | _GEN_8; // @[Plic.scala 345:61]
+  wire [3:0] _T_82 = _T_80 ? _T_74 : _T_78; // @[Misc.scala 34:9]
+  wire [1:0] _T_83 = _T_80 ? {{1'd0}, _T_75} : _T_81; // @[Misc.scala 34:36]
+  wire  _T_84 = _T_70 >= _T_82; // @[Plic.scala 345:20]
+  wire [2:0] _GEN_9 = {{1'd0}, _T_83}; // @[Plic.scala 345:61]
+  wire [2:0] _T_85 = 3'h4 | _GEN_9; // @[Plic.scala 345:61]
+  wire [3:0] _T_86 = _T_84 ? _T_70 : _T_82; // @[Misc.scala 34:9]
+  wire [2:0] _T_87 = _T_84 ? {{1'd0}, _T_71} : _T_85; // @[Misc.scala 34:36]
+  wire  _T_88 = effectivePriority_24 >= effectivePriority_25; // @[Plic.scala 345:20]
+  wire [3:0] _T_90 = _T_88 ? effectivePriority_24 : effectivePriority_25; // @[Misc.scala 34:9]
+  wire  _T_91 = _T_88 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_92 = effectivePriority_26 >= effectivePriority_27; // @[Plic.scala 345:20]
+  wire [3:0] _T_94 = _T_92 ? effectivePriority_26 : effectivePriority_27; // @[Misc.scala 34:9]
+  wire  _T_95 = _T_92 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_96 = _T_90 >= _T_94; // @[Plic.scala 345:20]
+  wire [1:0] _GEN_10 = {{1'd0}, _T_95}; // @[Plic.scala 345:61]
+  wire [1:0] _T_97 = 2'h2 | _GEN_10; // @[Plic.scala 345:61]
+  wire [3:0] _T_98 = _T_96 ? _T_90 : _T_94; // @[Misc.scala 34:9]
+  wire [1:0] _T_99 = _T_96 ? {{1'd0}, _T_91} : _T_97; // @[Misc.scala 34:36]
+  wire  _T_100 = effectivePriority_28 >= effectivePriority_29; // @[Plic.scala 345:20]
+  wire [3:0] _T_102 = _T_100 ? effectivePriority_28 : effectivePriority_29; // @[Misc.scala 34:9]
+  wire  _T_103 = _T_100 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_104 = effectivePriority_30 >= effectivePriority_31; // @[Plic.scala 345:20]
+  wire [3:0] _T_106 = _T_104 ? effectivePriority_30 : effectivePriority_31; // @[Misc.scala 34:9]
+  wire  _T_107 = _T_104 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_108 = _T_102 >= _T_106; // @[Plic.scala 345:20]
+  wire [1:0] _GEN_11 = {{1'd0}, _T_107}; // @[Plic.scala 345:61]
+  wire [1:0] _T_109 = 2'h2 | _GEN_11; // @[Plic.scala 345:61]
+  wire [3:0] _T_110 = _T_108 ? _T_102 : _T_106; // @[Misc.scala 34:9]
+  wire [1:0] _T_111 = _T_108 ? {{1'd0}, _T_103} : _T_109; // @[Misc.scala 34:36]
+  wire  _T_112 = _T_98 >= _T_110; // @[Plic.scala 345:20]
+  wire [2:0] _GEN_12 = {{1'd0}, _T_111}; // @[Plic.scala 345:61]
+  wire [2:0] _T_113 = 3'h4 | _GEN_12; // @[Plic.scala 345:61]
+  wire [3:0] _T_114 = _T_112 ? _T_98 : _T_110; // @[Misc.scala 34:9]
+  wire [2:0] _T_115 = _T_112 ? {{1'd0}, _T_99} : _T_113; // @[Misc.scala 34:36]
+  wire  _T_116 = _T_86 >= _T_114; // @[Plic.scala 345:20]
+  wire [3:0] _GEN_13 = {{1'd0}, _T_115}; // @[Plic.scala 345:61]
+  wire [3:0] _T_117 = 4'h8 | _GEN_13; // @[Plic.scala 345:61]
+  wire [3:0] _T_118 = _T_116 ? _T_86 : _T_114; // @[Misc.scala 34:9]
+  wire [3:0] _T_119 = _T_116 ? {{1'd0}, _T_87} : _T_117; // @[Misc.scala 34:36]
+  wire  _T_120 = _T_58 >= _T_118; // @[Plic.scala 345:20]
+  wire [4:0] _GEN_14 = {{1'd0}, _T_119}; // @[Plic.scala 345:61]
+  wire [4:0] _T_121 = 5'h10 | _GEN_14; // @[Plic.scala 345:61]
+  wire [3:0] _T_122 = _T_120 ? _T_58 : _T_118; // @[Misc.scala 34:9]
+  wire [4:0] _T_123 = _T_120 ? {{1'd0}, _T_59} : _T_121; // @[Misc.scala 34:36]
+  wire  _T_124 = effectivePriority_32 >= effectivePriority_33; // @[Plic.scala 345:20]
+  wire [3:0] _T_126 = _T_124 ? effectivePriority_32 : effectivePriority_33; // @[Misc.scala 34:9]
+  wire  _T_127 = _T_124 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_128 = effectivePriority_34 >= effectivePriority_35; // @[Plic.scala 345:20]
+  wire [3:0] _T_130 = _T_128 ? effectivePriority_34 : effectivePriority_35; // @[Misc.scala 34:9]
+  wire  _T_131 = _T_128 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_132 = _T_126 >= _T_130; // @[Plic.scala 345:20]
+  wire [1:0] _GEN_15 = {{1'd0}, _T_131}; // @[Plic.scala 345:61]
+  wire [1:0] _T_133 = 2'h2 | _GEN_15; // @[Plic.scala 345:61]
+  wire [3:0] _T_134 = _T_132 ? _T_126 : _T_130; // @[Misc.scala 34:9]
+  wire [1:0] _T_135 = _T_132 ? {{1'd0}, _T_127} : _T_133; // @[Misc.scala 34:36]
+  wire  _T_136 = effectivePriority_36 >= effectivePriority_37; // @[Plic.scala 345:20]
+  wire [3:0] _T_138 = _T_136 ? effectivePriority_36 : effectivePriority_37; // @[Misc.scala 34:9]
+  wire  _T_139 = _T_136 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_140 = effectivePriority_38 >= effectivePriority_39; // @[Plic.scala 345:20]
+  wire [3:0] _T_142 = _T_140 ? effectivePriority_38 : effectivePriority_39; // @[Misc.scala 34:9]
+  wire  _T_143 = _T_140 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_144 = _T_138 >= _T_142; // @[Plic.scala 345:20]
+  wire [1:0] _GEN_16 = {{1'd0}, _T_143}; // @[Plic.scala 345:61]
+  wire [1:0] _T_145 = 2'h2 | _GEN_16; // @[Plic.scala 345:61]
+  wire [3:0] _T_146 = _T_144 ? _T_138 : _T_142; // @[Misc.scala 34:9]
+  wire [1:0] _T_147 = _T_144 ? {{1'd0}, _T_139} : _T_145; // @[Misc.scala 34:36]
+  wire  _T_148 = _T_134 >= _T_146; // @[Plic.scala 345:20]
+  wire [2:0] _GEN_17 = {{1'd0}, _T_147}; // @[Plic.scala 345:61]
+  wire [2:0] _T_149 = 3'h4 | _GEN_17; // @[Plic.scala 345:61]
+  wire [3:0] _T_150 = _T_148 ? _T_134 : _T_146; // @[Misc.scala 34:9]
+  wire [2:0] _T_151 = _T_148 ? {{1'd0}, _T_135} : _T_149; // @[Misc.scala 34:36]
+  wire  _T_152 = effectivePriority_40 >= effectivePriority_41; // @[Plic.scala 345:20]
+  wire [3:0] _T_154 = _T_152 ? effectivePriority_40 : effectivePriority_41; // @[Misc.scala 34:9]
+  wire  _T_155 = _T_152 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_156 = effectivePriority_42 >= effectivePriority_43; // @[Plic.scala 345:20]
+  wire [3:0] _T_158 = _T_156 ? effectivePriority_42 : effectivePriority_43; // @[Misc.scala 34:9]
+  wire  _T_159 = _T_156 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_160 = _T_154 >= _T_158; // @[Plic.scala 345:20]
+  wire [1:0] _GEN_18 = {{1'd0}, _T_159}; // @[Plic.scala 345:61]
+  wire [1:0] _T_161 = 2'h2 | _GEN_18; // @[Plic.scala 345:61]
+  wire [3:0] _T_162 = _T_160 ? _T_154 : _T_158; // @[Misc.scala 34:9]
+  wire [1:0] _T_163 = _T_160 ? {{1'd0}, _T_155} : _T_161; // @[Misc.scala 34:36]
+  wire  _T_164 = effectivePriority_44 >= effectivePriority_45; // @[Plic.scala 345:20]
+  wire [3:0] _T_166 = _T_164 ? effectivePriority_44 : effectivePriority_45; // @[Misc.scala 34:9]
+  wire  _T_167 = _T_164 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_168 = effectivePriority_46 >= effectivePriority_47; // @[Plic.scala 345:20]
+  wire [3:0] _T_170 = _T_168 ? effectivePriority_46 : effectivePriority_47; // @[Misc.scala 34:9]
+  wire  _T_171 = _T_168 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_172 = _T_166 >= _T_170; // @[Plic.scala 345:20]
+  wire [1:0] _GEN_19 = {{1'd0}, _T_171}; // @[Plic.scala 345:61]
+  wire [1:0] _T_173 = 2'h2 | _GEN_19; // @[Plic.scala 345:61]
+  wire [3:0] _T_174 = _T_172 ? _T_166 : _T_170; // @[Misc.scala 34:9]
+  wire [1:0] _T_175 = _T_172 ? {{1'd0}, _T_167} : _T_173; // @[Misc.scala 34:36]
+  wire  _T_176 = _T_162 >= _T_174; // @[Plic.scala 345:20]
+  wire [2:0] _GEN_20 = {{1'd0}, _T_175}; // @[Plic.scala 345:61]
+  wire [2:0] _T_177 = 3'h4 | _GEN_20; // @[Plic.scala 345:61]
+  wire [3:0] _T_178 = _T_176 ? _T_162 : _T_174; // @[Misc.scala 34:9]
+  wire [2:0] _T_179 = _T_176 ? {{1'd0}, _T_163} : _T_177; // @[Misc.scala 34:36]
+  wire  _T_180 = _T_150 >= _T_178; // @[Plic.scala 345:20]
+  wire [3:0] _GEN_21 = {{1'd0}, _T_179}; // @[Plic.scala 345:61]
+  wire [3:0] _T_181 = 4'h8 | _GEN_21; // @[Plic.scala 345:61]
+  wire [3:0] _T_182 = _T_180 ? _T_150 : _T_178; // @[Misc.scala 34:9]
+  wire [3:0] _T_183 = _T_180 ? {{1'd0}, _T_151} : _T_181; // @[Misc.scala 34:36]
+  wire  _T_184 = effectivePriority_48 >= effectivePriority_49; // @[Plic.scala 345:20]
+  wire [3:0] _T_186 = _T_184 ? effectivePriority_48 : effectivePriority_49; // @[Misc.scala 34:9]
+  wire  _T_187 = _T_184 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_188 = effectivePriority_50 >= effectivePriority_51; // @[Plic.scala 345:20]
+  wire [3:0] _T_190 = _T_188 ? effectivePriority_50 : effectivePriority_51; // @[Misc.scala 34:9]
+  wire  _T_191 = _T_188 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_192 = _T_186 >= _T_190; // @[Plic.scala 345:20]
+  wire [1:0] _GEN_22 = {{1'd0}, _T_191}; // @[Plic.scala 345:61]
+  wire [1:0] _T_193 = 2'h2 | _GEN_22; // @[Plic.scala 345:61]
+  wire [3:0] _T_194 = _T_192 ? _T_186 : _T_190; // @[Misc.scala 34:9]
+  wire [1:0] _T_195 = _T_192 ? {{1'd0}, _T_187} : _T_193; // @[Misc.scala 34:36]
+  wire  _T_196 = effectivePriority_52 >= effectivePriority_53; // @[Plic.scala 345:20]
+  wire [3:0] _T_198 = _T_196 ? effectivePriority_52 : effectivePriority_53; // @[Misc.scala 34:9]
+  wire  _T_199 = _T_196 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_200 = effectivePriority_54 >= effectivePriority_55; // @[Plic.scala 345:20]
+  wire [3:0] _T_202 = _T_200 ? effectivePriority_54 : effectivePriority_55; // @[Misc.scala 34:9]
+  wire  _T_203 = _T_200 ? 1'h0 : 1'h1; // @[Misc.scala 34:36]
+  wire  _T_204 = _T_198 >= _T_202; // @[Plic.scala 345:20]
+  wire [1:0] _GEN_23 = {{1'd0}, _T_203}; // @[Plic.scala 345:61]
+  wire [1:0] _T_205 = 2'h2 | _GEN_23; // @[Plic.scala 345:61]
+  wire [3:0] _T_206 = _T_204 ? _T_198 : _T_202; // @[Misc.scala 34:9]
+  wire [1:0] _T_207 = _T_204 ? {{1'd0}, _T_199} : _T_205; // @[Misc.scala 34:36]
+  wire  _T_208 = _T_194 >= _T_206; // @[Plic.scala 345:20]
+  wire [2:0] _GEN_24 = {{1'd0}, _T_207}; // @[Plic.scala 345:61]
+  wire [2:0] _T_209 = 3'h4 | _GEN_24; // @[Plic.scala 345:61]
+  wire [3:0] _T_210 = _T_208 ? _T_194 : _T_206; // @[Misc.scala 34:9]
+  wire [2:0] _T_211 = _T_208 ? {{1'd0}, _T_195} : _T_209; // @[Misc.scala 34:36]
+  wire  _T_212 = _T_210 >= effectivePriority_56; // @[Plic.scala 345:20]
+  wire [3:0] _T_214 = _T_212 ? _T_210 : effectivePriority_56; // @[Misc.scala 34:9]
+  wire [3:0] _T_215 = _T_212 ? {{1'd0}, _T_211} : 4'h8; // @[Misc.scala 34:36]
+  wire  _T_216 = _T_182 >= _T_214; // @[Plic.scala 345:20]
+  wire [4:0] _GEN_25 = {{1'd0}, _T_215}; // @[Plic.scala 345:61]
+  wire [4:0] _T_217 = 5'h10 | _GEN_25; // @[Plic.scala 345:61]
+  wire [3:0] _T_218 = _T_216 ? _T_182 : _T_214; // @[Misc.scala 34:9]
+  wire [4:0] _T_219 = _T_216 ? {{1'd0}, _T_183} : _T_217; // @[Misc.scala 34:36]
+  wire  _T_220 = _T_122 >= _T_218; // @[Plic.scala 345:20]
+  wire [5:0] _GEN_26 = {{1'd0}, _T_219}; // @[Plic.scala 345:61]
+  wire [5:0] _T_221 = 6'h20 | _GEN_26; // @[Plic.scala 345:61]
+  wire [3:0] maxPri = _T_220 ? _T_122 : _T_218; // @[Misc.scala 34:9]
+  assign io_dev = _T_220 ? {{1'd0}, _T_123} : _T_221; // @[Misc.scala 34:36]
+  assign io_max = maxPri[2:0]; // @[Plic.scala 351:10]
+endmodule
+module Queue_22(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input         io_enq_bits_read,
+  input  [23:0] io_enq_bits_index,
+  input  [31:0] io_enq_bits_data,
+  input  [3:0]  io_enq_bits_mask,
+  input  [6:0]  io_enq_bits_extra_tlrr_extra_source,
+  input  [1:0]  io_enq_bits_extra_tlrr_extra_size,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output        io_deq_bits_read,
+  output [23:0] io_deq_bits_index,
+  output [31:0] io_deq_bits_data,
+  output [3:0]  io_deq_bits_mask,
+  output [6:0]  io_deq_bits_extra_tlrr_extra_source,
+  output [1:0]  io_deq_bits_extra_tlrr_extra_size
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_6;
+`endif // RANDOMIZE_REG_INIT
+  reg  ram_read [0:0]; // @[Decoupled.scala 259:95]
+  wire  ram_read_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_read_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_read_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_read_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_read_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_read_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_read_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [23:0] ram_index [0:0]; // @[Decoupled.scala 259:95]
+  wire  ram_index_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_index_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [23:0] ram_index_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [23:0] ram_index_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_index_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_index_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_index_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [31:0] ram_data [0:0]; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_mask [0:0]; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [6:0] ram_extra_tlrr_extra_source [0:0]; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [6:0] ram_extra_tlrr_extra_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [6:0] ram_extra_tlrr_extra_source_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_source_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_source_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_source_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_extra_tlrr_extra_size [0:0]; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_extra_tlrr_extra_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_extra_tlrr_extra_size_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_size_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_size_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_size_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  empty = ~maybe_full; // @[Decoupled.scala 264:28]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign ram_read_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_read_io_deq_bits_MPORT_addr = 1'h0;
+  assign ram_read_io_deq_bits_MPORT_data = ram_read[ram_read_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_read_MPORT_data = io_enq_bits_read;
+  assign ram_read_MPORT_addr = 1'h0;
+  assign ram_read_MPORT_mask = 1'h1;
+  assign ram_read_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_index_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_index_io_deq_bits_MPORT_addr = 1'h0;
+  assign ram_index_io_deq_bits_MPORT_data = ram_index[ram_index_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_index_MPORT_data = io_enq_bits_index;
+  assign ram_index_MPORT_addr = 1'h0;
+  assign ram_index_MPORT_mask = 1'h1;
+  assign ram_index_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_data_io_deq_bits_MPORT_addr = 1'h0;
+  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_data_MPORT_data = io_enq_bits_data;
+  assign ram_data_MPORT_addr = 1'h0;
+  assign ram_data_MPORT_mask = 1'h1;
+  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_mask_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_mask_io_deq_bits_MPORT_addr = 1'h0;
+  assign ram_mask_io_deq_bits_MPORT_data = ram_mask[ram_mask_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_mask_MPORT_data = io_enq_bits_mask;
+  assign ram_mask_MPORT_addr = 1'h0;
+  assign ram_mask_MPORT_mask = 1'h1;
+  assign ram_mask_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_extra_tlrr_extra_source_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_extra_tlrr_extra_source_io_deq_bits_MPORT_addr = 1'h0;
+  assign ram_extra_tlrr_extra_source_io_deq_bits_MPORT_data =
+    ram_extra_tlrr_extra_source[ram_extra_tlrr_extra_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_extra_tlrr_extra_source_MPORT_data = io_enq_bits_extra_tlrr_extra_source;
+  assign ram_extra_tlrr_extra_source_MPORT_addr = 1'h0;
+  assign ram_extra_tlrr_extra_source_MPORT_mask = 1'h1;
+  assign ram_extra_tlrr_extra_source_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_extra_tlrr_extra_size_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_extra_tlrr_extra_size_io_deq_bits_MPORT_addr = 1'h0;
+  assign ram_extra_tlrr_extra_size_io_deq_bits_MPORT_data =
+    ram_extra_tlrr_extra_size[ram_extra_tlrr_extra_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_extra_tlrr_extra_size_MPORT_data = io_enq_bits_extra_tlrr_extra_size;
+  assign ram_extra_tlrr_extra_size_MPORT_addr = 1'h0;
+  assign ram_extra_tlrr_extra_size_MPORT_mask = 1'h1;
+  assign ram_extra_tlrr_extra_size_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_read = ram_read_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_index = ram_index_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_mask = ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_extra_tlrr_extra_source = ram_extra_tlrr_extra_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_extra_tlrr_extra_size = ram_extra_tlrr_extra_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_read_MPORT_en & ram_read_MPORT_mask) begin
+      ram_read[ram_read_MPORT_addr] <= ram_read_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_index_MPORT_en & ram_index_MPORT_mask) begin
+      ram_index[ram_index_MPORT_addr] <= ram_index_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
+      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_mask_MPORT_en & ram_mask_MPORT_mask) begin
+      ram_mask[ram_mask_MPORT_addr] <= ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_extra_tlrr_extra_source_MPORT_en & ram_extra_tlrr_extra_source_MPORT_mask) begin
+      ram_extra_tlrr_extra_source[ram_extra_tlrr_extra_source_MPORT_addr] <= ram_extra_tlrr_extra_source_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_extra_tlrr_extra_size_MPORT_en & ram_extra_tlrr_extra_size_MPORT_mask) begin
+      ram_extra_tlrr_extra_size[ram_extra_tlrr_extra_size_MPORT_addr] <= ram_extra_tlrr_extra_size_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    ram_read[initvar] = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    ram_index[initvar] = _RAND_1[23:0];
+  _RAND_2 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    ram_data[initvar] = _RAND_2[31:0];
+  _RAND_3 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    ram_mask[initvar] = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    ram_extra_tlrr_extra_source[initvar] = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    ram_extra_tlrr_extra_size[initvar] = _RAND_5[1:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  maybe_full = _RAND_6[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLPLIC(
+  input         clock,
+  input         reset,
+  input         auto_int_in_0,
+  input         auto_int_in_1,
+  input         auto_int_in_2,
+  input         auto_int_in_3,
+  input         auto_int_in_4,
+  input         auto_int_in_5,
+  input         auto_int_in_6,
+  input         auto_int_in_7,
+  input         auto_int_in_8,
+  input         auto_int_in_9,
+  input         auto_int_in_10,
+  input         auto_int_in_11,
+  input         auto_int_in_12,
+  input         auto_int_in_13,
+  input         auto_int_in_14,
+  input         auto_int_in_15,
+  input         auto_int_in_16,
+  input         auto_int_in_17,
+  input         auto_int_in_18,
+  input         auto_int_in_19,
+  input         auto_int_in_20,
+  input         auto_int_in_21,
+  input         auto_int_in_22,
+  input         auto_int_in_23,
+  input         auto_int_in_24,
+  input         auto_int_in_25,
+  input         auto_int_in_26,
+  input         auto_int_in_27,
+  input         auto_int_in_28,
+  input         auto_int_in_29,
+  input         auto_int_in_30,
+  input         auto_int_in_31,
+  input         auto_int_in_32,
+  input         auto_int_in_33,
+  input         auto_int_in_34,
+  input         auto_int_in_35,
+  input         auto_int_in_36,
+  input         auto_int_in_37,
+  input         auto_int_in_38,
+  input         auto_int_in_39,
+  input         auto_int_in_40,
+  input         auto_int_in_41,
+  input         auto_int_in_42,
+  input         auto_int_in_43,
+  input         auto_int_in_44,
+  input         auto_int_in_45,
+  input         auto_int_in_46,
+  input         auto_int_in_47,
+  input         auto_int_in_48,
+  input         auto_int_in_49,
+  input         auto_int_in_50,
+  input         auto_int_in_51,
+  input         auto_int_in_52,
+  input         auto_int_in_53,
+  input         auto_int_in_54,
+  input         auto_int_in_55,
+  output        auto_int_out_1_0,
+  output        auto_int_out_0_0,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [1:0]  auto_in_a_bits_size,
+  input  [6:0]  auto_in_a_bits_source,
+  input  [27:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_size,
+  output [6:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+  reg [31:0] _RAND_34;
+  reg [31:0] _RAND_35;
+  reg [31:0] _RAND_36;
+  reg [31:0] _RAND_37;
+  reg [31:0] _RAND_38;
+  reg [31:0] _RAND_39;
+  reg [31:0] _RAND_40;
+  reg [31:0] _RAND_41;
+  reg [31:0] _RAND_42;
+  reg [31:0] _RAND_43;
+  reg [31:0] _RAND_44;
+  reg [31:0] _RAND_45;
+  reg [31:0] _RAND_46;
+  reg [31:0] _RAND_47;
+  reg [31:0] _RAND_48;
+  reg [31:0] _RAND_49;
+  reg [31:0] _RAND_50;
+  reg [31:0] _RAND_51;
+  reg [31:0] _RAND_52;
+  reg [31:0] _RAND_53;
+  reg [31:0] _RAND_54;
+  reg [31:0] _RAND_55;
+  reg [31:0] _RAND_56;
+  reg [31:0] _RAND_57;
+  reg [31:0] _RAND_58;
+  reg [31:0] _RAND_59;
+  reg [31:0] _RAND_60;
+  reg [31:0] _RAND_61;
+  reg [31:0] _RAND_62;
+  reg [31:0] _RAND_63;
+  reg [31:0] _RAND_64;
+  reg [31:0] _RAND_65;
+  reg [31:0] _RAND_66;
+  reg [31:0] _RAND_67;
+  reg [31:0] _RAND_68;
+  reg [31:0] _RAND_69;
+  reg [31:0] _RAND_70;
+  reg [31:0] _RAND_71;
+  reg [31:0] _RAND_72;
+  reg [31:0] _RAND_73;
+  reg [31:0] _RAND_74;
+  reg [31:0] _RAND_75;
+  reg [31:0] _RAND_76;
+  reg [31:0] _RAND_77;
+  reg [31:0] _RAND_78;
+  reg [31:0] _RAND_79;
+  reg [31:0] _RAND_80;
+  reg [31:0] _RAND_81;
+  reg [31:0] _RAND_82;
+  reg [31:0] _RAND_83;
+  reg [31:0] _RAND_84;
+  reg [31:0] _RAND_85;
+  reg [31:0] _RAND_86;
+  reg [31:0] _RAND_87;
+  reg [31:0] _RAND_88;
+  reg [31:0] _RAND_89;
+  reg [31:0] _RAND_90;
+  reg [31:0] _RAND_91;
+  reg [31:0] _RAND_92;
+  reg [31:0] _RAND_93;
+  reg [31:0] _RAND_94;
+  reg [31:0] _RAND_95;
+  reg [31:0] _RAND_96;
+  reg [31:0] _RAND_97;
+  reg [31:0] _RAND_98;
+  reg [31:0] _RAND_99;
+  reg [31:0] _RAND_100;
+  reg [31:0] _RAND_101;
+  reg [31:0] _RAND_102;
+  reg [31:0] _RAND_103;
+  reg [31:0] _RAND_104;
+  reg [31:0] _RAND_105;
+  reg [31:0] _RAND_106;
+  reg [31:0] _RAND_107;
+  reg [31:0] _RAND_108;
+  reg [31:0] _RAND_109;
+  reg [31:0] _RAND_110;
+  reg [31:0] _RAND_111;
+  reg [31:0] _RAND_112;
+  reg [31:0] _RAND_113;
+  reg [31:0] _RAND_114;
+  reg [31:0] _RAND_115;
+  reg [31:0] _RAND_116;
+  reg [31:0] _RAND_117;
+  reg [31:0] _RAND_118;
+  reg [31:0] _RAND_119;
+  reg [31:0] _RAND_120;
+  reg [31:0] _RAND_121;
+  reg [31:0] _RAND_122;
+  reg [31:0] _RAND_123;
+  reg [31:0] _RAND_124;
+  reg [31:0] _RAND_125;
+  reg [31:0] _RAND_126;
+  reg [31:0] _RAND_127;
+  reg [31:0] _RAND_128;
+  reg [31:0] _RAND_129;
+  reg [31:0] _RAND_130;
+  reg [31:0] _RAND_131;
+  reg [31:0] _RAND_132;
+  reg [31:0] _RAND_133;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [27:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  gateways_gateway_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_1_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_1_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_1_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_1_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_1_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_1_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_2_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_2_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_2_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_2_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_2_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_2_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_3_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_3_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_3_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_3_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_3_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_3_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_4_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_4_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_4_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_4_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_4_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_4_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_5_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_5_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_5_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_5_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_5_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_5_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_6_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_6_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_6_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_6_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_6_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_6_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_7_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_7_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_7_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_7_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_7_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_7_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_8_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_8_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_8_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_8_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_8_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_8_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_9_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_9_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_9_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_9_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_9_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_9_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_10_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_10_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_10_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_10_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_10_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_10_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_11_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_11_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_11_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_11_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_11_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_11_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_12_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_12_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_12_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_12_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_12_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_12_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_13_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_13_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_13_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_13_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_13_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_13_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_14_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_14_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_14_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_14_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_14_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_14_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_15_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_15_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_15_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_15_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_15_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_15_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_16_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_16_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_16_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_16_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_16_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_16_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_17_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_17_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_17_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_17_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_17_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_17_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_18_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_18_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_18_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_18_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_18_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_18_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_19_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_19_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_19_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_19_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_19_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_19_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_20_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_20_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_20_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_20_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_20_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_20_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_21_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_21_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_21_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_21_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_21_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_21_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_22_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_22_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_22_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_22_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_22_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_22_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_23_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_23_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_23_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_23_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_23_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_23_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_24_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_24_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_24_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_24_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_24_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_24_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_25_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_25_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_25_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_25_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_25_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_25_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_26_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_26_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_26_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_26_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_26_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_26_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_27_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_27_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_27_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_27_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_27_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_27_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_28_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_28_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_28_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_28_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_28_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_28_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_29_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_29_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_29_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_29_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_29_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_29_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_30_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_30_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_30_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_30_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_30_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_30_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_31_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_31_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_31_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_31_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_31_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_31_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_32_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_32_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_32_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_32_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_32_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_32_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_33_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_33_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_33_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_33_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_33_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_33_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_34_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_34_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_34_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_34_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_34_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_34_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_35_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_35_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_35_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_35_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_35_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_35_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_36_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_36_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_36_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_36_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_36_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_36_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_37_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_37_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_37_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_37_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_37_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_37_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_38_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_38_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_38_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_38_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_38_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_38_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_39_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_39_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_39_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_39_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_39_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_39_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_40_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_40_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_40_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_40_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_40_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_40_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_41_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_41_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_41_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_41_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_41_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_41_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_42_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_42_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_42_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_42_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_42_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_42_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_43_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_43_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_43_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_43_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_43_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_43_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_44_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_44_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_44_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_44_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_44_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_44_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_45_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_45_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_45_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_45_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_45_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_45_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_46_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_46_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_46_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_46_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_46_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_46_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_47_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_47_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_47_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_47_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_47_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_47_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_48_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_48_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_48_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_48_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_48_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_48_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_49_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_49_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_49_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_49_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_49_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_49_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_50_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_50_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_50_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_50_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_50_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_50_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_51_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_51_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_51_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_51_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_51_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_51_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_52_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_52_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_52_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_52_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_52_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_52_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_53_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_53_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_53_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_53_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_53_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_53_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_54_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_54_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_54_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_54_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_54_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_54_io_plic_complete; // @[Plic.scala 156:27]
+  wire  gateways_gateway_55_clock; // @[Plic.scala 156:27]
+  wire  gateways_gateway_55_reset; // @[Plic.scala 156:27]
+  wire  gateways_gateway_55_io_interrupt; // @[Plic.scala 156:27]
+  wire  gateways_gateway_55_io_plic_valid; // @[Plic.scala 156:27]
+  wire  gateways_gateway_55_io_plic_ready; // @[Plic.scala 156:27]
+  wire  gateways_gateway_55_io_plic_complete; // @[Plic.scala 156:27]
+  wire [2:0] fanin_io_prio_0; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_1; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_2; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_3; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_4; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_5; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_6; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_7; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_8; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_9; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_10; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_11; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_12; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_13; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_14; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_15; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_16; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_17; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_18; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_19; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_20; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_21; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_22; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_23; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_24; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_25; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_26; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_27; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_28; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_29; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_30; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_31; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_32; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_33; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_34; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_35; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_36; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_37; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_38; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_39; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_40; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_41; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_42; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_43; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_44; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_45; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_46; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_47; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_48; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_49; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_50; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_51; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_52; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_53; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_54; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_prio_55; // @[Plic.scala 184:25]
+  wire [55:0] fanin_io_ip; // @[Plic.scala 184:25]
+  wire [5:0] fanin_io_dev; // @[Plic.scala 184:25]
+  wire [2:0] fanin_io_max; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_0; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_1; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_2; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_3; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_4; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_5; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_6; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_7; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_8; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_9; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_10; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_11; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_12; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_13; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_14; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_15; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_16; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_17; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_18; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_19; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_20; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_21; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_22; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_23; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_24; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_25; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_26; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_27; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_28; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_29; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_30; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_31; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_32; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_33; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_34; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_35; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_36; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_37; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_38; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_39; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_40; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_41; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_42; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_43; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_44; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_45; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_46; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_47; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_48; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_49; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_50; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_51; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_52; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_53; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_54; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_prio_55; // @[Plic.scala 184:25]
+  wire [55:0] fanin_1_io_ip; // @[Plic.scala 184:25]
+  wire [5:0] fanin_1_io_dev; // @[Plic.scala 184:25]
+  wire [2:0] fanin_1_io_max; // @[Plic.scala 184:25]
+  wire  out_back_clock; // @[Decoupled.scala 361:21]
+  wire  out_back_reset; // @[Decoupled.scala 361:21]
+  wire  out_back_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  out_back_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire  out_back_io_enq_bits_read; // @[Decoupled.scala 361:21]
+  wire [23:0] out_back_io_enq_bits_index; // @[Decoupled.scala 361:21]
+  wire [31:0] out_back_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire [3:0] out_back_io_enq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [6:0] out_back_io_enq_bits_extra_tlrr_extra_source; // @[Decoupled.scala 361:21]
+  wire [1:0] out_back_io_enq_bits_extra_tlrr_extra_size; // @[Decoupled.scala 361:21]
+  wire  out_back_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  out_back_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire  out_back_io_deq_bits_read; // @[Decoupled.scala 361:21]
+  wire [23:0] out_back_io_deq_bits_index; // @[Decoupled.scala 361:21]
+  wire [31:0] out_back_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  wire [3:0] out_back_io_deq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [6:0] out_back_io_deq_bits_extra_tlrr_extra_source; // @[Decoupled.scala 361:21]
+  wire [1:0] out_back_io_deq_bits_extra_tlrr_extra_size; // @[Decoupled.scala 361:21]
+  reg [2:0] priority_0; // @[Plic.scala 163:31]
+  reg [2:0] priority_1; // @[Plic.scala 163:31]
+  reg [2:0] priority_2; // @[Plic.scala 163:31]
+  reg [2:0] priority_3; // @[Plic.scala 163:31]
+  reg [2:0] priority_4; // @[Plic.scala 163:31]
+  reg [2:0] priority_5; // @[Plic.scala 163:31]
+  reg [2:0] priority_6; // @[Plic.scala 163:31]
+  reg [2:0] priority_7; // @[Plic.scala 163:31]
+  reg [2:0] priority_8; // @[Plic.scala 163:31]
+  reg [2:0] priority_9; // @[Plic.scala 163:31]
+  reg [2:0] priority_10; // @[Plic.scala 163:31]
+  reg [2:0] priority_11; // @[Plic.scala 163:31]
+  reg [2:0] priority_12; // @[Plic.scala 163:31]
+  reg [2:0] priority_13; // @[Plic.scala 163:31]
+  reg [2:0] priority_14; // @[Plic.scala 163:31]
+  reg [2:0] priority_15; // @[Plic.scala 163:31]
+  reg [2:0] priority_16; // @[Plic.scala 163:31]
+  reg [2:0] priority_17; // @[Plic.scala 163:31]
+  reg [2:0] priority_18; // @[Plic.scala 163:31]
+  reg [2:0] priority_19; // @[Plic.scala 163:31]
+  reg [2:0] priority_20; // @[Plic.scala 163:31]
+  reg [2:0] priority_21; // @[Plic.scala 163:31]
+  reg [2:0] priority_22; // @[Plic.scala 163:31]
+  reg [2:0] priority_23; // @[Plic.scala 163:31]
+  reg [2:0] priority_24; // @[Plic.scala 163:31]
+  reg [2:0] priority_25; // @[Plic.scala 163:31]
+  reg [2:0] priority_26; // @[Plic.scala 163:31]
+  reg [2:0] priority_27; // @[Plic.scala 163:31]
+  reg [2:0] priority_28; // @[Plic.scala 163:31]
+  reg [2:0] priority_29; // @[Plic.scala 163:31]
+  reg [2:0] priority_30; // @[Plic.scala 163:31]
+  reg [2:0] priority_31; // @[Plic.scala 163:31]
+  reg [2:0] priority_32; // @[Plic.scala 163:31]
+  reg [2:0] priority_33; // @[Plic.scala 163:31]
+  reg [2:0] priority_34; // @[Plic.scala 163:31]
+  reg [2:0] priority_35; // @[Plic.scala 163:31]
+  reg [2:0] priority_36; // @[Plic.scala 163:31]
+  reg [2:0] priority_37; // @[Plic.scala 163:31]
+  reg [2:0] priority_38; // @[Plic.scala 163:31]
+  reg [2:0] priority_39; // @[Plic.scala 163:31]
+  reg [2:0] priority_40; // @[Plic.scala 163:31]
+  reg [2:0] priority_41; // @[Plic.scala 163:31]
+  reg [2:0] priority_42; // @[Plic.scala 163:31]
+  reg [2:0] priority_43; // @[Plic.scala 163:31]
+  reg [2:0] priority_44; // @[Plic.scala 163:31]
+  reg [2:0] priority_45; // @[Plic.scala 163:31]
+  reg [2:0] priority_46; // @[Plic.scala 163:31]
+  reg [2:0] priority_47; // @[Plic.scala 163:31]
+  reg [2:0] priority_48; // @[Plic.scala 163:31]
+  reg [2:0] priority_49; // @[Plic.scala 163:31]
+  reg [2:0] priority_50; // @[Plic.scala 163:31]
+  reg [2:0] priority_51; // @[Plic.scala 163:31]
+  reg [2:0] priority_52; // @[Plic.scala 163:31]
+  reg [2:0] priority_53; // @[Plic.scala 163:31]
+  reg [2:0] priority_54; // @[Plic.scala 163:31]
+  reg [2:0] priority_55; // @[Plic.scala 163:31]
+  reg [2:0] threshold_0; // @[Plic.scala 166:31]
+  reg [2:0] threshold_1; // @[Plic.scala 166:31]
+  reg  pending_0; // @[Plic.scala 168:22]
+  reg  pending_1; // @[Plic.scala 168:22]
+  reg  pending_2; // @[Plic.scala 168:22]
+  reg  pending_3; // @[Plic.scala 168:22]
+  reg  pending_4; // @[Plic.scala 168:22]
+  reg  pending_5; // @[Plic.scala 168:22]
+  reg  pending_6; // @[Plic.scala 168:22]
+  reg  pending_7; // @[Plic.scala 168:22]
+  reg  pending_8; // @[Plic.scala 168:22]
+  reg  pending_9; // @[Plic.scala 168:22]
+  reg  pending_10; // @[Plic.scala 168:22]
+  reg  pending_11; // @[Plic.scala 168:22]
+  reg  pending_12; // @[Plic.scala 168:22]
+  reg  pending_13; // @[Plic.scala 168:22]
+  reg  pending_14; // @[Plic.scala 168:22]
+  reg  pending_15; // @[Plic.scala 168:22]
+  reg  pending_16; // @[Plic.scala 168:22]
+  reg  pending_17; // @[Plic.scala 168:22]
+  reg  pending_18; // @[Plic.scala 168:22]
+  reg  pending_19; // @[Plic.scala 168:22]
+  reg  pending_20; // @[Plic.scala 168:22]
+  reg  pending_21; // @[Plic.scala 168:22]
+  reg  pending_22; // @[Plic.scala 168:22]
+  reg  pending_23; // @[Plic.scala 168:22]
+  reg  pending_24; // @[Plic.scala 168:22]
+  reg  pending_25; // @[Plic.scala 168:22]
+  reg  pending_26; // @[Plic.scala 168:22]
+  reg  pending_27; // @[Plic.scala 168:22]
+  reg  pending_28; // @[Plic.scala 168:22]
+  reg  pending_29; // @[Plic.scala 168:22]
+  reg  pending_30; // @[Plic.scala 168:22]
+  reg  pending_31; // @[Plic.scala 168:22]
+  reg  pending_32; // @[Plic.scala 168:22]
+  reg  pending_33; // @[Plic.scala 168:22]
+  reg  pending_34; // @[Plic.scala 168:22]
+  reg  pending_35; // @[Plic.scala 168:22]
+  reg  pending_36; // @[Plic.scala 168:22]
+  reg  pending_37; // @[Plic.scala 168:22]
+  reg  pending_38; // @[Plic.scala 168:22]
+  reg  pending_39; // @[Plic.scala 168:22]
+  reg  pending_40; // @[Plic.scala 168:22]
+  reg  pending_41; // @[Plic.scala 168:22]
+  reg  pending_42; // @[Plic.scala 168:22]
+  reg  pending_43; // @[Plic.scala 168:22]
+  reg  pending_44; // @[Plic.scala 168:22]
+  reg  pending_45; // @[Plic.scala 168:22]
+  reg  pending_46; // @[Plic.scala 168:22]
+  reg  pending_47; // @[Plic.scala 168:22]
+  reg  pending_48; // @[Plic.scala 168:22]
+  reg  pending_49; // @[Plic.scala 168:22]
+  reg  pending_50; // @[Plic.scala 168:22]
+  reg  pending_51; // @[Plic.scala 168:22]
+  reg  pending_52; // @[Plic.scala 168:22]
+  reg  pending_53; // @[Plic.scala 168:22]
+  reg  pending_54; // @[Plic.scala 168:22]
+  reg  pending_55; // @[Plic.scala 168:22]
+  reg [6:0] enables_0_0; // @[Plic.scala 174:26]
+  reg [7:0] enables_0_1; // @[Plic.scala 175:50]
+  reg [7:0] enables_0_2; // @[Plic.scala 175:50]
+  reg [7:0] enables_0_3; // @[Plic.scala 175:50]
+  reg [7:0] enables_0_4; // @[Plic.scala 175:50]
+  reg [7:0] enables_0_5; // @[Plic.scala 175:50]
+  reg [7:0] enables_0_6; // @[Plic.scala 175:50]
+  reg  enables_0_7; // @[Plic.scala 176:51]
+  reg [6:0] enables_1_0; // @[Plic.scala 174:26]
+  reg [7:0] enables_1_1; // @[Plic.scala 175:50]
+  reg [7:0] enables_1_2; // @[Plic.scala 175:50]
+  reg [7:0] enables_1_3; // @[Plic.scala 175:50]
+  reg [7:0] enables_1_4; // @[Plic.scala 175:50]
+  reg [7:0] enables_1_5; // @[Plic.scala 175:50]
+  reg [7:0] enables_1_6; // @[Plic.scala 175:50]
+  reg  enables_1_7; // @[Plic.scala 176:51]
+  wire [55:0] enableVec_0 = {enables_0_7,enables_0_6,enables_0_5,enables_0_4,enables_0_3,enables_0_2,enables_0_1,
+    enables_0_0}; // @[Cat.scala 31:58]
+  wire [55:0] enableVec_1 = {enables_1_7,enables_1_6,enables_1_5,enables_1_4,enables_1_3,enables_1_2,enables_1_1,
+    enables_1_0}; // @[Cat.scala 31:58]
+  wire [56:0] enableVec0_0 = {enables_0_7,enables_0_6,enables_0_5,enables_0_4,enables_0_3,enables_0_2,enables_0_1,
+    enables_0_0,1'h0}; // @[Cat.scala 31:58]
+  wire [56:0] enableVec0_1 = {enables_1_7,enables_1_6,enables_1_5,enables_1_4,enables_1_3,enables_1_2,enables_1_1,
+    enables_1_0,1'h0}; // @[Cat.scala 31:58]
+  reg [5:0] maxDevs_0; // @[Plic.scala 181:22]
+  reg [5:0] maxDevs_1; // @[Plic.scala 181:22]
+  wire [6:0] pendingUInt_lo_lo_lo = {pending_6,pending_5,pending_4,pending_3,pending_2,pending_1,pending_0}; // @[Cat.scala 31:58]
+  wire [13:0] pendingUInt_lo_lo = {pending_13,pending_12,pending_11,pending_10,pending_9,pending_8,pending_7,
+    pendingUInt_lo_lo_lo}; // @[Cat.scala 31:58]
+  wire [6:0] pendingUInt_lo_hi_lo = {pending_20,pending_19,pending_18,pending_17,pending_16,pending_15,pending_14}; // @[Cat.scala 31:58]
+  wire [27:0] pendingUInt_lo = {pending_27,pending_26,pending_25,pending_24,pending_23,pending_22,pending_21,
+    pendingUInt_lo_hi_lo,pendingUInt_lo_lo}; // @[Cat.scala 31:58]
+  wire [6:0] pendingUInt_hi_lo_lo = {pending_34,pending_33,pending_32,pending_31,pending_30,pending_29,pending_28}; // @[Cat.scala 31:58]
+  wire [13:0] pendingUInt_hi_lo = {pending_41,pending_40,pending_39,pending_38,pending_37,pending_36,pending_35,
+    pendingUInt_hi_lo_lo}; // @[Cat.scala 31:58]
+  wire [6:0] pendingUInt_hi_hi_lo = {pending_48,pending_47,pending_46,pending_45,pending_44,pending_43,pending_42}; // @[Cat.scala 31:58]
+  wire [55:0] pendingUInt = {pending_55,pending_54,pending_53,pending_52,pending_51,pending_50,pending_49,
+    pendingUInt_hi_hi_lo,pendingUInt_hi_lo,pendingUInt_lo}; // @[Cat.scala 31:58]
+  reg [2:0] bundleOut_0_0_REG; // @[Plic.scala 188:41]
+  reg [2:0] bundleOut_1_0_REG; // @[Plic.scala 188:41]
+  wire [8:0] out_oindex = {out_back_io_deq_bits_index[19],out_back_io_deq_bits_index[11],out_back_io_deq_bits_index[10],
+    out_back_io_deq_bits_index[5],out_back_io_deq_bits_index[4],out_back_io_deq_bits_index[3],out_back_io_deq_bits_index
+    [2],out_back_io_deq_bits_index[1],out_back_io_deq_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [511:0] _out_backSel_T = 512'h1 << out_oindex; // @[OneHot.scala 57:35]
+  wire  out_backSel_321 = _out_backSel_T[321]; // @[RegisterRouter.scala 83:24]
+  wire [23:0] out_bindex = out_back_io_deq_bits_index & 24'hf7f3c0; // @[RegisterRouter.scala 83:24]
+  wire  _out_T_101 = out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_roready_118 = out_back_io_deq_valid & auto_in_d_ready & out_back_io_deq_bits_read & out_backSel_321 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire [7:0] _out_backMask_T_11 = out_back_io_deq_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_9 = out_back_io_deq_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_7 = out_back_io_deq_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_5 = out_back_io_deq_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_backMask = {_out_backMask_T_11,_out_backMask_T_9,_out_backMask_T_7,_out_backMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_romask_118 = |out_backMask; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_118 = out_roready_118 & out_romask_118; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_257 = _out_backSel_T[257]; // @[RegisterRouter.scala 83:24]
+  wire  out_roready_48 = out_back_io_deq_valid & auto_in_d_ready & out_back_io_deq_bits_read & out_backSel_257 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_48 = out_roready_48 & out_romask_118; // @[RegisterRouter.scala 83:24]
+  wire [1:0] _T = {out_f_roready_118,out_f_roready_48}; // @[Plic.scala 245:21]
+  wire [1:0] _T_3 = _T - 2'h1; // @[Plic.scala 245:46]
+  wire [1:0] _T_4 = _T & _T_3; // @[Plic.scala 245:28]
+  wire  _T_7 = ~reset; // @[Plic.scala 245:11]
+  wire [5:0] _claiming_T = out_f_roready_48 ? maxDevs_0 : 6'h0; // @[Plic.scala 246:49]
+  wire [5:0] _claiming_T_1 = out_f_roready_118 ? maxDevs_1 : 6'h0; // @[Plic.scala 246:49]
+  wire [5:0] claiming = _claiming_T | _claiming_T_1; // @[Plic.scala 246:96]
+  wire [63:0] _claimedDevs_T = 64'h1 << claiming; // @[OneHot.scala 64:12]
+  wire  claimedDevs_1 = _claimedDevs_T[1]; // @[Plic.scala 247:58]
+  wire  claimedDevs_2 = _claimedDevs_T[2]; // @[Plic.scala 247:58]
+  wire  claimedDevs_3 = _claimedDevs_T[3]; // @[Plic.scala 247:58]
+  wire  claimedDevs_4 = _claimedDevs_T[4]; // @[Plic.scala 247:58]
+  wire  claimedDevs_5 = _claimedDevs_T[5]; // @[Plic.scala 247:58]
+  wire  claimedDevs_6 = _claimedDevs_T[6]; // @[Plic.scala 247:58]
+  wire  claimedDevs_7 = _claimedDevs_T[7]; // @[Plic.scala 247:58]
+  wire  claimedDevs_8 = _claimedDevs_T[8]; // @[Plic.scala 247:58]
+  wire  claimedDevs_9 = _claimedDevs_T[9]; // @[Plic.scala 247:58]
+  wire  claimedDevs_10 = _claimedDevs_T[10]; // @[Plic.scala 247:58]
+  wire  claimedDevs_11 = _claimedDevs_T[11]; // @[Plic.scala 247:58]
+  wire  claimedDevs_12 = _claimedDevs_T[12]; // @[Plic.scala 247:58]
+  wire  claimedDevs_13 = _claimedDevs_T[13]; // @[Plic.scala 247:58]
+  wire  claimedDevs_14 = _claimedDevs_T[14]; // @[Plic.scala 247:58]
+  wire  claimedDevs_15 = _claimedDevs_T[15]; // @[Plic.scala 247:58]
+  wire  claimedDevs_16 = _claimedDevs_T[16]; // @[Plic.scala 247:58]
+  wire  claimedDevs_17 = _claimedDevs_T[17]; // @[Plic.scala 247:58]
+  wire  claimedDevs_18 = _claimedDevs_T[18]; // @[Plic.scala 247:58]
+  wire  claimedDevs_19 = _claimedDevs_T[19]; // @[Plic.scala 247:58]
+  wire  claimedDevs_20 = _claimedDevs_T[20]; // @[Plic.scala 247:58]
+  wire  claimedDevs_21 = _claimedDevs_T[21]; // @[Plic.scala 247:58]
+  wire  claimedDevs_22 = _claimedDevs_T[22]; // @[Plic.scala 247:58]
+  wire  claimedDevs_23 = _claimedDevs_T[23]; // @[Plic.scala 247:58]
+  wire  claimedDevs_24 = _claimedDevs_T[24]; // @[Plic.scala 247:58]
+  wire  claimedDevs_25 = _claimedDevs_T[25]; // @[Plic.scala 247:58]
+  wire  claimedDevs_26 = _claimedDevs_T[26]; // @[Plic.scala 247:58]
+  wire  claimedDevs_27 = _claimedDevs_T[27]; // @[Plic.scala 247:58]
+  wire  claimedDevs_28 = _claimedDevs_T[28]; // @[Plic.scala 247:58]
+  wire  claimedDevs_29 = _claimedDevs_T[29]; // @[Plic.scala 247:58]
+  wire  claimedDevs_30 = _claimedDevs_T[30]; // @[Plic.scala 247:58]
+  wire  claimedDevs_31 = _claimedDevs_T[31]; // @[Plic.scala 247:58]
+  wire  claimedDevs_32 = _claimedDevs_T[32]; // @[Plic.scala 247:58]
+  wire  claimedDevs_33 = _claimedDevs_T[33]; // @[Plic.scala 247:58]
+  wire  claimedDevs_34 = _claimedDevs_T[34]; // @[Plic.scala 247:58]
+  wire  claimedDevs_35 = _claimedDevs_T[35]; // @[Plic.scala 247:58]
+  wire  claimedDevs_36 = _claimedDevs_T[36]; // @[Plic.scala 247:58]
+  wire  claimedDevs_37 = _claimedDevs_T[37]; // @[Plic.scala 247:58]
+  wire  claimedDevs_38 = _claimedDevs_T[38]; // @[Plic.scala 247:58]
+  wire  claimedDevs_39 = _claimedDevs_T[39]; // @[Plic.scala 247:58]
+  wire  claimedDevs_40 = _claimedDevs_T[40]; // @[Plic.scala 247:58]
+  wire  claimedDevs_41 = _claimedDevs_T[41]; // @[Plic.scala 247:58]
+  wire  claimedDevs_42 = _claimedDevs_T[42]; // @[Plic.scala 247:58]
+  wire  claimedDevs_43 = _claimedDevs_T[43]; // @[Plic.scala 247:58]
+  wire  claimedDevs_44 = _claimedDevs_T[44]; // @[Plic.scala 247:58]
+  wire  claimedDevs_45 = _claimedDevs_T[45]; // @[Plic.scala 247:58]
+  wire  claimedDevs_46 = _claimedDevs_T[46]; // @[Plic.scala 247:58]
+  wire  claimedDevs_47 = _claimedDevs_T[47]; // @[Plic.scala 247:58]
+  wire  claimedDevs_48 = _claimedDevs_T[48]; // @[Plic.scala 247:58]
+  wire  claimedDevs_49 = _claimedDevs_T[49]; // @[Plic.scala 247:58]
+  wire  claimedDevs_50 = _claimedDevs_T[50]; // @[Plic.scala 247:58]
+  wire  claimedDevs_51 = _claimedDevs_T[51]; // @[Plic.scala 247:58]
+  wire  claimedDevs_52 = _claimedDevs_T[52]; // @[Plic.scala 247:58]
+  wire  claimedDevs_53 = _claimedDevs_T[53]; // @[Plic.scala 247:58]
+  wire  claimedDevs_54 = _claimedDevs_T[54]; // @[Plic.scala 247:58]
+  wire  claimedDevs_55 = _claimedDevs_T[55]; // @[Plic.scala 247:58]
+  wire  claimedDevs_56 = _claimedDevs_T[56]; // @[Plic.scala 247:58]
+  wire  out_woready_118 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_321 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_118 = &out_backMask; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_118 = out_woready_118 & out_womask_118; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_1313 = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  wire [5:0] completerDev = _out_T_1313[5:0]; // @[package.scala 154:13]
+  wire [56:0] _out_completer_1_T = enableVec0_1 >> completerDev; // @[Plic.scala 295:51]
+  wire  completer_1 = out_f_woready_118 & _out_completer_1_T[0]; // @[Plic.scala 295:35]
+  wire  out_woready_48 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_257 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_48 = out_woready_48 & out_womask_118; // @[RegisterRouter.scala 83:24]
+  wire [56:0] _out_completer_0_T = enableVec0_0 >> completerDev; // @[Plic.scala 295:51]
+  wire  completer_0 = out_f_woready_48 & _out_completer_0_T[0]; // @[Plic.scala 295:35]
+  wire [1:0] _T_65 = {completer_1,completer_0}; // @[Plic.scala 262:23]
+  wire [1:0] _T_68 = _T_65 - 2'h1; // @[Plic.scala 262:50]
+  wire [1:0] _T_69 = _T_65 & _T_68; // @[Plic.scala 262:30]
+  wire [63:0] _completedDevs_T_1 = 64'h1 << completerDev; // @[OneHot.scala 64:12]
+  wire [56:0] completedDevs = completer_0 | completer_1 ? _completedDevs_T_1[56:0] : 57'h0; // @[Plic.scala 264:28]
+  wire [9:0] out_prepend_8 = {pending_8,pending_7,pending_6,pending_5,pending_4,pending_3,pending_2,pending_1,pending_0,1'h0
+    }; // @[Cat.scala 31:58]
+  wire [18:0] out_prepend_17 = {pending_17,pending_16,pending_15,pending_14,pending_13,pending_12,pending_11,pending_10,
+    pending_9,out_prepend_8}; // @[Cat.scala 31:58]
+  wire  out_womask_24 = &out_backMask[24]; // @[RegisterRouter.scala 83:24]
+  wire [27:0] out_prepend_26 = {pending_26,pending_25,pending_24,pending_23,pending_22,pending_21,pending_20,pending_19,
+    pending_18,out_prepend_17}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_30 = {pending_30,pending_29,pending_28,pending_27,out_prepend_26}; // @[Cat.scala 31:58]
+  wire  out_womask_32 = &out_backMask[2:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_5 = _out_backSel_T[5]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_32 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_5 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_32 = out_woready_32 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_10 = _out_backSel_T[10]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_33 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_10 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_33 = out_woready_33 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_56 = _out_backSel_T[56]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_34 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_56 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_34 = out_woready_34 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_42 = _out_backSel_T[42]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_35 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_42 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_35 = out_woready_35 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_24 = _out_backSel_T[24]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_36 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_24 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_36 = out_woready_36 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_37 = _out_backSel_T[37]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_37 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_37 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_37 = out_woready_37 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_25 = _out_backSel_T[25]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_38 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_25 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_38 = out_woready_38 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_52 = _out_backSel_T[52]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_39 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_52 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_39 = out_woready_39 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_14 = _out_backSel_T[14]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_40 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_14 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_40 = out_woready_40 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_20 = _out_backSel_T[20]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_41 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_20 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_41 = out_woready_41 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_42 = &out_backMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_129 = _out_backSel_T[129]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_42 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_129 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_42 = out_woready_42 & out_womask_42; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_43 = &out_backMask[15:8]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_43 = out_woready_42 & out_womask_43; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_44 = &out_backMask[23:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_44 = out_woready_42 & out_womask_44; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_45 = out_woready_42 & out_womask_24; // @[RegisterRouter.scala 83:24]
+  wire [24:0] out_prepend_33 = {enables_0_7,enables_0_6,enables_0_5,enables_0_4}; // @[Cat.scala 31:58]
+  wire  out_backSel_46 = _out_backSel_T[46]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_46 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_46 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_46 = out_woready_46 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_29 = _out_backSel_T[29]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_47 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_29 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_47 = out_woready_47 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_610 = {{26'd0}, maxDevs_0}; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_1 = _out_backSel_T[1]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_49 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_1 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_49 = out_woready_49 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_6 = _out_backSel_T[6]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_50 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_6 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_50 = out_woready_50 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_28 = _out_backSel_T[28]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_51 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_28 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_51 = out_woready_51 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_38 = _out_backSel_T[38]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_52 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_38 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_52 = out_woready_52 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_21 = _out_backSel_T[21]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_53 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_21 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_53 = out_woready_53 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_33 = _out_backSel_T[33]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_54 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_33 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_54 = out_woready_54 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_9 = _out_backSel_T[9]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_55 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_9 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_55 = out_woready_55 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_53 = _out_backSel_T[53]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_56 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_53 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_56 = out_woready_56 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_160 = _out_backSel_T[160]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_57 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_160 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_58 = &out_backMask[7:1]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_58 = out_woready_57 & out_womask_58; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_59 = out_woready_57 & out_womask_43; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_60 = out_woready_57 & out_womask_44; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_61 = &out_backMask[31:24]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_61 = out_woready_57 & out_womask_61; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_37 = {enables_1_3,enables_1_2,enables_1_1,enables_1_0,1'h0}; // @[Cat.scala 31:58]
+  wire  out_backSel_13 = _out_backSel_T[13]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_62 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_13 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_62 = out_woready_62 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_41 = _out_backSel_T[41]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_63 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_41 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_63 = out_woready_63 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_2 = _out_backSel_T[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_64 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_2 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_64 = out_woready_64 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_32 = _out_backSel_T[32]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_65 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_32 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_65 = out_woready_65 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_34 = _out_backSel_T[34]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_66 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_34 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_66 = out_woready_66 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_45 = _out_backSel_T[45]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_67 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_45 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_67 = out_woready_67 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_17 = _out_backSel_T[17]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_68 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_17 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_68 = out_woready_68 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_320 = _out_backSel_T[320]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_69 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_320 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_69 = out_woready_69 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire [3:0] out_prepend_38 = {1'h0,threshold_1}; // @[Cat.scala 31:58]
+  wire [31:0] _out_T_848 = {{28'd0}, out_prepend_38}; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_256 = _out_backSel_T[256]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_71 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_256 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_71 = out_woready_71 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire [3:0] out_prepend_39 = {1'h0,threshold_0}; // @[Cat.scala 31:58]
+  wire [31:0] _out_T_868 = {{28'd0}, out_prepend_39}; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_128 = _out_backSel_T[128]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_73 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_128 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_74 = out_woready_73 & out_womask_58; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_75 = out_woready_73 & out_womask_43; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_76 = out_woready_73 & out_womask_44; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_77 = out_woready_73 & out_womask_61; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_43 = {enables_0_3,enables_0_2,enables_0_1,enables_0_0,1'h0}; // @[Cat.scala 31:58]
+  wire  out_backSel_22 = _out_backSel_T[22]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_78 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_22 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_78 = out_woready_78 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_44 = _out_backSel_T[44]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_79 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_44 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_79 = out_woready_79 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_27 = _out_backSel_T[27]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_80 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_27 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_80 = out_woready_80 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_12 = _out_backSel_T[12]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_81 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_12 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_81 = out_woready_81 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_54 = _out_backSel_T[54]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_82 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_54 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_82 = out_woready_82 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_49 = _out_backSel_T[49]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_83 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_49 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_83 = out_woready_83 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_7 = _out_backSel_T[7]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_84 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_7 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_84 = out_woready_84 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_39 = _out_backSel_T[39]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_85 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_39 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_85 = out_woready_85 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_3 = _out_backSel_T[3]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_86 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_3 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_86 = out_woready_86 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_35 = _out_backSel_T[35]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_87 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_35 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_87 = out_woready_87 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_48 = _out_backSel_T[48]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_88 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_48 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_88 = out_woready_88 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire [9:0] out_prepend_52 = {pending_40,pending_39,pending_38,pending_37,pending_36,pending_35,pending_34,pending_33,
+    pending_32,pending_31}; // @[Cat.scala 31:58]
+  wire [18:0] out_prepend_61 = {pending_49,pending_48,pending_47,pending_46,pending_45,pending_44,pending_43,pending_42,
+    pending_41,out_prepend_52}; // @[Cat.scala 31:58]
+  wire [24:0] out_prepend_67 = {pending_55,pending_54,pending_53,pending_52,pending_51,pending_50,out_prepend_61}; // @[Cat.scala 31:58]
+  wire  out_backSel_18 = _out_backSel_T[18]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_114 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_18 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_114 = out_woready_114 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_50 = _out_backSel_T[50]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_115 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_50 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_115 = out_woready_115 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_16 = _out_backSel_T[16]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_116 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_16 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_116 = out_woready_116 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_31 = _out_backSel_T[31]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_117 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_31 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_117 = out_woready_117 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_1327 = {{26'd0}, maxDevs_1}; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_11 = _out_backSel_T[11]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_119 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_11 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_119 = out_woready_119 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_43 = _out_backSel_T[43]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_120 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_43 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_120 = out_woready_120 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_40 = _out_backSel_T[40]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_121 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_40 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_121 = out_woready_121 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_26 = _out_backSel_T[26]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_122 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_26 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_122 = out_woready_122 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_55 = _out_backSel_T[55]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_123 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_55 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_123 = out_woready_123 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_23 = _out_backSel_T[23]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_124 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_23 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_124 = out_woready_124 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_8 = _out_backSel_T[8]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_125 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_8 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_125 = out_woready_125 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_161 = _out_backSel_T[161]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_126 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_161 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_126 = out_woready_126 & out_womask_42; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_127 = out_woready_126 & out_womask_43; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_128 = out_woready_126 & out_womask_44; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_129 = out_woready_126 & out_womask_24; // @[RegisterRouter.scala 83:24]
+  wire [24:0] out_prepend_70 = {enables_1_7,enables_1_6,enables_1_5,enables_1_4}; // @[Cat.scala 31:58]
+  wire  out_backSel_36 = _out_backSel_T[36]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_130 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_36 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_130 = out_woready_130 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_30 = _out_backSel_T[30]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_131 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_30 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_131 = out_woready_131 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_51 = _out_backSel_T[51]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_132 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_51 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_132 = out_woready_132 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_19 = _out_backSel_T[19]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_133 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_19 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_133 = out_woready_133 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_4 = _out_backSel_T[4]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_134 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_4 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_134 = out_woready_134 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_47 = _out_backSel_T[47]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_135 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_47 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_135 = out_woready_135 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_15 = _out_backSel_T[15]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_136 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_15 &
+    out_bindex == 24'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_136 = out_woready_136 & out_womask_32; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_2178 = 9'h141 == out_oindex ? _out_T_101 : 1'h1; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2179 = 9'h140 == out_oindex ? _out_T_101 : _GEN_2178; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2180 = 9'h101 == out_oindex ? _out_T_101 : _GEN_2179; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2181 = 9'h100 == out_oindex ? _out_T_101 : _GEN_2180; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2182 = 9'ha1 == out_oindex ? _out_T_101 : _GEN_2181; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2183 = 9'ha0 == out_oindex ? _out_T_101 : _GEN_2182; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2184 = 9'h81 == out_oindex ? _out_T_101 : _GEN_2183; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2185 = 9'h80 == out_oindex ? _out_T_101 : _GEN_2184; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2186 = 9'h41 == out_oindex ? _out_T_101 : _GEN_2185; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2187 = 9'h40 == out_oindex ? _out_T_101 : _GEN_2186; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2188 = 9'h38 == out_oindex ? _out_T_101 : _GEN_2187; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2189 = 9'h37 == out_oindex ? _out_T_101 : _GEN_2188; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2190 = 9'h36 == out_oindex ? _out_T_101 : _GEN_2189; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2191 = 9'h35 == out_oindex ? _out_T_101 : _GEN_2190; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2192 = 9'h34 == out_oindex ? _out_T_101 : _GEN_2191; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2193 = 9'h33 == out_oindex ? _out_T_101 : _GEN_2192; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2194 = 9'h32 == out_oindex ? _out_T_101 : _GEN_2193; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2195 = 9'h31 == out_oindex ? _out_T_101 : _GEN_2194; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2196 = 9'h30 == out_oindex ? _out_T_101 : _GEN_2195; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2197 = 9'h2f == out_oindex ? _out_T_101 : _GEN_2196; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2198 = 9'h2e == out_oindex ? _out_T_101 : _GEN_2197; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2199 = 9'h2d == out_oindex ? _out_T_101 : _GEN_2198; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2200 = 9'h2c == out_oindex ? _out_T_101 : _GEN_2199; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2201 = 9'h2b == out_oindex ? _out_T_101 : _GEN_2200; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2202 = 9'h2a == out_oindex ? _out_T_101 : _GEN_2201; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2203 = 9'h29 == out_oindex ? _out_T_101 : _GEN_2202; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2204 = 9'h28 == out_oindex ? _out_T_101 : _GEN_2203; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2205 = 9'h27 == out_oindex ? _out_T_101 : _GEN_2204; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2206 = 9'h26 == out_oindex ? _out_T_101 : _GEN_2205; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2207 = 9'h25 == out_oindex ? _out_T_101 : _GEN_2206; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2208 = 9'h24 == out_oindex ? _out_T_101 : _GEN_2207; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2209 = 9'h23 == out_oindex ? _out_T_101 : _GEN_2208; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2210 = 9'h22 == out_oindex ? _out_T_101 : _GEN_2209; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2211 = 9'h21 == out_oindex ? _out_T_101 : _GEN_2210; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2212 = 9'h20 == out_oindex ? _out_T_101 : _GEN_2211; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2213 = 9'h1f == out_oindex ? _out_T_101 : _GEN_2212; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2214 = 9'h1e == out_oindex ? _out_T_101 : _GEN_2213; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2215 = 9'h1d == out_oindex ? _out_T_101 : _GEN_2214; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2216 = 9'h1c == out_oindex ? _out_T_101 : _GEN_2215; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2217 = 9'h1b == out_oindex ? _out_T_101 : _GEN_2216; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2218 = 9'h1a == out_oindex ? _out_T_101 : _GEN_2217; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2219 = 9'h19 == out_oindex ? _out_T_101 : _GEN_2218; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2220 = 9'h18 == out_oindex ? _out_T_101 : _GEN_2219; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2221 = 9'h17 == out_oindex ? _out_T_101 : _GEN_2220; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2222 = 9'h16 == out_oindex ? _out_T_101 : _GEN_2221; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2223 = 9'h15 == out_oindex ? _out_T_101 : _GEN_2222; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2224 = 9'h14 == out_oindex ? _out_T_101 : _GEN_2223; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2225 = 9'h13 == out_oindex ? _out_T_101 : _GEN_2224; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2226 = 9'h12 == out_oindex ? _out_T_101 : _GEN_2225; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2227 = 9'h11 == out_oindex ? _out_T_101 : _GEN_2226; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2228 = 9'h10 == out_oindex ? _out_T_101 : _GEN_2227; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2229 = 9'hf == out_oindex ? _out_T_101 : _GEN_2228; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2230 = 9'he == out_oindex ? _out_T_101 : _GEN_2229; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2231 = 9'hd == out_oindex ? _out_T_101 : _GEN_2230; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2232 = 9'hc == out_oindex ? _out_T_101 : _GEN_2231; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2233 = 9'hb == out_oindex ? _out_T_101 : _GEN_2232; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2234 = 9'ha == out_oindex ? _out_T_101 : _GEN_2233; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2235 = 9'h9 == out_oindex ? _out_T_101 : _GEN_2234; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2236 = 9'h8 == out_oindex ? _out_T_101 : _GEN_2235; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2237 = 9'h7 == out_oindex ? _out_T_101 : _GEN_2236; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2238 = 9'h6 == out_oindex ? _out_T_101 : _GEN_2237; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2239 = 9'h5 == out_oindex ? _out_T_101 : _GEN_2238; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2240 = 9'h4 == out_oindex ? _out_T_101 : _GEN_2239; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2241 = 9'h3 == out_oindex ? _out_T_101 : _GEN_2240; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_2242 = 9'h2 == out_oindex ? _out_T_101 : _GEN_2241; // @[MuxLiteral.scala 53:{26,32}]
+  wire  out_out_bits_data_out = 9'h1 == out_oindex ? _out_T_101 : _GEN_2242; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2244 = 9'h141 == out_oindex ? _out_T_1327 : 32'h0; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2245 = 9'h140 == out_oindex ? _out_T_848 : _GEN_2244; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2246 = 9'h101 == out_oindex ? _out_T_610 : _GEN_2245; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2247 = 9'h100 == out_oindex ? _out_T_868 : _GEN_2246; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2248 = 9'ha1 == out_oindex ? {{7'd0}, out_prepend_70} : _GEN_2247; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2249 = 9'ha0 == out_oindex ? out_prepend_37 : _GEN_2248; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2250 = 9'h81 == out_oindex ? {{7'd0}, out_prepend_33} : _GEN_2249; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2251 = 9'h80 == out_oindex ? out_prepend_43 : _GEN_2250; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2252 = 9'h41 == out_oindex ? {{7'd0}, out_prepend_67} : _GEN_2251; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2253 = 9'h40 == out_oindex ? out_prepend_30 : _GEN_2252; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2254 = 9'h38 == out_oindex ? {{29'd0}, priority_55} : _GEN_2253; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2255 = 9'h37 == out_oindex ? {{29'd0}, priority_54} : _GEN_2254; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2256 = 9'h36 == out_oindex ? {{29'd0}, priority_53} : _GEN_2255; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2257 = 9'h35 == out_oindex ? {{29'd0}, priority_52} : _GEN_2256; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2258 = 9'h34 == out_oindex ? {{29'd0}, priority_51} : _GEN_2257; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2259 = 9'h33 == out_oindex ? {{29'd0}, priority_50} : _GEN_2258; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2260 = 9'h32 == out_oindex ? {{29'd0}, priority_49} : _GEN_2259; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2261 = 9'h31 == out_oindex ? {{29'd0}, priority_48} : _GEN_2260; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2262 = 9'h30 == out_oindex ? {{29'd0}, priority_47} : _GEN_2261; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2263 = 9'h2f == out_oindex ? {{29'd0}, priority_46} : _GEN_2262; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2264 = 9'h2e == out_oindex ? {{29'd0}, priority_45} : _GEN_2263; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2265 = 9'h2d == out_oindex ? {{29'd0}, priority_44} : _GEN_2264; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2266 = 9'h2c == out_oindex ? {{29'd0}, priority_43} : _GEN_2265; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2267 = 9'h2b == out_oindex ? {{29'd0}, priority_42} : _GEN_2266; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2268 = 9'h2a == out_oindex ? {{29'd0}, priority_41} : _GEN_2267; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2269 = 9'h29 == out_oindex ? {{29'd0}, priority_40} : _GEN_2268; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2270 = 9'h28 == out_oindex ? {{29'd0}, priority_39} : _GEN_2269; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2271 = 9'h27 == out_oindex ? {{29'd0}, priority_38} : _GEN_2270; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2272 = 9'h26 == out_oindex ? {{29'd0}, priority_37} : _GEN_2271; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2273 = 9'h25 == out_oindex ? {{29'd0}, priority_36} : _GEN_2272; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2274 = 9'h24 == out_oindex ? {{29'd0}, priority_35} : _GEN_2273; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2275 = 9'h23 == out_oindex ? {{29'd0}, priority_34} : _GEN_2274; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2276 = 9'h22 == out_oindex ? {{29'd0}, priority_33} : _GEN_2275; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2277 = 9'h21 == out_oindex ? {{29'd0}, priority_32} : _GEN_2276; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2278 = 9'h20 == out_oindex ? {{29'd0}, priority_31} : _GEN_2277; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2279 = 9'h1f == out_oindex ? {{29'd0}, priority_30} : _GEN_2278; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2280 = 9'h1e == out_oindex ? {{29'd0}, priority_29} : _GEN_2279; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2281 = 9'h1d == out_oindex ? {{29'd0}, priority_28} : _GEN_2280; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2282 = 9'h1c == out_oindex ? {{29'd0}, priority_27} : _GEN_2281; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2283 = 9'h1b == out_oindex ? {{29'd0}, priority_26} : _GEN_2282; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2284 = 9'h1a == out_oindex ? {{29'd0}, priority_25} : _GEN_2283; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2285 = 9'h19 == out_oindex ? {{29'd0}, priority_24} : _GEN_2284; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2286 = 9'h18 == out_oindex ? {{29'd0}, priority_23} : _GEN_2285; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2287 = 9'h17 == out_oindex ? {{29'd0}, priority_22} : _GEN_2286; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2288 = 9'h16 == out_oindex ? {{29'd0}, priority_21} : _GEN_2287; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2289 = 9'h15 == out_oindex ? {{29'd0}, priority_20} : _GEN_2288; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2290 = 9'h14 == out_oindex ? {{29'd0}, priority_19} : _GEN_2289; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2291 = 9'h13 == out_oindex ? {{29'd0}, priority_18} : _GEN_2290; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2292 = 9'h12 == out_oindex ? {{29'd0}, priority_17} : _GEN_2291; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2293 = 9'h11 == out_oindex ? {{29'd0}, priority_16} : _GEN_2292; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2294 = 9'h10 == out_oindex ? {{29'd0}, priority_15} : _GEN_2293; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2295 = 9'hf == out_oindex ? {{29'd0}, priority_14} : _GEN_2294; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2296 = 9'he == out_oindex ? {{29'd0}, priority_13} : _GEN_2295; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2297 = 9'hd == out_oindex ? {{29'd0}, priority_12} : _GEN_2296; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2298 = 9'hc == out_oindex ? {{29'd0}, priority_11} : _GEN_2297; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2299 = 9'hb == out_oindex ? {{29'd0}, priority_10} : _GEN_2298; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2300 = 9'ha == out_oindex ? {{29'd0}, priority_9} : _GEN_2299; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2301 = 9'h9 == out_oindex ? {{29'd0}, priority_8} : _GEN_2300; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2302 = 9'h8 == out_oindex ? {{29'd0}, priority_7} : _GEN_2301; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2303 = 9'h7 == out_oindex ? {{29'd0}, priority_6} : _GEN_2302; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2304 = 9'h6 == out_oindex ? {{29'd0}, priority_5} : _GEN_2303; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2305 = 9'h5 == out_oindex ? {{29'd0}, priority_4} : _GEN_2304; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2306 = 9'h4 == out_oindex ? {{29'd0}, priority_3} : _GEN_2305; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2307 = 9'h3 == out_oindex ? {{29'd0}, priority_2} : _GEN_2306; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_2308 = 9'h2 == out_oindex ? {{29'd0}, priority_1} : _GEN_2307; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] out_out_bits_data_out_1 = 9'h1 == out_oindex ? {{29'd0}, priority_0} : _GEN_2308; // @[MuxLiteral.scala 53:{26,32}]
+  wire  out_bits_read = out_back_io_deq_bits_read; // @[RegisterRouter.scala 83:{24,24}]
+  TLMonitor_46 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  LevelGateway gateways_gateway ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_clock),
+    .reset(gateways_gateway_reset),
+    .io_interrupt(gateways_gateway_io_interrupt),
+    .io_plic_valid(gateways_gateway_io_plic_valid),
+    .io_plic_ready(gateways_gateway_io_plic_ready),
+    .io_plic_complete(gateways_gateway_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_1 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_1_clock),
+    .reset(gateways_gateway_1_reset),
+    .io_interrupt(gateways_gateway_1_io_interrupt),
+    .io_plic_valid(gateways_gateway_1_io_plic_valid),
+    .io_plic_ready(gateways_gateway_1_io_plic_ready),
+    .io_plic_complete(gateways_gateway_1_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_2 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_2_clock),
+    .reset(gateways_gateway_2_reset),
+    .io_interrupt(gateways_gateway_2_io_interrupt),
+    .io_plic_valid(gateways_gateway_2_io_plic_valid),
+    .io_plic_ready(gateways_gateway_2_io_plic_ready),
+    .io_plic_complete(gateways_gateway_2_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_3 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_3_clock),
+    .reset(gateways_gateway_3_reset),
+    .io_interrupt(gateways_gateway_3_io_interrupt),
+    .io_plic_valid(gateways_gateway_3_io_plic_valid),
+    .io_plic_ready(gateways_gateway_3_io_plic_ready),
+    .io_plic_complete(gateways_gateway_3_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_4 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_4_clock),
+    .reset(gateways_gateway_4_reset),
+    .io_interrupt(gateways_gateway_4_io_interrupt),
+    .io_plic_valid(gateways_gateway_4_io_plic_valid),
+    .io_plic_ready(gateways_gateway_4_io_plic_ready),
+    .io_plic_complete(gateways_gateway_4_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_5 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_5_clock),
+    .reset(gateways_gateway_5_reset),
+    .io_interrupt(gateways_gateway_5_io_interrupt),
+    .io_plic_valid(gateways_gateway_5_io_plic_valid),
+    .io_plic_ready(gateways_gateway_5_io_plic_ready),
+    .io_plic_complete(gateways_gateway_5_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_6 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_6_clock),
+    .reset(gateways_gateway_6_reset),
+    .io_interrupt(gateways_gateway_6_io_interrupt),
+    .io_plic_valid(gateways_gateway_6_io_plic_valid),
+    .io_plic_ready(gateways_gateway_6_io_plic_ready),
+    .io_plic_complete(gateways_gateway_6_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_7 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_7_clock),
+    .reset(gateways_gateway_7_reset),
+    .io_interrupt(gateways_gateway_7_io_interrupt),
+    .io_plic_valid(gateways_gateway_7_io_plic_valid),
+    .io_plic_ready(gateways_gateway_7_io_plic_ready),
+    .io_plic_complete(gateways_gateway_7_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_8 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_8_clock),
+    .reset(gateways_gateway_8_reset),
+    .io_interrupt(gateways_gateway_8_io_interrupt),
+    .io_plic_valid(gateways_gateway_8_io_plic_valid),
+    .io_plic_ready(gateways_gateway_8_io_plic_ready),
+    .io_plic_complete(gateways_gateway_8_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_9 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_9_clock),
+    .reset(gateways_gateway_9_reset),
+    .io_interrupt(gateways_gateway_9_io_interrupt),
+    .io_plic_valid(gateways_gateway_9_io_plic_valid),
+    .io_plic_ready(gateways_gateway_9_io_plic_ready),
+    .io_plic_complete(gateways_gateway_9_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_10 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_10_clock),
+    .reset(gateways_gateway_10_reset),
+    .io_interrupt(gateways_gateway_10_io_interrupt),
+    .io_plic_valid(gateways_gateway_10_io_plic_valid),
+    .io_plic_ready(gateways_gateway_10_io_plic_ready),
+    .io_plic_complete(gateways_gateway_10_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_11 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_11_clock),
+    .reset(gateways_gateway_11_reset),
+    .io_interrupt(gateways_gateway_11_io_interrupt),
+    .io_plic_valid(gateways_gateway_11_io_plic_valid),
+    .io_plic_ready(gateways_gateway_11_io_plic_ready),
+    .io_plic_complete(gateways_gateway_11_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_12 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_12_clock),
+    .reset(gateways_gateway_12_reset),
+    .io_interrupt(gateways_gateway_12_io_interrupt),
+    .io_plic_valid(gateways_gateway_12_io_plic_valid),
+    .io_plic_ready(gateways_gateway_12_io_plic_ready),
+    .io_plic_complete(gateways_gateway_12_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_13 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_13_clock),
+    .reset(gateways_gateway_13_reset),
+    .io_interrupt(gateways_gateway_13_io_interrupt),
+    .io_plic_valid(gateways_gateway_13_io_plic_valid),
+    .io_plic_ready(gateways_gateway_13_io_plic_ready),
+    .io_plic_complete(gateways_gateway_13_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_14 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_14_clock),
+    .reset(gateways_gateway_14_reset),
+    .io_interrupt(gateways_gateway_14_io_interrupt),
+    .io_plic_valid(gateways_gateway_14_io_plic_valid),
+    .io_plic_ready(gateways_gateway_14_io_plic_ready),
+    .io_plic_complete(gateways_gateway_14_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_15 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_15_clock),
+    .reset(gateways_gateway_15_reset),
+    .io_interrupt(gateways_gateway_15_io_interrupt),
+    .io_plic_valid(gateways_gateway_15_io_plic_valid),
+    .io_plic_ready(gateways_gateway_15_io_plic_ready),
+    .io_plic_complete(gateways_gateway_15_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_16 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_16_clock),
+    .reset(gateways_gateway_16_reset),
+    .io_interrupt(gateways_gateway_16_io_interrupt),
+    .io_plic_valid(gateways_gateway_16_io_plic_valid),
+    .io_plic_ready(gateways_gateway_16_io_plic_ready),
+    .io_plic_complete(gateways_gateway_16_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_17 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_17_clock),
+    .reset(gateways_gateway_17_reset),
+    .io_interrupt(gateways_gateway_17_io_interrupt),
+    .io_plic_valid(gateways_gateway_17_io_plic_valid),
+    .io_plic_ready(gateways_gateway_17_io_plic_ready),
+    .io_plic_complete(gateways_gateway_17_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_18 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_18_clock),
+    .reset(gateways_gateway_18_reset),
+    .io_interrupt(gateways_gateway_18_io_interrupt),
+    .io_plic_valid(gateways_gateway_18_io_plic_valid),
+    .io_plic_ready(gateways_gateway_18_io_plic_ready),
+    .io_plic_complete(gateways_gateway_18_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_19 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_19_clock),
+    .reset(gateways_gateway_19_reset),
+    .io_interrupt(gateways_gateway_19_io_interrupt),
+    .io_plic_valid(gateways_gateway_19_io_plic_valid),
+    .io_plic_ready(gateways_gateway_19_io_plic_ready),
+    .io_plic_complete(gateways_gateway_19_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_20 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_20_clock),
+    .reset(gateways_gateway_20_reset),
+    .io_interrupt(gateways_gateway_20_io_interrupt),
+    .io_plic_valid(gateways_gateway_20_io_plic_valid),
+    .io_plic_ready(gateways_gateway_20_io_plic_ready),
+    .io_plic_complete(gateways_gateway_20_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_21 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_21_clock),
+    .reset(gateways_gateway_21_reset),
+    .io_interrupt(gateways_gateway_21_io_interrupt),
+    .io_plic_valid(gateways_gateway_21_io_plic_valid),
+    .io_plic_ready(gateways_gateway_21_io_plic_ready),
+    .io_plic_complete(gateways_gateway_21_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_22 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_22_clock),
+    .reset(gateways_gateway_22_reset),
+    .io_interrupt(gateways_gateway_22_io_interrupt),
+    .io_plic_valid(gateways_gateway_22_io_plic_valid),
+    .io_plic_ready(gateways_gateway_22_io_plic_ready),
+    .io_plic_complete(gateways_gateway_22_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_23 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_23_clock),
+    .reset(gateways_gateway_23_reset),
+    .io_interrupt(gateways_gateway_23_io_interrupt),
+    .io_plic_valid(gateways_gateway_23_io_plic_valid),
+    .io_plic_ready(gateways_gateway_23_io_plic_ready),
+    .io_plic_complete(gateways_gateway_23_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_24 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_24_clock),
+    .reset(gateways_gateway_24_reset),
+    .io_interrupt(gateways_gateway_24_io_interrupt),
+    .io_plic_valid(gateways_gateway_24_io_plic_valid),
+    .io_plic_ready(gateways_gateway_24_io_plic_ready),
+    .io_plic_complete(gateways_gateway_24_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_25 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_25_clock),
+    .reset(gateways_gateway_25_reset),
+    .io_interrupt(gateways_gateway_25_io_interrupt),
+    .io_plic_valid(gateways_gateway_25_io_plic_valid),
+    .io_plic_ready(gateways_gateway_25_io_plic_ready),
+    .io_plic_complete(gateways_gateway_25_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_26 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_26_clock),
+    .reset(gateways_gateway_26_reset),
+    .io_interrupt(gateways_gateway_26_io_interrupt),
+    .io_plic_valid(gateways_gateway_26_io_plic_valid),
+    .io_plic_ready(gateways_gateway_26_io_plic_ready),
+    .io_plic_complete(gateways_gateway_26_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_27 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_27_clock),
+    .reset(gateways_gateway_27_reset),
+    .io_interrupt(gateways_gateway_27_io_interrupt),
+    .io_plic_valid(gateways_gateway_27_io_plic_valid),
+    .io_plic_ready(gateways_gateway_27_io_plic_ready),
+    .io_plic_complete(gateways_gateway_27_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_28 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_28_clock),
+    .reset(gateways_gateway_28_reset),
+    .io_interrupt(gateways_gateway_28_io_interrupt),
+    .io_plic_valid(gateways_gateway_28_io_plic_valid),
+    .io_plic_ready(gateways_gateway_28_io_plic_ready),
+    .io_plic_complete(gateways_gateway_28_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_29 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_29_clock),
+    .reset(gateways_gateway_29_reset),
+    .io_interrupt(gateways_gateway_29_io_interrupt),
+    .io_plic_valid(gateways_gateway_29_io_plic_valid),
+    .io_plic_ready(gateways_gateway_29_io_plic_ready),
+    .io_plic_complete(gateways_gateway_29_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_30 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_30_clock),
+    .reset(gateways_gateway_30_reset),
+    .io_interrupt(gateways_gateway_30_io_interrupt),
+    .io_plic_valid(gateways_gateway_30_io_plic_valid),
+    .io_plic_ready(gateways_gateway_30_io_plic_ready),
+    .io_plic_complete(gateways_gateway_30_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_31 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_31_clock),
+    .reset(gateways_gateway_31_reset),
+    .io_interrupt(gateways_gateway_31_io_interrupt),
+    .io_plic_valid(gateways_gateway_31_io_plic_valid),
+    .io_plic_ready(gateways_gateway_31_io_plic_ready),
+    .io_plic_complete(gateways_gateway_31_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_32 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_32_clock),
+    .reset(gateways_gateway_32_reset),
+    .io_interrupt(gateways_gateway_32_io_interrupt),
+    .io_plic_valid(gateways_gateway_32_io_plic_valid),
+    .io_plic_ready(gateways_gateway_32_io_plic_ready),
+    .io_plic_complete(gateways_gateway_32_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_33 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_33_clock),
+    .reset(gateways_gateway_33_reset),
+    .io_interrupt(gateways_gateway_33_io_interrupt),
+    .io_plic_valid(gateways_gateway_33_io_plic_valid),
+    .io_plic_ready(gateways_gateway_33_io_plic_ready),
+    .io_plic_complete(gateways_gateway_33_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_34 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_34_clock),
+    .reset(gateways_gateway_34_reset),
+    .io_interrupt(gateways_gateway_34_io_interrupt),
+    .io_plic_valid(gateways_gateway_34_io_plic_valid),
+    .io_plic_ready(gateways_gateway_34_io_plic_ready),
+    .io_plic_complete(gateways_gateway_34_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_35 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_35_clock),
+    .reset(gateways_gateway_35_reset),
+    .io_interrupt(gateways_gateway_35_io_interrupt),
+    .io_plic_valid(gateways_gateway_35_io_plic_valid),
+    .io_plic_ready(gateways_gateway_35_io_plic_ready),
+    .io_plic_complete(gateways_gateway_35_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_36 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_36_clock),
+    .reset(gateways_gateway_36_reset),
+    .io_interrupt(gateways_gateway_36_io_interrupt),
+    .io_plic_valid(gateways_gateway_36_io_plic_valid),
+    .io_plic_ready(gateways_gateway_36_io_plic_ready),
+    .io_plic_complete(gateways_gateway_36_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_37 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_37_clock),
+    .reset(gateways_gateway_37_reset),
+    .io_interrupt(gateways_gateway_37_io_interrupt),
+    .io_plic_valid(gateways_gateway_37_io_plic_valid),
+    .io_plic_ready(gateways_gateway_37_io_plic_ready),
+    .io_plic_complete(gateways_gateway_37_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_38 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_38_clock),
+    .reset(gateways_gateway_38_reset),
+    .io_interrupt(gateways_gateway_38_io_interrupt),
+    .io_plic_valid(gateways_gateway_38_io_plic_valid),
+    .io_plic_ready(gateways_gateway_38_io_plic_ready),
+    .io_plic_complete(gateways_gateway_38_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_39 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_39_clock),
+    .reset(gateways_gateway_39_reset),
+    .io_interrupt(gateways_gateway_39_io_interrupt),
+    .io_plic_valid(gateways_gateway_39_io_plic_valid),
+    .io_plic_ready(gateways_gateway_39_io_plic_ready),
+    .io_plic_complete(gateways_gateway_39_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_40 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_40_clock),
+    .reset(gateways_gateway_40_reset),
+    .io_interrupt(gateways_gateway_40_io_interrupt),
+    .io_plic_valid(gateways_gateway_40_io_plic_valid),
+    .io_plic_ready(gateways_gateway_40_io_plic_ready),
+    .io_plic_complete(gateways_gateway_40_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_41 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_41_clock),
+    .reset(gateways_gateway_41_reset),
+    .io_interrupt(gateways_gateway_41_io_interrupt),
+    .io_plic_valid(gateways_gateway_41_io_plic_valid),
+    .io_plic_ready(gateways_gateway_41_io_plic_ready),
+    .io_plic_complete(gateways_gateway_41_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_42 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_42_clock),
+    .reset(gateways_gateway_42_reset),
+    .io_interrupt(gateways_gateway_42_io_interrupt),
+    .io_plic_valid(gateways_gateway_42_io_plic_valid),
+    .io_plic_ready(gateways_gateway_42_io_plic_ready),
+    .io_plic_complete(gateways_gateway_42_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_43 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_43_clock),
+    .reset(gateways_gateway_43_reset),
+    .io_interrupt(gateways_gateway_43_io_interrupt),
+    .io_plic_valid(gateways_gateway_43_io_plic_valid),
+    .io_plic_ready(gateways_gateway_43_io_plic_ready),
+    .io_plic_complete(gateways_gateway_43_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_44 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_44_clock),
+    .reset(gateways_gateway_44_reset),
+    .io_interrupt(gateways_gateway_44_io_interrupt),
+    .io_plic_valid(gateways_gateway_44_io_plic_valid),
+    .io_plic_ready(gateways_gateway_44_io_plic_ready),
+    .io_plic_complete(gateways_gateway_44_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_45 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_45_clock),
+    .reset(gateways_gateway_45_reset),
+    .io_interrupt(gateways_gateway_45_io_interrupt),
+    .io_plic_valid(gateways_gateway_45_io_plic_valid),
+    .io_plic_ready(gateways_gateway_45_io_plic_ready),
+    .io_plic_complete(gateways_gateway_45_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_46 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_46_clock),
+    .reset(gateways_gateway_46_reset),
+    .io_interrupt(gateways_gateway_46_io_interrupt),
+    .io_plic_valid(gateways_gateway_46_io_plic_valid),
+    .io_plic_ready(gateways_gateway_46_io_plic_ready),
+    .io_plic_complete(gateways_gateway_46_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_47 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_47_clock),
+    .reset(gateways_gateway_47_reset),
+    .io_interrupt(gateways_gateway_47_io_interrupt),
+    .io_plic_valid(gateways_gateway_47_io_plic_valid),
+    .io_plic_ready(gateways_gateway_47_io_plic_ready),
+    .io_plic_complete(gateways_gateway_47_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_48 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_48_clock),
+    .reset(gateways_gateway_48_reset),
+    .io_interrupt(gateways_gateway_48_io_interrupt),
+    .io_plic_valid(gateways_gateway_48_io_plic_valid),
+    .io_plic_ready(gateways_gateway_48_io_plic_ready),
+    .io_plic_complete(gateways_gateway_48_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_49 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_49_clock),
+    .reset(gateways_gateway_49_reset),
+    .io_interrupt(gateways_gateway_49_io_interrupt),
+    .io_plic_valid(gateways_gateway_49_io_plic_valid),
+    .io_plic_ready(gateways_gateway_49_io_plic_ready),
+    .io_plic_complete(gateways_gateway_49_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_50 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_50_clock),
+    .reset(gateways_gateway_50_reset),
+    .io_interrupt(gateways_gateway_50_io_interrupt),
+    .io_plic_valid(gateways_gateway_50_io_plic_valid),
+    .io_plic_ready(gateways_gateway_50_io_plic_ready),
+    .io_plic_complete(gateways_gateway_50_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_51 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_51_clock),
+    .reset(gateways_gateway_51_reset),
+    .io_interrupt(gateways_gateway_51_io_interrupt),
+    .io_plic_valid(gateways_gateway_51_io_plic_valid),
+    .io_plic_ready(gateways_gateway_51_io_plic_ready),
+    .io_plic_complete(gateways_gateway_51_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_52 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_52_clock),
+    .reset(gateways_gateway_52_reset),
+    .io_interrupt(gateways_gateway_52_io_interrupt),
+    .io_plic_valid(gateways_gateway_52_io_plic_valid),
+    .io_plic_ready(gateways_gateway_52_io_plic_ready),
+    .io_plic_complete(gateways_gateway_52_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_53 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_53_clock),
+    .reset(gateways_gateway_53_reset),
+    .io_interrupt(gateways_gateway_53_io_interrupt),
+    .io_plic_valid(gateways_gateway_53_io_plic_valid),
+    .io_plic_ready(gateways_gateway_53_io_plic_ready),
+    .io_plic_complete(gateways_gateway_53_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_54 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_54_clock),
+    .reset(gateways_gateway_54_reset),
+    .io_interrupt(gateways_gateway_54_io_interrupt),
+    .io_plic_valid(gateways_gateway_54_io_plic_valid),
+    .io_plic_ready(gateways_gateway_54_io_plic_ready),
+    .io_plic_complete(gateways_gateway_54_io_plic_complete)
+  );
+  LevelGateway gateways_gateway_55 ( // @[Plic.scala 156:27]
+    .clock(gateways_gateway_55_clock),
+    .reset(gateways_gateway_55_reset),
+    .io_interrupt(gateways_gateway_55_io_interrupt),
+    .io_plic_valid(gateways_gateway_55_io_plic_valid),
+    .io_plic_ready(gateways_gateway_55_io_plic_ready),
+    .io_plic_complete(gateways_gateway_55_io_plic_complete)
+  );
+  PLICFanIn fanin ( // @[Plic.scala 184:25]
+    .io_prio_0(fanin_io_prio_0),
+    .io_prio_1(fanin_io_prio_1),
+    .io_prio_2(fanin_io_prio_2),
+    .io_prio_3(fanin_io_prio_3),
+    .io_prio_4(fanin_io_prio_4),
+    .io_prio_5(fanin_io_prio_5),
+    .io_prio_6(fanin_io_prio_6),
+    .io_prio_7(fanin_io_prio_7),
+    .io_prio_8(fanin_io_prio_8),
+    .io_prio_9(fanin_io_prio_9),
+    .io_prio_10(fanin_io_prio_10),
+    .io_prio_11(fanin_io_prio_11),
+    .io_prio_12(fanin_io_prio_12),
+    .io_prio_13(fanin_io_prio_13),
+    .io_prio_14(fanin_io_prio_14),
+    .io_prio_15(fanin_io_prio_15),
+    .io_prio_16(fanin_io_prio_16),
+    .io_prio_17(fanin_io_prio_17),
+    .io_prio_18(fanin_io_prio_18),
+    .io_prio_19(fanin_io_prio_19),
+    .io_prio_20(fanin_io_prio_20),
+    .io_prio_21(fanin_io_prio_21),
+    .io_prio_22(fanin_io_prio_22),
+    .io_prio_23(fanin_io_prio_23),
+    .io_prio_24(fanin_io_prio_24),
+    .io_prio_25(fanin_io_prio_25),
+    .io_prio_26(fanin_io_prio_26),
+    .io_prio_27(fanin_io_prio_27),
+    .io_prio_28(fanin_io_prio_28),
+    .io_prio_29(fanin_io_prio_29),
+    .io_prio_30(fanin_io_prio_30),
+    .io_prio_31(fanin_io_prio_31),
+    .io_prio_32(fanin_io_prio_32),
+    .io_prio_33(fanin_io_prio_33),
+    .io_prio_34(fanin_io_prio_34),
+    .io_prio_35(fanin_io_prio_35),
+    .io_prio_36(fanin_io_prio_36),
+    .io_prio_37(fanin_io_prio_37),
+    .io_prio_38(fanin_io_prio_38),
+    .io_prio_39(fanin_io_prio_39),
+    .io_prio_40(fanin_io_prio_40),
+    .io_prio_41(fanin_io_prio_41),
+    .io_prio_42(fanin_io_prio_42),
+    .io_prio_43(fanin_io_prio_43),
+    .io_prio_44(fanin_io_prio_44),
+    .io_prio_45(fanin_io_prio_45),
+    .io_prio_46(fanin_io_prio_46),
+    .io_prio_47(fanin_io_prio_47),
+    .io_prio_48(fanin_io_prio_48),
+    .io_prio_49(fanin_io_prio_49),
+    .io_prio_50(fanin_io_prio_50),
+    .io_prio_51(fanin_io_prio_51),
+    .io_prio_52(fanin_io_prio_52),
+    .io_prio_53(fanin_io_prio_53),
+    .io_prio_54(fanin_io_prio_54),
+    .io_prio_55(fanin_io_prio_55),
+    .io_ip(fanin_io_ip),
+    .io_dev(fanin_io_dev),
+    .io_max(fanin_io_max)
+  );
+  PLICFanIn fanin_1 ( // @[Plic.scala 184:25]
+    .io_prio_0(fanin_1_io_prio_0),
+    .io_prio_1(fanin_1_io_prio_1),
+    .io_prio_2(fanin_1_io_prio_2),
+    .io_prio_3(fanin_1_io_prio_3),
+    .io_prio_4(fanin_1_io_prio_4),
+    .io_prio_5(fanin_1_io_prio_5),
+    .io_prio_6(fanin_1_io_prio_6),
+    .io_prio_7(fanin_1_io_prio_7),
+    .io_prio_8(fanin_1_io_prio_8),
+    .io_prio_9(fanin_1_io_prio_9),
+    .io_prio_10(fanin_1_io_prio_10),
+    .io_prio_11(fanin_1_io_prio_11),
+    .io_prio_12(fanin_1_io_prio_12),
+    .io_prio_13(fanin_1_io_prio_13),
+    .io_prio_14(fanin_1_io_prio_14),
+    .io_prio_15(fanin_1_io_prio_15),
+    .io_prio_16(fanin_1_io_prio_16),
+    .io_prio_17(fanin_1_io_prio_17),
+    .io_prio_18(fanin_1_io_prio_18),
+    .io_prio_19(fanin_1_io_prio_19),
+    .io_prio_20(fanin_1_io_prio_20),
+    .io_prio_21(fanin_1_io_prio_21),
+    .io_prio_22(fanin_1_io_prio_22),
+    .io_prio_23(fanin_1_io_prio_23),
+    .io_prio_24(fanin_1_io_prio_24),
+    .io_prio_25(fanin_1_io_prio_25),
+    .io_prio_26(fanin_1_io_prio_26),
+    .io_prio_27(fanin_1_io_prio_27),
+    .io_prio_28(fanin_1_io_prio_28),
+    .io_prio_29(fanin_1_io_prio_29),
+    .io_prio_30(fanin_1_io_prio_30),
+    .io_prio_31(fanin_1_io_prio_31),
+    .io_prio_32(fanin_1_io_prio_32),
+    .io_prio_33(fanin_1_io_prio_33),
+    .io_prio_34(fanin_1_io_prio_34),
+    .io_prio_35(fanin_1_io_prio_35),
+    .io_prio_36(fanin_1_io_prio_36),
+    .io_prio_37(fanin_1_io_prio_37),
+    .io_prio_38(fanin_1_io_prio_38),
+    .io_prio_39(fanin_1_io_prio_39),
+    .io_prio_40(fanin_1_io_prio_40),
+    .io_prio_41(fanin_1_io_prio_41),
+    .io_prio_42(fanin_1_io_prio_42),
+    .io_prio_43(fanin_1_io_prio_43),
+    .io_prio_44(fanin_1_io_prio_44),
+    .io_prio_45(fanin_1_io_prio_45),
+    .io_prio_46(fanin_1_io_prio_46),
+    .io_prio_47(fanin_1_io_prio_47),
+    .io_prio_48(fanin_1_io_prio_48),
+    .io_prio_49(fanin_1_io_prio_49),
+    .io_prio_50(fanin_1_io_prio_50),
+    .io_prio_51(fanin_1_io_prio_51),
+    .io_prio_52(fanin_1_io_prio_52),
+    .io_prio_53(fanin_1_io_prio_53),
+    .io_prio_54(fanin_1_io_prio_54),
+    .io_prio_55(fanin_1_io_prio_55),
+    .io_ip(fanin_1_io_ip),
+    .io_dev(fanin_1_io_dev),
+    .io_max(fanin_1_io_max)
+  );
+  Queue_22 out_back ( // @[Decoupled.scala 361:21]
+    .clock(out_back_clock),
+    .reset(out_back_reset),
+    .io_enq_ready(out_back_io_enq_ready),
+    .io_enq_valid(out_back_io_enq_valid),
+    .io_enq_bits_read(out_back_io_enq_bits_read),
+    .io_enq_bits_index(out_back_io_enq_bits_index),
+    .io_enq_bits_data(out_back_io_enq_bits_data),
+    .io_enq_bits_mask(out_back_io_enq_bits_mask),
+    .io_enq_bits_extra_tlrr_extra_source(out_back_io_enq_bits_extra_tlrr_extra_source),
+    .io_enq_bits_extra_tlrr_extra_size(out_back_io_enq_bits_extra_tlrr_extra_size),
+    .io_deq_ready(out_back_io_deq_ready),
+    .io_deq_valid(out_back_io_deq_valid),
+    .io_deq_bits_read(out_back_io_deq_bits_read),
+    .io_deq_bits_index(out_back_io_deq_bits_index),
+    .io_deq_bits_data(out_back_io_deq_bits_data),
+    .io_deq_bits_mask(out_back_io_deq_bits_mask),
+    .io_deq_bits_extra_tlrr_extra_source(out_back_io_deq_bits_extra_tlrr_extra_source),
+    .io_deq_bits_extra_tlrr_extra_size(out_back_io_deq_bits_extra_tlrr_extra_size)
+  );
+  assign auto_int_out_1_0 = bundleOut_1_0_REG > threshold_1; // @[Plic.scala 188:63]
+  assign auto_int_out_0_0 = bundleOut_0_0_REG > threshold_0; // @[Plic.scala 188:63]
+  assign auto_in_a_ready = out_back_io_enq_ready; // @[Decoupled.scala 365:17 RegisterRouter.scala 83:24]
+  assign auto_in_d_valid = out_back_io_deq_valid; // @[RegisterRouter.scala 83:24]
+  assign auto_in_d_bits_opcode = {{2'd0}, out_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign auto_in_d_bits_size = out_back_io_deq_bits_extra_tlrr_extra_size; // @[RegisterRouter.scala 83:{24,24}]
+  assign auto_in_d_bits_source = out_back_io_deq_bits_extra_tlrr_extra_source; // @[RegisterRouter.scala 83:{24,24}]
+  assign auto_in_d_bits_data = out_out_bits_data_out ? out_out_bits_data_out_1 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = out_back_io_enq_ready; // @[Decoupled.scala 365:17 RegisterRouter.scala 83:24]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = out_back_io_deq_valid; // @[RegisterRouter.scala 83:24]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, out_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = out_back_io_deq_bits_extra_tlrr_extra_size; // @[RegisterRouter.scala 83:{24,24}]
+  assign monitor_io_in_d_bits_source = out_back_io_deq_bits_extra_tlrr_extra_source; // @[RegisterRouter.scala 83:{24,24}]
+  assign gateways_gateway_clock = clock;
+  assign gateways_gateway_reset = reset;
+  assign gateways_gateway_io_interrupt = auto_int_in_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_io_plic_ready = ~pending_0; // @[Plic.scala 250:18]
+  assign gateways_gateway_io_plic_complete = completedDevs[1]; // @[Plic.scala 265:33]
+  assign gateways_gateway_1_clock = clock;
+  assign gateways_gateway_1_reset = reset;
+  assign gateways_gateway_1_io_interrupt = auto_int_in_1; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_1_io_plic_ready = ~pending_1; // @[Plic.scala 250:18]
+  assign gateways_gateway_1_io_plic_complete = completedDevs[2]; // @[Plic.scala 265:33]
+  assign gateways_gateway_2_clock = clock;
+  assign gateways_gateway_2_reset = reset;
+  assign gateways_gateway_2_io_interrupt = auto_int_in_2; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_2_io_plic_ready = ~pending_2; // @[Plic.scala 250:18]
+  assign gateways_gateway_2_io_plic_complete = completedDevs[3]; // @[Plic.scala 265:33]
+  assign gateways_gateway_3_clock = clock;
+  assign gateways_gateway_3_reset = reset;
+  assign gateways_gateway_3_io_interrupt = auto_int_in_3; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_3_io_plic_ready = ~pending_3; // @[Plic.scala 250:18]
+  assign gateways_gateway_3_io_plic_complete = completedDevs[4]; // @[Plic.scala 265:33]
+  assign gateways_gateway_4_clock = clock;
+  assign gateways_gateway_4_reset = reset;
+  assign gateways_gateway_4_io_interrupt = auto_int_in_4; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_4_io_plic_ready = ~pending_4; // @[Plic.scala 250:18]
+  assign gateways_gateway_4_io_plic_complete = completedDevs[5]; // @[Plic.scala 265:33]
+  assign gateways_gateway_5_clock = clock;
+  assign gateways_gateway_5_reset = reset;
+  assign gateways_gateway_5_io_interrupt = auto_int_in_5; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_5_io_plic_ready = ~pending_5; // @[Plic.scala 250:18]
+  assign gateways_gateway_5_io_plic_complete = completedDevs[6]; // @[Plic.scala 265:33]
+  assign gateways_gateway_6_clock = clock;
+  assign gateways_gateway_6_reset = reset;
+  assign gateways_gateway_6_io_interrupt = auto_int_in_6; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_6_io_plic_ready = ~pending_6; // @[Plic.scala 250:18]
+  assign gateways_gateway_6_io_plic_complete = completedDevs[7]; // @[Plic.scala 265:33]
+  assign gateways_gateway_7_clock = clock;
+  assign gateways_gateway_7_reset = reset;
+  assign gateways_gateway_7_io_interrupt = auto_int_in_7; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_7_io_plic_ready = ~pending_7; // @[Plic.scala 250:18]
+  assign gateways_gateway_7_io_plic_complete = completedDevs[8]; // @[Plic.scala 265:33]
+  assign gateways_gateway_8_clock = clock;
+  assign gateways_gateway_8_reset = reset;
+  assign gateways_gateway_8_io_interrupt = auto_int_in_8; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_8_io_plic_ready = ~pending_8; // @[Plic.scala 250:18]
+  assign gateways_gateway_8_io_plic_complete = completedDevs[9]; // @[Plic.scala 265:33]
+  assign gateways_gateway_9_clock = clock;
+  assign gateways_gateway_9_reset = reset;
+  assign gateways_gateway_9_io_interrupt = auto_int_in_9; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_9_io_plic_ready = ~pending_9; // @[Plic.scala 250:18]
+  assign gateways_gateway_9_io_plic_complete = completedDevs[10]; // @[Plic.scala 265:33]
+  assign gateways_gateway_10_clock = clock;
+  assign gateways_gateway_10_reset = reset;
+  assign gateways_gateway_10_io_interrupt = auto_int_in_10; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_10_io_plic_ready = ~pending_10; // @[Plic.scala 250:18]
+  assign gateways_gateway_10_io_plic_complete = completedDevs[11]; // @[Plic.scala 265:33]
+  assign gateways_gateway_11_clock = clock;
+  assign gateways_gateway_11_reset = reset;
+  assign gateways_gateway_11_io_interrupt = auto_int_in_11; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_11_io_plic_ready = ~pending_11; // @[Plic.scala 250:18]
+  assign gateways_gateway_11_io_plic_complete = completedDevs[12]; // @[Plic.scala 265:33]
+  assign gateways_gateway_12_clock = clock;
+  assign gateways_gateway_12_reset = reset;
+  assign gateways_gateway_12_io_interrupt = auto_int_in_12; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_12_io_plic_ready = ~pending_12; // @[Plic.scala 250:18]
+  assign gateways_gateway_12_io_plic_complete = completedDevs[13]; // @[Plic.scala 265:33]
+  assign gateways_gateway_13_clock = clock;
+  assign gateways_gateway_13_reset = reset;
+  assign gateways_gateway_13_io_interrupt = auto_int_in_13; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_13_io_plic_ready = ~pending_13; // @[Plic.scala 250:18]
+  assign gateways_gateway_13_io_plic_complete = completedDevs[14]; // @[Plic.scala 265:33]
+  assign gateways_gateway_14_clock = clock;
+  assign gateways_gateway_14_reset = reset;
+  assign gateways_gateway_14_io_interrupt = auto_int_in_14; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_14_io_plic_ready = ~pending_14; // @[Plic.scala 250:18]
+  assign gateways_gateway_14_io_plic_complete = completedDevs[15]; // @[Plic.scala 265:33]
+  assign gateways_gateway_15_clock = clock;
+  assign gateways_gateway_15_reset = reset;
+  assign gateways_gateway_15_io_interrupt = auto_int_in_15; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_15_io_plic_ready = ~pending_15; // @[Plic.scala 250:18]
+  assign gateways_gateway_15_io_plic_complete = completedDevs[16]; // @[Plic.scala 265:33]
+  assign gateways_gateway_16_clock = clock;
+  assign gateways_gateway_16_reset = reset;
+  assign gateways_gateway_16_io_interrupt = auto_int_in_16; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_16_io_plic_ready = ~pending_16; // @[Plic.scala 250:18]
+  assign gateways_gateway_16_io_plic_complete = completedDevs[17]; // @[Plic.scala 265:33]
+  assign gateways_gateway_17_clock = clock;
+  assign gateways_gateway_17_reset = reset;
+  assign gateways_gateway_17_io_interrupt = auto_int_in_17; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_17_io_plic_ready = ~pending_17; // @[Plic.scala 250:18]
+  assign gateways_gateway_17_io_plic_complete = completedDevs[18]; // @[Plic.scala 265:33]
+  assign gateways_gateway_18_clock = clock;
+  assign gateways_gateway_18_reset = reset;
+  assign gateways_gateway_18_io_interrupt = auto_int_in_18; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_18_io_plic_ready = ~pending_18; // @[Plic.scala 250:18]
+  assign gateways_gateway_18_io_plic_complete = completedDevs[19]; // @[Plic.scala 265:33]
+  assign gateways_gateway_19_clock = clock;
+  assign gateways_gateway_19_reset = reset;
+  assign gateways_gateway_19_io_interrupt = auto_int_in_19; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_19_io_plic_ready = ~pending_19; // @[Plic.scala 250:18]
+  assign gateways_gateway_19_io_plic_complete = completedDevs[20]; // @[Plic.scala 265:33]
+  assign gateways_gateway_20_clock = clock;
+  assign gateways_gateway_20_reset = reset;
+  assign gateways_gateway_20_io_interrupt = auto_int_in_20; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_20_io_plic_ready = ~pending_20; // @[Plic.scala 250:18]
+  assign gateways_gateway_20_io_plic_complete = completedDevs[21]; // @[Plic.scala 265:33]
+  assign gateways_gateway_21_clock = clock;
+  assign gateways_gateway_21_reset = reset;
+  assign gateways_gateway_21_io_interrupt = auto_int_in_21; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_21_io_plic_ready = ~pending_21; // @[Plic.scala 250:18]
+  assign gateways_gateway_21_io_plic_complete = completedDevs[22]; // @[Plic.scala 265:33]
+  assign gateways_gateway_22_clock = clock;
+  assign gateways_gateway_22_reset = reset;
+  assign gateways_gateway_22_io_interrupt = auto_int_in_22; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_22_io_plic_ready = ~pending_22; // @[Plic.scala 250:18]
+  assign gateways_gateway_22_io_plic_complete = completedDevs[23]; // @[Plic.scala 265:33]
+  assign gateways_gateway_23_clock = clock;
+  assign gateways_gateway_23_reset = reset;
+  assign gateways_gateway_23_io_interrupt = auto_int_in_23; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_23_io_plic_ready = ~pending_23; // @[Plic.scala 250:18]
+  assign gateways_gateway_23_io_plic_complete = completedDevs[24]; // @[Plic.scala 265:33]
+  assign gateways_gateway_24_clock = clock;
+  assign gateways_gateway_24_reset = reset;
+  assign gateways_gateway_24_io_interrupt = auto_int_in_24; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_24_io_plic_ready = ~pending_24; // @[Plic.scala 250:18]
+  assign gateways_gateway_24_io_plic_complete = completedDevs[25]; // @[Plic.scala 265:33]
+  assign gateways_gateway_25_clock = clock;
+  assign gateways_gateway_25_reset = reset;
+  assign gateways_gateway_25_io_interrupt = auto_int_in_25; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_25_io_plic_ready = ~pending_25; // @[Plic.scala 250:18]
+  assign gateways_gateway_25_io_plic_complete = completedDevs[26]; // @[Plic.scala 265:33]
+  assign gateways_gateway_26_clock = clock;
+  assign gateways_gateway_26_reset = reset;
+  assign gateways_gateway_26_io_interrupt = auto_int_in_26; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_26_io_plic_ready = ~pending_26; // @[Plic.scala 250:18]
+  assign gateways_gateway_26_io_plic_complete = completedDevs[27]; // @[Plic.scala 265:33]
+  assign gateways_gateway_27_clock = clock;
+  assign gateways_gateway_27_reset = reset;
+  assign gateways_gateway_27_io_interrupt = auto_int_in_27; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_27_io_plic_ready = ~pending_27; // @[Plic.scala 250:18]
+  assign gateways_gateway_27_io_plic_complete = completedDevs[28]; // @[Plic.scala 265:33]
+  assign gateways_gateway_28_clock = clock;
+  assign gateways_gateway_28_reset = reset;
+  assign gateways_gateway_28_io_interrupt = auto_int_in_28; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_28_io_plic_ready = ~pending_28; // @[Plic.scala 250:18]
+  assign gateways_gateway_28_io_plic_complete = completedDevs[29]; // @[Plic.scala 265:33]
+  assign gateways_gateway_29_clock = clock;
+  assign gateways_gateway_29_reset = reset;
+  assign gateways_gateway_29_io_interrupt = auto_int_in_29; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_29_io_plic_ready = ~pending_29; // @[Plic.scala 250:18]
+  assign gateways_gateway_29_io_plic_complete = completedDevs[30]; // @[Plic.scala 265:33]
+  assign gateways_gateway_30_clock = clock;
+  assign gateways_gateway_30_reset = reset;
+  assign gateways_gateway_30_io_interrupt = auto_int_in_30; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_30_io_plic_ready = ~pending_30; // @[Plic.scala 250:18]
+  assign gateways_gateway_30_io_plic_complete = completedDevs[31]; // @[Plic.scala 265:33]
+  assign gateways_gateway_31_clock = clock;
+  assign gateways_gateway_31_reset = reset;
+  assign gateways_gateway_31_io_interrupt = auto_int_in_31; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_31_io_plic_ready = ~pending_31; // @[Plic.scala 250:18]
+  assign gateways_gateway_31_io_plic_complete = completedDevs[32]; // @[Plic.scala 265:33]
+  assign gateways_gateway_32_clock = clock;
+  assign gateways_gateway_32_reset = reset;
+  assign gateways_gateway_32_io_interrupt = auto_int_in_32; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_32_io_plic_ready = ~pending_32; // @[Plic.scala 250:18]
+  assign gateways_gateway_32_io_plic_complete = completedDevs[33]; // @[Plic.scala 265:33]
+  assign gateways_gateway_33_clock = clock;
+  assign gateways_gateway_33_reset = reset;
+  assign gateways_gateway_33_io_interrupt = auto_int_in_33; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_33_io_plic_ready = ~pending_33; // @[Plic.scala 250:18]
+  assign gateways_gateway_33_io_plic_complete = completedDevs[34]; // @[Plic.scala 265:33]
+  assign gateways_gateway_34_clock = clock;
+  assign gateways_gateway_34_reset = reset;
+  assign gateways_gateway_34_io_interrupt = auto_int_in_34; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_34_io_plic_ready = ~pending_34; // @[Plic.scala 250:18]
+  assign gateways_gateway_34_io_plic_complete = completedDevs[35]; // @[Plic.scala 265:33]
+  assign gateways_gateway_35_clock = clock;
+  assign gateways_gateway_35_reset = reset;
+  assign gateways_gateway_35_io_interrupt = auto_int_in_35; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_35_io_plic_ready = ~pending_35; // @[Plic.scala 250:18]
+  assign gateways_gateway_35_io_plic_complete = completedDevs[36]; // @[Plic.scala 265:33]
+  assign gateways_gateway_36_clock = clock;
+  assign gateways_gateway_36_reset = reset;
+  assign gateways_gateway_36_io_interrupt = auto_int_in_36; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_36_io_plic_ready = ~pending_36; // @[Plic.scala 250:18]
+  assign gateways_gateway_36_io_plic_complete = completedDevs[37]; // @[Plic.scala 265:33]
+  assign gateways_gateway_37_clock = clock;
+  assign gateways_gateway_37_reset = reset;
+  assign gateways_gateway_37_io_interrupt = auto_int_in_37; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_37_io_plic_ready = ~pending_37; // @[Plic.scala 250:18]
+  assign gateways_gateway_37_io_plic_complete = completedDevs[38]; // @[Plic.scala 265:33]
+  assign gateways_gateway_38_clock = clock;
+  assign gateways_gateway_38_reset = reset;
+  assign gateways_gateway_38_io_interrupt = auto_int_in_38; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_38_io_plic_ready = ~pending_38; // @[Plic.scala 250:18]
+  assign gateways_gateway_38_io_plic_complete = completedDevs[39]; // @[Plic.scala 265:33]
+  assign gateways_gateway_39_clock = clock;
+  assign gateways_gateway_39_reset = reset;
+  assign gateways_gateway_39_io_interrupt = auto_int_in_39; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_39_io_plic_ready = ~pending_39; // @[Plic.scala 250:18]
+  assign gateways_gateway_39_io_plic_complete = completedDevs[40]; // @[Plic.scala 265:33]
+  assign gateways_gateway_40_clock = clock;
+  assign gateways_gateway_40_reset = reset;
+  assign gateways_gateway_40_io_interrupt = auto_int_in_40; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_40_io_plic_ready = ~pending_40; // @[Plic.scala 250:18]
+  assign gateways_gateway_40_io_plic_complete = completedDevs[41]; // @[Plic.scala 265:33]
+  assign gateways_gateway_41_clock = clock;
+  assign gateways_gateway_41_reset = reset;
+  assign gateways_gateway_41_io_interrupt = auto_int_in_41; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_41_io_plic_ready = ~pending_41; // @[Plic.scala 250:18]
+  assign gateways_gateway_41_io_plic_complete = completedDevs[42]; // @[Plic.scala 265:33]
+  assign gateways_gateway_42_clock = clock;
+  assign gateways_gateway_42_reset = reset;
+  assign gateways_gateway_42_io_interrupt = auto_int_in_42; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_42_io_plic_ready = ~pending_42; // @[Plic.scala 250:18]
+  assign gateways_gateway_42_io_plic_complete = completedDevs[43]; // @[Plic.scala 265:33]
+  assign gateways_gateway_43_clock = clock;
+  assign gateways_gateway_43_reset = reset;
+  assign gateways_gateway_43_io_interrupt = auto_int_in_43; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_43_io_plic_ready = ~pending_43; // @[Plic.scala 250:18]
+  assign gateways_gateway_43_io_plic_complete = completedDevs[44]; // @[Plic.scala 265:33]
+  assign gateways_gateway_44_clock = clock;
+  assign gateways_gateway_44_reset = reset;
+  assign gateways_gateway_44_io_interrupt = auto_int_in_44; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_44_io_plic_ready = ~pending_44; // @[Plic.scala 250:18]
+  assign gateways_gateway_44_io_plic_complete = completedDevs[45]; // @[Plic.scala 265:33]
+  assign gateways_gateway_45_clock = clock;
+  assign gateways_gateway_45_reset = reset;
+  assign gateways_gateway_45_io_interrupt = auto_int_in_45; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_45_io_plic_ready = ~pending_45; // @[Plic.scala 250:18]
+  assign gateways_gateway_45_io_plic_complete = completedDevs[46]; // @[Plic.scala 265:33]
+  assign gateways_gateway_46_clock = clock;
+  assign gateways_gateway_46_reset = reset;
+  assign gateways_gateway_46_io_interrupt = auto_int_in_46; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_46_io_plic_ready = ~pending_46; // @[Plic.scala 250:18]
+  assign gateways_gateway_46_io_plic_complete = completedDevs[47]; // @[Plic.scala 265:33]
+  assign gateways_gateway_47_clock = clock;
+  assign gateways_gateway_47_reset = reset;
+  assign gateways_gateway_47_io_interrupt = auto_int_in_47; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_47_io_plic_ready = ~pending_47; // @[Plic.scala 250:18]
+  assign gateways_gateway_47_io_plic_complete = completedDevs[48]; // @[Plic.scala 265:33]
+  assign gateways_gateway_48_clock = clock;
+  assign gateways_gateway_48_reset = reset;
+  assign gateways_gateway_48_io_interrupt = auto_int_in_48; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_48_io_plic_ready = ~pending_48; // @[Plic.scala 250:18]
+  assign gateways_gateway_48_io_plic_complete = completedDevs[49]; // @[Plic.scala 265:33]
+  assign gateways_gateway_49_clock = clock;
+  assign gateways_gateway_49_reset = reset;
+  assign gateways_gateway_49_io_interrupt = auto_int_in_49; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_49_io_plic_ready = ~pending_49; // @[Plic.scala 250:18]
+  assign gateways_gateway_49_io_plic_complete = completedDevs[50]; // @[Plic.scala 265:33]
+  assign gateways_gateway_50_clock = clock;
+  assign gateways_gateway_50_reset = reset;
+  assign gateways_gateway_50_io_interrupt = auto_int_in_50; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_50_io_plic_ready = ~pending_50; // @[Plic.scala 250:18]
+  assign gateways_gateway_50_io_plic_complete = completedDevs[51]; // @[Plic.scala 265:33]
+  assign gateways_gateway_51_clock = clock;
+  assign gateways_gateway_51_reset = reset;
+  assign gateways_gateway_51_io_interrupt = auto_int_in_51; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_51_io_plic_ready = ~pending_51; // @[Plic.scala 250:18]
+  assign gateways_gateway_51_io_plic_complete = completedDevs[52]; // @[Plic.scala 265:33]
+  assign gateways_gateway_52_clock = clock;
+  assign gateways_gateway_52_reset = reset;
+  assign gateways_gateway_52_io_interrupt = auto_int_in_52; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_52_io_plic_ready = ~pending_52; // @[Plic.scala 250:18]
+  assign gateways_gateway_52_io_plic_complete = completedDevs[53]; // @[Plic.scala 265:33]
+  assign gateways_gateway_53_clock = clock;
+  assign gateways_gateway_53_reset = reset;
+  assign gateways_gateway_53_io_interrupt = auto_int_in_53; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_53_io_plic_ready = ~pending_53; // @[Plic.scala 250:18]
+  assign gateways_gateway_53_io_plic_complete = completedDevs[54]; // @[Plic.scala 265:33]
+  assign gateways_gateway_54_clock = clock;
+  assign gateways_gateway_54_reset = reset;
+  assign gateways_gateway_54_io_interrupt = auto_int_in_54; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_54_io_plic_ready = ~pending_54; // @[Plic.scala 250:18]
+  assign gateways_gateway_54_io_plic_complete = completedDevs[55]; // @[Plic.scala 265:33]
+  assign gateways_gateway_55_clock = clock;
+  assign gateways_gateway_55_reset = reset;
+  assign gateways_gateway_55_io_interrupt = auto_int_in_55; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gateways_gateway_55_io_plic_ready = ~pending_55; // @[Plic.scala 250:18]
+  assign gateways_gateway_55_io_plic_complete = completedDevs[56]; // @[Plic.scala 265:33]
+  assign fanin_io_prio_0 = priority_0; // @[Plic.scala 185:21]
+  assign fanin_io_prio_1 = priority_1; // @[Plic.scala 185:21]
+  assign fanin_io_prio_2 = priority_2; // @[Plic.scala 185:21]
+  assign fanin_io_prio_3 = priority_3; // @[Plic.scala 185:21]
+  assign fanin_io_prio_4 = priority_4; // @[Plic.scala 185:21]
+  assign fanin_io_prio_5 = priority_5; // @[Plic.scala 185:21]
+  assign fanin_io_prio_6 = priority_6; // @[Plic.scala 185:21]
+  assign fanin_io_prio_7 = priority_7; // @[Plic.scala 185:21]
+  assign fanin_io_prio_8 = priority_8; // @[Plic.scala 185:21]
+  assign fanin_io_prio_9 = priority_9; // @[Plic.scala 185:21]
+  assign fanin_io_prio_10 = priority_10; // @[Plic.scala 185:21]
+  assign fanin_io_prio_11 = priority_11; // @[Plic.scala 185:21]
+  assign fanin_io_prio_12 = priority_12; // @[Plic.scala 185:21]
+  assign fanin_io_prio_13 = priority_13; // @[Plic.scala 185:21]
+  assign fanin_io_prio_14 = priority_14; // @[Plic.scala 185:21]
+  assign fanin_io_prio_15 = priority_15; // @[Plic.scala 185:21]
+  assign fanin_io_prio_16 = priority_16; // @[Plic.scala 185:21]
+  assign fanin_io_prio_17 = priority_17; // @[Plic.scala 185:21]
+  assign fanin_io_prio_18 = priority_18; // @[Plic.scala 185:21]
+  assign fanin_io_prio_19 = priority_19; // @[Plic.scala 185:21]
+  assign fanin_io_prio_20 = priority_20; // @[Plic.scala 185:21]
+  assign fanin_io_prio_21 = priority_21; // @[Plic.scala 185:21]
+  assign fanin_io_prio_22 = priority_22; // @[Plic.scala 185:21]
+  assign fanin_io_prio_23 = priority_23; // @[Plic.scala 185:21]
+  assign fanin_io_prio_24 = priority_24; // @[Plic.scala 185:21]
+  assign fanin_io_prio_25 = priority_25; // @[Plic.scala 185:21]
+  assign fanin_io_prio_26 = priority_26; // @[Plic.scala 185:21]
+  assign fanin_io_prio_27 = priority_27; // @[Plic.scala 185:21]
+  assign fanin_io_prio_28 = priority_28; // @[Plic.scala 185:21]
+  assign fanin_io_prio_29 = priority_29; // @[Plic.scala 185:21]
+  assign fanin_io_prio_30 = priority_30; // @[Plic.scala 185:21]
+  assign fanin_io_prio_31 = priority_31; // @[Plic.scala 185:21]
+  assign fanin_io_prio_32 = priority_32; // @[Plic.scala 185:21]
+  assign fanin_io_prio_33 = priority_33; // @[Plic.scala 185:21]
+  assign fanin_io_prio_34 = priority_34; // @[Plic.scala 185:21]
+  assign fanin_io_prio_35 = priority_35; // @[Plic.scala 185:21]
+  assign fanin_io_prio_36 = priority_36; // @[Plic.scala 185:21]
+  assign fanin_io_prio_37 = priority_37; // @[Plic.scala 185:21]
+  assign fanin_io_prio_38 = priority_38; // @[Plic.scala 185:21]
+  assign fanin_io_prio_39 = priority_39; // @[Plic.scala 185:21]
+  assign fanin_io_prio_40 = priority_40; // @[Plic.scala 185:21]
+  assign fanin_io_prio_41 = priority_41; // @[Plic.scala 185:21]
+  assign fanin_io_prio_42 = priority_42; // @[Plic.scala 185:21]
+  assign fanin_io_prio_43 = priority_43; // @[Plic.scala 185:21]
+  assign fanin_io_prio_44 = priority_44; // @[Plic.scala 185:21]
+  assign fanin_io_prio_45 = priority_45; // @[Plic.scala 185:21]
+  assign fanin_io_prio_46 = priority_46; // @[Plic.scala 185:21]
+  assign fanin_io_prio_47 = priority_47; // @[Plic.scala 185:21]
+  assign fanin_io_prio_48 = priority_48; // @[Plic.scala 185:21]
+  assign fanin_io_prio_49 = priority_49; // @[Plic.scala 185:21]
+  assign fanin_io_prio_50 = priority_50; // @[Plic.scala 185:21]
+  assign fanin_io_prio_51 = priority_51; // @[Plic.scala 185:21]
+  assign fanin_io_prio_52 = priority_52; // @[Plic.scala 185:21]
+  assign fanin_io_prio_53 = priority_53; // @[Plic.scala 185:21]
+  assign fanin_io_prio_54 = priority_54; // @[Plic.scala 185:21]
+  assign fanin_io_prio_55 = priority_55; // @[Plic.scala 185:21]
+  assign fanin_io_ip = enableVec_0 & pendingUInt; // @[Plic.scala 186:40]
+  assign fanin_1_io_prio_0 = priority_0; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_1 = priority_1; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_2 = priority_2; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_3 = priority_3; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_4 = priority_4; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_5 = priority_5; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_6 = priority_6; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_7 = priority_7; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_8 = priority_8; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_9 = priority_9; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_10 = priority_10; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_11 = priority_11; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_12 = priority_12; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_13 = priority_13; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_14 = priority_14; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_15 = priority_15; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_16 = priority_16; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_17 = priority_17; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_18 = priority_18; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_19 = priority_19; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_20 = priority_20; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_21 = priority_21; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_22 = priority_22; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_23 = priority_23; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_24 = priority_24; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_25 = priority_25; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_26 = priority_26; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_27 = priority_27; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_28 = priority_28; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_29 = priority_29; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_30 = priority_30; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_31 = priority_31; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_32 = priority_32; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_33 = priority_33; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_34 = priority_34; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_35 = priority_35; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_36 = priority_36; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_37 = priority_37; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_38 = priority_38; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_39 = priority_39; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_40 = priority_40; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_41 = priority_41; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_42 = priority_42; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_43 = priority_43; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_44 = priority_44; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_45 = priority_45; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_46 = priority_46; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_47 = priority_47; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_48 = priority_48; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_49 = priority_49; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_50 = priority_50; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_51 = priority_51; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_52 = priority_52; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_53 = priority_53; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_54 = priority_54; // @[Plic.scala 185:21]
+  assign fanin_1_io_prio_55 = priority_55; // @[Plic.scala 185:21]
+  assign fanin_1_io_ip = enableVec_1 & pendingUInt; // @[Plic.scala 186:40]
+  assign out_back_clock = clock;
+  assign out_back_reset = reset;
+  assign out_back_io_enq_valid = auto_in_a_valid; // @[RegisterRouter.scala 83:24]
+  assign out_back_io_enq_bits_read = auto_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  assign out_back_io_enq_bits_index = auto_in_a_bits_address[25:2]; // @[RegisterRouter.scala 71:18 73:19]
+  assign out_back_io_enq_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign out_back_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign out_back_io_enq_bits_extra_tlrr_extra_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign out_back_io_enq_bits_extra_tlrr_extra_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign out_back_io_deq_ready = auto_in_d_ready; // @[RegisterRouter.scala 83:24]
+  always @(posedge clock) begin
+    if (out_f_woready_49) begin // @[RegField.scala 74:88]
+      priority_0 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_64) begin // @[RegField.scala 74:88]
+      priority_1 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_86) begin // @[RegField.scala 74:88]
+      priority_2 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_134) begin // @[RegField.scala 74:88]
+      priority_3 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_32) begin // @[RegField.scala 74:88]
+      priority_4 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_50) begin // @[RegField.scala 74:88]
+      priority_5 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_84) begin // @[RegField.scala 74:88]
+      priority_6 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_125) begin // @[RegField.scala 74:88]
+      priority_7 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_55) begin // @[RegField.scala 74:88]
+      priority_8 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_33) begin // @[RegField.scala 74:88]
+      priority_9 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_119) begin // @[RegField.scala 74:88]
+      priority_10 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_81) begin // @[RegField.scala 74:88]
+      priority_11 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_62) begin // @[RegField.scala 74:88]
+      priority_12 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_40) begin // @[RegField.scala 74:88]
+      priority_13 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_136) begin // @[RegField.scala 74:88]
+      priority_14 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_116) begin // @[RegField.scala 74:88]
+      priority_15 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_68) begin // @[RegField.scala 74:88]
+      priority_16 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_114) begin // @[RegField.scala 74:88]
+      priority_17 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_133) begin // @[RegField.scala 74:88]
+      priority_18 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_41) begin // @[RegField.scala 74:88]
+      priority_19 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_53) begin // @[RegField.scala 74:88]
+      priority_20 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_78) begin // @[RegField.scala 74:88]
+      priority_21 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_124) begin // @[RegField.scala 74:88]
+      priority_22 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_36) begin // @[RegField.scala 74:88]
+      priority_23 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_38) begin // @[RegField.scala 74:88]
+      priority_24 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_122) begin // @[RegField.scala 74:88]
+      priority_25 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_80) begin // @[RegField.scala 74:88]
+      priority_26 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_51) begin // @[RegField.scala 74:88]
+      priority_27 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_47) begin // @[RegField.scala 74:88]
+      priority_28 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_131) begin // @[RegField.scala 74:88]
+      priority_29 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_117) begin // @[RegField.scala 74:88]
+      priority_30 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_65) begin // @[RegField.scala 74:88]
+      priority_31 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_54) begin // @[RegField.scala 74:88]
+      priority_32 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_66) begin // @[RegField.scala 74:88]
+      priority_33 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_87) begin // @[RegField.scala 74:88]
+      priority_34 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_130) begin // @[RegField.scala 74:88]
+      priority_35 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_37) begin // @[RegField.scala 74:88]
+      priority_36 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_52) begin // @[RegField.scala 74:88]
+      priority_37 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_85) begin // @[RegField.scala 74:88]
+      priority_38 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_121) begin // @[RegField.scala 74:88]
+      priority_39 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_63) begin // @[RegField.scala 74:88]
+      priority_40 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_35) begin // @[RegField.scala 74:88]
+      priority_41 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_120) begin // @[RegField.scala 74:88]
+      priority_42 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_79) begin // @[RegField.scala 74:88]
+      priority_43 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_67) begin // @[RegField.scala 74:88]
+      priority_44 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_46) begin // @[RegField.scala 74:88]
+      priority_45 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_135) begin // @[RegField.scala 74:88]
+      priority_46 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_88) begin // @[RegField.scala 74:88]
+      priority_47 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_83) begin // @[RegField.scala 74:88]
+      priority_48 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_115) begin // @[RegField.scala 74:88]
+      priority_49 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_132) begin // @[RegField.scala 74:88]
+      priority_50 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_39) begin // @[RegField.scala 74:88]
+      priority_51 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_56) begin // @[RegField.scala 74:88]
+      priority_52 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_82) begin // @[RegField.scala 74:88]
+      priority_53 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_123) begin // @[RegField.scala 74:88]
+      priority_54 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_34) begin // @[RegField.scala 74:88]
+      priority_55 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_71) begin // @[RegField.scala 74:88]
+      threshold_0 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_69) begin // @[RegField.scala 74:88]
+      threshold_1 <= out_back_io_deq_bits_data[2:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_0 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_1 | gateways_gateway_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_0 <= ~claimedDevs_1; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_1 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_2 | gateways_gateway_1_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_1 <= ~claimedDevs_2; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_2 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_3 | gateways_gateway_2_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_2 <= ~claimedDevs_3; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_3 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_4 | gateways_gateway_3_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_3 <= ~claimedDevs_4; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_4 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_5 | gateways_gateway_4_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_4 <= ~claimedDevs_5; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_5 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_6 | gateways_gateway_5_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_5 <= ~claimedDevs_6; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_6 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_7 | gateways_gateway_6_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_6 <= ~claimedDevs_7; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_7 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_8 | gateways_gateway_7_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_7 <= ~claimedDevs_8; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_8 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_9 | gateways_gateway_8_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_8 <= ~claimedDevs_9; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_9 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_10 | gateways_gateway_9_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_9 <= ~claimedDevs_10; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_10 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_11 | gateways_gateway_10_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_10 <= ~claimedDevs_11; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_11 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_12 | gateways_gateway_11_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_11 <= ~claimedDevs_12; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_12 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_13 | gateways_gateway_12_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_12 <= ~claimedDevs_13; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_13 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_14 | gateways_gateway_13_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_13 <= ~claimedDevs_14; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_14 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_15 | gateways_gateway_14_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_14 <= ~claimedDevs_15; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_15 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_16 | gateways_gateway_15_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_15 <= ~claimedDevs_16; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_16 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_17 | gateways_gateway_16_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_16 <= ~claimedDevs_17; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_17 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_18 | gateways_gateway_17_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_17 <= ~claimedDevs_18; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_18 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_19 | gateways_gateway_18_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_18 <= ~claimedDevs_19; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_19 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_20 | gateways_gateway_19_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_19 <= ~claimedDevs_20; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_20 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_21 | gateways_gateway_20_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_20 <= ~claimedDevs_21; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_21 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_22 | gateways_gateway_21_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_21 <= ~claimedDevs_22; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_22 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_23 | gateways_gateway_22_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_22 <= ~claimedDevs_23; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_23 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_24 | gateways_gateway_23_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_23 <= ~claimedDevs_24; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_24 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_25 | gateways_gateway_24_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_24 <= ~claimedDevs_25; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_25 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_26 | gateways_gateway_25_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_25 <= ~claimedDevs_26; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_26 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_27 | gateways_gateway_26_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_26 <= ~claimedDevs_27; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_27 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_28 | gateways_gateway_27_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_27 <= ~claimedDevs_28; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_28 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_29 | gateways_gateway_28_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_28 <= ~claimedDevs_29; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_29 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_30 | gateways_gateway_29_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_29 <= ~claimedDevs_30; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_30 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_31 | gateways_gateway_30_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_30 <= ~claimedDevs_31; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_31 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_32 | gateways_gateway_31_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_31 <= ~claimedDevs_32; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_32 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_33 | gateways_gateway_32_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_32 <= ~claimedDevs_33; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_33 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_34 | gateways_gateway_33_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_33 <= ~claimedDevs_34; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_34 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_35 | gateways_gateway_34_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_34 <= ~claimedDevs_35; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_35 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_36 | gateways_gateway_35_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_35 <= ~claimedDevs_36; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_36 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_37 | gateways_gateway_36_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_36 <= ~claimedDevs_37; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_37 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_38 | gateways_gateway_37_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_37 <= ~claimedDevs_38; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_38 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_39 | gateways_gateway_38_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_38 <= ~claimedDevs_39; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_39 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_40 | gateways_gateway_39_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_39 <= ~claimedDevs_40; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_40 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_41 | gateways_gateway_40_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_40 <= ~claimedDevs_41; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_41 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_42 | gateways_gateway_41_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_41 <= ~claimedDevs_42; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_42 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_43 | gateways_gateway_42_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_42 <= ~claimedDevs_43; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_43 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_44 | gateways_gateway_43_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_43 <= ~claimedDevs_44; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_44 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_45 | gateways_gateway_44_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_44 <= ~claimedDevs_45; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_45 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_46 | gateways_gateway_45_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_45 <= ~claimedDevs_46; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_46 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_47 | gateways_gateway_46_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_46 <= ~claimedDevs_47; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_47 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_48 | gateways_gateway_47_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_47 <= ~claimedDevs_48; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_48 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_49 | gateways_gateway_48_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_48 <= ~claimedDevs_49; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_49 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_50 | gateways_gateway_49_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_49 <= ~claimedDevs_50; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_50 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_51 | gateways_gateway_50_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_50 <= ~claimedDevs_51; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_51 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_52 | gateways_gateway_51_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_51 <= ~claimedDevs_52; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_52 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_53 | gateways_gateway_52_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_52 <= ~claimedDevs_53; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_53 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_54 | gateways_gateway_53_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_53 <= ~claimedDevs_54; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_54 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_55 | gateways_gateway_54_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_54 <= ~claimedDevs_55; // @[Plic.scala 251:31]
+    end
+    if (reset) begin // @[Plic.scala 168:22]
+      pending_55 <= 1'h0; // @[Plic.scala 168:22]
+    end else if (claimedDevs_56 | gateways_gateway_55_io_plic_valid) begin // @[Plic.scala 251:27]
+      pending_55 <= ~claimedDevs_56; // @[Plic.scala 251:31]
+    end
+    if (out_f_woready_74) begin // @[RegField.scala 74:88]
+      enables_0_0 <= out_back_io_deq_bits_data[7:1]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_75) begin // @[RegField.scala 74:88]
+      enables_0_1 <= out_back_io_deq_bits_data[15:8]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_76) begin // @[RegField.scala 74:88]
+      enables_0_2 <= out_back_io_deq_bits_data[23:16]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_77) begin // @[RegField.scala 74:88]
+      enables_0_3 <= out_back_io_deq_bits_data[31:24]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_42) begin // @[RegField.scala 74:88]
+      enables_0_4 <= out_back_io_deq_bits_data[7:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_43) begin // @[RegField.scala 74:88]
+      enables_0_5 <= out_back_io_deq_bits_data[15:8]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_44) begin // @[RegField.scala 74:88]
+      enables_0_6 <= out_back_io_deq_bits_data[23:16]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_45) begin // @[RegField.scala 74:88]
+      enables_0_7 <= out_back_io_deq_bits_data[24]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_58) begin // @[RegField.scala 74:88]
+      enables_1_0 <= out_back_io_deq_bits_data[7:1]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_59) begin // @[RegField.scala 74:88]
+      enables_1_1 <= out_back_io_deq_bits_data[15:8]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_60) begin // @[RegField.scala 74:88]
+      enables_1_2 <= out_back_io_deq_bits_data[23:16]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_61) begin // @[RegField.scala 74:88]
+      enables_1_3 <= out_back_io_deq_bits_data[31:24]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_126) begin // @[RegField.scala 74:88]
+      enables_1_4 <= out_back_io_deq_bits_data[7:0]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_127) begin // @[RegField.scala 74:88]
+      enables_1_5 <= out_back_io_deq_bits_data[15:8]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_128) begin // @[RegField.scala 74:88]
+      enables_1_6 <= out_back_io_deq_bits_data[23:16]; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_129) begin // @[RegField.scala 74:88]
+      enables_1_7 <= out_back_io_deq_bits_data[24]; // @[RegField.scala 74:92]
+    end
+    maxDevs_0 <= fanin_io_dev; // @[Plic.scala 187:21]
+    maxDevs_1 <= fanin_1_io_dev; // @[Plic.scala 187:21]
+    bundleOut_0_0_REG <= fanin_io_max; // @[Plic.scala 188:41]
+    bundleOut_1_0_REG <= fanin_1_io_max; // @[Plic.scala 188:41]
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_4 == 2'h0) & ~reset) begin
+          $fatal; // @[Plic.scala 245:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~(_T_4 == 2'h0)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Plic.scala:245 assert((claimer.asUInt & (claimer.asUInt - UInt(1))) === UInt(0)) // One-Hot\n"
+            ); // @[Plic.scala 245:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_69 == 2'h0) & _T_7) begin
+          $fatal; // @[Plic.scala 262:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_7 & ~(_T_69 == 2'h0)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Plic.scala:262 assert((completer.asUInt & (completer.asUInt - UInt(1))) === UInt(0)) // One-Hot\n"
+            ); // @[Plic.scala 262:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(completerDev == completerDev) & _T_7) begin
+          $fatal; // @[Plic.scala 292:19]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_7 & ~(completerDev == completerDev)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: completerDev should be consistent for all harts\n    at Plic.scala:292 assert(completerDev === data.extract(log2Ceil(nDevices+1)-1, 0),\n"
+            ); // @[Plic.scala 292:19]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(completerDev == completerDev) & _T_7) begin
+          $fatal; // @[Plic.scala 292:19]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_7 & ~(completerDev == completerDev)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: completerDev should be consistent for all harts\n    at Plic.scala:292 assert(completerDev === data.extract(log2Ceil(nDevices+1)-1, 0),\n"
+            ); // @[Plic.scala 292:19]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  priority_1 = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  priority_2 = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  priority_3 = _RAND_3[2:0];
+  _RAND_4 = {1{`RANDOM}};
+  priority_4 = _RAND_4[2:0];
+  _RAND_5 = {1{`RANDOM}};
+  priority_5 = _RAND_5[2:0];
+  _RAND_6 = {1{`RANDOM}};
+  priority_6 = _RAND_6[2:0];
+  _RAND_7 = {1{`RANDOM}};
+  priority_7 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  priority_8 = _RAND_8[2:0];
+  _RAND_9 = {1{`RANDOM}};
+  priority_9 = _RAND_9[2:0];
+  _RAND_10 = {1{`RANDOM}};
+  priority_10 = _RAND_10[2:0];
+  _RAND_11 = {1{`RANDOM}};
+  priority_11 = _RAND_11[2:0];
+  _RAND_12 = {1{`RANDOM}};
+  priority_12 = _RAND_12[2:0];
+  _RAND_13 = {1{`RANDOM}};
+  priority_13 = _RAND_13[2:0];
+  _RAND_14 = {1{`RANDOM}};
+  priority_14 = _RAND_14[2:0];
+  _RAND_15 = {1{`RANDOM}};
+  priority_15 = _RAND_15[2:0];
+  _RAND_16 = {1{`RANDOM}};
+  priority_16 = _RAND_16[2:0];
+  _RAND_17 = {1{`RANDOM}};
+  priority_17 = _RAND_17[2:0];
+  _RAND_18 = {1{`RANDOM}};
+  priority_18 = _RAND_18[2:0];
+  _RAND_19 = {1{`RANDOM}};
+  priority_19 = _RAND_19[2:0];
+  _RAND_20 = {1{`RANDOM}};
+  priority_20 = _RAND_20[2:0];
+  _RAND_21 = {1{`RANDOM}};
+  priority_21 = _RAND_21[2:0];
+  _RAND_22 = {1{`RANDOM}};
+  priority_22 = _RAND_22[2:0];
+  _RAND_23 = {1{`RANDOM}};
+  priority_23 = _RAND_23[2:0];
+  _RAND_24 = {1{`RANDOM}};
+  priority_24 = _RAND_24[2:0];
+  _RAND_25 = {1{`RANDOM}};
+  priority_25 = _RAND_25[2:0];
+  _RAND_26 = {1{`RANDOM}};
+  priority_26 = _RAND_26[2:0];
+  _RAND_27 = {1{`RANDOM}};
+  priority_27 = _RAND_27[2:0];
+  _RAND_28 = {1{`RANDOM}};
+  priority_28 = _RAND_28[2:0];
+  _RAND_29 = {1{`RANDOM}};
+  priority_29 = _RAND_29[2:0];
+  _RAND_30 = {1{`RANDOM}};
+  priority_30 = _RAND_30[2:0];
+  _RAND_31 = {1{`RANDOM}};
+  priority_31 = _RAND_31[2:0];
+  _RAND_32 = {1{`RANDOM}};
+  priority_32 = _RAND_32[2:0];
+  _RAND_33 = {1{`RANDOM}};
+  priority_33 = _RAND_33[2:0];
+  _RAND_34 = {1{`RANDOM}};
+  priority_34 = _RAND_34[2:0];
+  _RAND_35 = {1{`RANDOM}};
+  priority_35 = _RAND_35[2:0];
+  _RAND_36 = {1{`RANDOM}};
+  priority_36 = _RAND_36[2:0];
+  _RAND_37 = {1{`RANDOM}};
+  priority_37 = _RAND_37[2:0];
+  _RAND_38 = {1{`RANDOM}};
+  priority_38 = _RAND_38[2:0];
+  _RAND_39 = {1{`RANDOM}};
+  priority_39 = _RAND_39[2:0];
+  _RAND_40 = {1{`RANDOM}};
+  priority_40 = _RAND_40[2:0];
+  _RAND_41 = {1{`RANDOM}};
+  priority_41 = _RAND_41[2:0];
+  _RAND_42 = {1{`RANDOM}};
+  priority_42 = _RAND_42[2:0];
+  _RAND_43 = {1{`RANDOM}};
+  priority_43 = _RAND_43[2:0];
+  _RAND_44 = {1{`RANDOM}};
+  priority_44 = _RAND_44[2:0];
+  _RAND_45 = {1{`RANDOM}};
+  priority_45 = _RAND_45[2:0];
+  _RAND_46 = {1{`RANDOM}};
+  priority_46 = _RAND_46[2:0];
+  _RAND_47 = {1{`RANDOM}};
+  priority_47 = _RAND_47[2:0];
+  _RAND_48 = {1{`RANDOM}};
+  priority_48 = _RAND_48[2:0];
+  _RAND_49 = {1{`RANDOM}};
+  priority_49 = _RAND_49[2:0];
+  _RAND_50 = {1{`RANDOM}};
+  priority_50 = _RAND_50[2:0];
+  _RAND_51 = {1{`RANDOM}};
+  priority_51 = _RAND_51[2:0];
+  _RAND_52 = {1{`RANDOM}};
+  priority_52 = _RAND_52[2:0];
+  _RAND_53 = {1{`RANDOM}};
+  priority_53 = _RAND_53[2:0];
+  _RAND_54 = {1{`RANDOM}};
+  priority_54 = _RAND_54[2:0];
+  _RAND_55 = {1{`RANDOM}};
+  priority_55 = _RAND_55[2:0];
+  _RAND_56 = {1{`RANDOM}};
+  threshold_0 = _RAND_56[2:0];
+  _RAND_57 = {1{`RANDOM}};
+  threshold_1 = _RAND_57[2:0];
+  _RAND_58 = {1{`RANDOM}};
+  pending_0 = _RAND_58[0:0];
+  _RAND_59 = {1{`RANDOM}};
+  pending_1 = _RAND_59[0:0];
+  _RAND_60 = {1{`RANDOM}};
+  pending_2 = _RAND_60[0:0];
+  _RAND_61 = {1{`RANDOM}};
+  pending_3 = _RAND_61[0:0];
+  _RAND_62 = {1{`RANDOM}};
+  pending_4 = _RAND_62[0:0];
+  _RAND_63 = {1{`RANDOM}};
+  pending_5 = _RAND_63[0:0];
+  _RAND_64 = {1{`RANDOM}};
+  pending_6 = _RAND_64[0:0];
+  _RAND_65 = {1{`RANDOM}};
+  pending_7 = _RAND_65[0:0];
+  _RAND_66 = {1{`RANDOM}};
+  pending_8 = _RAND_66[0:0];
+  _RAND_67 = {1{`RANDOM}};
+  pending_9 = _RAND_67[0:0];
+  _RAND_68 = {1{`RANDOM}};
+  pending_10 = _RAND_68[0:0];
+  _RAND_69 = {1{`RANDOM}};
+  pending_11 = _RAND_69[0:0];
+  _RAND_70 = {1{`RANDOM}};
+  pending_12 = _RAND_70[0:0];
+  _RAND_71 = {1{`RANDOM}};
+  pending_13 = _RAND_71[0:0];
+  _RAND_72 = {1{`RANDOM}};
+  pending_14 = _RAND_72[0:0];
+  _RAND_73 = {1{`RANDOM}};
+  pending_15 = _RAND_73[0:0];
+  _RAND_74 = {1{`RANDOM}};
+  pending_16 = _RAND_74[0:0];
+  _RAND_75 = {1{`RANDOM}};
+  pending_17 = _RAND_75[0:0];
+  _RAND_76 = {1{`RANDOM}};
+  pending_18 = _RAND_76[0:0];
+  _RAND_77 = {1{`RANDOM}};
+  pending_19 = _RAND_77[0:0];
+  _RAND_78 = {1{`RANDOM}};
+  pending_20 = _RAND_78[0:0];
+  _RAND_79 = {1{`RANDOM}};
+  pending_21 = _RAND_79[0:0];
+  _RAND_80 = {1{`RANDOM}};
+  pending_22 = _RAND_80[0:0];
+  _RAND_81 = {1{`RANDOM}};
+  pending_23 = _RAND_81[0:0];
+  _RAND_82 = {1{`RANDOM}};
+  pending_24 = _RAND_82[0:0];
+  _RAND_83 = {1{`RANDOM}};
+  pending_25 = _RAND_83[0:0];
+  _RAND_84 = {1{`RANDOM}};
+  pending_26 = _RAND_84[0:0];
+  _RAND_85 = {1{`RANDOM}};
+  pending_27 = _RAND_85[0:0];
+  _RAND_86 = {1{`RANDOM}};
+  pending_28 = _RAND_86[0:0];
+  _RAND_87 = {1{`RANDOM}};
+  pending_29 = _RAND_87[0:0];
+  _RAND_88 = {1{`RANDOM}};
+  pending_30 = _RAND_88[0:0];
+  _RAND_89 = {1{`RANDOM}};
+  pending_31 = _RAND_89[0:0];
+  _RAND_90 = {1{`RANDOM}};
+  pending_32 = _RAND_90[0:0];
+  _RAND_91 = {1{`RANDOM}};
+  pending_33 = _RAND_91[0:0];
+  _RAND_92 = {1{`RANDOM}};
+  pending_34 = _RAND_92[0:0];
+  _RAND_93 = {1{`RANDOM}};
+  pending_35 = _RAND_93[0:0];
+  _RAND_94 = {1{`RANDOM}};
+  pending_36 = _RAND_94[0:0];
+  _RAND_95 = {1{`RANDOM}};
+  pending_37 = _RAND_95[0:0];
+  _RAND_96 = {1{`RANDOM}};
+  pending_38 = _RAND_96[0:0];
+  _RAND_97 = {1{`RANDOM}};
+  pending_39 = _RAND_97[0:0];
+  _RAND_98 = {1{`RANDOM}};
+  pending_40 = _RAND_98[0:0];
+  _RAND_99 = {1{`RANDOM}};
+  pending_41 = _RAND_99[0:0];
+  _RAND_100 = {1{`RANDOM}};
+  pending_42 = _RAND_100[0:0];
+  _RAND_101 = {1{`RANDOM}};
+  pending_43 = _RAND_101[0:0];
+  _RAND_102 = {1{`RANDOM}};
+  pending_44 = _RAND_102[0:0];
+  _RAND_103 = {1{`RANDOM}};
+  pending_45 = _RAND_103[0:0];
+  _RAND_104 = {1{`RANDOM}};
+  pending_46 = _RAND_104[0:0];
+  _RAND_105 = {1{`RANDOM}};
+  pending_47 = _RAND_105[0:0];
+  _RAND_106 = {1{`RANDOM}};
+  pending_48 = _RAND_106[0:0];
+  _RAND_107 = {1{`RANDOM}};
+  pending_49 = _RAND_107[0:0];
+  _RAND_108 = {1{`RANDOM}};
+  pending_50 = _RAND_108[0:0];
+  _RAND_109 = {1{`RANDOM}};
+  pending_51 = _RAND_109[0:0];
+  _RAND_110 = {1{`RANDOM}};
+  pending_52 = _RAND_110[0:0];
+  _RAND_111 = {1{`RANDOM}};
+  pending_53 = _RAND_111[0:0];
+  _RAND_112 = {1{`RANDOM}};
+  pending_54 = _RAND_112[0:0];
+  _RAND_113 = {1{`RANDOM}};
+  pending_55 = _RAND_113[0:0];
+  _RAND_114 = {1{`RANDOM}};
+  enables_0_0 = _RAND_114[6:0];
+  _RAND_115 = {1{`RANDOM}};
+  enables_0_1 = _RAND_115[7:0];
+  _RAND_116 = {1{`RANDOM}};
+  enables_0_2 = _RAND_116[7:0];
+  _RAND_117 = {1{`RANDOM}};
+  enables_0_3 = _RAND_117[7:0];
+  _RAND_118 = {1{`RANDOM}};
+  enables_0_4 = _RAND_118[7:0];
+  _RAND_119 = {1{`RANDOM}};
+  enables_0_5 = _RAND_119[7:0];
+  _RAND_120 = {1{`RANDOM}};
+  enables_0_6 = _RAND_120[7:0];
+  _RAND_121 = {1{`RANDOM}};
+  enables_0_7 = _RAND_121[0:0];
+  _RAND_122 = {1{`RANDOM}};
+  enables_1_0 = _RAND_122[6:0];
+  _RAND_123 = {1{`RANDOM}};
+  enables_1_1 = _RAND_123[7:0];
+  _RAND_124 = {1{`RANDOM}};
+  enables_1_2 = _RAND_124[7:0];
+  _RAND_125 = {1{`RANDOM}};
+  enables_1_3 = _RAND_125[7:0];
+  _RAND_126 = {1{`RANDOM}};
+  enables_1_4 = _RAND_126[7:0];
+  _RAND_127 = {1{`RANDOM}};
+  enables_1_5 = _RAND_127[7:0];
+  _RAND_128 = {1{`RANDOM}};
+  enables_1_6 = _RAND_128[7:0];
+  _RAND_129 = {1{`RANDOM}};
+  enables_1_7 = _RAND_129[0:0];
+  _RAND_130 = {1{`RANDOM}};
+  maxDevs_0 = _RAND_130[5:0];
+  _RAND_131 = {1{`RANDOM}};
+  maxDevs_1 = _RAND_131[5:0];
+  _RAND_132 = {1{`RANDOM}};
+  bundleOut_0_0_REG = _RAND_132[2:0];
+  _RAND_133 = {1{`RANDOM}};
+  bundleOut_1_0_REG = _RAND_133[2:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ClockSinkDomain(
+  input         auto_plic_int_in_0,
+  input         auto_plic_int_in_1,
+  input         auto_plic_int_in_2,
+  input         auto_plic_int_in_3,
+  input         auto_plic_int_in_4,
+  input         auto_plic_int_in_5,
+  input         auto_plic_int_in_6,
+  input         auto_plic_int_in_7,
+  input         auto_plic_int_in_8,
+  input         auto_plic_int_in_9,
+  input         auto_plic_int_in_10,
+  input         auto_plic_int_in_11,
+  input         auto_plic_int_in_12,
+  input         auto_plic_int_in_13,
+  input         auto_plic_int_in_14,
+  input         auto_plic_int_in_15,
+  input         auto_plic_int_in_16,
+  input         auto_plic_int_in_17,
+  input         auto_plic_int_in_18,
+  input         auto_plic_int_in_19,
+  input         auto_plic_int_in_20,
+  input         auto_plic_int_in_21,
+  input         auto_plic_int_in_22,
+  input         auto_plic_int_in_23,
+  input         auto_plic_int_in_24,
+  input         auto_plic_int_in_25,
+  input         auto_plic_int_in_26,
+  input         auto_plic_int_in_27,
+  input         auto_plic_int_in_28,
+  input         auto_plic_int_in_29,
+  input         auto_plic_int_in_30,
+  input         auto_plic_int_in_31,
+  input         auto_plic_int_in_32,
+  input         auto_plic_int_in_33,
+  input         auto_plic_int_in_34,
+  input         auto_plic_int_in_35,
+  input         auto_plic_int_in_36,
+  input         auto_plic_int_in_37,
+  input         auto_plic_int_in_38,
+  input         auto_plic_int_in_39,
+  input         auto_plic_int_in_40,
+  input         auto_plic_int_in_41,
+  input         auto_plic_int_in_42,
+  input         auto_plic_int_in_43,
+  input         auto_plic_int_in_44,
+  input         auto_plic_int_in_45,
+  input         auto_plic_int_in_46,
+  input         auto_plic_int_in_47,
+  input         auto_plic_int_in_48,
+  input         auto_plic_int_in_49,
+  input         auto_plic_int_in_50,
+  input         auto_plic_int_in_51,
+  input         auto_plic_int_in_52,
+  input         auto_plic_int_in_53,
+  input         auto_plic_int_in_54,
+  input         auto_plic_int_in_55,
+  output        auto_plic_int_out_1_0,
+  output        auto_plic_int_out_0_0,
+  output        auto_plic_in_a_ready,
+  input         auto_plic_in_a_valid,
+  input  [2:0]  auto_plic_in_a_bits_opcode,
+  input  [2:0]  auto_plic_in_a_bits_param,
+  input  [1:0]  auto_plic_in_a_bits_size,
+  input  [6:0]  auto_plic_in_a_bits_source,
+  input  [27:0] auto_plic_in_a_bits_address,
+  input  [3:0]  auto_plic_in_a_bits_mask,
+  input  [31:0] auto_plic_in_a_bits_data,
+  input         auto_plic_in_a_bits_corrupt,
+  input         auto_plic_in_d_ready,
+  output        auto_plic_in_d_valid,
+  output [2:0]  auto_plic_in_d_bits_opcode,
+  output [1:0]  auto_plic_in_d_bits_size,
+  output [6:0]  auto_plic_in_d_bits_source,
+  output [31:0] auto_plic_in_d_bits_data,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  plic_clock; // @[Plic.scala 362:46]
+  wire  plic_reset; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_0; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_1; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_2; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_3; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_4; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_5; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_6; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_7; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_8; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_9; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_10; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_11; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_12; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_13; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_14; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_15; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_16; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_17; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_18; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_19; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_20; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_21; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_22; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_23; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_24; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_25; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_26; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_27; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_28; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_29; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_30; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_31; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_32; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_33; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_34; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_35; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_36; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_37; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_38; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_39; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_40; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_41; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_42; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_43; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_44; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_45; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_46; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_47; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_48; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_49; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_50; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_51; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_52; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_53; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_54; // @[Plic.scala 362:46]
+  wire  plic_auto_int_in_55; // @[Plic.scala 362:46]
+  wire  plic_auto_int_out_1_0; // @[Plic.scala 362:46]
+  wire  plic_auto_int_out_0_0; // @[Plic.scala 362:46]
+  wire  plic_auto_in_a_ready; // @[Plic.scala 362:46]
+  wire  plic_auto_in_a_valid; // @[Plic.scala 362:46]
+  wire [2:0] plic_auto_in_a_bits_opcode; // @[Plic.scala 362:46]
+  wire [2:0] plic_auto_in_a_bits_param; // @[Plic.scala 362:46]
+  wire [1:0] plic_auto_in_a_bits_size; // @[Plic.scala 362:46]
+  wire [6:0] plic_auto_in_a_bits_source; // @[Plic.scala 362:46]
+  wire [27:0] plic_auto_in_a_bits_address; // @[Plic.scala 362:46]
+  wire [3:0] plic_auto_in_a_bits_mask; // @[Plic.scala 362:46]
+  wire [31:0] plic_auto_in_a_bits_data; // @[Plic.scala 362:46]
+  wire  plic_auto_in_a_bits_corrupt; // @[Plic.scala 362:46]
+  wire  plic_auto_in_d_ready; // @[Plic.scala 362:46]
+  wire  plic_auto_in_d_valid; // @[Plic.scala 362:46]
+  wire [2:0] plic_auto_in_d_bits_opcode; // @[Plic.scala 362:46]
+  wire [1:0] plic_auto_in_d_bits_size; // @[Plic.scala 362:46]
+  wire [6:0] plic_auto_in_d_bits_source; // @[Plic.scala 362:46]
+  wire [31:0] plic_auto_in_d_bits_data; // @[Plic.scala 362:46]
+  TLPLIC plic ( // @[Plic.scala 362:46]
+    .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_in_44(plic_auto_int_in_44),
+    .auto_int_in_45(plic_auto_int_in_45),
+    .auto_int_in_46(plic_auto_int_in_46),
+    .auto_int_in_47(plic_auto_int_in_47),
+    .auto_int_in_48(plic_auto_int_in_48),
+    .auto_int_in_49(plic_auto_int_in_49),
+    .auto_int_in_50(plic_auto_int_in_50),
+    .auto_int_in_51(plic_auto_int_in_51),
+    .auto_int_in_52(plic_auto_int_in_52),
+    .auto_int_in_53(plic_auto_int_in_53),
+    .auto_int_in_54(plic_auto_int_in_54),
+    .auto_int_in_55(plic_auto_int_in_55),
+    .auto_int_out_1_0(plic_auto_int_out_1_0),
+    .auto_int_out_0_0(plic_auto_int_out_0_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)
+  );
+  assign auto_plic_int_out_1_0 = plic_auto_int_out_1_0; // @[LazyModule.scala 311:12]
+  assign auto_plic_int_out_0_0 = plic_auto_int_out_0_0; // @[LazyModule.scala 311:12]
+  assign auto_plic_in_a_ready = plic_auto_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_plic_in_d_valid = plic_auto_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_plic_in_d_bits_opcode = plic_auto_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_plic_in_d_bits_size = plic_auto_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_plic_in_d_bits_source = plic_auto_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_plic_in_d_bits_data = plic_auto_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign plic_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign plic_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign plic_auto_int_in_0 = auto_plic_int_in_0; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_1 = auto_plic_int_in_1; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_2 = auto_plic_int_in_2; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_3 = auto_plic_int_in_3; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_4 = auto_plic_int_in_4; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_5 = auto_plic_int_in_5; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_6 = auto_plic_int_in_6; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_7 = auto_plic_int_in_7; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_8 = auto_plic_int_in_8; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_9 = auto_plic_int_in_9; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_10 = auto_plic_int_in_10; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_11 = auto_plic_int_in_11; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_12 = auto_plic_int_in_12; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_13 = auto_plic_int_in_13; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_14 = auto_plic_int_in_14; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_15 = auto_plic_int_in_15; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_16 = auto_plic_int_in_16; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_17 = auto_plic_int_in_17; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_18 = auto_plic_int_in_18; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_19 = auto_plic_int_in_19; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_20 = auto_plic_int_in_20; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_21 = auto_plic_int_in_21; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_22 = auto_plic_int_in_22; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_23 = auto_plic_int_in_23; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_24 = auto_plic_int_in_24; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_25 = auto_plic_int_in_25; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_26 = auto_plic_int_in_26; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_27 = auto_plic_int_in_27; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_28 = auto_plic_int_in_28; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_29 = auto_plic_int_in_29; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_30 = auto_plic_int_in_30; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_31 = auto_plic_int_in_31; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_32 = auto_plic_int_in_32; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_33 = auto_plic_int_in_33; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_34 = auto_plic_int_in_34; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_35 = auto_plic_int_in_35; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_36 = auto_plic_int_in_36; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_37 = auto_plic_int_in_37; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_38 = auto_plic_int_in_38; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_39 = auto_plic_int_in_39; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_40 = auto_plic_int_in_40; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_41 = auto_plic_int_in_41; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_42 = auto_plic_int_in_42; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_43 = auto_plic_int_in_43; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_44 = auto_plic_int_in_44; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_45 = auto_plic_int_in_45; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_46 = auto_plic_int_in_46; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_47 = auto_plic_int_in_47; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_48 = auto_plic_int_in_48; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_49 = auto_plic_int_in_49; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_50 = auto_plic_int_in_50; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_51 = auto_plic_int_in_51; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_52 = auto_plic_int_in_52; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_53 = auto_plic_int_in_53; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_54 = auto_plic_int_in_54; // @[LazyModule.scala 309:16]
+  assign plic_auto_int_in_55 = auto_plic_int_in_55; // @[LazyModule.scala 309:16]
+  assign plic_auto_in_a_valid = auto_plic_in_a_valid; // @[LazyModule.scala 309:16]
+  assign plic_auto_in_a_bits_opcode = auto_plic_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign plic_auto_in_a_bits_param = auto_plic_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign plic_auto_in_a_bits_size = auto_plic_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign plic_auto_in_a_bits_source = auto_plic_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign plic_auto_in_a_bits_address = auto_plic_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign plic_auto_in_a_bits_mask = auto_plic_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign plic_auto_in_a_bits_data = auto_plic_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign plic_auto_in_a_bits_corrupt = auto_plic_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign plic_auto_in_d_ready = auto_plic_in_d_ready; // @[LazyModule.scala 309:16]
+endmodule
+module TLMonitor_47(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [25:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [25:0] _GEN_71 = {{24'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [25:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 26'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [25:0] _T_33 = io_in_a_bits_address ^ 26'h2000000; // @[Parameters.scala 137:31]
+  wire [26:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [26:0] _T_36 = $signed(_T_34) & -27'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 27'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [25:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_663 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_663) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CLINT.scala:111:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CLINT.scala:111:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[25:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module CLINT(
+  input         clock,
+  input         reset,
+  output        auto_int_out_0,
+  output        auto_int_out_1,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [1:0]  auto_in_a_bits_size,
+  input  [6:0]  auto_in_a_bits_source,
+  input  [25:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_size,
+  output [6:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         io_rtcTick
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [63:0] _RAND_0;
+  reg [63:0] _RAND_1;
+  reg [31:0] _RAND_2;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [25:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  reg [63:0] time_; // @[CLINT.scala 69:23]
+  wire [63:0] _time_T_1 = time_ + 64'h1; // @[CLINT.scala 70:38]
+  reg [63:0] timecmp_0; // @[CLINT.scala 73:41]
+  reg  ipi_0; // @[CLINT.scala 74:41]
+  wire [7:0] oldBytes__0 = timecmp_0[7:0]; // @[RegField.scala 151:53]
+  wire [7:0] oldBytes__1 = timecmp_0[15:8]; // @[RegField.scala 151:53]
+  wire [7:0] oldBytes__2 = timecmp_0[23:16]; // @[RegField.scala 151:53]
+  wire [7:0] oldBytes__3 = timecmp_0[31:24]; // @[RegField.scala 151:53]
+  wire [7:0] oldBytes__4 = timecmp_0[39:32]; // @[RegField.scala 151:53]
+  wire [7:0] oldBytes__5 = timecmp_0[47:40]; // @[RegField.scala 151:53]
+  wire [7:0] oldBytes__6 = timecmp_0[55:48]; // @[RegField.scala 151:53]
+  wire [7:0] oldBytes__7 = timecmp_0[63:56]; // @[RegField.scala 151:53]
+  wire  in_bits_read = auto_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [13:0] in_bits_index = auto_in_a_bits_address[15:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire [2:0] out_iindex = {in_bits_index[13],in_bits_index[12],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [13:0] out_findex = in_bits_index & 14'hffe; // @[RegisterRouter.scala 83:24]
+  wire  _out_T_6 = out_findex == 14'hffe; // @[RegisterRouter.scala 83:24]
+  wire  _out_T_2 = out_findex == 14'h0; // @[RegisterRouter.scala 83:24]
+  wire [7:0] _out_backSel_T = 8'h1 << out_iindex; // @[OneHot.scala 57:35]
+  wire  out_backSel_2 = _out_backSel_T[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_14 = auto_in_a_valid & auto_in_d_ready & ~in_bits_read & out_backSel_2 & out_findex == 14'h0; // @[RegisterRouter.scala 83:24]
+  wire [7:0] _out_backMask_T_11 = auto_in_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_9 = auto_in_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_7 = auto_in_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_5 = auto_in_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_backMask = {_out_backMask_T_11,_out_backMask_T_9,_out_backMask_T_7,_out_backMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_womask_14 = &out_backMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_14 = out_woready_14 & out_womask_14; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_15 = &out_backMask[15:8]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_15 = out_woready_14 & out_womask_15; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_16 = &out_backMask[23:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_16 = out_woready_14 & out_womask_16; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_17 = &out_backMask[31:24]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_17 = out_woready_14 & out_womask_17; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_3 = _out_backSel_T[3]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_2 = auto_in_a_valid & auto_in_d_ready & ~in_bits_read & out_backSel_3 & out_findex == 14'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_2 = out_woready_2 & out_womask_14; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_3 = out_woready_2 & out_womask_15; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_4 = out_woready_2 & out_womask_16; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_5 = out_woready_2 & out_womask_17; // @[RegisterRouter.scala 83:24]
+  wire [7:0] newBytes__1 = out_f_woready_15 ? auto_in_a_bits_data[15:8] : oldBytes__1; // @[RegField.scala 158:{20,33}]
+  wire [7:0] newBytes__0 = out_f_woready_14 ? auto_in_a_bits_data[7:0] : oldBytes__0; // @[RegField.scala 158:{20,33}]
+  wire [7:0] newBytes__3 = out_f_woready_17 ? auto_in_a_bits_data[31:24] : oldBytes__3; // @[RegField.scala 158:{20,33}]
+  wire [7:0] newBytes__2 = out_f_woready_16 ? auto_in_a_bits_data[23:16] : oldBytes__2; // @[RegField.scala 158:{20,33}]
+  wire [7:0] newBytes__5 = out_f_woready_3 ? auto_in_a_bits_data[15:8] : oldBytes__5; // @[RegField.scala 158:{20,33}]
+  wire [7:0] newBytes__4 = out_f_woready_2 ? auto_in_a_bits_data[7:0] : oldBytes__4; // @[RegField.scala 158:{20,33}]
+  wire [7:0] newBytes__7 = out_f_woready_5 ? auto_in_a_bits_data[31:24] : oldBytes__7; // @[RegField.scala 158:{20,33}]
+  wire [7:0] newBytes__6 = out_f_woready_4 ? auto_in_a_bits_data[23:16] : oldBytes__6; // @[RegField.scala 158:{20,33}]
+  wire [63:0] _timecmp_0_T = {newBytes__7,newBytes__6,newBytes__5,newBytes__4,newBytes__3,newBytes__2,newBytes__1,
+    newBytes__0}; // @[RegField.scala 154:52]
+  wire [7:0] oldBytes_1_0 = time_[7:0]; // @[RegField.scala 151:53]
+  wire [7:0] oldBytes_1_1 = time_[15:8]; // @[RegField.scala 151:53]
+  wire [7:0] oldBytes_1_2 = time_[23:16]; // @[RegField.scala 151:53]
+  wire [7:0] oldBytes_1_3 = time_[31:24]; // @[RegField.scala 151:53]
+  wire [7:0] oldBytes_1_4 = time_[39:32]; // @[RegField.scala 151:53]
+  wire [7:0] oldBytes_1_5 = time_[47:40]; // @[RegField.scala 151:53]
+  wire [7:0] oldBytes_1_6 = time_[55:48]; // @[RegField.scala 151:53]
+  wire [7:0] oldBytes_1_7 = time_[63:56]; // @[RegField.scala 151:53]
+  wire  out_backSel_4 = _out_backSel_T[4]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_6 = auto_in_a_valid & auto_in_d_ready & ~in_bits_read & out_backSel_4 & out_findex == 14'hffe; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_6 = out_woready_6 & out_womask_14; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_7 = out_woready_6 & out_womask_15; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_8 = out_woready_6 & out_womask_16; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_9 = out_woready_6 & out_womask_17; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_5 = _out_backSel_T[5]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_10 = auto_in_a_valid & auto_in_d_ready & ~in_bits_read & out_backSel_5 & out_findex == 14'hffe; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_10 = out_woready_10 & out_womask_14; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_11 = out_woready_10 & out_womask_15; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_12 = out_woready_10 & out_womask_16; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_13 = out_woready_10 & out_womask_17; // @[RegisterRouter.scala 83:24]
+  wire [7:0] newBytes_1_1 = out_f_woready_7 ? auto_in_a_bits_data[15:8] : oldBytes_1_1; // @[RegField.scala 158:{20,33}]
+  wire [7:0] newBytes_1_0 = out_f_woready_6 ? auto_in_a_bits_data[7:0] : oldBytes_1_0; // @[RegField.scala 158:{20,33}]
+  wire [7:0] newBytes_1_3 = out_f_woready_9 ? auto_in_a_bits_data[31:24] : oldBytes_1_3; // @[RegField.scala 158:{20,33}]
+  wire [7:0] newBytes_1_2 = out_f_woready_8 ? auto_in_a_bits_data[23:16] : oldBytes_1_2; // @[RegField.scala 158:{20,33}]
+  wire [7:0] newBytes_1_5 = out_f_woready_11 ? auto_in_a_bits_data[15:8] : oldBytes_1_5; // @[RegField.scala 158:{20,33}]
+  wire [7:0] newBytes_1_4 = out_f_woready_10 ? auto_in_a_bits_data[7:0] : oldBytes_1_4; // @[RegField.scala 158:{20,33}]
+  wire [7:0] newBytes_1_7 = out_f_woready_13 ? auto_in_a_bits_data[31:24] : oldBytes_1_7; // @[RegField.scala 158:{20,33}]
+  wire [7:0] newBytes_1_6 = out_f_woready_12 ? auto_in_a_bits_data[23:16] : oldBytes_1_6; // @[RegField.scala 158:{20,33}]
+  wire [63:0] _time_T_2 = {newBytes_1_7,newBytes_1_6,newBytes_1_5,newBytes_1_4,newBytes_1_3,newBytes_1_2,newBytes_1_1,
+    newBytes_1_0}; // @[RegField.scala 154:52]
+  wire  out_wimask = &out_backMask[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_0 = _out_backSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_0 = auto_in_a_valid & auto_in_d_ready & ~in_bits_read & out_frontSel_0 & out_findex == 14'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid = out_wivalid_0 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend = {1'h0,ipi_0}; // @[Cat.scala 31:58]
+  wire [31:0] _out_T_28 = {{30'd0}, out_prepend}; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_3 = {oldBytes__7,oldBytes__6,oldBytes__5,oldBytes__4}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_6 = {oldBytes_1_3,oldBytes_1_2,oldBytes_1_1,oldBytes_1_0}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_9 = {oldBytes_1_7,oldBytes_1_6,oldBytes_1_5,oldBytes_1_4}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_12 = {oldBytes__3,oldBytes__2,oldBytes__1,oldBytes__0}; // @[Cat.scala 31:58]
+  wire  _GEN_54 = 3'h2 == out_iindex ? _out_T_2 : 3'h1 == out_iindex | _out_T_2; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_55 = 3'h3 == out_iindex ? _out_T_2 : _GEN_54; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_56 = 3'h4 == out_iindex ? _out_T_6 : _GEN_55; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_57 = 3'h5 == out_iindex ? _out_T_6 : _GEN_56; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_59 = 3'h7 == out_iindex | (3'h6 == out_iindex | _GEN_57); // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_61 = 3'h1 == out_iindex ? 32'h0 : _out_T_28; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_62 = 3'h2 == out_iindex ? out_prepend_12 : _GEN_61; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_63 = 3'h3 == out_iindex ? out_prepend_3 : _GEN_62; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_64 = 3'h4 == out_iindex ? out_prepend_6 : _GEN_63; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_65 = 3'h5 == out_iindex ? out_prepend_9 : _GEN_64; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_66 = 3'h6 == out_iindex ? 32'h0 : _GEN_65; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_67 = 3'h7 == out_iindex ? 32'h0 : _GEN_66; // @[MuxLiteral.scala 48:{10,10}]
+  TLMonitor_47 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  assign auto_int_out_0 = ipi_0; // @[CLINT.scala 78:37]
+  assign auto_int_out_1 = time_ >= timecmp_0; // @[CLINT.scala 79:43]
+  assign auto_in_a_ready = auto_in_d_ready; // @[RegisterRouter.scala 83:24]
+  assign auto_in_d_valid = auto_in_a_valid; // @[RegisterRouter.scala 83:24]
+  assign auto_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign auto_in_d_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_in_d_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_in_d_bits_data = _GEN_59 ? _GEN_67 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = auto_in_d_ready; // @[RegisterRouter.scala 83:24]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_in_a_valid; // @[RegisterRouter.scala 83:24]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  always @(posedge clock) begin
+    if (reset) begin // @[CLINT.scala 69:23]
+      time_ <= 64'h0; // @[CLINT.scala 69:23]
+    end else if (out_f_woready_6 | out_f_woready_7 | out_f_woready_8 | out_f_woready_9 | out_f_woready_10 |
+      out_f_woready_11 | out_f_woready_12 | out_f_woready_13) begin // @[RegField.scala 154:34]
+      time_ <= _time_T_2; // @[RegField.scala 154:40]
+    end else if (io_rtcTick) begin // @[CLINT.scala 70:23]
+      time_ <= _time_T_1; // @[CLINT.scala 70:30]
+    end
+    if (out_f_woready_14 | out_f_woready_15 | out_f_woready_16 | out_f_woready_17 | out_f_woready_2 | out_f_woready_3 |
+      out_f_woready_4 | out_f_woready_5) begin // @[RegField.scala 154:34]
+      timecmp_0 <= _timecmp_0_T; // @[RegField.scala 154:40]
+    end
+    if (reset) begin // @[CLINT.scala 74:41]
+      ipi_0 <= 1'h0; // @[CLINT.scala 74:41]
+    end else if (out_f_wivalid) begin // @[RegField.scala 74:88]
+      ipi_0 <= auto_in_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {2{`RANDOM}};
+  timecmp_0 = _RAND_1[63:0];
+  _RAND_2 = {1{`RANDOM}};
+  ipi_0 = _RAND_2[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLMonitor_48(
+  input        clock,
+  input        reset,
+  input        io_in_a_ready,
+  input        io_in_a_valid,
+  input  [2:0] io_in_a_bits_opcode,
+  input  [8:0] io_in_a_bits_address,
+  input        io_in_d_ready,
+  input        io_in_d_valid,
+  input  [2:0] io_in_d_bits_opcode,
+  input  [1:0] io_in_d_bits_param,
+  input  [1:0] io_in_d_bits_size,
+  input        io_in_d_bits_sink,
+  input        io_in_d_bits_denied,
+  input        io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire [8:0] _is_aligned_T = io_in_a_bits_address & 9'h3; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 9'h0; // @[Edges.scala 20:24]
+  wire [9:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_15 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [9:0] _T_23 = $signed(_T_7) & 10'sh200; // @[Parameters.scala 137:52]
+  wire  _T_24 = $signed(_T_23) == 10'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_127 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_167 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_201 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_266 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_296 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_330 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _T_334 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_338 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_342 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_346 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_350 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_354 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_365 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_369 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_382 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_402 = _T_350 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_411 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_428 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_446 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [8:0] address; // @[Monitor.scala 388:22]
+  wire  _T_476 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_477 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_493 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg  sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_500 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_501 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_505 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_509 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_517 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_521 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  reg  inflight; // @[Monitor.scala 611:27]
+  reg [3:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [3:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_71 = {{12'd0}, inflight_opcodes}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_71 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [15:0] _GEN_73 = {{12'd0}, inflight_sizes}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_527 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire  _T_530 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [18:0] _a_opcodes_set_T_1 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? 3'h5 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [17:0] _a_sizes_set_T_1 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire  _T_534 = ~inflight; // @[Monitor.scala 658:17]
+  wire [1:0] _GEN_16 = a_first_done & a_first_1 ? 2'h1 : 2'h0; // @[Monitor.scala 652:72 653:28]
+  wire [18:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
+  wire [17:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 18'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_538 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_540 = ~_T_334; // @[Monitor.scala 671:74]
+  wire  _T_541 = io_in_d_valid & d_first_1 & ~_T_334; // @[Monitor.scala 671:71]
+  wire [30:0] _d_opcodes_clr_T_5 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1:0] _GEN_22 = d_first_done & d_first_1 & _T_540 ? 2'h1 : 2'h0; // @[Monitor.scala 675:91 676:21]
+  wire [30:0] _GEN_23 = d_first_done & d_first_1 & _T_540 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _T_553 = inflight | _T_527; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_558 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_559 = io_in_d_bits_opcode == _GEN_32 | _T_558; // @[Monitor.scala 685:77]
+  wire  _T_563 = 2'h2 == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_570 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_571 = io_in_d_bits_opcode == _GEN_48 | _T_570; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_75 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_575 = _GEN_75 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_585 = _T_538 & a_first_1 & io_in_a_valid & _T_540; // @[Monitor.scala 694:116]
+  wire  _T_587 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire  a_set = _GEN_16[0];
+  wire  d_clr = _GEN_22[0];
+  wire [3:0] a_opcodes_set = _GEN_19[3:0];
+  wire [3:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [3:0] d_opcodes_clr = _GEN_23[3:0];
+  wire [3:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [3:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [3:0] a_sizes_set = _GEN_20[3:0];
+  wire [3:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [3:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_596 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [3:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [15:0] _GEN_78 = {{12'd0}, inflight_sizes_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_78 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_622 = io_in_d_valid & d_first_2 & _T_334; // @[Monitor.scala 779:71]
+  wire [30:0] _GEN_68 = d_first_done & d_first_2 & _T_334 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 785:21]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_640 = _GEN_75 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [3:0] d_opcodes_clr_1 = _GEN_68[3:0];
+  wire [3:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [3:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 1'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= (inflight | a_set) & ~d_clr; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 4'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 4'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 4'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_15 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_69 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_69 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_69 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_69 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_69 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_69 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_69 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_69 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_24 & (io_in_a_valid & _T_127 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_127 & ~reset & ~_T_24) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_127 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_127 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_24 & (io_in_a_valid & _T_167 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_167 & ~reset & ~_T_24) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_167 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_167 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_201 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_201 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_201 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_201 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_266 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_266 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_266 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_266 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_296 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_296 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_296 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_296 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_330 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_330) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_338 & (io_in_d_valid & _T_334 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_334 & _T_2 & ~_T_338) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_342 & (io_in_d_valid & _T_334 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_334 & _T_2 & ~_T_342) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_346 & (io_in_d_valid & _T_334 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_334 & _T_2 & ~_T_346) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_350 & (io_in_d_valid & _T_334 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_334 & _T_2 & ~_T_350) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        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 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        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 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_338 & (io_in_d_valid & _T_354 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        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 & _T_2 & ~_T_338) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_365 & (io_in_d_valid & _T_354 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        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 & _T_2 & ~_T_365) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_369 & (io_in_d_valid & _T_354 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        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 & _T_2 & ~_T_369) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_346 & (io_in_d_valid & _T_354 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        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 & _T_2 & ~_T_346) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_382 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_382 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_338 & (io_in_d_valid & _T_382 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_382 & _T_2 & ~_T_338) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_365 & (io_in_d_valid & _T_382 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_382 & _T_2 & ~_T_365) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_369 & (io_in_d_valid & _T_382 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_382 & _T_2 & ~_T_369) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_d_valid & _T_382 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_382 & _T_2 & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_342 & (io_in_d_valid & _T_411 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_411 & _T_2 & ~_T_342) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_346 & (io_in_d_valid & _T_411 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_411 & _T_2 & ~_T_346) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_342 & (io_in_d_valid & _T_428 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_428 & _T_2 & ~_T_342) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_402 & (io_in_d_valid & _T_428 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_428 & _T_2 & ~_T_402) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_342 & (io_in_d_valid & _T_446 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2 & ~_T_342) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_346 & (io_in_d_valid & _T_446 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_446 & _T_2 & ~_T_346) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_477 & (_T_476 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_476 & ~reset & ~_T_477) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_493 & (_T_476 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_476 & ~reset & ~_T_493) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_501 & (_T_500 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_500 & _T_2 & ~_T_501) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_505 & (_T_500 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_500 & _T_2 & ~_T_505) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_509 & (_T_500 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_500 & _T_2 & ~_T_509) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_517 & (_T_500 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_500 & _T_2 & ~_T_517) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_521 & (_T_500 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_500 & _T_2 & ~_T_521) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_534 & (_T_530 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_530 & ~reset & ~_T_534) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_553 & (_T_541 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_541 & _T_2 & ~_T_553) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_559 & (_T_541 & _T_527 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_541 & _T_527 & _T_2 & ~_T_559) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_563 & (_T_541 & _T_527 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_541 & _T_527 & _T_2 & ~_T_563) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_571 & (_T_541 & ~_T_527 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_541 & ~_T_527 & _T_2 & ~_T_571) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_575 & (_T_541 & ~_T_527 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_541 & ~_T_527 & _T_2 & ~_T_575) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_587 & (_T_585 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_585 & _T_2 & ~_T_587) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_596 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_596) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at Debug.scala:628:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_622 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_640 & (_T_622 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_622 & _T_2 & ~_T_640) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Debug.scala:628:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  address = _RAND_2[8:0];
+  _RAND_3 = {1{`RANDOM}};
+  d_first_counter = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  opcode_1 = _RAND_4[2:0];
+  _RAND_5 = {1{`RANDOM}};
+  param_1 = _RAND_5[1:0];
+  _RAND_6 = {1{`RANDOM}};
+  size_1 = _RAND_6[1:0];
+  _RAND_7 = {1{`RANDOM}};
+  sink = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  denied = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  inflight = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_10[3:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_sizes = _RAND_11[3:0];
+  _RAND_12 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  watchdog = _RAND_14[31:0];
+  _RAND_15 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_15[3:0];
+  _RAND_16 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_16[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLXbar_9(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [8:0]  auto_in_a_bits_address,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  input         auto_out_1_a_ready,
+  output        auto_out_1_a_valid,
+  output [2:0]  auto_out_1_a_bits_opcode,
+  output [6:0]  auto_out_1_a_bits_address,
+  output [31:0] auto_out_1_a_bits_data,
+  output        auto_out_1_d_ready,
+  input         auto_out_1_d_valid,
+  input  [2:0]  auto_out_1_d_bits_opcode,
+  input  [31:0] auto_out_1_d_bits_data,
+  input         auto_out_0_a_ready,
+  output        auto_out_0_a_valid,
+  output [2:0]  auto_out_0_a_bits_opcode,
+  output [8:0]  auto_out_0_a_bits_address,
+  output [31:0] auto_out_0_a_bits_data,
+  output        auto_out_0_d_ready,
+  input         auto_out_0_d_valid,
+  input  [2:0]  auto_out_0_d_bits_opcode,
+  input  [1:0]  auto_out_0_d_bits_param,
+  input  [1:0]  auto_out_0_d_bits_size,
+  input         auto_out_0_d_bits_sink,
+  input         auto_out_0_d_bits_denied,
+  input  [31:0] auto_out_0_d_bits_data,
+  input         auto_out_0_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [8:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  wire [9:0] _requestAIO_T_1 = {1'b0,$signed(auto_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire [9:0] _requestAIO_T_3 = $signed(_requestAIO_T_1) & 10'sh1c0; // @[Parameters.scala 137:52]
+  wire  _requestAIO_T_4 = $signed(_requestAIO_T_3) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _requestAIO_T_5 = auto_in_a_bits_address ^ 9'h44; // @[Parameters.scala 137:31]
+  wire [9:0] _requestAIO_T_6 = {1'b0,$signed(_requestAIO_T_5)}; // @[Parameters.scala 137:49]
+  wire [9:0] _requestAIO_T_8 = $signed(_requestAIO_T_6) & 10'sh1f4; // @[Parameters.scala 137:52]
+  wire  _requestAIO_T_9 = $signed(_requestAIO_T_8) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _requestAIO_T_10 = auto_in_a_bits_address ^ 9'h58; // @[Parameters.scala 137:31]
+  wire [9:0] _requestAIO_T_11 = {1'b0,$signed(_requestAIO_T_10)}; // @[Parameters.scala 137:49]
+  wire [9:0] _requestAIO_T_13 = $signed(_requestAIO_T_11) & 10'sh1f8; // @[Parameters.scala 137:52]
+  wire  _requestAIO_T_14 = $signed(_requestAIO_T_13) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _requestAIO_T_15 = auto_in_a_bits_address ^ 9'h60; // @[Parameters.scala 137:31]
+  wire [9:0] _requestAIO_T_16 = {1'b0,$signed(_requestAIO_T_15)}; // @[Parameters.scala 137:49]
+  wire [9:0] _requestAIO_T_18 = $signed(_requestAIO_T_16) & 10'sh1e0; // @[Parameters.scala 137:52]
+  wire  _requestAIO_T_19 = $signed(_requestAIO_T_18) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _requestAIO_T_20 = auto_in_a_bits_address ^ 9'h80; // @[Parameters.scala 137:31]
+  wire [9:0] _requestAIO_T_21 = {1'b0,$signed(_requestAIO_T_20)}; // @[Parameters.scala 137:49]
+  wire [9:0] _requestAIO_T_23 = $signed(_requestAIO_T_21) & 10'sh180; // @[Parameters.scala 137:52]
+  wire  _requestAIO_T_24 = $signed(_requestAIO_T_23) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _requestAIO_T_25 = auto_in_a_bits_address ^ 9'h100; // @[Parameters.scala 137:31]
+  wire [9:0] _requestAIO_T_26 = {1'b0,$signed(_requestAIO_T_25)}; // @[Parameters.scala 137:49]
+  wire [9:0] _requestAIO_T_28 = $signed(_requestAIO_T_26) & 10'sh100; // @[Parameters.scala 137:52]
+  wire  _requestAIO_T_29 = $signed(_requestAIO_T_28) == 10'sh0; // @[Parameters.scala 137:67]
+  wire  requestAIO_0_0 = _requestAIO_T_4 | _requestAIO_T_9 | _requestAIO_T_14 | _requestAIO_T_19 | _requestAIO_T_24 |
+    _requestAIO_T_29; // @[Xbar.scala 363:92]
+  wire [8:0] _requestAIO_T_35 = auto_in_a_bits_address ^ 9'h40; // @[Parameters.scala 137:31]
+  wire [9:0] _requestAIO_T_36 = {1'b0,$signed(_requestAIO_T_35)}; // @[Parameters.scala 137:49]
+  wire [9:0] _requestAIO_T_38 = $signed(_requestAIO_T_36) & 10'sh1f4; // @[Parameters.scala 137:52]
+  wire  _requestAIO_T_39 = $signed(_requestAIO_T_38) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _requestAIO_T_40 = auto_in_a_bits_address ^ 9'h50; // @[Parameters.scala 137:31]
+  wire [9:0] _requestAIO_T_41 = {1'b0,$signed(_requestAIO_T_40)}; // @[Parameters.scala 137:49]
+  wire [9:0] _requestAIO_T_43 = $signed(_requestAIO_T_41) & 10'sh1f8; // @[Parameters.scala 137:52]
+  wire  _requestAIO_T_44 = $signed(_requestAIO_T_43) == 10'sh0; // @[Parameters.scala 137:67]
+  wire  requestAIO_0_1 = _requestAIO_T_39 | _requestAIO_T_44; // @[Xbar.scala 363:92]
+  reg  beatsLeft; // @[Arbiter.scala 87:30]
+  wire  idle = ~beatsLeft; // @[Arbiter.scala 88:28]
+  wire  latch = idle & auto_in_d_ready; // @[Arbiter.scala 89:24]
+  wire [1:0] readys_valid = {auto_out_1_d_valid,auto_out_0_d_valid}; // @[Cat.scala 31:58]
+  wire  _readys_T_3 = ~reset; // @[Arbiter.scala 22:12]
+  reg [1:0] readys_mask; // @[Arbiter.scala 23:23]
+  wire [1:0] _readys_filter_T = ~readys_mask; // @[Arbiter.scala 24:30]
+  wire [1:0] _readys_filter_T_1 = readys_valid & _readys_filter_T; // @[Arbiter.scala 24:28]
+  wire [3:0] readys_filter = {_readys_filter_T_1,auto_out_1_d_valid,auto_out_0_d_valid}; // @[Cat.scala 31:58]
+  wire [3:0] _GEN_1 = {{1'd0}, readys_filter[3:1]}; // @[package.scala 253:43]
+  wire [3:0] _readys_unready_T_1 = readys_filter | _GEN_1; // @[package.scala 253:43]
+  wire [3:0] _readys_unready_T_4 = {readys_mask, 2'h0}; // @[Arbiter.scala 25:66]
+  wire [3:0] _GEN_2 = {{1'd0}, _readys_unready_T_1[3:1]}; // @[Arbiter.scala 25:58]
+  wire [3:0] readys_unready = _GEN_2 | _readys_unready_T_4; // @[Arbiter.scala 25:58]
+  wire [1:0] _readys_readys_T_2 = readys_unready[3:2] & readys_unready[1:0]; // @[Arbiter.scala 26:39]
+  wire [1:0] readys_readys = ~_readys_readys_T_2; // @[Arbiter.scala 26:18]
+  wire [1:0] _readys_mask_T = readys_readys & readys_valid; // @[Arbiter.scala 28:29]
+  wire [2:0] _readys_mask_T_1 = {_readys_mask_T, 1'h0}; // @[package.scala 244:48]
+  wire [1:0] _readys_mask_T_3 = _readys_mask_T | _readys_mask_T_1[1:0]; // @[package.scala 244:43]
+  wire  readys_0 = readys_readys[0]; // @[Arbiter.scala 95:86]
+  wire  readys_1 = readys_readys[1]; // @[Arbiter.scala 95:86]
+  wire  earlyWinner_0 = readys_0 & auto_out_0_d_valid; // @[Arbiter.scala 97:79]
+  wire  earlyWinner_1 = readys_1 & auto_out_1_d_valid; // @[Arbiter.scala 97:79]
+  wire  _prefixOR_T = earlyWinner_0 | earlyWinner_1; // @[Arbiter.scala 104:53]
+  wire  _T_10 = auto_out_0_d_valid | auto_out_1_d_valid; // @[Arbiter.scala 107:36]
+  wire  _T_11 = ~(auto_out_0_d_valid | auto_out_1_d_valid); // @[Arbiter.scala 107:15]
+  reg  state_0; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_0 = idle ? earlyWinner_0 : state_0; // @[Arbiter.scala 117:30]
+  reg  state_1; // @[Arbiter.scala 116:26]
+  wire  muxStateEarly_1 = idle ? earlyWinner_1 : state_1; // @[Arbiter.scala 117:30]
+  wire  _sink_ACancel_earlyValid_T_3 = state_0 & auto_out_0_d_valid | state_1 & auto_out_1_d_valid; // @[Mux.scala 27:73]
+  wire  sink_ACancel_5_earlyValid = idle ? _T_10 : _sink_ACancel_earlyValid_T_3; // @[Arbiter.scala 125:29]
+  wire  _beatsLeft_T_2 = auto_in_d_ready & sink_ACancel_5_earlyValid; // @[ReadyValidCancel.scala 49:33]
+  wire  allowed_0 = idle ? readys_0 : state_0; // @[Arbiter.scala 121:24]
+  wire  allowed_1 = idle ? readys_1 : state_1; // @[Arbiter.scala 121:24]
+  wire [31:0] _T_27 = muxStateEarly_0 ? auto_out_0_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [31:0] _T_28 = muxStateEarly_1 ? auto_out_1_d_bits_data : 32'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_39 = muxStateEarly_0 ? auto_out_0_d_bits_size : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _T_40 = muxStateEarly_1 ? 2'h2 : 2'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_45 = muxStateEarly_0 ? auto_out_0_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  wire [2:0] _T_46 = muxStateEarly_1 ? auto_out_1_d_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  TLMonitor_48 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = requestAIO_0_0 & auto_out_0_a_ready | requestAIO_0_1 & auto_out_1_a_ready; // @[Mux.scala 27:73]
+  assign auto_in_d_valid = idle ? _T_10 : _sink_ACancel_earlyValid_T_3; // @[Arbiter.scala 125:29]
+  assign auto_in_d_bits_denied = muxStateEarly_0 & auto_out_0_d_bits_denied; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_data = _T_27 | _T_28; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_corrupt = muxStateEarly_0 & auto_out_0_d_bits_corrupt; // @[Mux.scala 27:73]
+  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[Xbar.scala 428:50]
+  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_address = auto_in_a_bits_address[6:0]; // @[Xbar.scala 132:50 BundleMap.scala 247:19]
+  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_d_ready = auto_in_d_ready & allowed_1; // @[Arbiter.scala 123:31]
+  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[Xbar.scala 428:50]
+  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_d_ready = auto_in_d_ready & allowed_0; // @[Arbiter.scala 123:31]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = requestAIO_0_0 & auto_out_0_a_ready | requestAIO_0_1 & auto_out_1_a_ready; // @[Mux.scala 27:73]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = idle ? _T_10 : _sink_ACancel_earlyValid_T_3; // @[Arbiter.scala 125:29]
+  assign monitor_io_in_d_bits_opcode = _T_45 | _T_46; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_param = muxStateEarly_0 ? auto_out_0_d_bits_param : 2'h0; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_size = _T_39 | _T_40; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_sink = muxStateEarly_0 & auto_out_0_d_bits_sink; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_denied = muxStateEarly_0 & auto_out_0_d_bits_denied; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_corrupt = muxStateEarly_0 & auto_out_0_d_bits_corrupt; // @[Mux.scala 27:73]
+  always @(posedge clock) begin
+    if (reset) begin // @[Arbiter.scala 87:30]
+      beatsLeft <= 1'h0; // @[Arbiter.scala 87:30]
+    end else if (latch) begin // @[Arbiter.scala 113:23]
+      beatsLeft <= 1'h0;
+    end else begin
+      beatsLeft <= beatsLeft - _beatsLeft_T_2;
+    end
+    if (reset) begin // @[Arbiter.scala 23:23]
+      readys_mask <= 2'h3; // @[Arbiter.scala 23:23]
+    end else if (latch & |readys_valid) begin // @[Arbiter.scala 27:32]
+      readys_mask <= _readys_mask_T_3; // @[Arbiter.scala 28:12]
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_0 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_0 <= earlyWinner_0;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_1 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle) begin // @[Arbiter.scala 117:30]
+      state_1 <= earlyWinner_1;
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~earlyWinner_0 | ~earlyWinner_1) & _readys_T_3) begin
+          $fatal; // @[Arbiter.scala 105:13]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_readys_T_3 & ~(~earlyWinner_0 | ~earlyWinner_1)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:105 assert((prefixOR zip earlyWinner) map { case (p,w) => !p || !w } reduce {_ && _})\n"
+            ); // @[Arbiter.scala 105:13]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(auto_out_0_d_valid | auto_out_1_d_valid) | _prefixOR_T) & _readys_T_3) begin
+          $fatal; // @[Arbiter.scala 107:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_readys_T_3 & ~(~(auto_out_0_d_valid | auto_out_1_d_valid) | _prefixOR_T)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:107 assert (!earlyValids.reduce(_||_) || earlyWinner.reduce(_||_))\n"
+            ); // @[Arbiter.scala 107:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_11 | _T_10) & _readys_T_3) begin
+          $fatal; // @[Arbiter.scala 108:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_readys_T_3 & ~(_T_11 | _T_10)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:108 assert (!validQuals .reduce(_||_) || validQuals .reduce(_||_))\n"
+            ); // @[Arbiter.scala 108:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  beatsLeft = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  readys_mask = _RAND_1[1:0];
+  _RAND_2 = {1{`RANDOM}};
+  state_0 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  state_1 = _RAND_3[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module DMIToTL(
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [8:0]  auto_out_a_bits_address,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input         auto_out_d_bits_denied,
+  input  [31:0] auto_out_d_bits_data,
+  input         auto_out_d_bits_corrupt,
+  output        io_dmi_req_ready,
+  input         io_dmi_req_valid,
+  input  [6:0]  io_dmi_req_bits_addr,
+  input  [31:0] io_dmi_req_bits_data,
+  input  [1:0]  io_dmi_req_bits_op,
+  input         io_dmi_resp_ready,
+  output        io_dmi_resp_valid,
+  output [31:0] io_dmi_resp_bits_data,
+  output [1:0]  io_dmi_resp_bits_resp
+);
+  wire [8:0] addr = {io_dmi_req_bits_addr, 2'h0}; // @[DMI.scala 94:46]
+  wire [8:0] _GEN_3 = io_dmi_req_bits_op == 2'h1 ? addr : 9'h48; // @[DMI.scala 109:{64,76} 110:76]
+  wire [2:0] _GEN_7 = io_dmi_req_bits_op == 2'h1 ? 3'h4 : 3'h0; // @[DMI.scala 109:{64,76} 110:76]
+  wire  _io_dmi_resp_bits_resp_T = auto_out_d_bits_corrupt | auto_out_d_bits_denied; // @[DMI.scala 118:53]
+  assign auto_out_a_valid = io_dmi_req_valid; // @[DMI.scala 113:22 Nodes.scala 1207:84]
+  assign auto_out_a_bits_opcode = io_dmi_req_bits_op == 2'h2 ? 3'h0 : _GEN_7; // @[DMI.scala 108:{64,76}]
+  assign auto_out_a_bits_address = io_dmi_req_bits_op == 2'h2 ? addr : _GEN_3; // @[DMI.scala 108:{64,76}]
+  assign auto_out_a_bits_data = io_dmi_req_bits_op == 2'h2 ? io_dmi_req_bits_data : 32'h0; // @[DMI.scala 108:{64,76}]
+  assign auto_out_d_ready = io_dmi_resp_ready; // @[DMI.scala 117:28 Nodes.scala 1207:84]
+  assign io_dmi_req_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign io_dmi_resp_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign io_dmi_resp_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign io_dmi_resp_bits_resp = {{1'd0}, _io_dmi_resp_bits_resp_T}; // @[DMI.scala 118:28]
+endmodule
+module TLMonitor_49(
+  input        clock,
+  input        reset,
+  input        io_in_a_ready,
+  input        io_in_a_valid,
+  input  [2:0] io_in_a_bits_opcode,
+  input  [6:0] io_in_a_bits_address,
+  input        io_in_d_ready,
+  input        io_in_d_valid,
+  input  [2:0] io_in_d_bits_opcode
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire [6:0] _is_aligned_T = io_in_a_bits_address & 7'h3; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 7'h0; // @[Edges.scala 20:24]
+  wire  _T_15 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [6:0] _T_20 = io_in_a_bits_address ^ 7'h40; // @[Parameters.scala 137:31]
+  wire [7:0] _T_21 = {1'b0,$signed(_T_20)}; // @[Parameters.scala 137:49]
+  wire [7:0] _T_23 = $signed(_T_21) & -8'shc; // @[Parameters.scala 137:52]
+  wire  _T_24 = $signed(_T_23) == 8'sh0; // @[Parameters.scala 137:67]
+  wire [6:0] _T_25 = io_in_a_bits_address ^ 7'h50; // @[Parameters.scala 137:31]
+  wire [7:0] _T_26 = {1'b0,$signed(_T_25)}; // @[Parameters.scala 137:49]
+  wire [7:0] _T_28 = $signed(_T_26) & -8'sh8; // @[Parameters.scala 137:52]
+  wire  _T_29 = $signed(_T_28) == 8'sh0; // @[Parameters.scala 137:67]
+  wire  _T_30 = _T_24 | _T_29; // @[Parameters.scala 671:42]
+  wire  _T_81 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_151 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_197 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_237 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire  _T_278 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_314 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_350 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_390 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _T_394 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_414 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_442 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [6:0] address; // @[Monitor.scala 388:22]
+  wire  _T_536 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_537 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_553 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  wire  _T_560 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_561 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  reg  inflight; // @[Monitor.scala 611:27]
+  reg [3:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [3:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_71 = {{12'd0}, inflight_opcodes}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_71 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [15:0] _GEN_73 = {{12'd0}, inflight_sizes}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_587 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire  _T_590 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [18:0] _a_opcodes_set_T_1 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? 3'h5 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [17:0] _a_sizes_set_T_1 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire  _T_594 = ~inflight; // @[Monitor.scala 658:17]
+  wire [1:0] _GEN_16 = a_first_done & a_first_1 ? 2'h1 : 2'h0; // @[Monitor.scala 652:72 653:28]
+  wire [18:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
+  wire [17:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 18'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_598 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_600 = ~_T_394; // @[Monitor.scala 671:74]
+  wire  _T_601 = io_in_d_valid & d_first_1 & ~_T_394; // @[Monitor.scala 671:71]
+  wire [30:0] _d_opcodes_clr_T_5 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1:0] _GEN_22 = d_first_done & d_first_1 & _T_600 ? 2'h1 : 2'h0; // @[Monitor.scala 675:91 676:21]
+  wire [30:0] _GEN_23 = d_first_done & d_first_1 & _T_600 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _T_613 = inflight | _T_587; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_618 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_619 = io_in_d_bits_opcode == _GEN_32 | _T_618; // @[Monitor.scala 685:77]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_630 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_631 = io_in_d_bits_opcode == _GEN_48 | _T_630; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire  _T_635 = 4'h2 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_645 = _T_598 & a_first_1 & io_in_a_valid & _T_600; // @[Monitor.scala 694:116]
+  wire  _T_647 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire  a_set = _GEN_16[0];
+  wire  d_clr = _GEN_22[0];
+  wire [3:0] a_opcodes_set = _GEN_19[3:0];
+  wire [3:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [3:0] d_opcodes_clr = _GEN_23[3:0];
+  wire [3:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [3:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [3:0] a_sizes_set = _GEN_20[3:0];
+  wire [3:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [3:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_656 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [3:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [15:0] _GEN_77 = {{12'd0}, inflight_sizes_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_77 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_682 = io_in_d_valid & d_first_2 & _T_394; // @[Monitor.scala 779:71]
+  wire [30:0] _GEN_68 = d_first_done & d_first_2 & _T_394 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 785:21]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_700 = 4'h2 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [3:0] d_opcodes_clr_1 = _GEN_68[3:0];
+  wire [3:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [3:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 1'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= (inflight | a_set) & ~d_clr; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 4'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 4'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 4'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_15 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_81 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_81 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_81 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_81 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_81 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_81 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_81 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_81 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_30 & (io_in_a_valid & _T_151 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_151 & ~reset & ~_T_30) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_151 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_151 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_30 & (io_in_a_valid & _T_197 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_197 & ~reset & ~_T_30) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_197 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_197 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_237 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_237 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_237 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_237 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_278 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_278 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_278 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_278 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_314 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_314 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_350 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_350 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_350 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_350 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_390 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_390) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at Debug.scala:654:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_414 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_414 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Debug.scala:654:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_442 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_442 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Debug.scala:654:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_537 & (_T_536 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_536 & ~reset & ~_T_537) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_553 & (_T_536 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_536 & ~reset & ~_T_553) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_561 & (_T_560 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & _T_2 & ~_T_561) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Debug.scala:654:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_594 & (_T_590 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & ~reset & ~_T_594) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_613 & (_T_601 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_601 & _T_2 & ~_T_613) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:654:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_619 & (_T_601 & _T_587 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_601 & _T_587 & _T_2 & ~_T_619) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Debug.scala:654:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_631 & (_T_601 & ~_T_587 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_601 & ~_T_587 & _T_2 & ~_T_631) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Debug.scala:654:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_635 & (_T_601 & ~_T_587 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_601 & ~_T_587 & _T_2 & ~_T_635) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Debug.scala:654:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_647 & (_T_645 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_645 & _T_2 & ~_T_647) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_656 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_656) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at Debug.scala:654:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_682 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_682 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:654:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_700 & (_T_682 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_682 & _T_2 & ~_T_700) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Debug.scala:654:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  address = _RAND_2[6:0];
+  _RAND_3 = {1{`RANDOM}};
+  d_first_counter = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  opcode_1 = _RAND_4[2:0];
+  _RAND_5 = {1{`RANDOM}};
+  inflight = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  inflight_sizes = _RAND_7[3:0];
+  _RAND_8 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  watchdog = _RAND_10[31:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_11[3:0];
+  _RAND_12 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_12[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLDebugModuleOuter(
+  input         clock,
+  input         reset,
+  output        auto_dmi_in_a_ready,
+  input         auto_dmi_in_a_valid,
+  input  [2:0]  auto_dmi_in_a_bits_opcode,
+  input  [6:0]  auto_dmi_in_a_bits_address,
+  input  [31:0] auto_dmi_in_a_bits_data,
+  input         auto_dmi_in_d_ready,
+  output        auto_dmi_in_d_valid,
+  output [2:0]  auto_dmi_in_d_bits_opcode,
+  output [31:0] auto_dmi_in_d_bits_data,
+  output        auto_int_out_0,
+  output        io_ctrl_ndreset,
+  output        io_ctrl_dmactive,
+  input         io_ctrl_dmactiveAck,
+  input         io_innerCtrl_ready,
+  output        io_innerCtrl_valid,
+  output        io_innerCtrl_bits_resumereq,
+  output [9:0]  io_innerCtrl_bits_hartsel,
+  output        io_innerCtrl_bits_ackhavereset,
+  output        io_innerCtrl_bits_hrmask_0,
+  input         io_hgDebugInt_0
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  reg  DMCONTROLReg_haltreq; // @[Debug.scala 336:31]
+  reg  DMCONTROLReg_ndmreset; // @[Debug.scala 336:31]
+  reg  DMCONTROLReg_dmactive; // @[Debug.scala 336:31]
+  wire  _T_1 = ~DMCONTROLReg_dmactive; // @[Debug.scala 354:11]
+  wire  in_bits_read = auto_dmi_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [2:0] in_bits_index = auto_dmi_in_a_bits_address[4:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire  out_iindex = in_bits_index[1]; // @[RegisterRouter.scala 83:24]
+  wire [2:0] out_findex = in_bits_index & 3'h5; // @[RegisterRouter.scala 83:24]
+  wire  _out_T = out_findex == 3'h0; // @[RegisterRouter.scala 83:24]
+  wire [1:0] _out_backSel_T = 2'h1 << out_iindex; // @[OneHot.scala 57:35]
+  wire  out_backSel_0 = _out_backSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_6 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_0 & out_findex == 3'h0; // @[RegisterRouter.scala 83:24]
+  wire  DMCONTROLWrData_ndmreset = auto_dmi_in_a_bits_data[1]; // @[RegisterRouter.scala 83:24]
+  wire  DMCONTROLWrData_haltreq = auto_dmi_in_a_bits_data[31]; // @[RegisterRouter.scala 83:24]
+  wire  DMCONTROLWrData_dmactive = auto_dmi_in_a_bits_data[0]; // @[RegisterRouter.scala 83:24]
+  reg  hrmaskReg_0; // @[Debug.scala 471:28]
+  wire  DMCONTROLWrData_clrresethaltreq = auto_dmi_in_a_bits_data[2]; // @[RegisterRouter.scala 83:24]
+  wire  _T_11 = io_innerCtrl_bits_hartsel == 10'h0; // @[Debug.scala 400:35]
+  wire  DMCONTROLWrData_setresethaltreq = auto_dmi_in_a_bits_data[3]; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_23 = out_woready_6 & DMCONTROLWrData_setresethaltreq & _T_11 | hrmaskReg_0; // @[Debug.scala 479:102 473:15 480:30]
+  wire  _GEN_24 = out_woready_6 & DMCONTROLWrData_clrresethaltreq & _T_11 ? 1'h0 : _GEN_23; // @[Debug.scala 477:102 478:30]
+  wire  _T_18 = DMCONTROLReg_dmactive & io_ctrl_dmactiveAck; // @[Debug.scala 487:43]
+  wire [4:0] out_prepend_7 = {1'h0,1'h0,1'h0,DMCONTROLReg_ndmreset,_T_18}; // @[Cat.scala 31:58]
+  wire [15:0] _out_T_96 = {{11'd0}, out_prepend_7}; // @[RegisterRouter.scala 83:24]
+  wire [17:0] out_prepend_9 = {1'h0,1'h0,_out_T_96}; // @[Cat.scala 31:58]
+  wire [25:0] _out_T_114 = {{8'd0}, out_prepend_9}; // @[RegisterRouter.scala 83:24]
+  wire  DMCONTROLWrData_ackhavereset = auto_dmi_in_a_bits_data[28]; // @[RegisterRouter.scala 83:24]
+  wire  DMCONTROLWrData_resumereq = auto_dmi_in_a_bits_data[30]; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_15 = {DMCONTROLReg_haltreq,1'h0,1'h0,1'h0,1'h0,1'h0,_out_T_114}; // @[Cat.scala 31:58]
+  wire  _GEN_35 = out_iindex ? _out_T : _out_T; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_37 = out_iindex ? 32'h111380 : out_prepend_15; // @[MuxLiteral.scala 48:{10,10}]
+  reg  debugIntRegs_0; // @[Debug.scala 552:31]
+  reg  innerCtrlValidReg; // @[Debug.scala 583:36]
+  reg  innerCtrlResumeReqReg; // @[Debug.scala 584:40]
+  reg  innerCtrlAckHaveResetReg; // @[Debug.scala 585:43]
+  wire  _innerCtrlValidReg_T = ~io_innerCtrl_ready; // @[Debug.scala 590:54]
+  TLMonitor_49 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode)
+  );
+  assign auto_dmi_in_a_ready = auto_dmi_in_d_ready; // @[RegisterRouter.scala 83:24]
+  assign auto_dmi_in_d_valid = auto_dmi_in_a_valid; // @[RegisterRouter.scala 83:24]
+  assign auto_dmi_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign auto_dmi_in_d_bits_data = _GEN_35 ? _GEN_37 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign auto_int_out_0 = debugIntRegs_0 | io_hgDebugInt_0; // @[Debug.scala 558:60]
+  assign io_ctrl_ndreset = DMCONTROLReg_ndmreset; // @[Debug.scala 604:21]
+  assign io_ctrl_dmactive = DMCONTROLReg_dmactive; // @[Debug.scala 605:22]
+  assign io_innerCtrl_valid = out_woready_6 | innerCtrlValidReg; // @[Debug.scala 594:54]
+  assign io_innerCtrl_bits_resumereq = out_woready_6 & DMCONTROLWrData_resumereq | innerCtrlResumeReqReg; // @[Debug.scala 596:83]
+  assign io_innerCtrl_bits_hartsel = 10'h0; // @[Debug.scala 595:42]
+  assign io_innerCtrl_bits_ackhavereset = out_woready_6 & DMCONTROLWrData_ackhavereset | innerCtrlAckHaveResetReg; // @[Debug.scala 597:89]
+  assign io_innerCtrl_bits_hrmask_0 = _T_1 ? 1'h0 : _GEN_24; // @[Debug.scala 475:44 476:30]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = auto_dmi_in_d_ready; // @[RegisterRouter.scala 83:24]
+  assign monitor_io_in_a_valid = auto_dmi_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_dmi_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_dmi_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_dmi_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_dmi_in_a_valid; // @[RegisterRouter.scala 83:24]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[Debug.scala 354:22]
+      DMCONTROLReg_haltreq <= 1'h0; // @[Debug.scala 355:20]
+    end else if (~DMCONTROLReg_dmactive) begin // @[Debug.scala 361:47]
+      DMCONTROLReg_haltreq <= 1'h0; // @[Debug.scala 361:75]
+    end else if (out_woready_6) begin // @[Debug.scala 353:18]
+      DMCONTROLReg_haltreq <= DMCONTROLWrData_haltreq;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[Debug.scala 354:22]
+      DMCONTROLReg_ndmreset <= 1'h0; // @[Debug.scala 355:20]
+    end else if (~DMCONTROLReg_dmactive) begin // @[Debug.scala 357:47]
+      DMCONTROLReg_ndmreset <= 1'h0; // @[Debug.scala 357:75]
+    end else if (out_woready_6) begin // @[Debug.scala 353:18]
+      DMCONTROLReg_ndmreset <= DMCONTROLWrData_ndmreset;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[Debug.scala 365:25]
+      DMCONTROLReg_dmactive <= 1'h0; // @[Debug.scala 366:29]
+    end else if (out_woready_6) begin // @[Debug.scala 354:22]
+      DMCONTROLReg_dmactive <= DMCONTROLWrData_dmactive; // @[Debug.scala 355:20]
+    end else if (~DMCONTROLReg_dmactive) begin // @[Debug.scala 353:18]
+      DMCONTROLReg_dmactive <= 1'h0;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[Debug.scala 475:44]
+      hrmaskReg_0 <= 1'h0; // @[Debug.scala 476:30]
+    end else if (_T_1) begin // @[Debug.scala 477:102]
+      hrmaskReg_0 <= 1'h0; // @[Debug.scala 478:30]
+    end else if (out_woready_6 & DMCONTROLWrData_clrresethaltreq & _T_11) begin
+      hrmaskReg_0 <= 1'h0;
+    end else begin
+      hrmaskReg_0 <= _GEN_23;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[Debug.scala 568:44]
+      debugIntRegs_0 <= 1'h0; // @[Debug.scala 569:32]
+    end else if (_T_1) begin // @[Debug.scala 572:96]
+      debugIntRegs_0 <= 1'h0; // @[Debug.scala 573:34]
+    end else if (out_woready_6) begin // @[Debug.scala 554:17]
+      debugIntRegs_0 <= DMCONTROLWrData_haltreq;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[Debug.scala 590:52]
+      innerCtrlValidReg <= 1'h0;
+    end else begin
+      innerCtrlValidReg <= io_innerCtrl_valid & ~io_innerCtrl_ready;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[Debug.scala 591:61]
+      innerCtrlResumeReqReg <= 1'h0;
+    end else begin
+      innerCtrlResumeReqReg <= io_innerCtrl_bits_resumereq & _innerCtrlValidReg_T;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[Debug.scala 592:64]
+      innerCtrlAckHaveResetReg <= 1'h0;
+    end else begin
+      innerCtrlAckHaveResetReg <= io_innerCtrl_bits_ackhavereset & _innerCtrlValidReg_T;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  DMCONTROLReg_haltreq = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  DMCONTROLReg_ndmreset = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  DMCONTROLReg_dmactive = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  hrmaskReg_0 = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  debugIntRegs_0 = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  innerCtrlValidReg = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  innerCtrlResumeReqReg = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  innerCtrlAckHaveResetReg = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  if (reset) begin
+    DMCONTROLReg_haltreq = 1'h0;
+  end
+  if (reset) begin
+    DMCONTROLReg_ndmreset = 1'h0;
+  end
+  if (reset) begin
+    DMCONTROLReg_dmactive = 1'h0;
+  end
+  if (reset) begin
+    hrmaskReg_0 = 1'h0;
+  end
+  if (reset) begin
+    debugIntRegs_0 = 1'h0;
+  end
+  if (reset) begin
+    innerCtrlValidReg = 1'h0;
+  end
+  if (reset) begin
+    innerCtrlResumeReqReg = 1'h0;
+  end
+  if (reset) begin
+    innerCtrlAckHaveResetReg = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module IntSyncCrossingSource_4(
+  input   auto_in_0,
+  output  auto_out_sync_0
+);
+  assign auto_out_sync_0 = auto_in_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_50(
+  input        clock,
+  input        reset,
+  input        io_in_a_ready,
+  input        io_in_a_valid,
+  input  [2:0] io_in_a_bits_opcode,
+  input  [8:0] io_in_a_bits_address,
+  input        io_in_d_ready,
+  input        io_in_d_valid,
+  input  [2:0] io_in_d_bits_opcode,
+  input  [1:0] io_in_d_bits_param,
+  input  [1:0] io_in_d_bits_size,
+  input        io_in_d_bits_source,
+  input        io_in_d_bits_sink,
+  input        io_in_d_bits_denied,
+  input        io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire [8:0] _is_aligned_T = io_in_a_bits_address & 9'h3; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 9'h0; // @[Edges.scala 20:24]
+  wire [9:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_15 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [9:0] _T_23 = $signed(_T_7) & -10'sh40; // @[Parameters.scala 137:52]
+  wire  _T_24 = $signed(_T_23) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _T_25 = io_in_a_bits_address ^ 9'h44; // @[Parameters.scala 137:31]
+  wire [9:0] _T_26 = {1'b0,$signed(_T_25)}; // @[Parameters.scala 137:49]
+  wire [9:0] _T_28 = $signed(_T_26) & -10'shc; // @[Parameters.scala 137:52]
+  wire  _T_29 = $signed(_T_28) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _T_30 = io_in_a_bits_address ^ 9'h58; // @[Parameters.scala 137:31]
+  wire [9:0] _T_31 = {1'b0,$signed(_T_30)}; // @[Parameters.scala 137:49]
+  wire [9:0] _T_33 = $signed(_T_31) & -10'sh8; // @[Parameters.scala 137:52]
+  wire  _T_34 = $signed(_T_33) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _T_35 = io_in_a_bits_address ^ 9'h60; // @[Parameters.scala 137:31]
+  wire [9:0] _T_36 = {1'b0,$signed(_T_35)}; // @[Parameters.scala 137:49]
+  wire [9:0] _T_38 = $signed(_T_36) & -10'sh20; // @[Parameters.scala 137:52]
+  wire  _T_39 = $signed(_T_38) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _T_40 = io_in_a_bits_address ^ 9'h80; // @[Parameters.scala 137:31]
+  wire [9:0] _T_41 = {1'b0,$signed(_T_40)}; // @[Parameters.scala 137:49]
+  wire [9:0] _T_43 = $signed(_T_41) & -10'sh80; // @[Parameters.scala 137:52]
+  wire  _T_44 = $signed(_T_43) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _T_45 = io_in_a_bits_address ^ 9'h100; // @[Parameters.scala 137:31]
+  wire [9:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [9:0] _T_48 = $signed(_T_46) & -10'sh100; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 10'sh0; // @[Parameters.scala 137:67]
+  wire  _T_54 = _T_24 | _T_29 | _T_34 | _T_39 | _T_44 | _T_49; // @[Parameters.scala 671:42]
+  wire  _T_129 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_247 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_381 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire  _T_446 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_506 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_566 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_630 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_1 = ~io_in_d_bits_source; // @[Parameters.scala 46:9]
+  wire  _T_634 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_638 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_642 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_646 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_650 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_654 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_665 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_669 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_682 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_702 = _T_650 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_711 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_728 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_746 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [8:0] address; // @[Monitor.scala 388:22]
+  wire  _T_776 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_777 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_793 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg  source_1; // @[Monitor.scala 538:22]
+  reg  sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_800 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_801 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_805 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_809 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_813 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_817 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_821 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  reg  inflight; // @[Monitor.scala 611:27]
+  reg [3:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [3:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [2:0] _GEN_71 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [3:0] _a_opcode_lookup_T = {{1'd0}, _GEN_71}; // @[Monitor.scala 634:69]
+  wire [3:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_72 = {{12'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_72 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [3:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_75 = {{12'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_75 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_827 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire  _T_830 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [18:0] _a_opcodes_set_T_1 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? 3'h5 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [17:0] _a_sizes_set_T_1 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire  _T_834 = ~inflight; // @[Monitor.scala 658:17]
+  wire [1:0] _GEN_16 = a_first_done & a_first_1 ? 2'h1 : 2'h0; // @[Monitor.scala 652:72 653:28]
+  wire [18:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
+  wire [17:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 18'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_838 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_840 = ~_T_634; // @[Monitor.scala 671:74]
+  wire  _T_841 = io_in_d_valid & d_first_1 & ~_T_634; // @[Monitor.scala 671:71]
+  wire [1:0] _d_clr_wo_ready_T = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [30:0] _GEN_1 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [30:0] _d_opcodes_clr_T_5 = _GEN_1 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [1:0] _GEN_22 = d_first_done & d_first_1 & _T_840 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 675:91 676:21]
+  wire [30:0] _GEN_23 = d_first_done & d_first_1 & _T_840 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
+  wire  same_cycle_resp = _T_827 & _source_ok_T_1; // @[Monitor.scala 681:88]
+  wire  _T_853 = inflight >> io_in_d_bits_source | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_858 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_859 = io_in_d_bits_opcode == _GEN_32 | _T_858; // @[Monitor.scala 685:77]
+  wire  _T_863 = 2'h2 == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_870 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_871 = io_in_d_bits_opcode == _GEN_48 | _T_870; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_79 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_875 = _GEN_79 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_885 = _T_838 & a_first_1 & io_in_a_valid & _source_ok_T_1 & _T_840; // @[Monitor.scala 694:116]
+  wire  _T_887 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire  a_set = _GEN_16[0];
+  wire  d_clr = _GEN_22[0];
+  wire [3:0] a_opcodes_set = _GEN_19[3:0];
+  wire [3:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [3:0] d_opcodes_clr = _GEN_23[3:0];
+  wire [3:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [3:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [3:0] a_sizes_set = _GEN_20[3:0];
+  wire [3:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [3:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_896 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [3:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [3:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_84 = {{12'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_84 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_922 = io_in_d_valid & d_first_2 & _T_634; // @[Monitor.scala 779:71]
+  wire [30:0] _GEN_68 = d_first_done & d_first_2 & _T_634 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 785:21]
+  wire  _T_930 = 1'h0 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_940 = _GEN_79 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [3:0] d_opcodes_clr_1 = _GEN_68[3:0];
+  wire [3:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [3:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 1'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= (inflight | a_set) & ~d_clr; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 4'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 4'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 4'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_15 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_129 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_54 & (io_in_a_valid & _T_247 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_247 & ~reset & ~_T_54) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_247 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_247 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_54 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_54) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_381 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_381 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_381 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_446 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_446 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_446 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_446 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_506 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_506 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_506 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_506 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_566 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_566 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_566 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_634 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_634 & _T_2 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (io_in_d_valid & _T_634 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_634 & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (io_in_d_valid & _T_634 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_634 & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_d_valid & _T_634 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_634 & _T_2 & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_d_valid & _T_634 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_634 & _T_2 & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_654 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & _T_2 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (io_in_d_valid & _T_654 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (io_in_d_valid & _T_654 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_669 & (io_in_d_valid & _T_654 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & _T_2 & ~_T_669) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_d_valid & _T_654 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & _T_2 & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_682 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & _T_2 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (io_in_d_valid & _T_682 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (io_in_d_valid & _T_682 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_669 & (io_in_d_valid & _T_682 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & _T_2 & ~_T_669) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_702 & (io_in_d_valid & _T_682 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & _T_2 & ~_T_702) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_711 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_711 & _T_2 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (io_in_d_valid & _T_711 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_711 & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_d_valid & _T_711 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_711 & _T_2 & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_728 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_728 & _T_2 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (io_in_d_valid & _T_728 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_728 & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_702 & (io_in_d_valid & _T_728 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_728 & _T_2 & ~_T_702) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_746 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_746 & _T_2 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (io_in_d_valid & _T_746 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_746 & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_d_valid & _T_746 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_746 & _T_2 & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_777 & (_T_776 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_776 & ~reset & ~_T_777) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_793 & (_T_776 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_776 & ~reset & ~_T_793) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_801 & (_T_800 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_800 & _T_2 & ~_T_801) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_805 & (_T_800 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_800 & _T_2 & ~_T_805) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_809 & (_T_800 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_800 & _T_2 & ~_T_809) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_813 & (_T_800 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_800 & _T_2 & ~_T_813) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_817 & (_T_800 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_800 & _T_2 & ~_T_817) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_821 & (_T_800 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_800 & _T_2 & ~_T_821) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_834 & (_T_830 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_830 & ~reset & ~_T_834) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_853 & (_T_841 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_841 & _T_2 & ~_T_853) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_859 & (_T_841 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_841 & same_cycle_resp & _T_2 & ~_T_859) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_863 & (_T_841 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_841 & same_cycle_resp & _T_2 & ~_T_863) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_871 & (_T_841 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_841 & ~same_cycle_resp & _T_2 & ~_T_871) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_875 & (_T_841 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_841 & ~same_cycle_resp & _T_2 & ~_T_875) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_887 & (_T_885 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_885 & _T_2 & ~_T_887) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_896 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_896) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at BusBypass.scala:32:12)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_930 & (_T_922 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_922 & _T_2 & ~_T_930) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_940 & (_T_922 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_922 & _T_2 & ~_T_940) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BusBypass.scala:32:12)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  address = _RAND_2[8:0];
+  _RAND_3 = {1{`RANDOM}};
+  d_first_counter = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  opcode_1 = _RAND_4[2:0];
+  _RAND_5 = {1{`RANDOM}};
+  param_1 = _RAND_5[1:0];
+  _RAND_6 = {1{`RANDOM}};
+  size_1 = _RAND_6[1:0];
+  _RAND_7 = {1{`RANDOM}};
+  source_1 = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  sink = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  denied = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[3:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[3:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_16[3:0];
+  _RAND_17 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_17[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLBusBypassBar(
+  input          clock,
+  input          reset,
+  output         auto_in_a_ready,
+  input          auto_in_a_valid,
+  input  [2:0]   auto_in_a_bits_opcode,
+  input  [8:0]   auto_in_a_bits_address,
+  input  [31:0]  auto_in_a_bits_data,
+  input          auto_in_d_ready,
+  output         auto_in_d_valid,
+  output [2:0]   auto_in_d_bits_opcode,
+  output [1:0]   auto_in_d_bits_param,
+  output [1:0]   auto_in_d_bits_size,
+  output         auto_in_d_bits_sink,
+  output         auto_in_d_bits_denied,
+  output [31:0]  auto_in_d_bits_data,
+  output         auto_in_d_bits_corrupt,
+  input          auto_out_1_a_ready,
+  output         auto_out_1_a_valid,
+  output [2:0]   auto_out_1_a_bits_opcode,
+  output [8:0]   auto_out_1_a_bits_address,
+  output [31:0]  auto_out_1_a_bits_data,
+  output         auto_out_1_d_ready,
+  input          auto_out_1_d_valid,
+  input  [2:0]   auto_out_1_d_bits_opcode,
+  input  [1:0]   auto_out_1_d_bits_param,
+  input  [1:0]   auto_out_1_d_bits_size,
+  input          auto_out_1_d_bits_source,
+  input          auto_out_1_d_bits_sink,
+  input          auto_out_1_d_bits_denied,
+  input  [31:0]  auto_out_1_d_bits_data,
+  input          auto_out_1_d_bits_corrupt,
+  input          auto_out_0_a_ready,
+  output         auto_out_0_a_valid,
+  output [2:0]   auto_out_0_a_bits_opcode,
+  output [127:0] auto_out_0_a_bits_address,
+  output         auto_out_0_d_ready,
+  input          auto_out_0_d_valid,
+  input  [2:0]   auto_out_0_d_bits_opcode,
+  input  [1:0]   auto_out_0_d_bits_size,
+  input          auto_out_0_d_bits_denied,
+  input          auto_out_0_d_bits_corrupt,
+  input          io_bypass
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [8:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  reg  in_reset; // @[BusBypass.scala 77:27]
+  reg  bypass_reg; // @[BusBypass.scala 78:25]
+  wire  bypass = in_reset ? io_bypass : bypass_reg; // @[BusBypass.scala 79:21]
+  reg [1:0] flight; // @[Edges.scala 294:25]
+  reg  stall_counter; // @[Edges.scala 228:27]
+  wire  stall_first = ~stall_counter; // @[Edges.scala 230:25]
+  wire  stall = bypass != io_bypass & stall_first; // @[BusBypass.scala 84:40]
+  wire  _bundleIn_0_a_ready_T = ~stall; // @[BusBypass.scala 88:21]
+  wire  _bundleIn_0_a_ready_T_1 = bypass ? auto_out_0_a_ready : auto_out_1_a_ready; // @[BusBypass.scala 88:34]
+  wire  in_a_ready = ~stall & _bundleIn_0_a_ready_T_1; // @[BusBypass.scala 88:28]
+  wire  done = in_a_ready & auto_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  counter; // @[Edges.scala 228:27]
+  wire  counter1 = counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~counter; // @[Edges.scala 230:25]
+  wire  in_d_valid = bypass ? auto_out_0_d_valid : auto_out_1_d_valid; // @[BusBypass.scala 94:24]
+  wire  done_3 = auto_in_d_ready & in_d_valid; // @[Decoupled.scala 50:35]
+  wire [2:0] in_d_bits_opcode = bypass ? auto_out_0_d_bits_opcode : auto_out_1_d_bits_opcode; // @[BusBypass.scala 96:21]
+  reg  counter_3; // @[Edges.scala 228:27]
+  wire  counter1_3 = counter_3 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~counter_3; // @[Edges.scala 230:25]
+  wire  d_request = in_d_bits_opcode[2] & ~in_d_bits_opcode[1]; // @[Edges.scala 70:40]
+  wire  a_inc = done & a_first; // @[Edges.scala 309:28]
+  wire  d_inc = done_3 & d_first & d_request; // @[Edges.scala 312:39]
+  wire [1:0] inc = {a_inc,d_inc}; // @[Cat.scala 31:58]
+  wire [1:0] dec = {1'h0,done_3}; // @[Cat.scala 31:58]
+  wire [1:0] _next_flight_T_2 = inc[0] + inc[1]; // @[Bitwise.scala 48:55]
+  wire [1:0] _next_flight_T_5 = flight + _next_flight_T_2; // @[Edges.scala 323:30]
+  wire [1:0] _next_flight_T_8 = dec[0] + dec[1]; // @[Bitwise.scala 48:55]
+  wire [1:0] next_flight = _next_flight_T_5 - _next_flight_T_8; // @[Edges.scala 323:46]
+  wire  stall_counter1 = stall_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  _bundleOut_0_a_valid_T_1 = _bundleIn_0_a_ready_T & auto_in_a_valid; // @[BusBypass.scala 86:28]
+  wire  _bundleOut_1_a_valid_T_2 = ~bypass; // @[BusBypass.scala 87:45]
+  TLMonitor_50 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = ~stall & _bundleIn_0_a_ready_T_1; // @[BusBypass.scala 88:28]
+  assign auto_in_d_valid = bypass ? auto_out_0_d_valid : auto_out_1_d_valid; // @[BusBypass.scala 94:24]
+  assign auto_in_d_bits_opcode = bypass ? auto_out_0_d_bits_opcode : auto_out_1_d_bits_opcode; // @[BusBypass.scala 96:21]
+  assign auto_in_d_bits_param = bypass ? 2'h0 : auto_out_1_d_bits_param; // @[BusBypass.scala 96:21]
+  assign auto_in_d_bits_size = bypass ? auto_out_0_d_bits_size : auto_out_1_d_bits_size; // @[BusBypass.scala 96:21]
+  assign auto_in_d_bits_sink = bypass ? 1'h0 : auto_out_1_d_bits_sink; // @[BusBypass.scala 96:21]
+  assign auto_in_d_bits_denied = bypass ? auto_out_0_d_bits_denied : auto_out_1_d_bits_denied; // @[BusBypass.scala 96:21]
+  assign auto_in_d_bits_data = bypass ? 32'h0 : auto_out_1_d_bits_data; // @[BusBypass.scala 96:21]
+  assign auto_in_d_bits_corrupt = bypass ? auto_out_0_d_bits_corrupt : auto_out_1_d_bits_corrupt; // @[BusBypass.scala 96:21]
+  assign auto_out_1_a_valid = _bundleOut_0_a_valid_T_1 & ~bypass; // @[BusBypass.scala 87:42]
+  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1_d_ready = auto_in_d_ready & _bundleOut_1_a_valid_T_2; // @[BusBypass.scala 93:32]
+  assign auto_out_0_a_valid = _bundleIn_0_a_ready_T & auto_in_a_valid & bypass; // @[BusBypass.scala 86:42]
+  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_0_a_bits_address = {{119'd0}, auto_in_a_bits_address}; // @[Nodes.scala 1207:84 BusBypass.scala 89:18]
+  assign auto_out_0_d_ready = auto_in_d_ready & bypass; // @[BusBypass.scala 92:32]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = ~stall & _bundleIn_0_a_ready_T_1; // @[BusBypass.scala 88:28]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = bypass ? auto_out_0_d_valid : auto_out_1_d_valid; // @[BusBypass.scala 94:24]
+  assign monitor_io_in_d_bits_opcode = bypass ? auto_out_0_d_bits_opcode : auto_out_1_d_bits_opcode; // @[BusBypass.scala 96:21]
+  assign monitor_io_in_d_bits_param = bypass ? 2'h0 : auto_out_1_d_bits_param; // @[BusBypass.scala 96:21]
+  assign monitor_io_in_d_bits_size = bypass ? auto_out_0_d_bits_size : auto_out_1_d_bits_size; // @[BusBypass.scala 96:21]
+  assign monitor_io_in_d_bits_source = bypass ? 1'h0 : auto_out_1_d_bits_source; // @[BusBypass.scala 96:21]
+  assign monitor_io_in_d_bits_sink = bypass ? 1'h0 : auto_out_1_d_bits_sink; // @[BusBypass.scala 96:21]
+  assign monitor_io_in_d_bits_denied = bypass ? auto_out_0_d_bits_denied : auto_out_1_d_bits_denied; // @[BusBypass.scala 96:21]
+  assign monitor_io_in_d_bits_corrupt = bypass ? auto_out_0_d_bits_corrupt : auto_out_1_d_bits_corrupt; // @[BusBypass.scala 96:21]
+  always @(posedge clock) begin
+    in_reset <= reset; // @[BusBypass.scala 77:{27,27,27}]
+    if (in_reset | next_flight == 2'h0) begin // @[BusBypass.scala 83:50]
+      bypass_reg <= io_bypass; // @[BusBypass.scala 83:63]
+    end
+    if (reset) begin // @[Edges.scala 294:25]
+      flight <= 2'h0; // @[Edges.scala 294:25]
+    end else begin
+      flight <= next_flight; // @[Edges.scala 324:12]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      stall_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (done) begin // @[Edges.scala 234:17]
+      if (stall_first) begin // @[Edges.scala 235:21]
+        stall_counter <= 1'h0;
+      end else begin
+        stall_counter <= stall_counter1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        counter <= 1'h0;
+      end else begin
+        counter <= counter1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      counter_3 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (done_3) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        counter_3 <= 1'h0;
+      end else begin
+        counter_3 <= counter1_3;
+      end
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  in_reset = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  bypass_reg = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  flight = _RAND_2[1:0];
+  _RAND_3 = {1{`RANDOM}};
+  stall_counter = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  counter = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  counter_3 = _RAND_5[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLMonitor_51(
+  input          clock,
+  input          reset,
+  input          io_in_a_ready,
+  input          io_in_a_valid,
+  input  [2:0]   io_in_a_bits_opcode,
+  input  [127:0] io_in_a_bits_address,
+  input          io_in_d_ready,
+  input          io_in_d_valid,
+  input  [2:0]   io_in_d_bits_opcode,
+  input  [1:0]   io_in_d_bits_size,
+  input          io_in_d_bits_denied,
+  input          io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [127:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire [127:0] _is_aligned_T = io_in_a_bits_address & 128'h3; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 128'h0; // @[Edges.scala 20:24]
+  wire [128:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_15 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [128:0] _T_26 = $signed(_T_7) & 129'sh100000000000000000000000000000000; // @[Parameters.scala 137:52]
+  wire  _T_27 = $signed(_T_26) == 129'sh0; // @[Parameters.scala 137:67]
+  wire  _T_72 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_133 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_173 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_207 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire  _T_242 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_272 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_302 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_339 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _T_343 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_347 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_355 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_359 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_363 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_391 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_411 = _T_359 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_420 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_437 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_455 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [127:0] address; // @[Monitor.scala 388:22]
+  wire  _T_485 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_486 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_502 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_509 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_510 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_518 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_530 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  reg  inflight; // @[Monitor.scala 611:27]
+  reg [3:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [3:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_71 = {{12'd0}, inflight_opcodes}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_71 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [15:0] _GEN_73 = {{12'd0}, inflight_sizes}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_536 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire  _T_539 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [18:0] _a_opcodes_set_T_1 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? 3'h5 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [17:0] _a_sizes_set_T_1 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire  _T_543 = ~inflight; // @[Monitor.scala 658:17]
+  wire [1:0] _GEN_16 = a_first_done & a_first_1 ? 2'h1 : 2'h0; // @[Monitor.scala 652:72 653:28]
+  wire [18:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
+  wire [17:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 18'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_547 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_549 = ~_T_343; // @[Monitor.scala 671:74]
+  wire  _T_550 = io_in_d_valid & d_first_1 & ~_T_343; // @[Monitor.scala 671:71]
+  wire [30:0] _d_opcodes_clr_T_5 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1:0] _GEN_22 = d_first_done & d_first_1 & _T_549 ? 2'h1 : 2'h0; // @[Monitor.scala 675:91 676:21]
+  wire [30:0] _GEN_23 = d_first_done & d_first_1 & _T_549 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _T_562 = inflight | _T_536; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_567 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_568 = io_in_d_bits_opcode == _GEN_32 | _T_567; // @[Monitor.scala 685:77]
+  wire  _T_572 = 2'h2 == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_579 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_580 = io_in_d_bits_opcode == _GEN_48 | _T_579; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_75 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_584 = _GEN_75 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_594 = _T_547 & a_first_1 & io_in_a_valid & _T_549; // @[Monitor.scala 694:116]
+  wire  _T_596 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire  a_set = _GEN_16[0];
+  wire  d_clr = _GEN_22[0];
+  wire [3:0] a_opcodes_set = _GEN_19[3:0];
+  wire [3:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [3:0] d_opcodes_clr = _GEN_23[3:0];
+  wire [3:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [3:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [3:0] a_sizes_set = _GEN_20[3:0];
+  wire [3:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [3:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_605 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [3:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [15:0] _GEN_78 = {{12'd0}, inflight_sizes_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_78 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_631 = io_in_d_valid & d_first_2 & _T_343; // @[Monitor.scala 779:71]
+  wire [30:0] _GEN_68 = d_first_done & d_first_2 & _T_343 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 785:21]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_649 = _GEN_75 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [3:0] d_opcodes_clr_1 = _GEN_68[3:0];
+  wire [3:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [3:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 1'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= (inflight | a_set) & ~d_clr; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 4'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 4'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 4'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_15 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_72 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_72 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_72 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_72 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_72 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_72 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_72 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_72 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_27 & (io_in_a_valid & _T_133 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_133 & ~reset & ~_T_27) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_133 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_133 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_27 & (io_in_a_valid & _T_173 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_173 & ~reset & ~_T_27) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_173 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_173 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_207 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_207 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_207 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_207 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_242 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_242 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_242 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_242 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_272 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_272 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_272 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_272 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_302 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_302 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_302 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_302 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_339 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_339) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_d_valid & _T_343 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_343 & _T_2 & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_355 & (io_in_d_valid & _T_343 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_343 & _T_2 & ~_T_355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_359 & (io_in_d_valid & _T_343 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_343 & _T_2 & ~_T_359) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_d_valid & _T_363 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_363 & _T_2 & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_355 & (io_in_d_valid & _T_363 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_363 & _T_2 & ~_T_355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_d_valid & _T_391 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_391 & _T_2 & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_411 & (io_in_d_valid & _T_391 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_391 & _T_2 & ~_T_411) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_355 & (io_in_d_valid & _T_420 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_420 & _T_2 & ~_T_355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_411 & (io_in_d_valid & _T_437 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_437 & _T_2 & ~_T_411) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_355 & (io_in_d_valid & _T_455 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_455 & _T_2 & ~_T_355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_486 & (_T_485 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_485 & ~reset & ~_T_486) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_502 & (_T_485 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_485 & ~reset & ~_T_502) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_510 & (_T_509 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_509 & _T_2 & ~_T_510) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_518 & (_T_509 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_509 & _T_2 & ~_T_518) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_530 & (_T_509 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_509 & _T_2 & ~_T_530) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_543 & (_T_539 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_539 & ~reset & ~_T_543) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_562 & (_T_550 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_550 & _T_2 & ~_T_562) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_550 & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_550 & _T_536 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_572 & (_T_550 & _T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_550 & _T_536 & _T_2 & ~_T_572) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_550 & ~_T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_550 & ~_T_536 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_584 & (_T_550 & ~_T_536 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_550 & ~_T_536 & _T_2 & ~_T_584) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_596 & (_T_594 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_594 & _T_2 & ~_T_596) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_605 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_605) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at BusBypass.scala:33:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_631 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_649 & (_T_631 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_631 & _T_2 & ~_T_649) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BusBypass.scala:33:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {4{`RANDOM}};
+  address = _RAND_2[127:0];
+  _RAND_3 = {1{`RANDOM}};
+  d_first_counter = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  opcode_1 = _RAND_4[2:0];
+  _RAND_5 = {1{`RANDOM}};
+  size_1 = _RAND_5[1:0];
+  _RAND_6 = {1{`RANDOM}};
+  denied = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  inflight = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_8[3:0];
+  _RAND_9 = {1{`RANDOM}};
+  inflight_sizes = _RAND_9[3:0];
+  _RAND_10 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  watchdog = _RAND_12[31:0];
+  _RAND_13 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_13[3:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_14[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLError_1(
+  input          clock,
+  input          reset,
+  output         auto_in_a_ready,
+  input          auto_in_a_valid,
+  input  [2:0]   auto_in_a_bits_opcode,
+  input  [127:0] auto_in_a_bits_address,
+  input          auto_in_d_ready,
+  output         auto_in_d_valid,
+  output [2:0]   auto_in_d_bits_opcode,
+  output [1:0]   auto_in_d_bits_size,
+  output         auto_in_d_bits_denied,
+  output         auto_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [127:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  reg  idle; // @[Error.scala 44:23]
+  reg  beatsLeft; // @[Arbiter.scala 87:30]
+  wire  idle_1 = ~beatsLeft; // @[Arbiter.scala 88:28]
+  wire  da_valid = auto_in_a_valid & idle; // @[Error.scala 51:35]
+  wire [1:0] _readys_T = {da_valid,1'h0}; // @[Cat.scala 31:58]
+  wire [2:0] _readys_T_1 = {_readys_T, 1'h0}; // @[package.scala 244:48]
+  wire [1:0] _readys_T_3 = _readys_T | _readys_T_1[1:0]; // @[package.scala 244:43]
+  wire [2:0] _readys_T_5 = {_readys_T_3, 1'h0}; // @[Arbiter.scala 16:78]
+  wire [1:0] _readys_T_7 = ~_readys_T_5[1:0]; // @[Arbiter.scala 16:61]
+  wire  readys_1 = _readys_T_7[1]; // @[Arbiter.scala 95:86]
+  reg  state_1; // @[Arbiter.scala 116:26]
+  wire  allowed_1 = idle_1 ? readys_1 : state_1; // @[Arbiter.scala 121:24]
+  wire  out_1_ready = auto_in_d_ready & allowed_1; // @[Arbiter.scala 123:31]
+  reg  counter; // @[Edges.scala 228:27]
+  wire [2:0] _GEN_4 = 3'h2 == auto_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Error.scala 53:{21,21}]
+  wire [2:0] _GEN_5 = 3'h3 == auto_in_a_bits_opcode ? 3'h1 : _GEN_4; // @[Error.scala 53:{21,21}]
+  wire [2:0] _GEN_6 = 3'h4 == auto_in_a_bits_opcode ? 3'h1 : _GEN_5; // @[Error.scala 53:{21,21}]
+  wire [2:0] _GEN_7 = 3'h5 == auto_in_a_bits_opcode ? 3'h2 : _GEN_6; // @[Error.scala 53:{21,21}]
+  wire [2:0] _GEN_8 = 3'h6 == auto_in_a_bits_opcode ? 3'h4 : _GEN_7; // @[Error.scala 53:{21,21}]
+  wire [2:0] da_bits_opcode = 3'h7 == auto_in_a_bits_opcode ? 3'h4 : _GEN_8; // @[Error.scala 53:{21,21}]
+  wire  beats1_opdata = da_bits_opcode[0]; // @[Edges.scala 105:36]
+  wire  done = out_1_ready & da_valid; // @[Decoupled.scala 50:35]
+  wire  counter1 = counter - 1'h1; // @[Edges.scala 229:28]
+  wire  da_first = ~counter; // @[Edges.scala 230:25]
+  wire  _T_3 = ~reset; // @[Error.scala 49:12]
+  wire  _GEN_12 = done & da_bits_opcode == 3'h4 ? 1'h0 : idle; // @[Error.scala 44:23 70:{52,59}]
+  wire  latch = idle_1 & auto_in_d_ready; // @[Arbiter.scala 89:24]
+  wire  earlyWinner_1 = readys_1 & da_valid; // @[Arbiter.scala 97:79]
+  wire  _T_22 = ~da_valid; // @[Arbiter.scala 107:15]
+  wire  muxStateEarly_1 = idle_1 ? earlyWinner_1 : state_1; // @[Arbiter.scala 117:30]
+  wire  _sink_ACancel_earlyValid_T_2 = state_1 & da_valid; // @[Mux.scala 27:73]
+  wire  sink_ACancel_earlyValid = idle_1 ? da_valid : _sink_ACancel_earlyValid_T_2; // @[Arbiter.scala 125:29]
+  wire  _beatsLeft_T_2 = auto_in_d_ready & sink_ACancel_earlyValid; // @[ReadyValidCancel.scala 49:33]
+  TLMonitor_51 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
+  );
+  assign auto_in_a_ready = out_1_ready & idle; // @[Error.scala 50:37]
+  assign auto_in_d_valid = idle_1 ? da_valid : _sink_ACancel_earlyValid_T_2; // @[Arbiter.scala 125:29]
+  assign auto_in_d_bits_opcode = muxStateEarly_1 ? da_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_size = muxStateEarly_1 ? 2'h2 : 2'h0; // @[Mux.scala 27:73]
+  assign auto_in_d_bits_denied = idle_1 ? earlyWinner_1 : state_1; // @[Arbiter.scala 117:30]
+  assign auto_in_d_bits_corrupt = muxStateEarly_1 & beats1_opdata; // @[Mux.scala 27:73]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = out_1_ready & idle; // @[Error.scala 50:37]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = idle_1 ? da_valid : _sink_ACancel_earlyValid_T_2; // @[Arbiter.scala 125:29]
+  assign monitor_io_in_d_bits_opcode = muxStateEarly_1 ? da_bits_opcode : 3'h0; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_size = muxStateEarly_1 ? 2'h2 : 2'h0; // @[Mux.scala 27:73]
+  assign monitor_io_in_d_bits_denied = idle_1 ? earlyWinner_1 : state_1; // @[Arbiter.scala 117:30]
+  assign monitor_io_in_d_bits_corrupt = muxStateEarly_1 & beats1_opdata; // @[Mux.scala 27:73]
+  always @(posedge clock) begin
+    idle <= reset | _GEN_12; // @[Error.scala 44:{23,23}]
+    if (reset) begin // @[Arbiter.scala 87:30]
+      beatsLeft <= 1'h0; // @[Arbiter.scala 87:30]
+    end else if (latch) begin // @[Arbiter.scala 113:23]
+      beatsLeft <= 1'h0;
+    end else begin
+      beatsLeft <= beatsLeft - _beatsLeft_T_2;
+    end
+    if (reset) begin // @[Arbiter.scala 116:26]
+      state_1 <= 1'h0; // @[Arbiter.scala 116:26]
+    end else if (idle_1) begin // @[Arbiter.scala 117:30]
+      state_1 <= earlyWinner_1;
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (done) begin // @[Edges.scala 234:17]
+      if (da_first) begin // @[Edges.scala 235:21]
+        counter <= 1'h0;
+      end else begin
+        counter <= counter1;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(idle | da_first) & ~reset) begin
+          $fatal; // @[Error.scala 49:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~(idle | da_first)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Error.scala:49 assert (idle || da_first) // we only send Grant, never GrantData => simplified flow control below\n"
+            ); // @[Error.scala 49:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~da_valid | earlyWinner_1) & _T_3) begin
+          $fatal; // @[Arbiter.scala 107:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3 & ~(~da_valid | earlyWinner_1)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:107 assert (!earlyValids.reduce(_||_) || earlyWinner.reduce(_||_))\n"
+            ); // @[Arbiter.scala 107:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_22 | da_valid) & _T_3) begin
+          $fatal; // @[Arbiter.scala 108:14]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_3 & ~(_T_22 | da_valid)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at Arbiter.scala:108 assert (!validQuals .reduce(_||_) || validQuals .reduce(_||_))\n"
+            ); // @[Arbiter.scala 108:14]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  idle = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  beatsLeft = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  state_1 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  counter = _RAND_3[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLBusBypass(
+  input         clock,
+  input         reset,
+  input         auto_node_out_out_a_ready,
+  output        auto_node_out_out_a_valid,
+  output [2:0]  auto_node_out_out_a_bits_opcode,
+  output [8:0]  auto_node_out_out_a_bits_address,
+  output [31:0] auto_node_out_out_a_bits_data,
+  output        auto_node_out_out_d_ready,
+  input         auto_node_out_out_d_valid,
+  input  [2:0]  auto_node_out_out_d_bits_opcode,
+  input  [1:0]  auto_node_out_out_d_bits_param,
+  input  [1:0]  auto_node_out_out_d_bits_size,
+  input         auto_node_out_out_d_bits_source,
+  input         auto_node_out_out_d_bits_sink,
+  input         auto_node_out_out_d_bits_denied,
+  input  [31:0] auto_node_out_out_d_bits_data,
+  input         auto_node_out_out_d_bits_corrupt,
+  output        auto_node_in_in_a_ready,
+  input         auto_node_in_in_a_valid,
+  input  [2:0]  auto_node_in_in_a_bits_opcode,
+  input  [8:0]  auto_node_in_in_a_bits_address,
+  input  [31:0] auto_node_in_in_a_bits_data,
+  input         auto_node_in_in_d_ready,
+  output        auto_node_in_in_d_valid,
+  output [2:0]  auto_node_in_in_d_bits_opcode,
+  output [1:0]  auto_node_in_in_d_bits_param,
+  output [1:0]  auto_node_in_in_d_bits_size,
+  output        auto_node_in_in_d_bits_sink,
+  output        auto_node_in_in_d_bits_denied,
+  output [31:0] auto_node_in_in_d_bits_data,
+  output        auto_node_in_in_d_bits_corrupt,
+  input         io_bypass
+);
+  wire  bar_clock; // @[BusBypass.scala 17:33]
+  wire  bar_reset; // @[BusBypass.scala 17:33]
+  wire  bar_auto_in_a_ready; // @[BusBypass.scala 17:33]
+  wire  bar_auto_in_a_valid; // @[BusBypass.scala 17:33]
+  wire [2:0] bar_auto_in_a_bits_opcode; // @[BusBypass.scala 17:33]
+  wire [8:0] bar_auto_in_a_bits_address; // @[BusBypass.scala 17:33]
+  wire [31:0] bar_auto_in_a_bits_data; // @[BusBypass.scala 17:33]
+  wire  bar_auto_in_d_ready; // @[BusBypass.scala 17:33]
+  wire  bar_auto_in_d_valid; // @[BusBypass.scala 17:33]
+  wire [2:0] bar_auto_in_d_bits_opcode; // @[BusBypass.scala 17:33]
+  wire [1:0] bar_auto_in_d_bits_param; // @[BusBypass.scala 17:33]
+  wire [1:0] bar_auto_in_d_bits_size; // @[BusBypass.scala 17:33]
+  wire  bar_auto_in_d_bits_sink; // @[BusBypass.scala 17:33]
+  wire  bar_auto_in_d_bits_denied; // @[BusBypass.scala 17:33]
+  wire [31:0] bar_auto_in_d_bits_data; // @[BusBypass.scala 17:33]
+  wire  bar_auto_in_d_bits_corrupt; // @[BusBypass.scala 17:33]
+  wire  bar_auto_out_1_a_ready; // @[BusBypass.scala 17:33]
+  wire  bar_auto_out_1_a_valid; // @[BusBypass.scala 17:33]
+  wire [2:0] bar_auto_out_1_a_bits_opcode; // @[BusBypass.scala 17:33]
+  wire [8:0] bar_auto_out_1_a_bits_address; // @[BusBypass.scala 17:33]
+  wire [31:0] bar_auto_out_1_a_bits_data; // @[BusBypass.scala 17:33]
+  wire  bar_auto_out_1_d_ready; // @[BusBypass.scala 17:33]
+  wire  bar_auto_out_1_d_valid; // @[BusBypass.scala 17:33]
+  wire [2:0] bar_auto_out_1_d_bits_opcode; // @[BusBypass.scala 17:33]
+  wire [1:0] bar_auto_out_1_d_bits_param; // @[BusBypass.scala 17:33]
+  wire [1:0] bar_auto_out_1_d_bits_size; // @[BusBypass.scala 17:33]
+  wire  bar_auto_out_1_d_bits_source; // @[BusBypass.scala 17:33]
+  wire  bar_auto_out_1_d_bits_sink; // @[BusBypass.scala 17:33]
+  wire  bar_auto_out_1_d_bits_denied; // @[BusBypass.scala 17:33]
+  wire [31:0] bar_auto_out_1_d_bits_data; // @[BusBypass.scala 17:33]
+  wire  bar_auto_out_1_d_bits_corrupt; // @[BusBypass.scala 17:33]
+  wire  bar_auto_out_0_a_ready; // @[BusBypass.scala 17:33]
+  wire  bar_auto_out_0_a_valid; // @[BusBypass.scala 17:33]
+  wire [2:0] bar_auto_out_0_a_bits_opcode; // @[BusBypass.scala 17:33]
+  wire [127:0] bar_auto_out_0_a_bits_address; // @[BusBypass.scala 17:33]
+  wire  bar_auto_out_0_d_ready; // @[BusBypass.scala 17:33]
+  wire  bar_auto_out_0_d_valid; // @[BusBypass.scala 17:33]
+  wire [2:0] bar_auto_out_0_d_bits_opcode; // @[BusBypass.scala 17:33]
+  wire [1:0] bar_auto_out_0_d_bits_size; // @[BusBypass.scala 17:33]
+  wire  bar_auto_out_0_d_bits_denied; // @[BusBypass.scala 17:33]
+  wire  bar_auto_out_0_d_bits_corrupt; // @[BusBypass.scala 17:33]
+  wire  bar_io_bypass; // @[BusBypass.scala 17:33]
+  wire  error_clock; // @[BusBypass.scala 27:40]
+  wire  error_reset; // @[BusBypass.scala 27:40]
+  wire  error_auto_in_a_ready; // @[BusBypass.scala 27:40]
+  wire  error_auto_in_a_valid; // @[BusBypass.scala 27:40]
+  wire [2:0] error_auto_in_a_bits_opcode; // @[BusBypass.scala 27:40]
+  wire [127:0] error_auto_in_a_bits_address; // @[BusBypass.scala 27:40]
+  wire  error_auto_in_d_ready; // @[BusBypass.scala 27:40]
+  wire  error_auto_in_d_valid; // @[BusBypass.scala 27:40]
+  wire [2:0] error_auto_in_d_bits_opcode; // @[BusBypass.scala 27:40]
+  wire [1:0] error_auto_in_d_bits_size; // @[BusBypass.scala 27:40]
+  wire  error_auto_in_d_bits_denied; // @[BusBypass.scala 27:40]
+  wire  error_auto_in_d_bits_corrupt; // @[BusBypass.scala 27:40]
+  TLBusBypassBar bar ( // @[BusBypass.scala 17:33]
+    .clock(bar_clock),
+    .reset(bar_reset),
+    .auto_in_a_ready(bar_auto_in_a_ready),
+    .auto_in_a_valid(bar_auto_in_a_valid),
+    .auto_in_a_bits_opcode(bar_auto_in_a_bits_opcode),
+    .auto_in_a_bits_address(bar_auto_in_a_bits_address),
+    .auto_in_a_bits_data(bar_auto_in_a_bits_data),
+    .auto_in_d_ready(bar_auto_in_d_ready),
+    .auto_in_d_valid(bar_auto_in_d_valid),
+    .auto_in_d_bits_opcode(bar_auto_in_d_bits_opcode),
+    .auto_in_d_bits_param(bar_auto_in_d_bits_param),
+    .auto_in_d_bits_size(bar_auto_in_d_bits_size),
+    .auto_in_d_bits_sink(bar_auto_in_d_bits_sink),
+    .auto_in_d_bits_denied(bar_auto_in_d_bits_denied),
+    .auto_in_d_bits_data(bar_auto_in_d_bits_data),
+    .auto_in_d_bits_corrupt(bar_auto_in_d_bits_corrupt),
+    .auto_out_1_a_ready(bar_auto_out_1_a_ready),
+    .auto_out_1_a_valid(bar_auto_out_1_a_valid),
+    .auto_out_1_a_bits_opcode(bar_auto_out_1_a_bits_opcode),
+    .auto_out_1_a_bits_address(bar_auto_out_1_a_bits_address),
+    .auto_out_1_a_bits_data(bar_auto_out_1_a_bits_data),
+    .auto_out_1_d_ready(bar_auto_out_1_d_ready),
+    .auto_out_1_d_valid(bar_auto_out_1_d_valid),
+    .auto_out_1_d_bits_opcode(bar_auto_out_1_d_bits_opcode),
+    .auto_out_1_d_bits_param(bar_auto_out_1_d_bits_param),
+    .auto_out_1_d_bits_size(bar_auto_out_1_d_bits_size),
+    .auto_out_1_d_bits_source(bar_auto_out_1_d_bits_source),
+    .auto_out_1_d_bits_sink(bar_auto_out_1_d_bits_sink),
+    .auto_out_1_d_bits_denied(bar_auto_out_1_d_bits_denied),
+    .auto_out_1_d_bits_data(bar_auto_out_1_d_bits_data),
+    .auto_out_1_d_bits_corrupt(bar_auto_out_1_d_bits_corrupt),
+    .auto_out_0_a_ready(bar_auto_out_0_a_ready),
+    .auto_out_0_a_valid(bar_auto_out_0_a_valid),
+    .auto_out_0_a_bits_opcode(bar_auto_out_0_a_bits_opcode),
+    .auto_out_0_a_bits_address(bar_auto_out_0_a_bits_address),
+    .auto_out_0_d_ready(bar_auto_out_0_d_ready),
+    .auto_out_0_d_valid(bar_auto_out_0_d_valid),
+    .auto_out_0_d_bits_opcode(bar_auto_out_0_d_bits_opcode),
+    .auto_out_0_d_bits_size(bar_auto_out_0_d_bits_size),
+    .auto_out_0_d_bits_denied(bar_auto_out_0_d_bits_denied),
+    .auto_out_0_d_bits_corrupt(bar_auto_out_0_d_bits_corrupt),
+    .io_bypass(bar_io_bypass)
+  );
+  TLError_1 error ( // @[BusBypass.scala 27:40]
+    .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_address(error_auto_in_a_bits_address),
+    .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_denied(error_auto_in_d_bits_denied),
+    .auto_in_d_bits_corrupt(error_auto_in_d_bits_corrupt)
+  );
+  assign auto_node_out_out_a_valid = bar_auto_out_1_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_node_out_out_a_bits_opcode = bar_auto_out_1_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_node_out_out_a_bits_address = bar_auto_out_1_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_node_out_out_a_bits_data = bar_auto_out_1_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_node_out_out_d_ready = bar_auto_out_1_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_node_in_in_a_ready = bar_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_node_in_in_d_valid = bar_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_node_in_in_d_bits_opcode = bar_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_node_in_in_d_bits_param = bar_auto_in_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_node_in_in_d_bits_size = bar_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_node_in_in_d_bits_sink = bar_auto_in_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_node_in_in_d_bits_denied = bar_auto_in_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_node_in_in_d_bits_data = bar_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_node_in_in_d_bits_corrupt = bar_auto_in_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign bar_clock = clock;
+  assign bar_reset = reset;
+  assign bar_auto_in_a_valid = auto_node_in_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bar_auto_in_a_bits_opcode = auto_node_in_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bar_auto_in_a_bits_address = auto_node_in_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bar_auto_in_a_bits_data = auto_node_in_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bar_auto_in_d_ready = auto_node_in_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bar_auto_out_1_a_ready = auto_node_out_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bar_auto_out_1_d_valid = auto_node_out_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bar_auto_out_1_d_bits_opcode = auto_node_out_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bar_auto_out_1_d_bits_param = auto_node_out_out_d_bits_param; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bar_auto_out_1_d_bits_size = auto_node_out_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bar_auto_out_1_d_bits_source = auto_node_out_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bar_auto_out_1_d_bits_sink = auto_node_out_out_d_bits_sink; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bar_auto_out_1_d_bits_denied = auto_node_out_out_d_bits_denied; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bar_auto_out_1_d_bits_data = auto_node_out_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bar_auto_out_1_d_bits_corrupt = auto_node_out_out_d_bits_corrupt; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bar_auto_out_0_a_ready = error_auto_in_a_ready; // @[LazyModule.scala 298:16]
+  assign bar_auto_out_0_d_valid = error_auto_in_d_valid; // @[LazyModule.scala 298:16]
+  assign bar_auto_out_0_d_bits_opcode = error_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign bar_auto_out_0_d_bits_size = error_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign bar_auto_out_0_d_bits_denied = error_auto_in_d_bits_denied; // @[LazyModule.scala 298:16]
+  assign bar_auto_out_0_d_bits_corrupt = error_auto_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign bar_io_bypass = io_bypass; // @[BusBypass.scala 44:26]
+  assign error_clock = clock;
+  assign error_reset = reset;
+  assign error_auto_in_a_valid = bar_auto_out_0_a_valid; // @[LazyModule.scala 298:16]
+  assign error_auto_in_a_bits_opcode = bar_auto_out_0_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign error_auto_in_a_bits_address = bar_auto_out_0_a_bits_address; // @[LazyModule.scala 298:16]
+  assign error_auto_in_d_ready = bar_auto_out_0_d_ready; // @[LazyModule.scala 298:16]
+endmodule
+module TLMonitor_52(
+  input        clock,
+  input        reset,
+  input        io_in_a_ready,
+  input        io_in_a_valid,
+  input  [2:0] io_in_a_bits_opcode,
+  input  [8:0] io_in_a_bits_address,
+  input        io_in_d_ready,
+  input        io_in_d_valid,
+  input  [2:0] io_in_d_bits_opcode,
+  input  [1:0] io_in_d_bits_param,
+  input  [1:0] io_in_d_bits_size,
+  input        io_in_d_bits_source,
+  input        io_in_d_bits_sink,
+  input        io_in_d_bits_denied,
+  input        io_in_d_bits_corrupt
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire [8:0] _is_aligned_T = io_in_a_bits_address & 9'h3; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 9'h0; // @[Edges.scala 20:24]
+  wire [9:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_15 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [9:0] _T_23 = $signed(_T_7) & -10'sh40; // @[Parameters.scala 137:52]
+  wire  _T_24 = $signed(_T_23) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _T_25 = io_in_a_bits_address ^ 9'h44; // @[Parameters.scala 137:31]
+  wire [9:0] _T_26 = {1'b0,$signed(_T_25)}; // @[Parameters.scala 137:49]
+  wire [9:0] _T_28 = $signed(_T_26) & -10'shc; // @[Parameters.scala 137:52]
+  wire  _T_29 = $signed(_T_28) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _T_30 = io_in_a_bits_address ^ 9'h58; // @[Parameters.scala 137:31]
+  wire [9:0] _T_31 = {1'b0,$signed(_T_30)}; // @[Parameters.scala 137:49]
+  wire [9:0] _T_33 = $signed(_T_31) & -10'sh8; // @[Parameters.scala 137:52]
+  wire  _T_34 = $signed(_T_33) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _T_35 = io_in_a_bits_address ^ 9'h60; // @[Parameters.scala 137:31]
+  wire [9:0] _T_36 = {1'b0,$signed(_T_35)}; // @[Parameters.scala 137:49]
+  wire [9:0] _T_38 = $signed(_T_36) & -10'sh20; // @[Parameters.scala 137:52]
+  wire  _T_39 = $signed(_T_38) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _T_40 = io_in_a_bits_address ^ 9'h80; // @[Parameters.scala 137:31]
+  wire [9:0] _T_41 = {1'b0,$signed(_T_40)}; // @[Parameters.scala 137:49]
+  wire [9:0] _T_43 = $signed(_T_41) & -10'sh80; // @[Parameters.scala 137:52]
+  wire  _T_44 = $signed(_T_43) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _T_45 = io_in_a_bits_address ^ 9'h100; // @[Parameters.scala 137:31]
+  wire [9:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [9:0] _T_48 = $signed(_T_46) & -10'sh100; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 10'sh0; // @[Parameters.scala 137:67]
+  wire  _T_54 = _T_24 | _T_29 | _T_34 | _T_39 | _T_44 | _T_49; // @[Parameters.scala 671:42]
+  wire  _T_129 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_247 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_381 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire  _T_446 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_506 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_566 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_630 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_1 = ~io_in_d_bits_source; // @[Parameters.scala 46:9]
+  wire  _T_634 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_638 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_642 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 313:28]
+  wire  _T_646 = ~io_in_d_bits_corrupt; // @[Monitor.scala 314:15]
+  wire  _T_650 = ~io_in_d_bits_denied; // @[Monitor.scala 315:15]
+  wire  _T_654 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_665 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 102:26]
+  wire  _T_669 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 323:28]
+  wire  _T_682 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_702 = _T_650 | io_in_d_bits_corrupt; // @[Monitor.scala 334:30]
+  wire  _T_711 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_728 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_746 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [8:0] address; // @[Monitor.scala 388:22]
+  wire  _T_776 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_777 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_793 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] param_1; // @[Monitor.scala 536:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg  source_1; // @[Monitor.scala 538:22]
+  reg  sink; // @[Monitor.scala 539:22]
+  reg  denied; // @[Monitor.scala 540:22]
+  wire  _T_800 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_801 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_805 = io_in_d_bits_param == param_1; // @[Monitor.scala 543:29]
+  wire  _T_809 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_813 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  wire  _T_817 = io_in_d_bits_sink == sink; // @[Monitor.scala 546:29]
+  wire  _T_821 = io_in_d_bits_denied == denied; // @[Monitor.scala 547:29]
+  reg  inflight; // @[Monitor.scala 611:27]
+  reg [3:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [3:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [2:0] _GEN_71 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [3:0] _a_opcode_lookup_T = {{1'd0}, _GEN_71}; // @[Monitor.scala 634:69]
+  wire [3:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_72 = {{12'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_72 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [3:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_75 = {{12'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_75 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_827 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [1:0] _GEN_15 = io_in_a_valid & a_first_1 ? 2'h1 : 2'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_830 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [18:0] _a_opcodes_set_T_1 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? 3'h5 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [17:0] _a_sizes_set_T_1 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire  _T_834 = ~inflight; // @[Monitor.scala 658:17]
+  wire [1:0] _GEN_16 = a_first_done & a_first_1 ? 2'h1 : 2'h0; // @[Monitor.scala 652:72 653:28]
+  wire [18:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
+  wire [17:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 18'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_838 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_840 = ~_T_634; // @[Monitor.scala 671:74]
+  wire  _T_841 = io_in_d_valid & d_first_1 & ~_T_634; // @[Monitor.scala 671:71]
+  wire [1:0] _d_clr_wo_ready_T = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_634 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 671:90 672:22]
+  wire [30:0] _GEN_1 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [30:0] _d_opcodes_clr_T_5 = _GEN_1 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [1:0] _GEN_22 = d_first_done & d_first_1 & _T_840 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 675:91 676:21]
+  wire [30:0] _GEN_23 = d_first_done & d_first_1 & _T_840 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
+  wire  same_cycle_resp = _T_827 & _source_ok_T_1; // @[Monitor.scala 681:88]
+  wire  _T_853 = inflight >> io_in_d_bits_source | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_858 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_859 = io_in_d_bits_opcode == _GEN_32 | _T_858; // @[Monitor.scala 685:77]
+  wire  _T_863 = 2'h2 == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_870 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_871 = io_in_d_bits_opcode == _GEN_48 | _T_870; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_79 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_875 = _GEN_79 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_885 = _T_838 & a_first_1 & io_in_a_valid & _source_ok_T_1 & _T_840; // @[Monitor.scala 694:116]
+  wire  _T_887 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire  a_set_wo_ready = _GEN_15[0];
+  wire  d_clr_wo_ready = _GEN_21[0];
+  wire  _T_894 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire  a_set = _GEN_16[0];
+  wire  d_clr = _GEN_22[0];
+  wire [3:0] a_opcodes_set = _GEN_19[3:0];
+  wire [3:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [3:0] d_opcodes_clr = _GEN_23[3:0];
+  wire [3:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [3:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [3:0] a_sizes_set = _GEN_20[3:0];
+  wire [3:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [3:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_903 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [3:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [3:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_84 = {{12'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_84 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_929 = io_in_d_valid & d_first_2 & _T_634; // @[Monitor.scala 779:71]
+  wire [30:0] _GEN_68 = d_first_done & d_first_2 & _T_634 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 785:21]
+  wire  _T_937 = 1'h0 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_947 = _GEN_79 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [3:0] d_opcodes_clr_1 = _GEN_68[3:0];
+  wire [3:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [3:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      param_1 <= io_in_d_bits_param; // @[Monitor.scala 551:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      sink <= io_in_d_bits_sink; // @[Monitor.scala 554:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      denied <= io_in_d_bits_denied; // @[Monitor.scala 555:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 1'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= (inflight | a_set) & ~d_clr; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 4'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 4'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 4'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_15 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_129 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_54 & (io_in_a_valid & _T_247 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_247 & ~reset & ~_T_54) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_247 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_247 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_54 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_54) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_381 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_381 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_381 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_381 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_446 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_446 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_446 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_446 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_506 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_506 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_506 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_506 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_566 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_566 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_566 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_566 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_634 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_634 & _T_2 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (io_in_d_valid & _T_634 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_634 & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (io_in_d_valid & _T_634 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_634 & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_d_valid & _T_634 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_634 & _T_2 & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_d_valid & _T_634 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_634 & _T_2 & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck is denied (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_654 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & _T_2 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (io_in_d_valid & _T_654 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (io_in_d_valid & _T_654 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid cap param (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_669 & (io_in_d_valid & _T_654 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & _T_2 & ~_T_669) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries toN param (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_d_valid & _T_654 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & _T_2 & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is corrupt (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_d_valid & _T_654 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & _T_2 & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant is denied (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_682 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & _T_2 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (io_in_d_valid & _T_682 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_665 & (io_in_d_valid & _T_682 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & _T_2 & ~_T_665) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_669 & (io_in_d_valid & _T_682 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & _T_2 & ~_T_669) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries toN param (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_702 & (io_in_d_valid & _T_682 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & _T_2 & ~_T_702) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_d_valid & _T_682 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & _T_2 & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData is denied (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_711 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_711 & _T_2 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (io_in_d_valid & _T_711 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_711 & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid param (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_d_valid & _T_711 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_711 & _T_2 & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is corrupt (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_d_valid & _T_711 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_711 & _T_2 & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck is denied (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_728 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_728 & _T_2 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (io_in_d_valid & _T_728 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_728 & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_702 & (io_in_d_valid & _T_728 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_728 & _T_2 & ~_T_702) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_d_valid & _T_728 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_728 & _T_2 & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData is denied (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_746 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_746 & _T_2 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (io_in_d_valid & _T_746 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_746 & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid param (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (io_in_d_valid & _T_746 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_746 & _T_2 & ~_T_646) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is corrupt (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_650 & (io_in_d_valid & _T_746 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_746 & _T_2 & ~_T_650) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck is denied (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_777 & (_T_776 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_776 & ~reset & ~_T_777) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_793 & (_T_776 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_776 & ~reset & ~_T_793) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_801 & (_T_800 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_800 & _T_2 & ~_T_801) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_805 & (_T_800 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_800 & _T_2 & ~_T_805) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel param changed within multibeat operation (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_809 & (_T_800 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_800 & _T_2 & ~_T_809) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_813 & (_T_800 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_800 & _T_2 & ~_T_813) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_817 & (_T_800 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_800 & _T_2 & ~_T_817) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel sink changed with multibeat operation (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_821 & (_T_800 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_800 & _T_2 & ~_T_821) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel denied changed with multibeat operation (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_834 & (_T_830 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_830 & ~reset & ~_T_834) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_853 & (_T_841 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_841 & _T_2 & ~_T_853) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_859 & (_T_841 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_841 & same_cycle_resp & _T_2 & ~_T_859) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_863 & (_T_841 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_841 & same_cycle_resp & _T_2 & ~_T_863) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_871 & (_T_841 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_841 & ~same_cycle_resp & _T_2 & ~_T_871) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_875 & (_T_841 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_841 & ~same_cycle_resp & _T_2 & ~_T_875) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_887 & (_T_885 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_885 & _T_2 & ~_T_887) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_894 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_894) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 3 (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_903 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_903) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at Debug.scala:653:46)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_937 & (_T_929 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_929 & _T_2 & ~_T_937) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_947 & (_T_929 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_929 & _T_2 & ~_T_947) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Debug.scala:653:46)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  address = _RAND_2[8:0];
+  _RAND_3 = {1{`RANDOM}};
+  d_first_counter = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  opcode_1 = _RAND_4[2:0];
+  _RAND_5 = {1{`RANDOM}};
+  param_1 = _RAND_5[1:0];
+  _RAND_6 = {1{`RANDOM}};
+  size_1 = _RAND_6[1:0];
+  _RAND_7 = {1{`RANDOM}};
+  source_1 = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  sink = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  denied = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[3:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[3:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_16[3:0];
+  _RAND_17 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_17[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module AsyncQueueSource_1(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [8:0]  io_enq_bits_address,
+  input  [31:0] io_enq_bits_data,
+  output [2:0]  io_async_mem_0_opcode,
+  output [8:0]  io_async_mem_0_address,
+  output [31:0] io_async_mem_0_data,
+  input         io_async_ridx,
+  output        io_async_widx,
+  input         io_async_safe_ridx_valid,
+  output        io_async_safe_widx_valid,
+  output        io_async_safe_source_reset_n
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+`endif // RANDOMIZE_REG_INIT
+  wire  ridx_ridx_gray_clock; // @[ShiftReg.scala 45:23]
+  wire  ridx_ridx_gray_reset; // @[ShiftReg.scala 45:23]
+  wire  ridx_ridx_gray_io_d; // @[ShiftReg.scala 45:23]
+  wire  ridx_ridx_gray_io_q; // @[ShiftReg.scala 45:23]
+  wire  source_valid_0_io_in; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_0_io_out; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_0_clock; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_0_reset; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_1_io_in; // @[AsyncQueue.scala 101:32]
+  wire  source_valid_1_io_out; // @[AsyncQueue.scala 101:32]
+  wire  source_valid_1_clock; // @[AsyncQueue.scala 101:32]
+  wire  source_valid_1_reset; // @[AsyncQueue.scala 101:32]
+  wire  sink_extend_io_in; // @[AsyncQueue.scala 103:30]
+  wire  sink_extend_io_out; // @[AsyncQueue.scala 103:30]
+  wire  sink_extend_clock; // @[AsyncQueue.scala 103:30]
+  wire  sink_extend_reset; // @[AsyncQueue.scala 103:30]
+  wire  sink_valid_io_in; // @[AsyncQueue.scala 104:30]
+  wire  sink_valid_io_out; // @[AsyncQueue.scala 104:30]
+  wire  sink_valid_clock; // @[AsyncQueue.scala 104:30]
+  wire  sink_valid_reset; // @[AsyncQueue.scala 104:30]
+  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 80:16]
+  reg [8:0] mem_0_address; // @[AsyncQueue.scala 80:16]
+  reg [31:0] mem_0_data; // @[AsyncQueue.scala 80:16]
+  wire  _widx_T_1 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  sink_ready = sink_valid_io_out;
+  wire  _widx_T_2 = ~sink_ready; // @[AsyncQueue.scala 81:79]
+  reg  widx_widx_bin; // @[AsyncQueue.scala 52:25]
+  wire  widx_incremented = _widx_T_2 ? 1'h0 : widx_widx_bin + _widx_T_1; // @[AsyncQueue.scala 53:23]
+  wire  ridx = ridx_ridx_gray_io_q; // @[ShiftReg.scala 48:{24,24}]
+  reg  ready_reg; // @[AsyncQueue.scala 88:56]
+  reg  widx_gray; // @[AsyncQueue.scala 91:55]
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 ridx_ridx_gray ( // @[ShiftReg.scala 45:23]
+    .clock(ridx_ridx_gray_clock),
+    .reset(ridx_ridx_gray_reset),
+    .io_d(ridx_ridx_gray_io_d),
+    .io_q(ridx_ridx_gray_io_q)
+  );
+  AsyncValidSync source_valid_0 ( // @[AsyncQueue.scala 100:32]
+    .io_in(source_valid_0_io_in),
+    .io_out(source_valid_0_io_out),
+    .clock(source_valid_0_clock),
+    .reset(source_valid_0_reset)
+  );
+  AsyncValidSync source_valid_1 ( // @[AsyncQueue.scala 101:32]
+    .io_in(source_valid_1_io_in),
+    .io_out(source_valid_1_io_out),
+    .clock(source_valid_1_clock),
+    .reset(source_valid_1_reset)
+  );
+  AsyncValidSync sink_extend ( // @[AsyncQueue.scala 103:30]
+    .io_in(sink_extend_io_in),
+    .io_out(sink_extend_io_out),
+    .clock(sink_extend_clock),
+    .reset(sink_extend_reset)
+  );
+  AsyncValidSync sink_valid ( // @[AsyncQueue.scala 104:30]
+    .io_in(sink_valid_io_in),
+    .io_out(sink_valid_io_out),
+    .clock(sink_valid_clock),
+    .reset(sink_valid_reset)
+  );
+  assign io_enq_ready = ready_reg & sink_ready; // @[AsyncQueue.scala 89:29]
+  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_address = mem_0_address; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 96:31]
+  assign io_async_widx = widx_gray; // @[AsyncQueue.scala 92:17]
+  assign io_async_safe_widx_valid = source_valid_1_io_out; // @[AsyncQueue.scala 117:20]
+  assign io_async_safe_source_reset_n = ~reset; // @[AsyncQueue.scala 121:27]
+  assign ridx_ridx_gray_clock = clock;
+  assign ridx_ridx_gray_reset = reset;
+  assign ridx_ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 47:16]
+  assign source_valid_0_io_in = 1'h1; // @[AsyncQueue.scala 115:26]
+  assign source_valid_0_clock = clock; // @[AsyncQueue.scala 110:26]
+  assign source_valid_0_reset = reset; // @[AsyncQueue.scala 105:65]
+  assign source_valid_1_io_in = source_valid_0_io_out; // @[AsyncQueue.scala 116:26]
+  assign source_valid_1_clock = clock; // @[AsyncQueue.scala 111:26]
+  assign source_valid_1_reset = reset; // @[AsyncQueue.scala 106:65]
+  assign sink_extend_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 118:23]
+  assign sink_extend_clock = clock; // @[AsyncQueue.scala 112:26]
+  assign sink_extend_reset = reset; // @[AsyncQueue.scala 107:65]
+  assign sink_valid_io_in = sink_extend_io_out; // @[AsyncQueue.scala 119:22]
+  assign sink_valid_clock = clock; // @[AsyncQueue.scala 113:26]
+  assign sink_valid_reset = reset; // @[AsyncQueue.scala 108:35]
+  always @(posedge clock) begin
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_opcode <= io_enq_bits_opcode; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_address <= io_enq_bits_address; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_data <= io_enq_bits_data; // @[AsyncQueue.scala 86:37]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 53:23]
+      widx_widx_bin <= 1'h0;
+    end else if (_widx_T_2) begin
+      widx_widx_bin <= 1'h0;
+    end else begin
+      widx_widx_bin <= widx_widx_bin + _widx_T_1;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 83:26]
+      ready_reg <= 1'h0;
+    end else begin
+      ready_reg <= sink_ready & widx_incremented != (ridx ^ 1'h1);
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 53:23]
+      widx_gray <= 1'h0;
+    end else if (_widx_T_2) begin
+      widx_gray <= 1'h0;
+    end else begin
+      widx_gray <= widx_widx_bin + _widx_T_1;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  mem_0_address = _RAND_1[8:0];
+  _RAND_2 = {1{`RANDOM}};
+  mem_0_data = _RAND_2[31:0];
+  _RAND_3 = {1{`RANDOM}};
+  widx_widx_bin = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  ready_reg = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  widx_gray = _RAND_5[0:0];
+`endif // RANDOMIZE_REG_INIT
+  if (reset) begin
+    widx_widx_bin = 1'h0;
+  end
+  if (reset) begin
+    ready_reg = 1'h0;
+  end
+  if (reset) begin
+    widx_gray = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ClockCrossingReg_w43(
+  input         clock,
+  input  [42:0] io_d,
+  output [42:0] io_q,
+  input         io_en
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [63:0] _RAND_0;
+`endif // RANDOMIZE_REG_INIT
+  reg [42:0] cdc_reg; // @[Reg.scala 16:16]
+  assign io_q = cdc_reg; // @[SynchronizerReg.scala 202:8]
+  always @(posedge clock) begin
+    if (io_en) begin // @[Reg.scala 17:18]
+      cdc_reg <= io_d; // @[Reg.scala 17:22]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  cdc_reg = _RAND_0[42:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module AsyncQueueSink_1(
+  input         clock,
+  input         reset,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [1:0]  io_deq_bits_param,
+  output [1:0]  io_deq_bits_size,
+  output        io_deq_bits_source,
+  output        io_deq_bits_sink,
+  output        io_deq_bits_denied,
+  output [31:0] io_deq_bits_data,
+  output        io_deq_bits_corrupt,
+  input  [2:0]  io_async_mem_0_opcode,
+  input  [1:0]  io_async_mem_0_size,
+  input         io_async_mem_0_source,
+  input  [31:0] io_async_mem_0_data,
+  output        io_async_ridx,
+  input         io_async_widx,
+  output        io_async_safe_ridx_valid,
+  input         io_async_safe_widx_valid,
+  output        io_async_safe_sink_reset_n
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+`endif // RANDOMIZE_REG_INIT
+  wire  widx_widx_gray_clock; // @[ShiftReg.scala 45:23]
+  wire  widx_widx_gray_reset; // @[ShiftReg.scala 45:23]
+  wire  widx_widx_gray_io_d; // @[ShiftReg.scala 45:23]
+  wire  widx_widx_gray_io_q; // @[ShiftReg.scala 45:23]
+  wire  io_deq_bits_deq_bits_reg_clock; // @[SynchronizerReg.scala 207:25]
+  wire [42:0] io_deq_bits_deq_bits_reg_io_d; // @[SynchronizerReg.scala 207:25]
+  wire [42:0] io_deq_bits_deq_bits_reg_io_q; // @[SynchronizerReg.scala 207:25]
+  wire  io_deq_bits_deq_bits_reg_io_en; // @[SynchronizerReg.scala 207:25]
+  wire  sink_valid_0_io_in; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_0_io_out; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_0_clock; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_0_reset; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_1_io_in; // @[AsyncQueue.scala 169:33]
+  wire  sink_valid_1_io_out; // @[AsyncQueue.scala 169:33]
+  wire  sink_valid_1_clock; // @[AsyncQueue.scala 169:33]
+  wire  sink_valid_1_reset; // @[AsyncQueue.scala 169:33]
+  wire  source_extend_io_in; // @[AsyncQueue.scala 171:31]
+  wire  source_extend_io_out; // @[AsyncQueue.scala 171:31]
+  wire  source_extend_clock; // @[AsyncQueue.scala 171:31]
+  wire  source_extend_reset; // @[AsyncQueue.scala 171:31]
+  wire  source_valid_io_in; // @[AsyncQueue.scala 172:31]
+  wire  source_valid_io_out; // @[AsyncQueue.scala 172:31]
+  wire  source_valid_clock; // @[AsyncQueue.scala 172:31]
+  wire  source_valid_reset; // @[AsyncQueue.scala 172:31]
+  wire  _ridx_T_1 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  wire  source_ready = source_valid_io_out;
+  wire  _ridx_T_2 = ~source_ready; // @[AsyncQueue.scala 144:79]
+  reg  ridx_ridx_bin; // @[AsyncQueue.scala 52:25]
+  wire  ridx_incremented = _ridx_T_2 ? 1'h0 : ridx_ridx_bin + _ridx_T_1; // @[AsyncQueue.scala 53:23]
+  wire  widx = widx_widx_gray_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire [34:0] io_deq_bits_deq_bits_reg_io_d_lo = {2'h0,io_async_mem_0_data,1'h0}; // @[SynchronizerReg.scala 209:24]
+  wire [7:0] io_deq_bits_deq_bits_reg_io_d_hi = {io_async_mem_0_opcode,2'h0,io_async_mem_0_size,io_async_mem_0_source}; // @[SynchronizerReg.scala 209:24]
+  wire [42:0] _io_deq_bits_WIRE_1 = io_deq_bits_deq_bits_reg_io_q;
+  reg  valid_reg; // @[AsyncQueue.scala 161:56]
+  reg  ridx_gray; // @[AsyncQueue.scala 164:55]
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 widx_widx_gray ( // @[ShiftReg.scala 45:23]
+    .clock(widx_widx_gray_clock),
+    .reset(widx_widx_gray_reset),
+    .io_d(widx_widx_gray_io_d),
+    .io_q(widx_widx_gray_io_q)
+  );
+  ClockCrossingReg_w43 io_deq_bits_deq_bits_reg ( // @[SynchronizerReg.scala 207:25]
+    .clock(io_deq_bits_deq_bits_reg_clock),
+    .io_d(io_deq_bits_deq_bits_reg_io_d),
+    .io_q(io_deq_bits_deq_bits_reg_io_q),
+    .io_en(io_deq_bits_deq_bits_reg_io_en)
+  );
+  AsyncValidSync sink_valid_0 ( // @[AsyncQueue.scala 168:33]
+    .io_in(sink_valid_0_io_in),
+    .io_out(sink_valid_0_io_out),
+    .clock(sink_valid_0_clock),
+    .reset(sink_valid_0_reset)
+  );
+  AsyncValidSync sink_valid_1 ( // @[AsyncQueue.scala 169:33]
+    .io_in(sink_valid_1_io_in),
+    .io_out(sink_valid_1_io_out),
+    .clock(sink_valid_1_clock),
+    .reset(sink_valid_1_reset)
+  );
+  AsyncValidSync source_extend ( // @[AsyncQueue.scala 171:31]
+    .io_in(source_extend_io_in),
+    .io_out(source_extend_io_out),
+    .clock(source_extend_clock),
+    .reset(source_extend_reset)
+  );
+  AsyncValidSync source_valid ( // @[AsyncQueue.scala 172:31]
+    .io_in(source_valid_io_in),
+    .io_out(source_valid_io_out),
+    .clock(source_valid_clock),
+    .reset(source_valid_reset)
+  );
+  assign io_deq_valid = valid_reg & source_ready; // @[AsyncQueue.scala 162:29]
+  assign io_deq_bits_opcode = _io_deq_bits_WIRE_1[42:40]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_param = _io_deq_bits_WIRE_1[39:38]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_size = _io_deq_bits_WIRE_1[37:36]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_source = _io_deq_bits_WIRE_1[35]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_sink = _io_deq_bits_WIRE_1[34]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_denied = _io_deq_bits_WIRE_1[33]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_data = _io_deq_bits_WIRE_1[32:1]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_corrupt = _io_deq_bits_WIRE_1[0]; // @[SynchronizerReg.scala 211:26]
+  assign io_async_ridx = ridx_gray; // @[AsyncQueue.scala 165:17]
+  assign io_async_safe_ridx_valid = sink_valid_1_io_out; // @[AsyncQueue.scala 185:20]
+  assign io_async_safe_sink_reset_n = ~reset; // @[AsyncQueue.scala 189:25]
+  assign widx_widx_gray_clock = clock;
+  assign widx_widx_gray_reset = reset;
+  assign widx_widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 47:16]
+  assign io_deq_bits_deq_bits_reg_clock = clock;
+  assign io_deq_bits_deq_bits_reg_io_d = {io_deq_bits_deq_bits_reg_io_d_hi,io_deq_bits_deq_bits_reg_io_d_lo}; // @[SynchronizerReg.scala 209:24]
+  assign io_deq_bits_deq_bits_reg_io_en = source_ready & ridx_incremented != widx; // @[AsyncQueue.scala 146:28]
+  assign sink_valid_0_io_in = 1'h1; // @[AsyncQueue.scala 183:24]
+  assign sink_valid_0_clock = clock; // @[AsyncQueue.scala 178:25]
+  assign sink_valid_0_reset = reset; // @[AsyncQueue.scala 173:66]
+  assign sink_valid_1_io_in = sink_valid_0_io_out; // @[AsyncQueue.scala 184:24]
+  assign sink_valid_1_clock = clock; // @[AsyncQueue.scala 179:25]
+  assign sink_valid_1_reset = reset; // @[AsyncQueue.scala 174:66]
+  assign source_extend_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 186:25]
+  assign source_extend_clock = clock; // @[AsyncQueue.scala 180:25]
+  assign source_extend_reset = reset; // @[AsyncQueue.scala 175:66]
+  assign source_valid_io_in = source_extend_io_out; // @[AsyncQueue.scala 187:24]
+  assign source_valid_clock = clock; // @[AsyncQueue.scala 181:25]
+  assign source_valid_reset = reset; // @[AsyncQueue.scala 176:34]
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 53:23]
+      ridx_ridx_bin <= 1'h0;
+    end else if (_ridx_T_2) begin
+      ridx_ridx_bin <= 1'h0;
+    end else begin
+      ridx_ridx_bin <= ridx_ridx_bin + _ridx_T_1;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 146:28]
+      valid_reg <= 1'h0;
+    end else begin
+      valid_reg <= source_ready & ridx_incremented != widx;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 53:23]
+      ridx_gray <= 1'h0;
+    end else if (_ridx_T_2) begin
+      ridx_gray <= 1'h0;
+    end else begin
+      ridx_gray <= ridx_ridx_bin + _ridx_T_1;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  ridx_ridx_bin = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  valid_reg = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  ridx_gray = _RAND_2[0:0];
+`endif // RANDOMIZE_REG_INIT
+  if (reset) begin
+    ridx_ridx_bin = 1'h0;
+  end
+  if (reset) begin
+    valid_reg = 1'h0;
+  end
+  if (reset) begin
+    ridx_gray = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLAsyncCrossingSource_1(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [8:0]  auto_in_a_bits_address,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_param,
+  output [1:0]  auto_in_d_bits_size,
+  output        auto_in_d_bits_source,
+  output        auto_in_d_bits_sink,
+  output        auto_in_d_bits_denied,
+  output [31:0] auto_in_d_bits_data,
+  output        auto_in_d_bits_corrupt,
+  output [2:0]  auto_out_a_mem_0_opcode,
+  output [8:0]  auto_out_a_mem_0_address,
+  output [31:0] auto_out_a_mem_0_data,
+  input         auto_out_a_ridx,
+  output        auto_out_a_widx,
+  input         auto_out_a_safe_ridx_valid,
+  output        auto_out_a_safe_widx_valid,
+  output        auto_out_a_safe_source_reset_n,
+  input  [2:0]  auto_out_d_mem_0_opcode,
+  input  [1:0]  auto_out_d_mem_0_size,
+  input         auto_out_d_mem_0_source,
+  input  [31:0] auto_out_d_mem_0_data,
+  output        auto_out_d_ridx,
+  input         auto_out_d_widx,
+  output        auto_out_d_safe_ridx_valid,
+  input         auto_out_d_safe_widx_valid,
+  output        auto_out_d_safe_sink_reset_n
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [8:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_sink; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_denied; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  bundleOut_0_a_source_clock; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_reset; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_enq_ready; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_enq_valid; // @[AsyncQueue.scala 216:24]
+  wire [2:0] bundleOut_0_a_source_io_enq_bits_opcode; // @[AsyncQueue.scala 216:24]
+  wire [8:0] bundleOut_0_a_source_io_enq_bits_address; // @[AsyncQueue.scala 216:24]
+  wire [31:0] bundleOut_0_a_source_io_enq_bits_data; // @[AsyncQueue.scala 216:24]
+  wire [2:0] bundleOut_0_a_source_io_async_mem_0_opcode; // @[AsyncQueue.scala 216:24]
+  wire [8:0] bundleOut_0_a_source_io_async_mem_0_address; // @[AsyncQueue.scala 216:24]
+  wire [31:0] bundleOut_0_a_source_io_async_mem_0_data; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_async_ridx; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_async_widx; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_async_safe_ridx_valid; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_async_safe_widx_valid; // @[AsyncQueue.scala 216:24]
+  wire  bundleOut_0_a_source_io_async_safe_source_reset_n; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_sink_clock; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_reset; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_deq_ready; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_deq_valid; // @[AsyncQueue.scala 207:22]
+  wire [2:0] bundleIn_0_d_sink_io_deq_bits_opcode; // @[AsyncQueue.scala 207:22]
+  wire [1:0] bundleIn_0_d_sink_io_deq_bits_param; // @[AsyncQueue.scala 207:22]
+  wire [1:0] bundleIn_0_d_sink_io_deq_bits_size; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_deq_bits_source; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_deq_bits_sink; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_deq_bits_denied; // @[AsyncQueue.scala 207:22]
+  wire [31:0] bundleIn_0_d_sink_io_deq_bits_data; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_deq_bits_corrupt; // @[AsyncQueue.scala 207:22]
+  wire [2:0] bundleIn_0_d_sink_io_async_mem_0_opcode; // @[AsyncQueue.scala 207:22]
+  wire [1:0] bundleIn_0_d_sink_io_async_mem_0_size; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_async_mem_0_source; // @[AsyncQueue.scala 207:22]
+  wire [31:0] bundleIn_0_d_sink_io_async_mem_0_data; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_async_ridx; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_async_widx; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_async_safe_widx_valid; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_sink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 207:22]
+  TLMonitor_52 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_param(monitor_io_in_d_bits_param),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source),
+    .io_in_d_bits_sink(monitor_io_in_d_bits_sink),
+    .io_in_d_bits_denied(monitor_io_in_d_bits_denied),
+    .io_in_d_bits_corrupt(monitor_io_in_d_bits_corrupt)
+  );
+  AsyncQueueSource_1 bundleOut_0_a_source ( // @[AsyncQueue.scala 216:24]
+    .clock(bundleOut_0_a_source_clock),
+    .reset(bundleOut_0_a_source_reset),
+    .io_enq_ready(bundleOut_0_a_source_io_enq_ready),
+    .io_enq_valid(bundleOut_0_a_source_io_enq_valid),
+    .io_enq_bits_opcode(bundleOut_0_a_source_io_enq_bits_opcode),
+    .io_enq_bits_address(bundleOut_0_a_source_io_enq_bits_address),
+    .io_enq_bits_data(bundleOut_0_a_source_io_enq_bits_data),
+    .io_async_mem_0_opcode(bundleOut_0_a_source_io_async_mem_0_opcode),
+    .io_async_mem_0_address(bundleOut_0_a_source_io_async_mem_0_address),
+    .io_async_mem_0_data(bundleOut_0_a_source_io_async_mem_0_data),
+    .io_async_ridx(bundleOut_0_a_source_io_async_ridx),
+    .io_async_widx(bundleOut_0_a_source_io_async_widx),
+    .io_async_safe_ridx_valid(bundleOut_0_a_source_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(bundleOut_0_a_source_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(bundleOut_0_a_source_io_async_safe_source_reset_n)
+  );
+  AsyncQueueSink_1 bundleIn_0_d_sink ( // @[AsyncQueue.scala 207:22]
+    .clock(bundleIn_0_d_sink_clock),
+    .reset(bundleIn_0_d_sink_reset),
+    .io_deq_ready(bundleIn_0_d_sink_io_deq_ready),
+    .io_deq_valid(bundleIn_0_d_sink_io_deq_valid),
+    .io_deq_bits_opcode(bundleIn_0_d_sink_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleIn_0_d_sink_io_deq_bits_param),
+    .io_deq_bits_size(bundleIn_0_d_sink_io_deq_bits_size),
+    .io_deq_bits_source(bundleIn_0_d_sink_io_deq_bits_source),
+    .io_deq_bits_sink(bundleIn_0_d_sink_io_deq_bits_sink),
+    .io_deq_bits_denied(bundleIn_0_d_sink_io_deq_bits_denied),
+    .io_deq_bits_data(bundleIn_0_d_sink_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleIn_0_d_sink_io_deq_bits_corrupt),
+    .io_async_mem_0_opcode(bundleIn_0_d_sink_io_async_mem_0_opcode),
+    .io_async_mem_0_size(bundleIn_0_d_sink_io_async_mem_0_size),
+    .io_async_mem_0_source(bundleIn_0_d_sink_io_async_mem_0_source),
+    .io_async_mem_0_data(bundleIn_0_d_sink_io_async_mem_0_data),
+    .io_async_ridx(bundleIn_0_d_sink_io_async_ridx),
+    .io_async_widx(bundleIn_0_d_sink_io_async_widx),
+    .io_async_safe_ridx_valid(bundleIn_0_d_sink_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(bundleIn_0_d_sink_io_async_safe_widx_valid),
+    .io_async_safe_sink_reset_n(bundleIn_0_d_sink_io_async_safe_sink_reset_n)
+  );
+  assign auto_in_a_ready = bundleOut_0_a_source_io_enq_ready; // @[Nodes.scala 1210:84 AsyncQueue.scala 217:19]
+  assign auto_in_d_valid = bundleIn_0_d_sink_io_deq_valid; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_opcode = bundleIn_0_d_sink_io_deq_bits_opcode; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_param = bundleIn_0_d_sink_io_deq_bits_param; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_size = bundleIn_0_d_sink_io_deq_bits_size; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_source = bundleIn_0_d_sink_io_deq_bits_source; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_sink = bundleIn_0_d_sink_io_deq_bits_sink; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_denied = bundleIn_0_d_sink_io_deq_bits_denied; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_data = bundleIn_0_d_sink_io_deq_bits_data; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_in_d_bits_corrupt = bundleIn_0_d_sink_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign auto_out_a_mem_0_opcode = bundleOut_0_a_source_io_async_mem_0_opcode; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_a_mem_0_address = bundleOut_0_a_source_io_async_mem_0_address; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_a_mem_0_data = bundleOut_0_a_source_io_async_mem_0_data; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_a_widx = bundleOut_0_a_source_io_async_widx; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_a_safe_widx_valid = bundleOut_0_a_source_io_async_safe_widx_valid; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_a_safe_source_reset_n = bundleOut_0_a_source_io_async_safe_source_reset_n; // @[Nodes.scala 1207:84 AsyncCrossing.scala 25:13]
+  assign auto_out_d_ridx = bundleIn_0_d_sink_io_async_ridx; // @[Nodes.scala 1207:84 AsyncQueue.scala 208:19]
+  assign auto_out_d_safe_ridx_valid = bundleIn_0_d_sink_io_async_safe_ridx_valid; // @[Nodes.scala 1207:84 AsyncQueue.scala 208:19]
+  assign auto_out_d_safe_sink_reset_n = bundleIn_0_d_sink_io_async_safe_sink_reset_n; // @[Nodes.scala 1207:84 AsyncQueue.scala 208:19]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = bundleOut_0_a_source_io_enq_ready; // @[Nodes.scala 1210:84 AsyncQueue.scala 217:19]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = bundleIn_0_d_sink_io_deq_valid; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign monitor_io_in_d_bits_opcode = bundleIn_0_d_sink_io_deq_bits_opcode; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign monitor_io_in_d_bits_param = bundleIn_0_d_sink_io_deq_bits_param; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign monitor_io_in_d_bits_size = bundleIn_0_d_sink_io_deq_bits_size; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign monitor_io_in_d_bits_source = bundleIn_0_d_sink_io_deq_bits_source; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign monitor_io_in_d_bits_sink = bundleIn_0_d_sink_io_deq_bits_sink; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign monitor_io_in_d_bits_denied = bundleIn_0_d_sink_io_deq_bits_denied; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign monitor_io_in_d_bits_corrupt = bundleIn_0_d_sink_io_deq_bits_corrupt; // @[Nodes.scala 1210:84 AsyncCrossing.scala 26:12]
+  assign bundleOut_0_a_source_clock = clock;
+  assign bundleOut_0_a_source_reset = reset;
+  assign bundleOut_0_a_source_io_enq_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_source_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_source_io_enq_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_source_io_enq_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_source_io_async_ridx = auto_out_a_ridx; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleOut_0_a_source_io_async_safe_ridx_valid = auto_out_a_safe_ridx_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_clock = clock;
+  assign bundleIn_0_d_sink_reset = reset;
+  assign bundleIn_0_d_sink_io_deq_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleIn_0_d_sink_io_async_mem_0_opcode = auto_out_d_mem_0_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_io_async_mem_0_size = auto_out_d_mem_0_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_io_async_mem_0_source = auto_out_d_mem_0_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_io_async_mem_0_data = auto_out_d_mem_0_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_io_async_widx = auto_out_d_widx; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_sink_io_async_safe_widx_valid = auto_out_d_safe_widx_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+endmodule
+module AsyncQueueSource_2(
+  input   clock,
+  input   reset,
+  output  io_enq_ready,
+  input   io_enq_valid,
+  input   io_enq_bits_resumereq,
+  input   io_enq_bits_ackhavereset,
+  input   io_enq_bits_hrmask_0,
+  output  io_async_mem_0_resumereq,
+  output  io_async_mem_0_ackhavereset,
+  output  io_async_mem_0_hrmask_0,
+  input   io_async_ridx,
+  output  io_async_widx,
+  input   io_async_safe_ridx_valid,
+  output  io_async_safe_widx_valid,
+  output  io_async_safe_source_reset_n
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+`endif // RANDOMIZE_REG_INIT
+  wire  ridx_ridx_gray_clock; // @[ShiftReg.scala 45:23]
+  wire  ridx_ridx_gray_reset; // @[ShiftReg.scala 45:23]
+  wire  ridx_ridx_gray_io_d; // @[ShiftReg.scala 45:23]
+  wire  ridx_ridx_gray_io_q; // @[ShiftReg.scala 45:23]
+  wire  source_valid_0_io_in; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_0_io_out; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_0_clock; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_0_reset; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_1_io_in; // @[AsyncQueue.scala 101:32]
+  wire  source_valid_1_io_out; // @[AsyncQueue.scala 101:32]
+  wire  source_valid_1_clock; // @[AsyncQueue.scala 101:32]
+  wire  source_valid_1_reset; // @[AsyncQueue.scala 101:32]
+  wire  sink_extend_io_in; // @[AsyncQueue.scala 103:30]
+  wire  sink_extend_io_out; // @[AsyncQueue.scala 103:30]
+  wire  sink_extend_clock; // @[AsyncQueue.scala 103:30]
+  wire  sink_extend_reset; // @[AsyncQueue.scala 103:30]
+  wire  sink_valid_io_in; // @[AsyncQueue.scala 104:30]
+  wire  sink_valid_io_out; // @[AsyncQueue.scala 104:30]
+  wire  sink_valid_clock; // @[AsyncQueue.scala 104:30]
+  wire  sink_valid_reset; // @[AsyncQueue.scala 104:30]
+  reg  mem_0_resumereq; // @[AsyncQueue.scala 80:16]
+  reg  mem_0_ackhavereset; // @[AsyncQueue.scala 80:16]
+  reg  mem_0_hrmask_0; // @[AsyncQueue.scala 80:16]
+  wire  _widx_T_1 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  sink_ready = sink_valid_io_out;
+  wire  _widx_T_2 = ~sink_ready; // @[AsyncQueue.scala 81:79]
+  reg  widx_widx_bin; // @[AsyncQueue.scala 52:25]
+  wire  widx_incremented = _widx_T_2 ? 1'h0 : widx_widx_bin + _widx_T_1; // @[AsyncQueue.scala 53:23]
+  wire  ridx = ridx_ridx_gray_io_q; // @[ShiftReg.scala 48:{24,24}]
+  reg  ready_reg; // @[AsyncQueue.scala 88:56]
+  reg  widx_gray; // @[AsyncQueue.scala 91:55]
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 ridx_ridx_gray ( // @[ShiftReg.scala 45:23]
+    .clock(ridx_ridx_gray_clock),
+    .reset(ridx_ridx_gray_reset),
+    .io_d(ridx_ridx_gray_io_d),
+    .io_q(ridx_ridx_gray_io_q)
+  );
+  AsyncValidSync source_valid_0 ( // @[AsyncQueue.scala 100:32]
+    .io_in(source_valid_0_io_in),
+    .io_out(source_valid_0_io_out),
+    .clock(source_valid_0_clock),
+    .reset(source_valid_0_reset)
+  );
+  AsyncValidSync source_valid_1 ( // @[AsyncQueue.scala 101:32]
+    .io_in(source_valid_1_io_in),
+    .io_out(source_valid_1_io_out),
+    .clock(source_valid_1_clock),
+    .reset(source_valid_1_reset)
+  );
+  AsyncValidSync sink_extend ( // @[AsyncQueue.scala 103:30]
+    .io_in(sink_extend_io_in),
+    .io_out(sink_extend_io_out),
+    .clock(sink_extend_clock),
+    .reset(sink_extend_reset)
+  );
+  AsyncValidSync sink_valid ( // @[AsyncQueue.scala 104:30]
+    .io_in(sink_valid_io_in),
+    .io_out(sink_valid_io_out),
+    .clock(sink_valid_clock),
+    .reset(sink_valid_reset)
+  );
+  assign io_enq_ready = ready_reg & sink_ready; // @[AsyncQueue.scala 89:29]
+  assign io_async_mem_0_resumereq = mem_0_resumereq; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_ackhavereset = mem_0_ackhavereset; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_hrmask_0 = mem_0_hrmask_0; // @[AsyncQueue.scala 96:31]
+  assign io_async_widx = widx_gray; // @[AsyncQueue.scala 92:17]
+  assign io_async_safe_widx_valid = source_valid_1_io_out; // @[AsyncQueue.scala 117:20]
+  assign io_async_safe_source_reset_n = ~reset; // @[AsyncQueue.scala 121:27]
+  assign ridx_ridx_gray_clock = clock;
+  assign ridx_ridx_gray_reset = reset;
+  assign ridx_ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 47:16]
+  assign source_valid_0_io_in = 1'h1; // @[AsyncQueue.scala 115:26]
+  assign source_valid_0_clock = clock; // @[AsyncQueue.scala 110:26]
+  assign source_valid_0_reset = reset; // @[AsyncQueue.scala 105:65]
+  assign source_valid_1_io_in = source_valid_0_io_out; // @[AsyncQueue.scala 116:26]
+  assign source_valid_1_clock = clock; // @[AsyncQueue.scala 111:26]
+  assign source_valid_1_reset = reset; // @[AsyncQueue.scala 106:65]
+  assign sink_extend_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 118:23]
+  assign sink_extend_clock = clock; // @[AsyncQueue.scala 112:26]
+  assign sink_extend_reset = reset; // @[AsyncQueue.scala 107:65]
+  assign sink_valid_io_in = sink_extend_io_out; // @[AsyncQueue.scala 119:22]
+  assign sink_valid_clock = clock; // @[AsyncQueue.scala 113:26]
+  assign sink_valid_reset = reset; // @[AsyncQueue.scala 108:35]
+  always @(posedge clock) begin
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_resumereq <= io_enq_bits_resumereq; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_ackhavereset <= io_enq_bits_ackhavereset; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_hrmask_0 <= io_enq_bits_hrmask_0; // @[AsyncQueue.scala 86:37]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 53:23]
+      widx_widx_bin <= 1'h0;
+    end else if (_widx_T_2) begin
+      widx_widx_bin <= 1'h0;
+    end else begin
+      widx_widx_bin <= widx_widx_bin + _widx_T_1;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 83:26]
+      ready_reg <= 1'h0;
+    end else begin
+      ready_reg <= sink_ready & widx_incremented != (ridx ^ 1'h1);
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 53:23]
+      widx_gray <= 1'h0;
+    end else if (_widx_T_2) begin
+      widx_gray <= 1'h0;
+    end else begin
+      widx_gray <= widx_widx_bin + _widx_T_1;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  mem_0_ackhavereset = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  mem_0_hrmask_0 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  widx_widx_bin = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  ready_reg = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  widx_gray = _RAND_5[0:0];
+`endif // RANDOMIZE_REG_INIT
+  if (reset) begin
+    widx_widx_bin = 1'h0;
+  end
+  if (reset) begin
+    ready_reg = 1'h0;
+  end
+  if (reset) begin
+    widx_gray = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLDebugModuleOuterAsync(
+  output [2:0]  auto_asource_out_a_mem_0_opcode,
+  output [8:0]  auto_asource_out_a_mem_0_address,
+  output [31:0] auto_asource_out_a_mem_0_data,
+  input         auto_asource_out_a_ridx,
+  output        auto_asource_out_a_widx,
+  input         auto_asource_out_a_safe_ridx_valid,
+  output        auto_asource_out_a_safe_widx_valid,
+  output        auto_asource_out_a_safe_source_reset_n,
+  input  [2:0]  auto_asource_out_d_mem_0_opcode,
+  input  [1:0]  auto_asource_out_d_mem_0_size,
+  input         auto_asource_out_d_mem_0_source,
+  input  [31:0] auto_asource_out_d_mem_0_data,
+  output        auto_asource_out_d_ridx,
+  input         auto_asource_out_d_widx,
+  output        auto_asource_out_d_safe_ridx_valid,
+  input         auto_asource_out_d_safe_widx_valid,
+  output        auto_asource_out_d_safe_sink_reset_n,
+  output        auto_intsource_out_sync_0,
+  input         io_dmi_clock,
+  input         io_dmi_reset,
+  output        io_dmi_req_ready,
+  input         io_dmi_req_valid,
+  input  [6:0]  io_dmi_req_bits_addr,
+  input  [31:0] io_dmi_req_bits_data,
+  input  [1:0]  io_dmi_req_bits_op,
+  input         io_dmi_resp_ready,
+  output        io_dmi_resp_valid,
+  output [31:0] io_dmi_resp_bits_data,
+  output [1:0]  io_dmi_resp_bits_resp,
+  output        io_ctrl_ndreset,
+  output        io_ctrl_dmactive,
+  output        io_innerCtrl_mem_0_resumereq,
+  output        io_innerCtrl_mem_0_ackhavereset,
+  output        io_innerCtrl_mem_0_hrmask_0,
+  input         io_innerCtrl_ridx,
+  output        io_innerCtrl_widx,
+  input         io_innerCtrl_safe_ridx_valid,
+  output        io_innerCtrl_safe_widx_valid,
+  output        io_innerCtrl_safe_source_reset_n,
+  input         io_hgDebugInt_0
+);
+  wire  dmiXbar_clock; // @[Debug.scala 624:28]
+  wire  dmiXbar_reset; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_in_a_ready; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_in_a_valid; // @[Debug.scala 624:28]
+  wire [2:0] dmiXbar_auto_in_a_bits_opcode; // @[Debug.scala 624:28]
+  wire [8:0] dmiXbar_auto_in_a_bits_address; // @[Debug.scala 624:28]
+  wire [31:0] dmiXbar_auto_in_a_bits_data; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_in_d_ready; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_in_d_valid; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_in_d_bits_denied; // @[Debug.scala 624:28]
+  wire [31:0] dmiXbar_auto_in_d_bits_data; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_in_d_bits_corrupt; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_out_1_a_ready; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_out_1_a_valid; // @[Debug.scala 624:28]
+  wire [2:0] dmiXbar_auto_out_1_a_bits_opcode; // @[Debug.scala 624:28]
+  wire [6:0] dmiXbar_auto_out_1_a_bits_address; // @[Debug.scala 624:28]
+  wire [31:0] dmiXbar_auto_out_1_a_bits_data; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_out_1_d_ready; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_out_1_d_valid; // @[Debug.scala 624:28]
+  wire [2:0] dmiXbar_auto_out_1_d_bits_opcode; // @[Debug.scala 624:28]
+  wire [31:0] dmiXbar_auto_out_1_d_bits_data; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_out_0_a_ready; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_out_0_a_valid; // @[Debug.scala 624:28]
+  wire [2:0] dmiXbar_auto_out_0_a_bits_opcode; // @[Debug.scala 624:28]
+  wire [8:0] dmiXbar_auto_out_0_a_bits_address; // @[Debug.scala 624:28]
+  wire [31:0] dmiXbar_auto_out_0_a_bits_data; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_out_0_d_ready; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_out_0_d_valid; // @[Debug.scala 624:28]
+  wire [2:0] dmiXbar_auto_out_0_d_bits_opcode; // @[Debug.scala 624:28]
+  wire [1:0] dmiXbar_auto_out_0_d_bits_param; // @[Debug.scala 624:28]
+  wire [1:0] dmiXbar_auto_out_0_d_bits_size; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_out_0_d_bits_sink; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_out_0_d_bits_denied; // @[Debug.scala 624:28]
+  wire [31:0] dmiXbar_auto_out_0_d_bits_data; // @[Debug.scala 624:28]
+  wire  dmiXbar_auto_out_0_d_bits_corrupt; // @[Debug.scala 624:28]
+  wire  dmi2tl_auto_out_a_ready; // @[Debug.scala 627:28]
+  wire  dmi2tl_auto_out_a_valid; // @[Debug.scala 627:28]
+  wire [2:0] dmi2tl_auto_out_a_bits_opcode; // @[Debug.scala 627:28]
+  wire [8:0] dmi2tl_auto_out_a_bits_address; // @[Debug.scala 627:28]
+  wire [31:0] dmi2tl_auto_out_a_bits_data; // @[Debug.scala 627:28]
+  wire  dmi2tl_auto_out_d_ready; // @[Debug.scala 627:28]
+  wire  dmi2tl_auto_out_d_valid; // @[Debug.scala 627:28]
+  wire  dmi2tl_auto_out_d_bits_denied; // @[Debug.scala 627:28]
+  wire [31:0] dmi2tl_auto_out_d_bits_data; // @[Debug.scala 627:28]
+  wire  dmi2tl_auto_out_d_bits_corrupt; // @[Debug.scala 627:28]
+  wire  dmi2tl_io_dmi_req_ready; // @[Debug.scala 627:28]
+  wire  dmi2tl_io_dmi_req_valid; // @[Debug.scala 627:28]
+  wire [6:0] dmi2tl_io_dmi_req_bits_addr; // @[Debug.scala 627:28]
+  wire [31:0] dmi2tl_io_dmi_req_bits_data; // @[Debug.scala 627:28]
+  wire [1:0] dmi2tl_io_dmi_req_bits_op; // @[Debug.scala 627:28]
+  wire  dmi2tl_io_dmi_resp_ready; // @[Debug.scala 627:28]
+  wire  dmi2tl_io_dmi_resp_valid; // @[Debug.scala 627:28]
+  wire [31:0] dmi2tl_io_dmi_resp_bits_data; // @[Debug.scala 627:28]
+  wire [1:0] dmi2tl_io_dmi_resp_bits_resp; // @[Debug.scala 627:28]
+  wire  dmOuter_clock; // @[Debug.scala 649:27]
+  wire  dmOuter_reset; // @[Debug.scala 649:27]
+  wire  dmOuter_auto_dmi_in_a_ready; // @[Debug.scala 649:27]
+  wire  dmOuter_auto_dmi_in_a_valid; // @[Debug.scala 649:27]
+  wire [2:0] dmOuter_auto_dmi_in_a_bits_opcode; // @[Debug.scala 649:27]
+  wire [6:0] dmOuter_auto_dmi_in_a_bits_address; // @[Debug.scala 649:27]
+  wire [31:0] dmOuter_auto_dmi_in_a_bits_data; // @[Debug.scala 649:27]
+  wire  dmOuter_auto_dmi_in_d_ready; // @[Debug.scala 649:27]
+  wire  dmOuter_auto_dmi_in_d_valid; // @[Debug.scala 649:27]
+  wire [2:0] dmOuter_auto_dmi_in_d_bits_opcode; // @[Debug.scala 649:27]
+  wire [31:0] dmOuter_auto_dmi_in_d_bits_data; // @[Debug.scala 649:27]
+  wire  dmOuter_auto_int_out_0; // @[Debug.scala 649:27]
+  wire  dmOuter_io_ctrl_ndreset; // @[Debug.scala 649:27]
+  wire  dmOuter_io_ctrl_dmactive; // @[Debug.scala 649:27]
+  wire  dmOuter_io_ctrl_dmactiveAck; // @[Debug.scala 649:27]
+  wire  dmOuter_io_innerCtrl_ready; // @[Debug.scala 649:27]
+  wire  dmOuter_io_innerCtrl_valid; // @[Debug.scala 649:27]
+  wire  dmOuter_io_innerCtrl_bits_resumereq; // @[Debug.scala 649:27]
+  wire [9:0] dmOuter_io_innerCtrl_bits_hartsel; // @[Debug.scala 649:27]
+  wire  dmOuter_io_innerCtrl_bits_ackhavereset; // @[Debug.scala 649:27]
+  wire  dmOuter_io_innerCtrl_bits_hrmask_0; // @[Debug.scala 649:27]
+  wire  dmOuter_io_hgDebugInt_0; // @[Debug.scala 649:27]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  dmiBypass_clock; // @[Debug.scala 652:29]
+  wire  dmiBypass_reset; // @[Debug.scala 652:29]
+  wire  dmiBypass_auto_node_out_out_a_ready; // @[Debug.scala 652:29]
+  wire  dmiBypass_auto_node_out_out_a_valid; // @[Debug.scala 652:29]
+  wire [2:0] dmiBypass_auto_node_out_out_a_bits_opcode; // @[Debug.scala 652:29]
+  wire [8:0] dmiBypass_auto_node_out_out_a_bits_address; // @[Debug.scala 652:29]
+  wire [31:0] dmiBypass_auto_node_out_out_a_bits_data; // @[Debug.scala 652:29]
+  wire  dmiBypass_auto_node_out_out_d_ready; // @[Debug.scala 652:29]
+  wire  dmiBypass_auto_node_out_out_d_valid; // @[Debug.scala 652:29]
+  wire [2:0] dmiBypass_auto_node_out_out_d_bits_opcode; // @[Debug.scala 652:29]
+  wire [1:0] dmiBypass_auto_node_out_out_d_bits_param; // @[Debug.scala 652:29]
+  wire [1:0] dmiBypass_auto_node_out_out_d_bits_size; // @[Debug.scala 652:29]
+  wire  dmiBypass_auto_node_out_out_d_bits_source; // @[Debug.scala 652:29]
+  wire  dmiBypass_auto_node_out_out_d_bits_sink; // @[Debug.scala 652:29]
+  wire  dmiBypass_auto_node_out_out_d_bits_denied; // @[Debug.scala 652:29]
+  wire [31:0] dmiBypass_auto_node_out_out_d_bits_data; // @[Debug.scala 652:29]
+  wire  dmiBypass_auto_node_out_out_d_bits_corrupt; // @[Debug.scala 652:29]
+  wire  dmiBypass_auto_node_in_in_a_ready; // @[Debug.scala 652:29]
+  wire  dmiBypass_auto_node_in_in_a_valid; // @[Debug.scala 652:29]
+  wire [2:0] dmiBypass_auto_node_in_in_a_bits_opcode; // @[Debug.scala 652:29]
+  wire [8:0] dmiBypass_auto_node_in_in_a_bits_address; // @[Debug.scala 652:29]
+  wire [31:0] dmiBypass_auto_node_in_in_a_bits_data; // @[Debug.scala 652:29]
+  wire  dmiBypass_auto_node_in_in_d_ready; // @[Debug.scala 652:29]
+  wire  dmiBypass_auto_node_in_in_d_valid; // @[Debug.scala 652:29]
+  wire [2:0] dmiBypass_auto_node_in_in_d_bits_opcode; // @[Debug.scala 652:29]
+  wire [1:0] dmiBypass_auto_node_in_in_d_bits_param; // @[Debug.scala 652:29]
+  wire [1:0] dmiBypass_auto_node_in_in_d_bits_size; // @[Debug.scala 652:29]
+  wire  dmiBypass_auto_node_in_in_d_bits_sink; // @[Debug.scala 652:29]
+  wire  dmiBypass_auto_node_in_in_d_bits_denied; // @[Debug.scala 652:29]
+  wire [31:0] dmiBypass_auto_node_in_in_d_bits_data; // @[Debug.scala 652:29]
+  wire  dmiBypass_auto_node_in_in_d_bits_corrupt; // @[Debug.scala 652:29]
+  wire  dmiBypass_io_bypass; // @[Debug.scala 652:29]
+  wire  asource_clock; // @[AsyncCrossing.scala 87:29]
+  wire  asource_reset; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_a_ready; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_a_valid; // @[AsyncCrossing.scala 87:29]
+  wire [2:0] asource_auto_in_a_bits_opcode; // @[AsyncCrossing.scala 87:29]
+  wire [8:0] asource_auto_in_a_bits_address; // @[AsyncCrossing.scala 87:29]
+  wire [31:0] asource_auto_in_a_bits_data; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_d_ready; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_d_valid; // @[AsyncCrossing.scala 87:29]
+  wire [2:0] asource_auto_in_d_bits_opcode; // @[AsyncCrossing.scala 87:29]
+  wire [1:0] asource_auto_in_d_bits_param; // @[AsyncCrossing.scala 87:29]
+  wire [1:0] asource_auto_in_d_bits_size; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_d_bits_source; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_d_bits_sink; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_d_bits_denied; // @[AsyncCrossing.scala 87:29]
+  wire [31:0] asource_auto_in_d_bits_data; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_in_d_bits_corrupt; // @[AsyncCrossing.scala 87:29]
+  wire [2:0] asource_auto_out_a_mem_0_opcode; // @[AsyncCrossing.scala 87:29]
+  wire [8:0] asource_auto_out_a_mem_0_address; // @[AsyncCrossing.scala 87:29]
+  wire [31:0] asource_auto_out_a_mem_0_data; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_a_ridx; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_a_widx; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_a_safe_ridx_valid; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_a_safe_widx_valid; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_a_safe_source_reset_n; // @[AsyncCrossing.scala 87:29]
+  wire [2:0] asource_auto_out_d_mem_0_opcode; // @[AsyncCrossing.scala 87:29]
+  wire [1:0] asource_auto_out_d_mem_0_size; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_d_mem_0_source; // @[AsyncCrossing.scala 87:29]
+  wire [31:0] asource_auto_out_d_mem_0_data; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_d_ridx; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_d_widx; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_d_safe_ridx_valid; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_d_safe_widx_valid; // @[AsyncCrossing.scala 87:29]
+  wire  asource_auto_out_d_safe_sink_reset_n; // @[AsyncCrossing.scala 87:29]
+  wire  dmactiveAck_dmactiveAckSync_clock; // @[ShiftReg.scala 45:23]
+  wire  dmactiveAck_dmactiveAckSync_reset; // @[ShiftReg.scala 45:23]
+  wire  dmactiveAck_dmactiveAckSync_io_d; // @[ShiftReg.scala 45:23]
+  wire  dmactiveAck_dmactiveAckSync_io_q; // @[ShiftReg.scala 45:23]
+  wire  io_innerCtrl_source_clock; // @[AsyncQueue.scala 216:24]
+  wire  io_innerCtrl_source_reset; // @[AsyncQueue.scala 216:24]
+  wire  io_innerCtrl_source_io_enq_ready; // @[AsyncQueue.scala 216:24]
+  wire  io_innerCtrl_source_io_enq_valid; // @[AsyncQueue.scala 216:24]
+  wire  io_innerCtrl_source_io_enq_bits_resumereq; // @[AsyncQueue.scala 216:24]
+  wire  io_innerCtrl_source_io_enq_bits_ackhavereset; // @[AsyncQueue.scala 216:24]
+  wire  io_innerCtrl_source_io_enq_bits_hrmask_0; // @[AsyncQueue.scala 216:24]
+  wire  io_innerCtrl_source_io_async_mem_0_resumereq; // @[AsyncQueue.scala 216:24]
+  wire  io_innerCtrl_source_io_async_mem_0_ackhavereset; // @[AsyncQueue.scala 216:24]
+  wire  io_innerCtrl_source_io_async_mem_0_hrmask_0; // @[AsyncQueue.scala 216:24]
+  wire  io_innerCtrl_source_io_async_ridx; // @[AsyncQueue.scala 216:24]
+  wire  io_innerCtrl_source_io_async_widx; // @[AsyncQueue.scala 216:24]
+  wire  io_innerCtrl_source_io_async_safe_ridx_valid; // @[AsyncQueue.scala 216:24]
+  wire  io_innerCtrl_source_io_async_safe_widx_valid; // @[AsyncQueue.scala 216:24]
+  wire  io_innerCtrl_source_io_async_safe_source_reset_n; // @[AsyncQueue.scala 216:24]
+  wire  dmactiveAck = dmactiveAck_dmactiveAckSync_io_q; // @[ShiftReg.scala 48:{24,24}]
+  TLXbar_9 dmiXbar ( // @[Debug.scala 624:28]
+    .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_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_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_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_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)
+  );
+  DMIToTL dmi2tl ( // @[Debug.scala 627:28]
+    .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_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)
+  );
+  TLDebugModuleOuter dmOuter ( // @[Debug.scala 649:27]
+    .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_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_ctrl_dmactiveAck(dmOuter_io_ctrl_dmactiveAck),
+    .io_innerCtrl_ready(dmOuter_io_innerCtrl_ready),
+    .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),
+    .io_innerCtrl_bits_hrmask_0(dmOuter_io_innerCtrl_bits_hrmask_0),
+    .io_hgDebugInt_0(dmOuter_io_hgDebugInt_0)
+  );
+  IntSyncCrossingSource_4 intsource ( // @[Crossing.scala 26:31]
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLBusBypass dmiBypass ( // @[Debug.scala 652:29]
+    .clock(dmiBypass_clock),
+    .reset(dmiBypass_reset),
+    .auto_node_out_out_a_ready(dmiBypass_auto_node_out_out_a_ready),
+    .auto_node_out_out_a_valid(dmiBypass_auto_node_out_out_a_valid),
+    .auto_node_out_out_a_bits_opcode(dmiBypass_auto_node_out_out_a_bits_opcode),
+    .auto_node_out_out_a_bits_address(dmiBypass_auto_node_out_out_a_bits_address),
+    .auto_node_out_out_a_bits_data(dmiBypass_auto_node_out_out_a_bits_data),
+    .auto_node_out_out_d_ready(dmiBypass_auto_node_out_out_d_ready),
+    .auto_node_out_out_d_valid(dmiBypass_auto_node_out_out_d_valid),
+    .auto_node_out_out_d_bits_opcode(dmiBypass_auto_node_out_out_d_bits_opcode),
+    .auto_node_out_out_d_bits_param(dmiBypass_auto_node_out_out_d_bits_param),
+    .auto_node_out_out_d_bits_size(dmiBypass_auto_node_out_out_d_bits_size),
+    .auto_node_out_out_d_bits_source(dmiBypass_auto_node_out_out_d_bits_source),
+    .auto_node_out_out_d_bits_sink(dmiBypass_auto_node_out_out_d_bits_sink),
+    .auto_node_out_out_d_bits_denied(dmiBypass_auto_node_out_out_d_bits_denied),
+    .auto_node_out_out_d_bits_data(dmiBypass_auto_node_out_out_d_bits_data),
+    .auto_node_out_out_d_bits_corrupt(dmiBypass_auto_node_out_out_d_bits_corrupt),
+    .auto_node_in_in_a_ready(dmiBypass_auto_node_in_in_a_ready),
+    .auto_node_in_in_a_valid(dmiBypass_auto_node_in_in_a_valid),
+    .auto_node_in_in_a_bits_opcode(dmiBypass_auto_node_in_in_a_bits_opcode),
+    .auto_node_in_in_a_bits_address(dmiBypass_auto_node_in_in_a_bits_address),
+    .auto_node_in_in_a_bits_data(dmiBypass_auto_node_in_in_a_bits_data),
+    .auto_node_in_in_d_ready(dmiBypass_auto_node_in_in_d_ready),
+    .auto_node_in_in_d_valid(dmiBypass_auto_node_in_in_d_valid),
+    .auto_node_in_in_d_bits_opcode(dmiBypass_auto_node_in_in_d_bits_opcode),
+    .auto_node_in_in_d_bits_param(dmiBypass_auto_node_in_in_d_bits_param),
+    .auto_node_in_in_d_bits_size(dmiBypass_auto_node_in_in_d_bits_size),
+    .auto_node_in_in_d_bits_sink(dmiBypass_auto_node_in_in_d_bits_sink),
+    .auto_node_in_in_d_bits_denied(dmiBypass_auto_node_in_in_d_bits_denied),
+    .auto_node_in_in_d_bits_data(dmiBypass_auto_node_in_in_d_bits_data),
+    .auto_node_in_in_d_bits_corrupt(dmiBypass_auto_node_in_in_d_bits_corrupt),
+    .io_bypass(dmiBypass_io_bypass)
+  );
+  TLAsyncCrossingSource_1 asource ( // @[AsyncCrossing.scala 87:29]
+    .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_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_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_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_sink_reset_n(asource_auto_out_d_safe_sink_reset_n)
+  );
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 dmactiveAck_dmactiveAckSync ( // @[ShiftReg.scala 45:23]
+    .clock(dmactiveAck_dmactiveAckSync_clock),
+    .reset(dmactiveAck_dmactiveAckSync_reset),
+    .io_d(dmactiveAck_dmactiveAckSync_io_d),
+    .io_q(dmactiveAck_dmactiveAckSync_io_q)
+  );
+  AsyncQueueSource_2 io_innerCtrl_source ( // @[AsyncQueue.scala 216:24]
+    .clock(io_innerCtrl_source_clock),
+    .reset(io_innerCtrl_source_reset),
+    .io_enq_ready(io_innerCtrl_source_io_enq_ready),
+    .io_enq_valid(io_innerCtrl_source_io_enq_valid),
+    .io_enq_bits_resumereq(io_innerCtrl_source_io_enq_bits_resumereq),
+    .io_enq_bits_ackhavereset(io_innerCtrl_source_io_enq_bits_ackhavereset),
+    .io_enq_bits_hrmask_0(io_innerCtrl_source_io_enq_bits_hrmask_0),
+    .io_async_mem_0_resumereq(io_innerCtrl_source_io_async_mem_0_resumereq),
+    .io_async_mem_0_ackhavereset(io_innerCtrl_source_io_async_mem_0_ackhavereset),
+    .io_async_mem_0_hrmask_0(io_innerCtrl_source_io_async_mem_0_hrmask_0),
+    .io_async_ridx(io_innerCtrl_source_io_async_ridx),
+    .io_async_widx(io_innerCtrl_source_io_async_widx),
+    .io_async_safe_ridx_valid(io_innerCtrl_source_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(io_innerCtrl_source_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(io_innerCtrl_source_io_async_safe_source_reset_n)
+  );
+  assign auto_asource_out_a_mem_0_opcode = asource_auto_out_a_mem_0_opcode; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_a_mem_0_address = asource_auto_out_a_mem_0_address; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_a_mem_0_data = asource_auto_out_a_mem_0_data; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_a_widx = asource_auto_out_a_widx; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_a_safe_widx_valid = asource_auto_out_a_safe_widx_valid; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_a_safe_source_reset_n = asource_auto_out_a_safe_source_reset_n; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_d_ridx = asource_auto_out_d_ridx; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_d_safe_ridx_valid = asource_auto_out_d_safe_ridx_valid; // @[LazyModule.scala 311:12]
+  assign auto_asource_out_d_safe_sink_reset_n = asource_auto_out_d_safe_sink_reset_n; // @[LazyModule.scala 311:12]
+  assign auto_intsource_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 311:12]
+  assign io_dmi_req_ready = dmi2tl_io_dmi_req_ready; // @[Debug.scala 677:43]
+  assign io_dmi_resp_valid = dmi2tl_io_dmi_resp_valid; // @[Debug.scala 677:43]
+  assign io_dmi_resp_bits_data = dmi2tl_io_dmi_resp_bits_data; // @[Debug.scala 677:43]
+  assign io_dmi_resp_bits_resp = dmi2tl_io_dmi_resp_bits_resp; // @[Debug.scala 677:43]
+  assign io_ctrl_ndreset = dmOuter_io_ctrl_ndreset; // @[Debug.scala 682:15]
+  assign io_ctrl_dmactive = dmOuter_io_ctrl_dmactive; // @[Debug.scala 682:15]
+  assign io_innerCtrl_mem_0_resumereq = io_innerCtrl_source_io_async_mem_0_resumereq; // @[Debug.scala 684:20]
+  assign io_innerCtrl_mem_0_ackhavereset = io_innerCtrl_source_io_async_mem_0_ackhavereset; // @[Debug.scala 684:20]
+  assign io_innerCtrl_mem_0_hrmask_0 = io_innerCtrl_source_io_async_mem_0_hrmask_0; // @[Debug.scala 684:20]
+  assign io_innerCtrl_widx = io_innerCtrl_source_io_async_widx; // @[Debug.scala 684:20]
+  assign io_innerCtrl_safe_widx_valid = io_innerCtrl_source_io_async_safe_widx_valid; // @[Debug.scala 684:20]
+  assign io_innerCtrl_safe_source_reset_n = io_innerCtrl_source_io_async_safe_source_reset_n; // @[Debug.scala 684:20]
+  assign dmiXbar_clock = io_dmi_clock; // @[LazyModule.scala 350:31 Debug.scala 673:16]
+  assign dmiXbar_reset = io_dmi_reset; // @[LazyModule.scala 352:31 Debug.scala 674:16]
+  assign dmiXbar_auto_in_a_valid = dmi2tl_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign dmiXbar_auto_in_a_bits_opcode = dmi2tl_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign dmiXbar_auto_in_a_bits_address = dmi2tl_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign dmiXbar_auto_in_a_bits_data = dmi2tl_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign dmiXbar_auto_in_d_ready = dmi2tl_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign dmiXbar_auto_out_1_a_ready = dmOuter_auto_dmi_in_a_ready; // @[LazyModule.scala 298:16]
+  assign dmiXbar_auto_out_1_d_valid = dmOuter_auto_dmi_in_d_valid; // @[LazyModule.scala 298:16]
+  assign dmiXbar_auto_out_1_d_bits_opcode = dmOuter_auto_dmi_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign dmiXbar_auto_out_1_d_bits_data = dmOuter_auto_dmi_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign dmiXbar_auto_out_0_a_ready = dmiBypass_auto_node_in_in_a_ready; // @[LazyModule.scala 298:16]
+  assign dmiXbar_auto_out_0_d_valid = dmiBypass_auto_node_in_in_d_valid; // @[LazyModule.scala 298:16]
+  assign dmiXbar_auto_out_0_d_bits_opcode = dmiBypass_auto_node_in_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign dmiXbar_auto_out_0_d_bits_param = dmiBypass_auto_node_in_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign dmiXbar_auto_out_0_d_bits_size = dmiBypass_auto_node_in_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign dmiXbar_auto_out_0_d_bits_sink = dmiBypass_auto_node_in_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign dmiXbar_auto_out_0_d_bits_denied = dmiBypass_auto_node_in_in_d_bits_denied; // @[LazyModule.scala 298:16]
+  assign dmiXbar_auto_out_0_d_bits_data = dmiBypass_auto_node_in_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign dmiXbar_auto_out_0_d_bits_corrupt = dmiBypass_auto_node_in_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign dmi2tl_auto_out_a_ready = dmiXbar_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign dmi2tl_auto_out_d_valid = dmiXbar_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign dmi2tl_auto_out_d_bits_denied = dmiXbar_auto_in_d_bits_denied; // @[LazyModule.scala 296:16]
+  assign dmi2tl_auto_out_d_bits_data = dmiXbar_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign dmi2tl_auto_out_d_bits_corrupt = dmiXbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign dmi2tl_io_dmi_req_valid = io_dmi_req_valid; // @[Debug.scala 677:43]
+  assign dmi2tl_io_dmi_req_bits_addr = io_dmi_req_bits_addr; // @[Debug.scala 677:43]
+  assign dmi2tl_io_dmi_req_bits_data = io_dmi_req_bits_data; // @[Debug.scala 677:43]
+  assign dmi2tl_io_dmi_req_bits_op = io_dmi_req_bits_op; // @[Debug.scala 677:43]
+  assign dmi2tl_io_dmi_resp_ready = io_dmi_resp_ready; // @[Debug.scala 677:43]
+  assign dmOuter_clock = io_dmi_clock; // @[LazyModule.scala 350:31 Debug.scala 673:16]
+  assign dmOuter_reset = io_dmi_reset; // @[LazyModule.scala 352:31 Debug.scala 674:16]
+  assign dmOuter_auto_dmi_in_a_valid = dmiXbar_auto_out_1_a_valid; // @[LazyModule.scala 298:16]
+  assign dmOuter_auto_dmi_in_a_bits_opcode = dmiXbar_auto_out_1_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign dmOuter_auto_dmi_in_a_bits_address = dmiXbar_auto_out_1_a_bits_address; // @[LazyModule.scala 298:16]
+  assign dmOuter_auto_dmi_in_a_bits_data = dmiXbar_auto_out_1_a_bits_data; // @[LazyModule.scala 298:16]
+  assign dmOuter_auto_dmi_in_d_ready = dmiXbar_auto_out_1_d_ready; // @[LazyModule.scala 298:16]
+  assign dmOuter_io_ctrl_dmactiveAck = dmactiveAck_dmactiveAckSync_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign dmOuter_io_innerCtrl_ready = io_innerCtrl_source_io_enq_ready; // @[AsyncQueue.scala 217:19]
+  assign dmOuter_io_hgDebugInt_0 = io_hgDebugInt_0; // @[Debug.scala 685:36]
+  assign intsource_auto_in_0 = dmOuter_auto_int_out_0; // @[LazyModule.scala 298:16]
+  assign dmiBypass_clock = io_dmi_clock; // @[LazyModule.scala 350:31 Debug.scala 673:16]
+  assign dmiBypass_reset = io_dmi_reset; // @[LazyModule.scala 352:31 Debug.scala 674:16]
+  assign dmiBypass_auto_node_out_out_a_ready = asource_auto_in_a_ready; // @[LazyModule.scala 298:16]
+  assign dmiBypass_auto_node_out_out_d_valid = asource_auto_in_d_valid; // @[LazyModule.scala 298:16]
+  assign dmiBypass_auto_node_out_out_d_bits_opcode = asource_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign dmiBypass_auto_node_out_out_d_bits_param = asource_auto_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign dmiBypass_auto_node_out_out_d_bits_size = asource_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign dmiBypass_auto_node_out_out_d_bits_source = asource_auto_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign dmiBypass_auto_node_out_out_d_bits_sink = asource_auto_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign dmiBypass_auto_node_out_out_d_bits_denied = asource_auto_in_d_bits_denied; // @[LazyModule.scala 298:16]
+  assign dmiBypass_auto_node_out_out_d_bits_data = asource_auto_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign dmiBypass_auto_node_out_out_d_bits_corrupt = asource_auto_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign dmiBypass_auto_node_in_in_a_valid = dmiXbar_auto_out_0_a_valid; // @[LazyModule.scala 298:16]
+  assign dmiBypass_auto_node_in_in_a_bits_opcode = dmiXbar_auto_out_0_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign dmiBypass_auto_node_in_in_a_bits_address = dmiXbar_auto_out_0_a_bits_address; // @[LazyModule.scala 298:16]
+  assign dmiBypass_auto_node_in_in_a_bits_data = dmiXbar_auto_out_0_a_bits_data; // @[LazyModule.scala 298:16]
+  assign dmiBypass_auto_node_in_in_d_ready = dmiXbar_auto_out_0_d_ready; // @[LazyModule.scala 298:16]
+  assign dmiBypass_io_bypass = ~io_ctrl_dmactive | ~dmactiveAck; // @[Debug.scala 680:55]
+  assign asource_clock = io_dmi_clock; // @[LazyModule.scala 350:31 Debug.scala 673:16]
+  assign asource_reset = io_dmi_reset; // @[LazyModule.scala 352:31 Debug.scala 674:16]
+  assign asource_auto_in_a_valid = dmiBypass_auto_node_out_out_a_valid; // @[LazyModule.scala 298:16]
+  assign asource_auto_in_a_bits_opcode = dmiBypass_auto_node_out_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign asource_auto_in_a_bits_address = dmiBypass_auto_node_out_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign asource_auto_in_a_bits_data = dmiBypass_auto_node_out_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign asource_auto_in_d_ready = dmiBypass_auto_node_out_out_d_ready; // @[LazyModule.scala 298:16]
+  assign asource_auto_out_a_ridx = auto_asource_out_a_ridx; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_a_safe_ridx_valid = auto_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_mem_0_opcode = auto_asource_out_d_mem_0_opcode; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_mem_0_size = auto_asource_out_d_mem_0_size; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_mem_0_source = auto_asource_out_d_mem_0_source; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_mem_0_data = auto_asource_out_d_mem_0_data; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_widx = auto_asource_out_d_widx; // @[LazyModule.scala 311:12]
+  assign asource_auto_out_d_safe_widx_valid = auto_asource_out_d_safe_widx_valid; // @[LazyModule.scala 311:12]
+  assign dmactiveAck_dmactiveAckSync_clock = io_dmi_clock; // @[LazyModule.scala 350:31 Debug.scala 673:16]
+  assign dmactiveAck_dmactiveAckSync_reset = io_dmi_reset; // @[LazyModule.scala 352:31 Debug.scala 674:16]
+  assign dmactiveAck_dmactiveAckSync_io_d = 1'h0; // @[ShiftReg.scala 47:16]
+  assign io_innerCtrl_source_clock = io_dmi_clock; // @[LazyModule.scala 350:31 Debug.scala 673:16]
+  assign io_innerCtrl_source_reset = io_dmi_reset; // @[LazyModule.scala 352:31 Debug.scala 674:16]
+  assign io_innerCtrl_source_io_enq_valid = dmOuter_io_innerCtrl_valid; // @[AsyncQueue.scala 217:19]
+  assign io_innerCtrl_source_io_enq_bits_resumereq = dmOuter_io_innerCtrl_bits_resumereq; // @[AsyncQueue.scala 217:19]
+  assign io_innerCtrl_source_io_enq_bits_ackhavereset = dmOuter_io_innerCtrl_bits_ackhavereset; // @[AsyncQueue.scala 217:19]
+  assign io_innerCtrl_source_io_enq_bits_hrmask_0 = dmOuter_io_innerCtrl_bits_hrmask_0; // @[AsyncQueue.scala 217:19]
+  assign io_innerCtrl_source_io_async_ridx = io_innerCtrl_ridx; // @[Debug.scala 684:20]
+  assign io_innerCtrl_source_io_async_safe_ridx_valid = io_innerCtrl_safe_ridx_valid; // @[Debug.scala 684:20]
+endmodule
+module TLMonitor_53(
+  input        clock,
+  input        io_in_a_ready,
+  input        io_in_a_valid,
+  input  [2:0] io_in_a_bits_opcode,
+  input  [2:0] io_in_a_bits_param,
+  input  [1:0] io_in_a_bits_size,
+  input        io_in_a_bits_source,
+  input  [8:0] io_in_a_bits_address,
+  input  [3:0] io_in_a_bits_mask,
+  input        io_in_a_bits_corrupt,
+  input        io_in_d_ready,
+  input        io_in_d_valid,
+  input  [2:0] io_in_d_bits_opcode,
+  input  [1:0] io_in_d_bits_size,
+  input        io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _source_ok_T = ~io_in_a_bits_source; // @[Parameters.scala 46:9]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [8:0] _GEN_71 = {{7'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [8:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 9'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_5 = ~_source_ok_T; // @[Monitor.scala 63:7]
+  wire [9:0] _T_7 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_15 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [9:0] _T_23 = $signed(_T_7) & -10'sh40; // @[Parameters.scala 137:52]
+  wire  _T_24 = $signed(_T_23) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _T_25 = io_in_a_bits_address ^ 9'h44; // @[Parameters.scala 137:31]
+  wire [9:0] _T_26 = {1'b0,$signed(_T_25)}; // @[Parameters.scala 137:49]
+  wire [9:0] _T_28 = $signed(_T_26) & -10'shc; // @[Parameters.scala 137:52]
+  wire  _T_29 = $signed(_T_28) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _T_30 = io_in_a_bits_address ^ 9'h58; // @[Parameters.scala 137:31]
+  wire [9:0] _T_31 = {1'b0,$signed(_T_30)}; // @[Parameters.scala 137:49]
+  wire [9:0] _T_33 = $signed(_T_31) & -10'sh8; // @[Parameters.scala 137:52]
+  wire  _T_34 = $signed(_T_33) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _T_35 = io_in_a_bits_address ^ 9'h60; // @[Parameters.scala 137:31]
+  wire [9:0] _T_36 = {1'b0,$signed(_T_35)}; // @[Parameters.scala 137:49]
+  wire [9:0] _T_38 = $signed(_T_36) & -10'sh20; // @[Parameters.scala 137:52]
+  wire  _T_39 = $signed(_T_38) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _T_40 = io_in_a_bits_address ^ 9'h80; // @[Parameters.scala 137:31]
+  wire [9:0] _T_41 = {1'b0,$signed(_T_40)}; // @[Parameters.scala 137:49]
+  wire [9:0] _T_43 = $signed(_T_41) & -10'sh80; // @[Parameters.scala 137:52]
+  wire  _T_44 = $signed(_T_43) == 10'sh0; // @[Parameters.scala 137:67]
+  wire [8:0] _T_45 = io_in_a_bits_address ^ 9'h100; // @[Parameters.scala 137:31]
+  wire [9:0] _T_46 = {1'b0,$signed(_T_45)}; // @[Parameters.scala 137:49]
+  wire [9:0] _T_48 = $signed(_T_46) & -10'sh100; // @[Parameters.scala 137:52]
+  wire  _T_49 = $signed(_T_48) == 10'sh0; // @[Parameters.scala 137:67]
+  wire  _T_54 = _T_24 | _T_29 | _T_34 | _T_39 | _T_44 | _T_49; // @[Parameters.scala 671:42]
+  wire  _T_116 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_120 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_121 = _T_120 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_125 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_129 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_234 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_247 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_248 = 2'h2 == io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_250 = _T_248 & _source_ok_T; // @[Parameters.scala 1160:30]
+  wire  _T_256 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_294 = _T_256 & _T_54; // @[Parameters.scala 670:56]
+  wire  _T_305 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_309 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_363 = _T_250 & _T_294; // @[Monitor.scala 115:71]
+  wire  _T_381 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_440 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_441 = io_in_a_bits_mask & _T_440; // @[Monitor.scala 127:31]
+  wire  _T_442 = _T_441 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_446 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_498 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_506 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_558 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_566 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_618 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_630 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_1 = ~io_in_d_bits_source; // @[Parameters.scala 46:9]
+  wire  _T_634 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_638 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_654 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_682 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_711 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_728 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_746 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg  source; // @[Monitor.scala 387:22]
+  reg [8:0] address; // @[Monitor.scala 388:22]
+  wire  _T_776 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_777 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_781 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_785 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_789 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_793 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg  source_1; // @[Monitor.scala 538:22]
+  wire  _T_800 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_801 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_809 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_813 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg  inflight; // @[Monitor.scala 611:27]
+  reg [3:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [3:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [2:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [3:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [3:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [15:0] _GEN_73 = {{12'd0}, _a_opcode_lookup_T_1}; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_6 = _GEN_73 & _a_opcode_lookup_T_5; // @[Monitor.scala 634:97]
+  wire [15:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[15:1]}; // @[Monitor.scala 634:152]
+  wire [3:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [15:0] _GEN_76 = {{12'd0}, _a_size_lookup_T_1}; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_6 = _GEN_76 & _a_opcode_lookup_T_5; // @[Monitor.scala 638:91]
+  wire [15:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[15:1]}; // @[Monitor.scala 638:144]
+  wire  _T_827 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [1:0] _a_set_wo_ready_T = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_830 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [2:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [3:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [18:0] _GEN_0 = {{15'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [18:0] _a_opcodes_set_T_1 = _GEN_0 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [17:0] _GEN_1 = {{15'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [17:0] _a_sizes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire  _T_834 = ~(inflight >> io_in_a_bits_source); // @[Monitor.scala 658:17]
+  wire [1:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 2'h0; // @[Monitor.scala 652:72 653:28]
+  wire [18:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 19'h0; // @[Monitor.scala 652:72 656:28]
+  wire [17:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 18'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_838 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_840 = ~_T_634; // @[Monitor.scala 671:74]
+  wire  _T_841 = io_in_d_valid & d_first_1 & ~_T_634; // @[Monitor.scala 671:71]
+  wire [1:0] _d_clr_wo_ready_T = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [30:0] _GEN_2 = {{15'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [30:0] _d_opcodes_clr_T_5 = _GEN_2 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [1:0] _GEN_22 = d_first_done & d_first_1 & _T_840 ? _d_clr_wo_ready_T : 2'h0; // @[Monitor.scala 675:91 676:21]
+  wire [30:0] _GEN_23 = d_first_done & d_first_1 & _T_840 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_827 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire  _T_853 = inflight >> io_in_d_bits_source | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_858 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_859 = io_in_d_bits_opcode == _GEN_32 | _T_858; // @[Monitor.scala 685:77]
+  wire  _T_863 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_870 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_871 = io_in_d_bits_opcode == _GEN_48 | _T_870; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_875 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_885 = _T_838 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_840; // @[Monitor.scala 694:116]
+  wire  _T_887 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire  a_set = _GEN_16[0];
+  wire  d_clr = _GEN_22[0];
+  wire [3:0] a_opcodes_set = _GEN_19[3:0];
+  wire [3:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [3:0] d_opcodes_clr = _GEN_23[3:0];
+  wire [3:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [3:0] a_sizes_set = _GEN_20[3:0];
+  wire [3:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_896 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [3:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [3:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [15:0] _GEN_87 = {{12'd0}, _c_size_lookup_T_1}; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_6 = _GEN_87 & _a_opcode_lookup_T_5; // @[Monitor.scala 747:93]
+  wire [15:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[15:1]}; // @[Monitor.scala 747:146]
+  wire  _T_922 = io_in_d_valid & d_first_2 & _T_634; // @[Monitor.scala 779:71]
+  wire [30:0] _GEN_68 = d_first_done & d_first_2 & _T_634 ? _d_opcodes_clr_T_5 : 31'h0; // @[Monitor.scala 783:90 785:21]
+  wire  _T_930 = 1'h0 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_940 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [3:0] d_opcodes_clr_1 = _GEN_68[3:0];
+  wire [3:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    inflight <= (inflight | a_set) & ~d_clr; // @[Monitor.scala 702:36]
+    inflight_opcodes <= _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+    inflight_sizes <= _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+    if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    inflight_sizes_1 <= inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+    if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_5 & (io_in_a_valid & _T_15)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & _T_5) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_15)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_15)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_116 & (io_in_a_valid & _T_15)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~_T_116) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_121 & (io_in_a_valid & _T_15)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~_T_121) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_125 & (io_in_a_valid & _T_15)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_15 & ~_T_125) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_5 & (io_in_a_valid & _T_129)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & _T_5) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_129)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_129)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_116 & (io_in_a_valid & _T_129)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~_T_116) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_234 & (io_in_a_valid & _T_129)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~_T_234) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_121 & (io_in_a_valid & _T_129)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~_T_121) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_125 & (io_in_a_valid & _T_129)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_129 & ~_T_125) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_250 & (io_in_a_valid & _T_247)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_247 & ~_T_250) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_294 & (io_in_a_valid & _T_247)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_247 & ~_T_294) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_5 & (io_in_a_valid & _T_247)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_247 & _T_5) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_247)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_247 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_305 & (io_in_a_valid & _T_247)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_247 & ~_T_305) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_247)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_247 & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_125 & (io_in_a_valid & _T_247)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_247 & ~_T_125) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_363 & (io_in_a_valid & _T_317)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~_T_363) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_5 & (io_in_a_valid & _T_317)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & _T_5) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_305 & (io_in_a_valid & _T_317)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~_T_305) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_317)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_381) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_381) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_5 & (io_in_a_valid & _T_381)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_381 & _T_5) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_381)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_381 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_305 & (io_in_a_valid & _T_381)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_381 & ~_T_305) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_442 & (io_in_a_valid & _T_381)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_381 & ~_T_442) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_446) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_446) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_5 & (io_in_a_valid & _T_446)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_446 & _T_5) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_446)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_446 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_498 & (io_in_a_valid & _T_446)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_446 & ~_T_498) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_446)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_446 & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_506) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_506) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_5 & (io_in_a_valid & _T_506)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_506 & _T_5) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_506)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_506 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_558 & (io_in_a_valid & _T_506)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_506 & ~_T_558) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_506)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_506 & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_566) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_566) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_5 & (io_in_a_valid & _T_566)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_566 & _T_5) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_566)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_566 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_618 & (io_in_a_valid & _T_566)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_566 & ~_T_618) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_566)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_566 & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_125 & (io_in_a_valid & _T_566)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_566 & ~_T_125) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & io_in_d_valid) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_634)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_634 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (io_in_d_valid & _T_634)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_634 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_654)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (io_in_d_valid & _T_654)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_654 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_682)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (io_in_d_valid & _T_682)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_682 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_711)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_711 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_728)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_728 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_1 & (io_in_d_valid & _T_746)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_746 & ~_source_ok_T_1) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_777 & _T_776) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_776 & ~_T_777) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_781 & _T_776) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_776 & ~_T_781) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_785 & _T_776) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_776 & ~_T_785) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_789 & _T_776) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_776 & ~_T_789) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_793 & _T_776) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_776 & ~_T_793) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_801 & _T_800) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_800 & ~_T_801) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_809 & _T_800) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_800 & ~_T_809) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_813 & _T_800) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_800 & ~_T_813) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_834 & _T_830) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_830 & ~_T_834) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_853 & _T_841) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_841 & ~_T_853) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_859 & (_T_841 & same_cycle_resp)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_841 & same_cycle_resp & ~_T_859) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_863 & (_T_841 & same_cycle_resp)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_841 & same_cycle_resp & ~_T_863) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_871 & (_T_841 & ~same_cycle_resp)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_841 & ~same_cycle_resp & ~_T_871) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_875 & (_T_841 & ~same_cycle_resp)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_841 & ~same_cycle_resp & ~_T_875) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_887 & _T_885) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_885 & ~_T_887) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_896) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~_T_896) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at Debug.scala:1746:19)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_930 & _T_922) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_922 & ~_T_930) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_940 & _T_922) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_922 & ~_T_940) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Debug.scala:1746:19)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[8:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  inflight = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  inflight_opcodes = _RAND_11[3:0];
+  _RAND_12 = {1{`RANDOM}};
+  inflight_sizes = _RAND_12[3:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {1{`RANDOM}};
+  inflight_sizes_1 = _RAND_16[3:0];
+  _RAND_17 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_17[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLMonitor_54(
+  input         clock,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [11:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [11:0] _GEN_71 = {{10'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [11:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 12'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire [12:0] _T_12 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 137:49]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [12:0] _T_36 = $signed(_T_12) & 13'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 13'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [11:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_0 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_0 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_1 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_2 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_2 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    inflight <= _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+    inflight_opcodes <= _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+    inflight_sizes <= _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+    if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    inflight_1 <= inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+    inflight_sizes_1 <= inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+    if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & io_in_d_valid) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & _T_543) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & _T_543) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & _T_543) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & _T_543) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & _T_543) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & _T_567) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & _T_567) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & _T_567) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & _T_597) begin
+          $fatal; // @[Monitor.scala 42:11]
+        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: 'A' channel re-used a source ID (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & _T_608) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & _T_652) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        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 42:11]
+        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 Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & _T_689) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & _T_689) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at Periphery.scala:88:16)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at Periphery.scala:88:16)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[11:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLDebugModuleInner(
+  input         clock,
+  output        auto_tl_in_a_ready,
+  input         auto_tl_in_a_valid,
+  input  [2:0]  auto_tl_in_a_bits_opcode,
+  input  [2:0]  auto_tl_in_a_bits_param,
+  input  [1:0]  auto_tl_in_a_bits_size,
+  input  [6:0]  auto_tl_in_a_bits_source,
+  input  [11:0] auto_tl_in_a_bits_address,
+  input  [3:0]  auto_tl_in_a_bits_mask,
+  input  [31:0] auto_tl_in_a_bits_data,
+  input         auto_tl_in_a_bits_corrupt,
+  input         auto_tl_in_d_ready,
+  output        auto_tl_in_d_valid,
+  output [2:0]  auto_tl_in_d_bits_opcode,
+  output [1:0]  auto_tl_in_d_bits_size,
+  output [6:0]  auto_tl_in_d_bits_source,
+  output [31:0] auto_tl_in_d_bits_data,
+  output        auto_dmi_in_a_ready,
+  input         auto_dmi_in_a_valid,
+  input  [2:0]  auto_dmi_in_a_bits_opcode,
+  input  [2:0]  auto_dmi_in_a_bits_param,
+  input  [1:0]  auto_dmi_in_a_bits_size,
+  input         auto_dmi_in_a_bits_source,
+  input  [8:0]  auto_dmi_in_a_bits_address,
+  input  [3:0]  auto_dmi_in_a_bits_mask,
+  input  [31:0] auto_dmi_in_a_bits_data,
+  input         auto_dmi_in_a_bits_corrupt,
+  input         auto_dmi_in_d_ready,
+  output        auto_dmi_in_d_valid,
+  output [2:0]  auto_dmi_in_d_bits_opcode,
+  output [1:0]  auto_dmi_in_d_bits_size,
+  output        auto_dmi_in_d_bits_source,
+  output [31:0] auto_dmi_in_d_bits_data,
+  input         io_dmactive,
+  output        io_innerCtrl_ready,
+  input         io_innerCtrl_valid,
+  input         io_innerCtrl_bits_resumereq,
+  input  [9:0]  io_innerCtrl_bits_hartsel,
+  input         io_innerCtrl_bits_ackhavereset,
+  input         io_innerCtrl_bits_hrmask_0,
+  output        io_hgDebugInt_0
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+  reg [31:0] _RAND_34;
+  reg [31:0] _RAND_35;
+  reg [31:0] _RAND_36;
+  reg [31:0] _RAND_37;
+  reg [31:0] _RAND_38;
+  reg [31:0] _RAND_39;
+  reg [31:0] _RAND_40;
+  reg [31:0] _RAND_41;
+  reg [31:0] _RAND_42;
+  reg [31:0] _RAND_43;
+  reg [31:0] _RAND_44;
+  reg [31:0] _RAND_45;
+  reg [31:0] _RAND_46;
+  reg [31:0] _RAND_47;
+  reg [31:0] _RAND_48;
+  reg [31:0] _RAND_49;
+  reg [31:0] _RAND_50;
+  reg [31:0] _RAND_51;
+  reg [31:0] _RAND_52;
+  reg [31:0] _RAND_53;
+  reg [31:0] _RAND_54;
+  reg [31:0] _RAND_55;
+  reg [31:0] _RAND_56;
+  reg [31:0] _RAND_57;
+  reg [31:0] _RAND_58;
+  reg [31:0] _RAND_59;
+  reg [31:0] _RAND_60;
+  reg [31:0] _RAND_61;
+  reg [31:0] _RAND_62;
+  reg [31:0] _RAND_63;
+  reg [31:0] _RAND_64;
+  reg [31:0] _RAND_65;
+  reg [31:0] _RAND_66;
+  reg [31:0] _RAND_67;
+  reg [31:0] _RAND_68;
+  reg [31:0] _RAND_69;
+  reg [31:0] _RAND_70;
+  reg [31:0] _RAND_71;
+  reg [31:0] _RAND_72;
+  reg [31:0] _RAND_73;
+  reg [31:0] _RAND_74;
+  reg [31:0] _RAND_75;
+  reg [31:0] _RAND_76;
+  reg [31:0] _RAND_77;
+  reg [31:0] _RAND_78;
+  reg [31:0] _RAND_79;
+  reg [31:0] _RAND_80;
+  reg [31:0] _RAND_81;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [8:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_1_clock; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_1_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_1_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_1_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_1_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [11:0] monitor_1_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_1_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_1_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_1_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_1_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  hartIsInResetSync_0_debug_hartReset_0_clock; // @[ShiftReg.scala 45:23]
+  wire  hartIsInResetSync_0_debug_hartReset_0_reset; // @[ShiftReg.scala 45:23]
+  wire  hartIsInResetSync_0_debug_hartReset_0_io_d; // @[ShiftReg.scala 45:23]
+  wire  hartIsInResetSync_0_debug_hartReset_0_io_q; // @[ShiftReg.scala 45:23]
+  reg  haltedBitRegs; // @[Debug.scala 778:31]
+  reg  resumeReqRegs; // @[Debug.scala 779:31]
+  reg  haveResetBitRegs; // @[Debug.scala 780:31]
+  wire  hamaskWrSel_0 = io_innerCtrl_bits_hartsel == 10'h0; // @[Debug.scala 842:61]
+  reg  hrmaskReg_0; // @[Debug.scala 854:29]
+  wire  _T_1 = ~io_dmactive; // @[Debug.scala 861:11]
+  wire  _T_4 = io_innerCtrl_ready & io_innerCtrl_valid; // @[Decoupled.scala 50:35]
+  wire  _GEN_0 = 1'h0; // @[Debug.scala 868:34]
+  reg  hrDebugIntReg_0; // @[Debug.scala 868:34]
+  wire  _T_10 = ~haltedBitRegs; // @[package.scala 70:38]
+  wire  _T_11 = hrDebugIntReg_0 & _T_10; // @[package.scala 65:72]
+  wire  hartIsInResetSync_0 = hartIsInResetSync_0_debug_hartReset_0_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  _T_12 = hartIsInResetSync_0 | _T_11; // @[package.scala 66:75]
+  wire  _T_13 = hrmaskReg_0 & _T_12; // @[package.scala 65:72]
+  wire  resumereq = _T_4 & io_innerCtrl_bits_resumereq; // @[Debug.scala 890:41]
+  wire  _resumeAcks_T_1 = ~hamaskWrSel_0; // @[Debug.scala 1235:41]
+  wire  resumeAcks = resumereq ? ~resumeReqRegs & ~hamaskWrSel_0 : ~resumeReqRegs; // @[Debug.scala 1234:24 1235:20 1237:20]
+  wire [31:0] haltedStatus_0 = {{31'd0}, haltedBitRegs}; // @[Debug.scala 1063:30]
+  wire  haltedSummary = |haltedStatus_0; // @[Debug.scala 1073:48]
+  wire [31:0] HALTSUM1RdData_haltsum1 = {{31'd0}, haltedSummary};
+  reg [2:0] ABSTRACTCSReg_cmderr; // @[Debug.scala 1087:34]
+  wire  in_bits_read = auto_dmi_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [6:0] in_bits_index = auto_dmi_in_a_bits_address[8:2]; // @[Edges.scala 191:34]
+  wire [4:0] out_iindex = {in_bits_index[5],in_bits_index[3],in_bits_index[2],in_bits_index[1],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [6:0] out_findex = in_bits_index & 7'h50; // @[RegisterRouter.scala 83:24]
+  wire  _out_T_44 = out_findex == 7'h0; // @[RegisterRouter.scala 83:24]
+  wire  _out_T_2 = out_findex == 7'h10; // @[RegisterRouter.scala 83:24]
+  wire  _out_T_20 = out_findex == 7'h40; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_backSel_T = 32'h1 << out_iindex; // @[OneHot.scala 57:35]
+  wire  out_backSel_6 = _out_backSel_T[6]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__61 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_6 & out_findex == 7'h10
+    ; // @[RegisterRouter.scala 83:24]
+  wire [7:0] _out_backMask_T_11 = auto_dmi_in_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_9 = auto_dmi_in_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_7 = auto_dmi_in_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_5 = auto_dmi_in_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_backMask = {_out_backMask_T_11,_out_backMask_T_9,_out_backMask_T_7,_out_backMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_womask_61 = &out_backMask[10:8]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_61 = out_woready__61 & out_womask_61; // @[RegisterRouter.scala 83:24]
+  reg [1:0] ctrlStateReg; // @[Debug.scala 1616:27]
+  wire  ABSTRACTCSWrEnLegal = ctrlStateReg == 2'h0; // @[Debug.scala 1626:44]
+  wire  ABSTRACTCSWrEn = out_f_woready_61 & ABSTRACTCSWrEnLegal; // @[Debug.scala 1095:51]
+  wire [2:0] ABSTRACTCSWrData_cmderr = auto_dmi_in_a_bits_data[10:8]; // @[RegisterRouter.scala 83:24]
+  wire [2:0] _ABSTRACTCSReg_cmderr_T = ~ABSTRACTCSWrData_cmderr; // @[Debug.scala 1115:58]
+  wire [2:0] _ABSTRACTCSReg_cmderr_T_1 = ABSTRACTCSReg_cmderr & _ABSTRACTCSReg_cmderr_T; // @[Debug.scala 1115:56]
+  wire [2:0] _GEN_37 = ABSTRACTCSWrEn ? _ABSTRACTCSReg_cmderr_T_1 : ABSTRACTCSReg_cmderr; // @[Debug.scala 1114:30 1115:32 1087:34]
+  wire  _T_1383 = ctrlStateReg == 2'h1; // @[Debug.scala 1681:30]
+  reg [7:0] COMMANDRdData_cmdtype; // @[Debug.scala 1172:25]
+  wire  commandRegIsAccessRegister = COMMANDRdData_cmdtype == 8'h0; // @[Debug.scala 1641:58]
+  reg [23:0] COMMANDRdData_control; // @[Debug.scala 1172:25]
+  wire [31:0] _accessRegisterCommandReg_T = {COMMANDRdData_cmdtype,COMMANDRdData_control}; // @[Debug.scala 1417:62]
+  wire  accessRegisterCommandReg_transfer = _accessRegisterCommandReg_T[17]; // @[Debug.scala 1417:73]
+  wire  accessRegisterCommandReg_write = _accessRegisterCommandReg_T[16]; // @[Debug.scala 1417:73]
+  wire [15:0] accessRegisterCommandReg_regno = _accessRegisterCommandReg_T[15:0]; // @[Debug.scala 1417:73]
+  wire [2:0] accessRegisterCommandReg_size = _accessRegisterCommandReg_T[22:20]; // @[Debug.scala 1417:73]
+  wire  accessRegIsLegalSize = accessRegisterCommandReg_size == 3'h2 | accessRegisterCommandReg_size == 3'h3; // @[Debug.scala 1649:72]
+  wire  accessRegIsGPR = accessRegisterCommandReg_regno >= 16'h1000 & accessRegisterCommandReg_regno <= 16'h101f &
+    accessRegIsLegalSize; // @[Debug.scala 1650:117]
+  wire  _GEN_3614 = ~accessRegisterCommandReg_transfer | accessRegIsGPR ? 1'h0 : 1'h1; // @[Debug.scala 1660:73 1661:33]
+  wire  commandRegIsUnsupported = commandRegIsAccessRegister ? _GEN_3614 : 1'h1; // @[Debug.scala 1657:39]
+  wire  _GEN_3615 = (~accessRegisterCommandReg_transfer | accessRegIsGPR) & _T_10; // @[Debug.scala 1660:73 1662:33]
+  wire  commandRegBadHaltResume = commandRegIsAccessRegister & _GEN_3615; // @[Debug.scala 1657:39]
+  wire  _GEN_3631 = commandRegIsUnsupported ? 1'h0 : commandRegBadHaltResume; // @[Debug.scala 1688:38]
+  wire  _GEN_3644 = ctrlStateReg == 2'h1 & _GEN_3631; // @[Debug.scala 1681:59]
+  wire  errorHaltResume = ABSTRACTCSWrEnLegal ? 1'h0 : _GEN_3644; // @[Debug.scala 1673:47]
+  wire [2:0] _GEN_38 = errorHaltResume ? 3'h4 : _GEN_37; // @[Debug.scala 1111:36 1112:30]
+  wire  out_backSel_7 = _out_backSel_T[7]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__86 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_7 & out_findex == 7'h10
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_86 = &out_backMask; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_86 = out_woready__86 & out_womask_86; // @[RegisterRouter.scala 83:24]
+  wire  COMMANDWrEn = out_f_woready_86 & ABSTRACTCSWrEnLegal; // @[Debug.scala 1180:40]
+  wire [31:0] COMMANDWrDataVal = out_f_woready_86 ? auto_dmi_in_a_bits_data : 32'h0; // @[Debug.scala 265:{24,30}]
+  wire [7:0] COMMANDWrData_cmdtype = COMMANDWrDataVal[31:24]; // @[Debug.scala 1175:65]
+  wire  commandWrIsAccessRegister = COMMANDWrData_cmdtype == 8'h0; // @[Debug.scala 1640:60]
+  wire  _wrAccessRegisterCommand_T_1 = ABSTRACTCSReg_cmderr == 3'h0; // @[Debug.scala 1666:103]
+  wire  wrAccessRegisterCommand = COMMANDWrEn & commandWrIsAccessRegister & ABSTRACTCSReg_cmderr == 3'h0; // @[Debug.scala 1666:78]
+  wire  out_backSel_4 = _out_backSel_T[4]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__92 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_4 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_92 = &out_backMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_92 = out_woready__92 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__92 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_4 & out_findex == 7'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_romask_92 = |out_backMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_92 = out_roready__92 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiAbstractDataAccessVec_0 = out_f_woready_92 | out_f_roready_92; // @[Debug.scala 1153:105]
+  reg [11:0] ABSTRACTAUTOReg_autoexecdata; // @[Debug.scala 1131:36]
+  wire  autoexecData_0 = dmiAbstractDataAccessVec_0 & ABSTRACTAUTOReg_autoexecdata[0]; // @[Debug.scala 1164:140]
+  wire  out_backSel_16 = _out_backSel_T[16]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__27 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_16 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_27 = out_woready__27 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__27 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_16 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_27 = out_roready__27 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_0 = out_f_woready_27 | out_f_roready_27; // @[Debug.scala 1156:108]
+  reg [15:0] ABSTRACTAUTOReg_autoexecprogbuf; // @[Debug.scala 1131:36]
+  wire  autoexecProg_0 = dmiProgramBufferAccessVec_0 & ABSTRACTAUTOReg_autoexecprogbuf[0]; // @[Debug.scala 1165:144]
+  wire  out_backSel_17 = _out_backSel_T[17]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__19 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_17 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_19 = out_woready__19 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__19 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_17 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_19 = out_roready__19 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_4 = out_f_woready_19 | out_f_roready_19; // @[Debug.scala 1156:108]
+  wire  autoexecProg_1 = dmiProgramBufferAccessVec_4 & ABSTRACTAUTOReg_autoexecprogbuf[1]; // @[Debug.scala 1165:144]
+  wire  out_backSel_18 = _out_backSel_T[18]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__31 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_18 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_31 = out_woready__31 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__31 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_18 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_31 = out_roready__31 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_8 = out_f_woready_31 | out_f_roready_31; // @[Debug.scala 1156:108]
+  wire  autoexecProg_2 = dmiProgramBufferAccessVec_8 & ABSTRACTAUTOReg_autoexecprogbuf[2]; // @[Debug.scala 1165:144]
+  wire  out_backSel_19 = _out_backSel_T[19]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__74 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_19 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_74 = out_woready__74 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__74 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_19 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_74 = out_roready__74 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_12 = out_f_woready_74 | out_f_roready_74; // @[Debug.scala 1156:108]
+  wire  autoexecProg_3 = dmiProgramBufferAccessVec_12 & ABSTRACTAUTOReg_autoexecprogbuf[3]; // @[Debug.scala 1165:144]
+  wire  out_backSel_20 = _out_backSel_T[20]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__87 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_20 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_87 = out_woready__87 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__87 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_20 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_87 = out_roready__87 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_16 = out_f_woready_87 | out_f_roready_87; // @[Debug.scala 1156:108]
+  wire  autoexecProg_4 = dmiProgramBufferAccessVec_16 & ABSTRACTAUTOReg_autoexecprogbuf[4]; // @[Debug.scala 1165:144]
+  wire  out_backSel_21 = _out_backSel_T[21]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__7 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_21 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_7 = out_woready__7 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__7 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_21 & out_findex == 7'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_7 = out_roready__7 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_20 = out_f_woready_7 | out_f_roready_7; // @[Debug.scala 1156:108]
+  wire  autoexecProg_5 = dmiProgramBufferAccessVec_20 & ABSTRACTAUTOReg_autoexecprogbuf[5]; // @[Debug.scala 1165:144]
+  wire  out_backSel_22 = _out_backSel_T[22]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__15 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_22 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_15 = out_woready__15 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__15 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_22 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_15 = out_roready__15 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_24 = out_f_woready_15 | out_f_roready_15; // @[Debug.scala 1156:108]
+  wire  autoexecProg_6 = dmiProgramBufferAccessVec_24 & ABSTRACTAUTOReg_autoexecprogbuf[6]; // @[Debug.scala 1165:144]
+  wire  out_backSel_23 = _out_backSel_T[23]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__70 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_23 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_70 = out_woready__70 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__70 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_23 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_70 = out_roready__70 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_28 = out_f_woready_70 | out_f_roready_70; // @[Debug.scala 1156:108]
+  wire  autoexecProg_7 = dmiProgramBufferAccessVec_28 & ABSTRACTAUTOReg_autoexecprogbuf[7]; // @[Debug.scala 1165:144]
+  wire  out_backSel_24 = _out_backSel_T[24]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__82 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_24 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_82 = out_woready__82 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__82 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_24 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_82 = out_roready__82 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_32 = out_f_woready_82 | out_f_roready_82; // @[Debug.scala 1156:108]
+  wire  autoexecProg_8 = dmiProgramBufferAccessVec_32 & ABSTRACTAUTOReg_autoexecprogbuf[8]; // @[Debug.scala 1165:144]
+  wire  out_backSel_25 = _out_backSel_T[25]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__23 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_25 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_23 = out_woready__23 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__23 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_25 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_23 = out_roready__23 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_36 = out_f_woready_23 | out_f_roready_23; // @[Debug.scala 1156:108]
+  wire  autoexecProg_9 = dmiProgramBufferAccessVec_36 & ABSTRACTAUTOReg_autoexecprogbuf[9]; // @[Debug.scala 1165:144]
+  wire  out_backSel_26 = _out_backSel_T[26]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__0 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_26 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready = out_woready__0 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__0 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_26 & out_findex == 7'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready = out_roready__0 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_40 = out_f_woready | out_f_roready; // @[Debug.scala 1156:108]
+  wire  autoexecProg_10 = dmiProgramBufferAccessVec_40 & ABSTRACTAUTOReg_autoexecprogbuf[10]; // @[Debug.scala 1165:144]
+  wire  out_backSel_27 = _out_backSel_T[27]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__78 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_27 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_78 = out_woready__78 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__78 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_27 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_78 = out_roready__78 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_44 = out_f_woready_78 | out_f_roready_78; // @[Debug.scala 1156:108]
+  wire  autoexecProg_11 = dmiProgramBufferAccessVec_44 & ABSTRACTAUTOReg_autoexecprogbuf[11]; // @[Debug.scala 1165:144]
+  wire  out_backSel_28 = _out_backSel_T[28]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__66 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_28 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_66 = out_woready__66 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__66 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_28 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_66 = out_roready__66 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_48 = out_f_woready_66 | out_f_roready_66; // @[Debug.scala 1156:108]
+  wire  autoexecProg_12 = dmiProgramBufferAccessVec_48 & ABSTRACTAUTOReg_autoexecprogbuf[12]; // @[Debug.scala 1165:144]
+  wire  out_backSel_29 = _out_backSel_T[29]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__35 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_29 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_35 = out_woready__35 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__35 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_29 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_35 = out_roready__35 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_52 = out_f_woready_35 | out_f_roready_35; // @[Debug.scala 1156:108]
+  wire  autoexecProg_13 = dmiProgramBufferAccessVec_52 & ABSTRACTAUTOReg_autoexecprogbuf[13]; // @[Debug.scala 1165:144]
+  wire  out_backSel_30 = _out_backSel_T[30]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__11 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_30 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_11 = out_woready__11 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__11 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_30 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_11 = out_roready__11 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_56 = out_f_woready_11 | out_f_roready_11; // @[Debug.scala 1156:108]
+  wire  autoexecProg_14 = dmiProgramBufferAccessVec_56 & ABSTRACTAUTOReg_autoexecprogbuf[14]; // @[Debug.scala 1165:144]
+  wire  out_backSel_31 = _out_backSel_T[31]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__96 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_31 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_96 = out_woready__96 & out_womask_92; // @[RegisterRouter.scala 83:24]
+  wire  out_roready__96 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & in_bits_read & out_backSel_31 & out_findex == 7'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_96 = out_roready__96 & out_romask_92; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_60 = out_f_woready_96 | out_f_roready_96; // @[Debug.scala 1156:108]
+  wire  autoexecProg_15 = dmiProgramBufferAccessVec_60 & ABSTRACTAUTOReg_autoexecprogbuf[15]; // @[Debug.scala 1165:144]
+  wire  autoexec = autoexecData_0 | (autoexecProg_0 | autoexecProg_1 | autoexecProg_2 | autoexecProg_3 | autoexecProg_4
+     | autoexecProg_5 | autoexecProg_6 | autoexecProg_7 | autoexecProg_8 | autoexecProg_9 | autoexecProg_10 |
+    autoexecProg_11 | autoexecProg_12 | autoexecProg_13 | autoexecProg_14 | autoexecProg_15); // @[Debug.scala 1167:48]
+  wire  regAccessRegisterCommand = autoexec & commandRegIsAccessRegister & _wrAccessRegisterCommand_T_1; // @[Debug.scala 1667:78]
+  wire  commandWrIsUnsupported = COMMANDWrEn & ~commandWrIsAccessRegister; // @[Debug.scala 1643:46]
+  wire  _T_1382 = autoexec & commandRegIsUnsupported; // @[Debug.scala 1678:28]
+  wire  _GEN_3621 = commandWrIsUnsupported | _T_1382; // @[Debug.scala 1676:43 1677:26]
+  wire  _GEN_3623 = wrAccessRegisterCommand | regAccessRegisterCommand ? 1'h0 : _GEN_3621; // @[Debug.scala 1674:66]
+  wire  _GEN_3642 = ctrlStateReg == 2'h1 & commandRegIsUnsupported; // @[Debug.scala 1681:59]
+  wire  errorUnsupported = ABSTRACTCSWrEnLegal ? _GEN_3623 : _GEN_3642; // @[Debug.scala 1673:47]
+  wire  _T_1384 = ctrlStateReg == 2'h2; // @[Debug.scala 1702:30]
+  wire  in_1_bits_read = auto_tl_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [9:0] in_1_bits_index = auto_tl_in_a_bits_address[11:2]; // @[Edges.scala 191:34]
+  wire [8:0] out_iindex_1 = {in_1_bits_index[8],in_1_bits_index[7],in_1_bits_index[6],in_1_bits_index[5],in_1_bits_index
+    [4],in_1_bits_index[3],in_1_bits_index[2],in_1_bits_index[1],in_1_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [9:0] out_findex_1 = in_1_bits_index & 10'h200; // @[RegisterRouter.scala 83:24]
+  wire  _out_T_1122 = out_findex_1 == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  _out_T_1642 = out_findex_1 == 10'h200; // @[RegisterRouter.scala 83:24]
+  wire [511:0] _out_backSel_T_1 = 512'h1 << out_iindex_1; // @[OneHot.scala 57:35]
+  wire  out_backSel_67 = _out_backSel_T_1[67]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_1_841 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_backSel_67 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [7:0] _out_backMask_T_23 = auto_tl_in_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_21 = auto_tl_in_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_19 = auto_tl_in_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_17 = auto_tl_in_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_backMask_1 = {_out_backMask_T_23,_out_backMask_T_21,_out_backMask_T_19,_out_backMask_T_17}; // @[Cat.scala 31:58]
+  wire  out_womask_941 = &out_backMask_1[9:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_941 = out_woready_1_841 & out_womask_941; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_3640 = ctrlStateReg == 2'h2 & out_f_woready_941; // @[Debug.scala 1702:51]
+  wire  _GEN_3646 = ctrlStateReg == 2'h1 ? 1'h0 : _GEN_3640; // @[Debug.scala 1681:59]
+  wire  errorException = ABSTRACTCSWrEnLegal ? 1'h0 : _GEN_3646; // @[Debug.scala 1673:47]
+  wire  _errorBusy_T = ~ABSTRACTCSWrEnLegal; // @[Debug.scala 1632:45]
+  wire  out_backSel_8 = _out_backSel_T[8]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready__4 = auto_dmi_in_a_valid & auto_dmi_in_d_ready & ~in_bits_read & out_backSel_8 & out_findex == 7'h10
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_4 = &out_backMask[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_4 = out_woready__4 & out_womask_4; // @[RegisterRouter.scala 83:24]
+  wire  _errorBusy_T_3 = out_f_woready_4 & _errorBusy_T; // @[Debug.scala 1633:42]
+  wire  _errorBusy_T_4 = out_f_woready_61 & ~ABSTRACTCSWrEnLegal | _errorBusy_T_3; // @[Debug.scala 1632:74]
+  wire  out_womask_6 = &out_backMask[31:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_6 = out_woready__4 & out_womask_6; // @[RegisterRouter.scala 83:24]
+  wire  _errorBusy_T_6 = out_f_woready_6 & _errorBusy_T; // @[Debug.scala 1634:44]
+  wire  _errorBusy_T_7 = _errorBusy_T_4 | _errorBusy_T_6; // @[Debug.scala 1633:74]
+  wire  _errorBusy_T_9 = out_f_woready_86 & _errorBusy_T; // @[Debug.scala 1635:42]
+  wire  _errorBusy_T_10 = _errorBusy_T_7 | _errorBusy_T_9; // @[Debug.scala 1634:74]
+  wire  out_womask_93 = &out_backMask[15:8]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_93 = out_woready__92 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_romask_93 = |out_backMask[15:8]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_93 = out_roready__92 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiAbstractDataAccessVec_1 = out_f_woready_93 | out_f_roready_93; // @[Debug.scala 1153:105]
+  wire  out_womask_94 = &out_backMask[23:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_94 = out_woready__92 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_romask_94 = |out_backMask[23:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_94 = out_roready__92 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiAbstractDataAccessVec_2 = out_f_woready_94 | out_f_roready_94; // @[Debug.scala 1153:105]
+  wire  out_womask_95 = &out_backMask[31:24]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_95 = out_woready__92 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_romask_95 = |out_backMask[31:24]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_95 = out_roready__92 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiAbstractDataAccessVec_3 = out_f_woready_95 | out_f_roready_95; // @[Debug.scala 1153:105]
+  wire  dmiAbstractDataAccess = dmiAbstractDataAccessVec_0 | dmiAbstractDataAccessVec_1 | dmiAbstractDataAccessVec_2 |
+    dmiAbstractDataAccessVec_3; // @[Debug.scala 1158:68]
+  wire  _errorBusy_T_12 = dmiAbstractDataAccess & _errorBusy_T; // @[Debug.scala 1636:42]
+  wire  _errorBusy_T_13 = _errorBusy_T_10 | _errorBusy_T_12; // @[Debug.scala 1635:74]
+  wire  out_f_woready_28 = out_woready__27 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_28 = out_roready__27 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_1 = out_f_woready_28 | out_f_roready_28; // @[Debug.scala 1156:108]
+  wire  out_f_woready_29 = out_woready__27 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_29 = out_roready__27 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_2 = out_f_woready_29 | out_f_roready_29; // @[Debug.scala 1156:108]
+  wire  out_f_woready_30 = out_woready__27 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_30 = out_roready__27 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_3 = out_f_woready_30 | out_f_roready_30; // @[Debug.scala 1156:108]
+  wire  out_f_woready_20 = out_woready__19 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_20 = out_roready__19 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_5 = out_f_woready_20 | out_f_roready_20; // @[Debug.scala 1156:108]
+  wire  out_f_woready_21 = out_woready__19 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_21 = out_roready__19 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_6 = out_f_woready_21 | out_f_roready_21; // @[Debug.scala 1156:108]
+  wire  out_f_woready_22 = out_woready__19 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_22 = out_roready__19 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_7 = out_f_woready_22 | out_f_roready_22; // @[Debug.scala 1156:108]
+  wire  out_f_woready_32 = out_woready__31 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_32 = out_roready__31 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_9 = out_f_woready_32 | out_f_roready_32; // @[Debug.scala 1156:108]
+  wire  out_f_woready_33 = out_woready__31 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_33 = out_roready__31 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_10 = out_f_woready_33 | out_f_roready_33; // @[Debug.scala 1156:108]
+  wire  out_f_woready_34 = out_woready__31 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_34 = out_roready__31 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_11 = out_f_woready_34 | out_f_roready_34; // @[Debug.scala 1156:108]
+  wire  out_f_woready_75 = out_woready__74 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_75 = out_roready__74 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_13 = out_f_woready_75 | out_f_roready_75; // @[Debug.scala 1156:108]
+  wire  out_f_woready_76 = out_woready__74 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_76 = out_roready__74 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_14 = out_f_woready_76 | out_f_roready_76; // @[Debug.scala 1156:108]
+  wire  out_f_woready_77 = out_woready__74 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_77 = out_roready__74 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_15 = out_f_woready_77 | out_f_roready_77; // @[Debug.scala 1156:108]
+  wire  out_f_woready_88 = out_woready__87 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_88 = out_roready__87 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_17 = out_f_woready_88 | out_f_roready_88; // @[Debug.scala 1156:108]
+  wire  out_f_woready_89 = out_woready__87 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_89 = out_roready__87 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_18 = out_f_woready_89 | out_f_roready_89; // @[Debug.scala 1156:108]
+  wire  out_f_woready_90 = out_woready__87 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_90 = out_roready__87 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_19 = out_f_woready_90 | out_f_roready_90; // @[Debug.scala 1156:108]
+  wire  out_f_woready_8 = out_woready__7 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_8 = out_roready__7 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_21 = out_f_woready_8 | out_f_roready_8; // @[Debug.scala 1156:108]
+  wire  out_f_woready_9 = out_woready__7 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_9 = out_roready__7 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_22 = out_f_woready_9 | out_f_roready_9; // @[Debug.scala 1156:108]
+  wire  out_f_woready_10 = out_woready__7 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_10 = out_roready__7 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_23 = out_f_woready_10 | out_f_roready_10; // @[Debug.scala 1156:108]
+  wire  out_f_woready_16 = out_woready__15 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_16 = out_roready__15 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_25 = out_f_woready_16 | out_f_roready_16; // @[Debug.scala 1156:108]
+  wire  out_f_woready_17 = out_woready__15 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_17 = out_roready__15 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_26 = out_f_woready_17 | out_f_roready_17; // @[Debug.scala 1156:108]
+  wire  out_f_woready_18 = out_woready__15 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_18 = out_roready__15 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_27 = out_f_woready_18 | out_f_roready_18; // @[Debug.scala 1156:108]
+  wire  out_f_woready_71 = out_woready__70 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_71 = out_roready__70 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_29 = out_f_woready_71 | out_f_roready_71; // @[Debug.scala 1156:108]
+  wire  out_f_woready_72 = out_woready__70 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_72 = out_roready__70 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_30 = out_f_woready_72 | out_f_roready_72; // @[Debug.scala 1156:108]
+  wire  _dmiProgramBufferAccess_T_29 = dmiProgramBufferAccessVec_0 | dmiProgramBufferAccessVec_1 |
+    dmiProgramBufferAccessVec_2 | dmiProgramBufferAccessVec_3 | dmiProgramBufferAccessVec_4 |
+    dmiProgramBufferAccessVec_5 | dmiProgramBufferAccessVec_6 | dmiProgramBufferAccessVec_7 |
+    dmiProgramBufferAccessVec_8 | dmiProgramBufferAccessVec_9 | dmiProgramBufferAccessVec_10 |
+    dmiProgramBufferAccessVec_11 | dmiProgramBufferAccessVec_12 | dmiProgramBufferAccessVec_13 |
+    dmiProgramBufferAccessVec_14 | dmiProgramBufferAccessVec_15 | dmiProgramBufferAccessVec_16 |
+    dmiProgramBufferAccessVec_17 | dmiProgramBufferAccessVec_18 | dmiProgramBufferAccessVec_19 |
+    dmiProgramBufferAccessVec_20 | dmiProgramBufferAccessVec_21 | dmiProgramBufferAccessVec_22 |
+    dmiProgramBufferAccessVec_23 | dmiProgramBufferAccessVec_24 | dmiProgramBufferAccessVec_25 |
+    dmiProgramBufferAccessVec_26 | dmiProgramBufferAccessVec_27 | dmiProgramBufferAccessVec_28 |
+    dmiProgramBufferAccessVec_29 | dmiProgramBufferAccessVec_30; // @[Debug.scala 1159:69]
+  wire  out_f_woready_73 = out_woready__70 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_73 = out_roready__70 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_31 = out_f_woready_73 | out_f_roready_73; // @[Debug.scala 1156:108]
+  wire  out_f_woready_83 = out_woready__82 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_83 = out_roready__82 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_33 = out_f_woready_83 | out_f_roready_83; // @[Debug.scala 1156:108]
+  wire  out_f_woready_84 = out_woready__82 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_84 = out_roready__82 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_34 = out_f_woready_84 | out_f_roready_84; // @[Debug.scala 1156:108]
+  wire  out_f_woready_85 = out_woready__82 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_85 = out_roready__82 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_35 = out_f_woready_85 | out_f_roready_85; // @[Debug.scala 1156:108]
+  wire  out_f_woready_24 = out_woready__23 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_24 = out_roready__23 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_37 = out_f_woready_24 | out_f_roready_24; // @[Debug.scala 1156:108]
+  wire  out_f_woready_25 = out_woready__23 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_25 = out_roready__23 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_38 = out_f_woready_25 | out_f_roready_25; // @[Debug.scala 1156:108]
+  wire  out_f_woready_26 = out_woready__23 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_26 = out_roready__23 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_39 = out_f_woready_26 | out_f_roready_26; // @[Debug.scala 1156:108]
+  wire  out_f_woready_1 = out_woready__0 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_1 = out_roready__0 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_41 = out_f_woready_1 | out_f_roready_1; // @[Debug.scala 1156:108]
+  wire  out_f_woready_2 = out_woready__0 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_2 = out_roready__0 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_42 = out_f_woready_2 | out_f_roready_2; // @[Debug.scala 1156:108]
+  wire  out_f_woready_3 = out_woready__0 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_3 = out_roready__0 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_43 = out_f_woready_3 | out_f_roready_3; // @[Debug.scala 1156:108]
+  wire  out_f_woready_79 = out_woready__78 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_79 = out_roready__78 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_45 = out_f_woready_79 | out_f_roready_79; // @[Debug.scala 1156:108]
+  wire  out_f_woready_80 = out_woready__78 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_80 = out_roready__78 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_46 = out_f_woready_80 | out_f_roready_80; // @[Debug.scala 1156:108]
+  wire  out_f_woready_81 = out_woready__78 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_81 = out_roready__78 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_47 = out_f_woready_81 | out_f_roready_81; // @[Debug.scala 1156:108]
+  wire  out_f_woready_67 = out_woready__66 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_67 = out_roready__66 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_49 = out_f_woready_67 | out_f_roready_67; // @[Debug.scala 1156:108]
+  wire  out_f_woready_68 = out_woready__66 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_68 = out_roready__66 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_50 = out_f_woready_68 | out_f_roready_68; // @[Debug.scala 1156:108]
+  wire  out_f_woready_69 = out_woready__66 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_69 = out_roready__66 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_51 = out_f_woready_69 | out_f_roready_69; // @[Debug.scala 1156:108]
+  wire  out_f_woready_36 = out_woready__35 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_36 = out_roready__35 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_53 = out_f_woready_36 | out_f_roready_36; // @[Debug.scala 1156:108]
+  wire  out_f_woready_37 = out_woready__35 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_37 = out_roready__35 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_54 = out_f_woready_37 | out_f_roready_37; // @[Debug.scala 1156:108]
+  wire  out_f_woready_38 = out_woready__35 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_38 = out_roready__35 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_55 = out_f_woready_38 | out_f_roready_38; // @[Debug.scala 1156:108]
+  wire  out_f_woready_12 = out_woready__11 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_12 = out_roready__11 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_57 = out_f_woready_12 | out_f_roready_12; // @[Debug.scala 1156:108]
+  wire  out_f_woready_13 = out_woready__11 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_13 = out_roready__11 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_58 = out_f_woready_13 | out_f_roready_13; // @[Debug.scala 1156:108]
+  wire  out_f_woready_14 = out_woready__11 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_14 = out_roready__11 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_59 = out_f_woready_14 | out_f_roready_14; // @[Debug.scala 1156:108]
+  wire  _dmiProgramBufferAccess_T_59 = _dmiProgramBufferAccess_T_29 | dmiProgramBufferAccessVec_31 |
+    dmiProgramBufferAccessVec_32 | dmiProgramBufferAccessVec_33 | dmiProgramBufferAccessVec_34 |
+    dmiProgramBufferAccessVec_35 | dmiProgramBufferAccessVec_36 | dmiProgramBufferAccessVec_37 |
+    dmiProgramBufferAccessVec_38 | dmiProgramBufferAccessVec_39 | dmiProgramBufferAccessVec_40 |
+    dmiProgramBufferAccessVec_41 | dmiProgramBufferAccessVec_42 | dmiProgramBufferAccessVec_43 |
+    dmiProgramBufferAccessVec_44 | dmiProgramBufferAccessVec_45 | dmiProgramBufferAccessVec_46 |
+    dmiProgramBufferAccessVec_47 | dmiProgramBufferAccessVec_48 | dmiProgramBufferAccessVec_49 |
+    dmiProgramBufferAccessVec_50 | dmiProgramBufferAccessVec_51 | dmiProgramBufferAccessVec_52 |
+    dmiProgramBufferAccessVec_53 | dmiProgramBufferAccessVec_54 | dmiProgramBufferAccessVec_55 |
+    dmiProgramBufferAccessVec_56 | dmiProgramBufferAccessVec_57 | dmiProgramBufferAccessVec_58 |
+    dmiProgramBufferAccessVec_59 | dmiProgramBufferAccessVec_60; // @[Debug.scala 1159:69]
+  wire  out_f_woready_97 = out_woready__96 & out_womask_93; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_97 = out_roready__96 & out_romask_93; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_61 = out_f_woready_97 | out_f_roready_97; // @[Debug.scala 1156:108]
+  wire  out_f_woready_98 = out_woready__96 & out_womask_94; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_98 = out_roready__96 & out_romask_94; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_62 = out_f_woready_98 | out_f_roready_98; // @[Debug.scala 1156:108]
+  wire  out_f_woready_99 = out_woready__96 & out_womask_95; // @[RegisterRouter.scala 83:24]
+  wire  out_f_roready_99 = out_roready__96 & out_romask_95; // @[RegisterRouter.scala 83:24]
+  wire  dmiProgramBufferAccessVec_63 = out_f_woready_99 | out_f_roready_99; // @[Debug.scala 1156:108]
+  wire  dmiProgramBufferAccess = _dmiProgramBufferAccess_T_59 | dmiProgramBufferAccessVec_61 |
+    dmiProgramBufferAccessVec_62 | dmiProgramBufferAccessVec_63; // @[Debug.scala 1159:69]
+  wire  _errorBusy_T_15 = dmiProgramBufferAccess & _errorBusy_T; // @[Debug.scala 1637:42]
+  wire  errorBusy = _errorBusy_T_13 | _errorBusy_T_15; // @[Debug.scala 1636:74]
+  wire [15:0] ABSTRACTAUTOWrData_autoexecprogbuf = auto_dmi_in_a_bits_data[31:16]; // @[RegisterRouter.scala 83:24]
+  wire [11:0] ABSTRACTAUTOWrData_autoexecdata = {{11'd0}, auto_dmi_in_a_bits_data[0]};
+  wire [11:0] _ABSTRACTAUTOReg_autoexecdata_T = ABSTRACTAUTOWrData_autoexecdata & 12'h1; // @[Debug.scala 1148:73]
+  wire [23:0] COMMANDWrData_control = COMMANDWrDataVal[23:0]; // @[Debug.scala 1175:65]
+  reg [7:0] abstractDataMem_0; // @[Debug.scala 1195:36]
+  reg [7:0] abstractDataMem_1; // @[Debug.scala 1195:36]
+  reg [7:0] abstractDataMem_2; // @[Debug.scala 1195:36]
+  reg [7:0] abstractDataMem_3; // @[Debug.scala 1195:36]
+  reg [7:0] programBufferMem_0; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_1; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_2; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_3; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_4; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_5; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_6; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_7; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_8; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_9; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_10; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_11; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_12; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_13; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_14; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_15; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_16; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_17; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_18; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_19; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_20; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_21; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_22; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_23; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_24; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_25; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_26; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_27; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_28; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_29; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_30; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_31; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_32; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_33; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_34; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_35; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_36; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_37; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_38; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_39; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_40; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_41; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_42; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_43; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_44; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_45; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_46; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_47; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_48; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_49; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_50; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_51; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_52; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_53; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_54; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_55; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_56; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_57; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_58; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_59; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_60; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_61; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_62; // @[Debug.scala 1199:34]
+  reg [7:0] programBufferMem_63; // @[Debug.scala 1199:34]
+  wire  _resumeReqRegs_T = ~hartIsInResetSync_0; // @[Debug.scala 1212:42]
+  wire  _resumeReqRegs_T_1 = resumeReqRegs & ~hartIsInResetSync_0; // @[Debug.scala 1212:40]
+  wire [1:0] _GEN_3655 = {{1'd0}, haltedBitRegs}; // @[Debug.scala 1218:43]
+  wire [1:0] _haltedBitRegs_T = _GEN_3655 | 2'h1; // @[Debug.scala 1218:43]
+  wire [1:0] _GEN_3656 = {{1'd0}, _resumeReqRegs_T}; // @[Debug.scala 1218:64]
+  wire [1:0] _haltedBitRegs_T_2 = _haltedBitRegs_T & _GEN_3656; // @[Debug.scala 1218:64]
+  wire [1:0] _haltedBitRegs_T_4 = _GEN_3655 & 2'h2; // @[Debug.scala 1220:43]
+  wire [1:0] _haltedBitRegs_T_6 = _haltedBitRegs_T_4 & _GEN_3656; // @[Debug.scala 1220:69]
+  wire  _haltedBitRegs_T_8 = haltedBitRegs & _resumeReqRegs_T; // @[Debug.scala 1222:42]
+  wire  out_backSel_66 = _out_backSel_T_1[66]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_1_708 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_backSel_66 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_808 = out_woready_1_708 & out_womask_941; // @[RegisterRouter.scala 83:24]
+  wire [1:0] _GEN_61 = out_f_woready_808 ? _haltedBitRegs_T_6 : {{1'd0}, _haltedBitRegs_T_8}; // @[Debug.scala 1219:39 1220:25 1222:25]
+  wire  out_backSel_64 = _out_backSel_T_1[64]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_1_547 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_backSel_64 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_647 = out_woready_1_547 & out_womask_941; // @[RegisterRouter.scala 83:24]
+  wire [1:0] _GEN_62 = out_f_woready_647 ? _haltedBitRegs_T_2 : _GEN_61; // @[Debug.scala 1217:31 1218:25]
+  wire [1:0] _GEN_3659 = {{1'd0}, resumeReqRegs}; // @[Debug.scala 1226:43]
+  wire [1:0] _resumeReqRegs_T_3 = _GEN_3659 & 2'h2; // @[Debug.scala 1226:43]
+  wire [1:0] _resumeReqRegs_T_5 = _resumeReqRegs_T_3 & _GEN_3656; // @[Debug.scala 1226:69]
+  wire [1:0] _GEN_63 = out_f_woready_808 ? _resumeReqRegs_T_5 : {{1'd0}, _resumeReqRegs_T_1}; // @[Debug.scala 1212:23 1225:33 1226:25]
+  wire  _resumeReqRegs_T_8 = (resumeReqRegs | hamaskWrSel_0) & _resumeReqRegs_T; // @[Debug.scala 1229:65]
+  wire [1:0] _GEN_64 = resumereq ? {{1'd0}, _resumeReqRegs_T_8} : _GEN_63; // @[Debug.scala 1228:26 1229:25]
+  wire [1:0] _GEN_65 = _T_1 ? 2'h0 : _GEN_62; // @[Debug.scala 1207:45 1208:23]
+  wire [1:0] _GEN_66 = _T_1 ? 2'h0 : _GEN_64; // @[Debug.scala 1207:45 1209:23]
+  wire [31:0] out_prepend_2 = {programBufferMem_43,programBufferMem_42,programBufferMem_41,programBufferMem_40}; // @[Cat.scala 31:58]
+  wire [1:0] out_prepend_3 = {1'h0,ABSTRACTAUTOReg_autoexecdata[0]}; // @[Cat.scala 31:58]
+  wire [15:0] _out_T_108 = {{14'd0}, out_prepend_3}; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_4 = {ABSTRACTAUTOReg_autoexecprogbuf,_out_T_108}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_7 = {programBufferMem_23,programBufferMem_22,programBufferMem_21,programBufferMem_20}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_10 = {programBufferMem_59,programBufferMem_58,programBufferMem_57,programBufferMem_56}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_13 = {programBufferMem_27,programBufferMem_26,programBufferMem_25,programBufferMem_24}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_16 = {programBufferMem_7,programBufferMem_6,programBufferMem_5,programBufferMem_4}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_19 = {programBufferMem_39,programBufferMem_38,programBufferMem_37,programBufferMem_36}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_22 = {programBufferMem_3,programBufferMem_2,programBufferMem_1,programBufferMem_0}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_25 = {programBufferMem_11,programBufferMem_10,programBufferMem_9,programBufferMem_8}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_28 = {programBufferMem_55,programBufferMem_54,programBufferMem_53,programBufferMem_52}; // @[Cat.scala 31:58]
+  wire [16:0] out_prepend_41 = {resumeAcks,1'h0,1'h0,1'h0,1'h0,_T_10,_T_10,haltedBitRegs,haltedBitRegs,8'ha2}; // @[Cat.scala 31:58]
+  wire [20:0] out_prepend_45 = {1'h0,haveResetBitRegs,haveResetBitRegs,resumeAcks,out_prepend_41}; // @[Cat.scala 31:58]
+  wire [21:0] _out_T_642 = {{1'd0}, out_prepend_45}; // @[RegisterRouter.scala 83:24]
+  wire [22:0] out_prepend_46 = {1'h0,_out_T_642}; // @[Cat.scala 31:58]
+  wire  abstractCommandBusy = ctrlStateReg != 2'h0; // @[Debug.scala 1624:42]
+  wire [13:0] out_prepend_51 = {1'h0,abstractCommandBusy,1'h0,ABSTRACTCSReg_cmderr,8'h1}; // @[Cat.scala 31:58]
+  wire [23:0] _out_T_707 = {{10'd0}, out_prepend_51}; // @[RegisterRouter.scala 83:24]
+  wire [28:0] out_prepend_52 = {5'h10,_out_T_707}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_55 = {programBufferMem_51,programBufferMem_50,programBufferMem_49,programBufferMem_48}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_58 = {programBufferMem_31,programBufferMem_30,programBufferMem_29,programBufferMem_28}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_61 = {programBufferMem_15,programBufferMem_14,programBufferMem_13,programBufferMem_12}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_64 = {programBufferMem_47,programBufferMem_46,programBufferMem_45,programBufferMem_44}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_67 = {programBufferMem_35,programBufferMem_34,programBufferMem_33,programBufferMem_32}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_70 = {programBufferMem_19,programBufferMem_18,programBufferMem_17,programBufferMem_16}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_73 = {abstractDataMem_3,abstractDataMem_2,abstractDataMem_1,abstractDataMem_0}; // @[Cat.scala 31:58]
+  wire [31:0] out_prepend_76 = {programBufferMem_63,programBufferMem_62,programBufferMem_61,programBufferMem_60}; // @[Cat.scala 31:58]
+  wire  _GEN_266 = 5'h1 == out_iindex ? _out_T_2 : _out_T_20; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_268 = 5'h3 == out_iindex ? _out_T_2 : 5'h2 == out_iindex | _GEN_266; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_269 = 5'h4 == out_iindex ? _out_T_44 : _GEN_268; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_271 = 5'h6 == out_iindex ? _out_T_2 : 5'h5 == out_iindex | _GEN_269; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_272 = 5'h7 == out_iindex ? _out_T_2 : _GEN_271; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_273 = 5'h8 == out_iindex ? _out_T_2 : _GEN_272; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_281 = 5'h10 == out_iindex ? _out_T_44 : 5'hf == out_iindex | (5'he == out_iindex | (5'hd == out_iindex | (5'hc
+     == out_iindex | (5'hb == out_iindex | (5'ha == out_iindex | (5'h9 == out_iindex | _GEN_273)))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_282 = 5'h11 == out_iindex ? _out_T_44 : _GEN_281; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_283 = 5'h12 == out_iindex ? _out_T_44 : _GEN_282; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_284 = 5'h13 == out_iindex ? _out_T_44 : _GEN_283; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_285 = 5'h14 == out_iindex ? _out_T_44 : _GEN_284; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_286 = 5'h15 == out_iindex ? _out_T_44 : _GEN_285; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_287 = 5'h16 == out_iindex ? _out_T_44 : _GEN_286; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_288 = 5'h17 == out_iindex ? _out_T_44 : _GEN_287; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_289 = 5'h18 == out_iindex ? _out_T_44 : _GEN_288; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_290 = 5'h19 == out_iindex ? _out_T_44 : _GEN_289; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_291 = 5'h1a == out_iindex ? _out_T_44 : _GEN_290; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_292 = 5'h1b == out_iindex ? _out_T_44 : _GEN_291; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_293 = 5'h1c == out_iindex ? _out_T_44 : _GEN_292; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_294 = 5'h1d == out_iindex ? _out_T_44 : _GEN_293; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_295 = 5'h1e == out_iindex ? _out_T_44 : _GEN_294; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_296 = 5'h1f == out_iindex ? _out_T_44 : _GEN_295; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_1 = {{9'd0}, out_prepend_46}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_298 = 5'h1 == out_iindex ? _out_out_bits_data_WIRE_1_1 : haltedStatus_0; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_299 = 5'h2 == out_iindex ? 32'h0 : _GEN_298; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_300 = 5'h3 == out_iindex ? HALTSUM1RdData_haltsum1 : _GEN_299; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_301 = 5'h4 == out_iindex ? out_prepend_73 : _GEN_300; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_302 = 5'h5 == out_iindex ? 32'h0 : _GEN_301; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_6 = {{3'd0}, out_prepend_52}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_303 = 5'h6 == out_iindex ? _out_out_bits_data_WIRE_1_6 : _GEN_302; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_304 = 5'h7 == out_iindex ? _accessRegisterCommandReg_T : _GEN_303; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_305 = 5'h8 == out_iindex ? out_prepend_4 : _GEN_304; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_306 = 5'h9 == out_iindex ? 32'h0 : _GEN_305; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_307 = 5'ha == out_iindex ? 32'h0 : _GEN_306; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_308 = 5'hb == out_iindex ? 32'h0 : _GEN_307; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_309 = 5'hc == out_iindex ? 32'h0 : _GEN_308; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_310 = 5'hd == out_iindex ? 32'h0 : _GEN_309; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_311 = 5'he == out_iindex ? 32'h0 : _GEN_310; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_312 = 5'hf == out_iindex ? 32'h0 : _GEN_311; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_313 = 5'h10 == out_iindex ? out_prepend_22 : _GEN_312; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_314 = 5'h11 == out_iindex ? out_prepend_16 : _GEN_313; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_315 = 5'h12 == out_iindex ? out_prepend_25 : _GEN_314; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_316 = 5'h13 == out_iindex ? out_prepend_61 : _GEN_315; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_317 = 5'h14 == out_iindex ? out_prepend_70 : _GEN_316; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_318 = 5'h15 == out_iindex ? out_prepend_7 : _GEN_317; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_319 = 5'h16 == out_iindex ? out_prepend_13 : _GEN_318; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_320 = 5'h17 == out_iindex ? out_prepend_58 : _GEN_319; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_321 = 5'h18 == out_iindex ? out_prepend_67 : _GEN_320; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_322 = 5'h19 == out_iindex ? out_prepend_19 : _GEN_321; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_323 = 5'h1a == out_iindex ? out_prepend_2 : _GEN_322; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_324 = 5'h1b == out_iindex ? out_prepend_64 : _GEN_323; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_325 = 5'h1c == out_iindex ? out_prepend_55 : _GEN_324; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_326 = 5'h1d == out_iindex ? out_prepend_28 : _GEN_325; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_327 = 5'h1e == out_iindex ? out_prepend_10 : _GEN_326; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_328 = 5'h1f == out_iindex ? out_prepend_76 : _GEN_327; // @[MuxLiteral.scala 48:{10,10}]
+  reg  goReg; // @[Debug.scala 1379:27]
+  wire [9:0] hartGoingId = auto_tl_in_a_bits_data[9:0]; // @[RegisterRouter.scala 83:24]
+  wire  _T_342 = ~(hartGoingId == 10'h0); // @[Debug.scala 1391:15]
+  wire  out_backSel_65 = _out_backSel_T_1[65]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_1_370 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_backSel_65 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_470 = out_woready_1_370 & out_womask_941; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_397 = out_f_woready_470 ? 1'h0 : goReg; // @[Debug.scala 1390:33 1392:15 1379:27]
+  wire  _GEN_3628 = commandRegBadHaltResume ? 1'h0 : 1'h1; // @[Debug.scala 1691:43]
+  wire  _GEN_3632 = commandRegIsUnsupported ? 1'h0 : _GEN_3628; // @[Debug.scala 1688:38]
+  wire  _GEN_3645 = ctrlStateReg == 2'h1 & _GEN_3632; // @[Debug.scala 1681:59]
+  wire  goAbstract = ABSTRACTCSWrEnLegal ? 1'h0 : _GEN_3645; // @[Debug.scala 1673:47]
+  wire  _GEN_398 = goAbstract | _GEN_397; // @[Debug.scala 1388:25 1389:15]
+  wire  accessRegisterCommandReg_postexec = _accessRegisterCommandReg_T[18]; // @[Debug.scala 1417:73]
+  reg [31:0] abstractGeneratedMem_0; // @[Debug.scala 1470:35]
+  reg [31:0] abstractGeneratedMem_1; // @[Debug.scala 1470:35]
+  wire [15:0] _abstractGeneratedMem_0_inst_rd_T = accessRegisterCommandReg_regno & 16'h1f; // @[Debug.scala 1477:54]
+  wire [4:0] abstractGeneratedMem_0_inst_rd = _abstractGeneratedMem_0_inst_rd_T[4:0]; // @[Debug.scala 1473:22 1477:19]
+  wire [31:0] _abstractGeneratedMem_0_T = {17'h7000,accessRegisterCommandReg_size,abstractGeneratedMem_0_inst_rd,7'h3}; // @[Debug.scala 1481:12]
+  wire [31:0] _abstractGeneratedMem_0_T_1 = {7'h1c,abstractGeneratedMem_0_inst_rd,5'h0,accessRegisterCommandReg_size,5'h0
+    ,7'h23}; // @[Debug.scala 1494:12]
+  wire  out_wimask_100 = &out_backMask_1[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_101 = &out_backMask_1[15:8]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_102 = &out_backMask_1[23:16]; // @[RegisterRouter.scala 83:24]
+  wire [23:0] out_prepend_78 = {6'h0,resumeReqRegs,goReg,6'h0,resumeReqRegs,goReg,6'h0,resumeReqRegs,goReg}; // @[Cat.scala 31:58]
+  wire  out_wimask_103 = &out_backMask_1[31:24]; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_79 = {6'h0,resumeReqRegs,goReg,out_prepend_78}; // @[Cat.scala 31:58]
+  wire  out_frontSel_217 = _out_backSel_T_1[217]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_40 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_217 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_140 = out_wivalid_1_40 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_141 = out_wivalid_1_40 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_142 = out_wivalid_1_40 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_143 = out_wivalid_1_40 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_216 = _out_backSel_T_1[216]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_176 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_216 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_276 = out_wivalid_1_176 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_277 = out_wivalid_1_176 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_278 = out_wivalid_1_176 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_279 = out_wivalid_1_176 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_211 = _out_backSel_T_1[211]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_200 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_211 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_300 = out_wivalid_1_200 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_301 = out_wivalid_1_200 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_302 = out_wivalid_1_200 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_303 = out_wivalid_1_200 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_221 = _out_backSel_T_1[221]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_232 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_221 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_332 = out_wivalid_1_232 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_333 = out_wivalid_1_232 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_334 = out_wivalid_1_232 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_335 = out_wivalid_1_232 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_220 = _out_backSel_T_1[220]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_309 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_220 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_409 = out_wivalid_1_309 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_410 = out_wivalid_1_309 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_411 = out_wivalid_1_309 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_412 = out_wivalid_1_309 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_224 = _out_backSel_T_1[224]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_403 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_224 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_503 = out_wivalid_1_403 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_504 = out_wivalid_1_403 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_505 = out_wivalid_1_403 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_506 = out_wivalid_1_403 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_212 = _out_backSel_T_1[212]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_467 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_212 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_567 = out_wivalid_1_467 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_568 = out_wivalid_1_467 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_569 = out_wivalid_1_467 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_570 = out_wivalid_1_467 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_219 = _out_backSel_T_1[219]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_624 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_219 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_724 = out_wivalid_1_624 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_725 = out_wivalid_1_624 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_726 = out_wivalid_1_624 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_727 = out_wivalid_1_624 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_208 = _out_backSel_T_1[208]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_668 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_208 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_768 = out_wivalid_1_668 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_769 = out_wivalid_1_668 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_770 = out_wivalid_1_668 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_771 = out_wivalid_1_668 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_213 = _out_backSel_T_1[213]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_696 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_213 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_796 = out_wivalid_1_696 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_797 = out_wivalid_1_696 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_798 = out_wivalid_1_696 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_799 = out_wivalid_1_696 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_223 = _out_backSel_T_1[223]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_733 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_223 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_833 = out_wivalid_1_733 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_834 = out_wivalid_1_733 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_835 = out_wivalid_1_733 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_836 = out_wivalid_1_733 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_209 = _out_backSel_T_1[209]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_785 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_209 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_885 = out_wivalid_1_785 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_886 = out_wivalid_1_785 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_887 = out_wivalid_1_785 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_888 = out_wivalid_1_785 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_218 = _out_backSel_T_1[218]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_918 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_218 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1018 = out_wivalid_1_918 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1019 = out_wivalid_1_918 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1020 = out_wivalid_1_918 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1021 = out_wivalid_1_918 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_214 = _out_backSel_T_1[214]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_991 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_214 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1091 = out_wivalid_1_991 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1092 = out_wivalid_1_991 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1093 = out_wivalid_1_991 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1094 = out_wivalid_1_991 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_210 = _out_backSel_T_1[210]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_1043 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_210 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1143 = out_wivalid_1_1043 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1144 = out_wivalid_1_1043 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1145 = out_wivalid_1_1043 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1146 = out_wivalid_1_1043 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_215 = _out_backSel_T_1[215]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_1159 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_215 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1259 = out_wivalid_1_1159 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1260 = out_wivalid_1_1159 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1261 = out_wivalid_1_1159 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1262 = out_wivalid_1_1159 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_222 = _out_backSel_T_1[222]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1_1167 = auto_tl_in_a_valid & auto_tl_in_d_ready & ~in_1_bits_read & out_frontSel_222 & out_findex_1
+     == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1267 = out_wivalid_1_1167 & out_wimask_100; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1268 = out_wivalid_1_1167 & out_wimask_101; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1269 = out_wivalid_1_1167 & out_wimask_102; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1270 = out_wivalid_1_1167 & out_wimask_103; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_2523 = 9'h1 == out_iindex_1 ? _out_T_1642 : _out_T_1642; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2524 = 9'h2 == out_iindex_1 ? _out_T_1642 : _GEN_2523; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2525 = 9'h3 == out_iindex_1 ? _out_T_1642 : _GEN_2524; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2526 = 9'h4 == out_iindex_1 ? _out_T_1642 : _GEN_2525; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2527 = 9'h5 == out_iindex_1 ? _out_T_1642 : _GEN_2526; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2528 = 9'h6 == out_iindex_1 ? _out_T_1642 : _GEN_2527; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2529 = 9'h7 == out_iindex_1 ? _out_T_1642 : _GEN_2528; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2530 = 9'h8 == out_iindex_1 ? _out_T_1642 : _GEN_2529; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2531 = 9'h9 == out_iindex_1 ? _out_T_1642 : _GEN_2530; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2532 = 9'ha == out_iindex_1 ? _out_T_1642 : _GEN_2531; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2533 = 9'hb == out_iindex_1 ? _out_T_1642 : _GEN_2532; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2534 = 9'hc == out_iindex_1 ? _out_T_1642 : _GEN_2533; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2535 = 9'hd == out_iindex_1 ? _out_T_1642 : _GEN_2534; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2536 = 9'he == out_iindex_1 ? _out_T_1642 : _GEN_2535; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2537 = 9'hf == out_iindex_1 ? _out_T_1642 : _GEN_2536; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2538 = 9'h10 == out_iindex_1 ? _out_T_1642 : _GEN_2537; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2539 = 9'h11 == out_iindex_1 ? _out_T_1642 : _GEN_2538; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2540 = 9'h12 == out_iindex_1 ? _out_T_1642 : _GEN_2539; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2541 = 9'h13 == out_iindex_1 ? _out_T_1642 : _GEN_2540; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2542 = 9'h14 == out_iindex_1 ? _out_T_1642 : _GEN_2541; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2557 = 9'h23 == out_iindex_1 | (9'h22 == out_iindex_1 | (9'h21 == out_iindex_1 | (9'h20 == out_iindex_1 | (9'h1f
+     == out_iindex_1 | (9'h1e == out_iindex_1 | (9'h1d == out_iindex_1 | (9'h1c == out_iindex_1 | (9'h1b == out_iindex_1
+     | (9'h1a == out_iindex_1 | (9'h19 == out_iindex_1 | (9'h18 == out_iindex_1 | (9'h17 == out_iindex_1 | (9'h16 ==
+    out_iindex_1 | (9'h15 == out_iindex_1 | _GEN_2542)))))))))))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2572 = 9'h32 == out_iindex_1 | (9'h31 == out_iindex_1 | (9'h30 == out_iindex_1 | (9'h2f == out_iindex_1 | (9'h2e
+     == out_iindex_1 | (9'h2d == out_iindex_1 | (9'h2c == out_iindex_1 | (9'h2b == out_iindex_1 | (9'h2a == out_iindex_1
+     | (9'h29 == out_iindex_1 | (9'h28 == out_iindex_1 | (9'h27 == out_iindex_1 | (9'h26 == out_iindex_1 | (9'h25 ==
+    out_iindex_1 | (9'h24 == out_iindex_1 | _GEN_2557)))))))))))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2586 = 9'h40 == out_iindex_1 ? _out_T_1122 : 9'h3f == out_iindex_1 | (9'h3e == out_iindex_1 | (9'h3d ==
+    out_iindex_1 | (9'h3c == out_iindex_1 | (9'h3b == out_iindex_1 | (9'h3a == out_iindex_1 | (9'h39 == out_iindex_1 | (9'h38
+     == out_iindex_1 | (9'h37 == out_iindex_1 | (9'h36 == out_iindex_1 | (9'h35 == out_iindex_1 | (9'h34 == out_iindex_1
+     | (9'h33 == out_iindex_1 | _GEN_2572)))))))))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2587 = 9'h41 == out_iindex_1 ? _out_T_1122 : _GEN_2586; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2588 = 9'h42 == out_iindex_1 ? _out_T_1122 : _GEN_2587; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2589 = 9'h43 == out_iindex_1 ? _out_T_1122 : _GEN_2588; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2604 = 9'h52 == out_iindex_1 | (9'h51 == out_iindex_1 | (9'h50 == out_iindex_1 | (9'h4f == out_iindex_1 | (9'h4e
+     == out_iindex_1 | (9'h4d == out_iindex_1 | (9'h4c == out_iindex_1 | (9'h4b == out_iindex_1 | (9'h4a == out_iindex_1
+     | (9'h49 == out_iindex_1 | (9'h48 == out_iindex_1 | (9'h47 == out_iindex_1 | (9'h46 == out_iindex_1 | (9'h45 ==
+    out_iindex_1 | (9'h44 == out_iindex_1 | _GEN_2589)))))))))))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2619 = 9'h61 == out_iindex_1 | (9'h60 == out_iindex_1 | (9'h5f == out_iindex_1 | (9'h5e == out_iindex_1 | (9'h5d
+     == out_iindex_1 | (9'h5c == out_iindex_1 | (9'h5b == out_iindex_1 | (9'h5a == out_iindex_1 | (9'h59 == out_iindex_1
+     | (9'h58 == out_iindex_1 | (9'h57 == out_iindex_1 | (9'h56 == out_iindex_1 | (9'h55 == out_iindex_1 | (9'h54 ==
+    out_iindex_1 | (9'h53 == out_iindex_1 | _GEN_2604)))))))))))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2634 = 9'h70 == out_iindex_1 | (9'h6f == out_iindex_1 | (9'h6e == out_iindex_1 | (9'h6d == out_iindex_1 | (9'h6c
+     == out_iindex_1 | (9'h6b == out_iindex_1 | (9'h6a == out_iindex_1 | (9'h69 == out_iindex_1 | (9'h68 == out_iindex_1
+     | (9'h67 == out_iindex_1 | (9'h66 == out_iindex_1 | (9'h65 == out_iindex_1 | (9'h64 == out_iindex_1 | (9'h63 ==
+    out_iindex_1 | (9'h62 == out_iindex_1 | _GEN_2619)))))))))))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2649 = 9'h7f == out_iindex_1 | (9'h7e == out_iindex_1 | (9'h7d == out_iindex_1 | (9'h7c == out_iindex_1 | (9'h7b
+     == out_iindex_1 | (9'h7a == out_iindex_1 | (9'h79 == out_iindex_1 | (9'h78 == out_iindex_1 | (9'h77 == out_iindex_1
+     | (9'h76 == out_iindex_1 | (9'h75 == out_iindex_1 | (9'h74 == out_iindex_1 | (9'h73 == out_iindex_1 | (9'h72 ==
+    out_iindex_1 | (9'h71 == out_iindex_1 | _GEN_2634)))))))))))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2664 = 9'h8e == out_iindex_1 | (9'h8d == out_iindex_1 | (9'h8c == out_iindex_1 | (9'h8b == out_iindex_1 | (9'h8a
+     == out_iindex_1 | (9'h89 == out_iindex_1 | (9'h88 == out_iindex_1 | (9'h87 == out_iindex_1 | (9'h86 == out_iindex_1
+     | (9'h85 == out_iindex_1 | (9'h84 == out_iindex_1 | (9'h83 == out_iindex_1 | (9'h82 == out_iindex_1 | (9'h81 ==
+    out_iindex_1 | (9'h80 == out_iindex_1 | _GEN_2649)))))))))))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2679 = 9'h9d == out_iindex_1 | (9'h9c == out_iindex_1 | (9'h9b == out_iindex_1 | (9'h9a == out_iindex_1 | (9'h99
+     == out_iindex_1 | (9'h98 == out_iindex_1 | (9'h97 == out_iindex_1 | (9'h96 == out_iindex_1 | (9'h95 == out_iindex_1
+     | (9'h94 == out_iindex_1 | (9'h93 == out_iindex_1 | (9'h92 == out_iindex_1 | (9'h91 == out_iindex_1 | (9'h90 ==
+    out_iindex_1 | (9'h8f == out_iindex_1 | _GEN_2664)))))))))))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2694 = 9'hac == out_iindex_1 | (9'hab == out_iindex_1 | (9'haa == out_iindex_1 | (9'ha9 == out_iindex_1 | (9'ha8
+     == out_iindex_1 | (9'ha7 == out_iindex_1 | (9'ha6 == out_iindex_1 | (9'ha5 == out_iindex_1 | (9'ha4 == out_iindex_1
+     | (9'ha3 == out_iindex_1 | (9'ha2 == out_iindex_1 | (9'ha1 == out_iindex_1 | (9'ha0 == out_iindex_1 | (9'h9f ==
+    out_iindex_1 | (9'h9e == out_iindex_1 | _GEN_2679)))))))))))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2709 = 9'hbb == out_iindex_1 | (9'hba == out_iindex_1 | (9'hb9 == out_iindex_1 | (9'hb8 == out_iindex_1 | (9'hb7
+     == out_iindex_1 | (9'hb6 == out_iindex_1 | (9'hb5 == out_iindex_1 | (9'hb4 == out_iindex_1 | (9'hb3 == out_iindex_1
+     | (9'hb2 == out_iindex_1 | (9'hb1 == out_iindex_1 | (9'hb0 == out_iindex_1 | (9'haf == out_iindex_1 | (9'hae ==
+    out_iindex_1 | (9'had == out_iindex_1 | _GEN_2694)))))))))))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2714 = 9'hc0 == out_iindex_1 ? _out_T_1122 : 9'hbf == out_iindex_1 | (9'hbe == out_iindex_1 | (9'hbd ==
+    out_iindex_1 | (9'hbc == out_iindex_1 | _GEN_2709))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2728 = 9'hce == out_iindex_1 ? _out_T_1122 : 9'hcd == out_iindex_1 | (9'hcc == out_iindex_1 | (9'hcb ==
+    out_iindex_1 | (9'hca == out_iindex_1 | (9'hc9 == out_iindex_1 | (9'hc8 == out_iindex_1 | (9'hc7 == out_iindex_1 | (9'hc6
+     == out_iindex_1 | (9'hc5 == out_iindex_1 | (9'hc4 == out_iindex_1 | (9'hc3 == out_iindex_1 | (9'hc2 == out_iindex_1
+     | (9'hc1 == out_iindex_1 | _GEN_2714)))))))))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2729 = 9'hcf == out_iindex_1 ? _out_T_1122 : _GEN_2728; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2730 = 9'hd0 == out_iindex_1 ? _out_T_1122 : _GEN_2729; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2731 = 9'hd1 == out_iindex_1 ? _out_T_1122 : _GEN_2730; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2732 = 9'hd2 == out_iindex_1 ? _out_T_1122 : _GEN_2731; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2733 = 9'hd3 == out_iindex_1 ? _out_T_1122 : _GEN_2732; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2734 = 9'hd4 == out_iindex_1 ? _out_T_1122 : _GEN_2733; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2735 = 9'hd5 == out_iindex_1 ? _out_T_1122 : _GEN_2734; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2736 = 9'hd6 == out_iindex_1 ? _out_T_1122 : _GEN_2735; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2737 = 9'hd7 == out_iindex_1 ? _out_T_1122 : _GEN_2736; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2738 = 9'hd8 == out_iindex_1 ? _out_T_1122 : _GEN_2737; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2739 = 9'hd9 == out_iindex_1 ? _out_T_1122 : _GEN_2738; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2740 = 9'hda == out_iindex_1 ? _out_T_1122 : _GEN_2739; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2741 = 9'hdb == out_iindex_1 ? _out_T_1122 : _GEN_2740; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2742 = 9'hdc == out_iindex_1 ? _out_T_1122 : _GEN_2741; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2743 = 9'hdd == out_iindex_1 ? _out_T_1122 : _GEN_2742; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2744 = 9'hde == out_iindex_1 ? _out_T_1122 : _GEN_2743; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2745 = 9'hdf == out_iindex_1 ? _out_T_1122 : _GEN_2744; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2746 = 9'he0 == out_iindex_1 ? _out_T_1122 : _GEN_2745; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2761 = 9'hef == out_iindex_1 | (9'hee == out_iindex_1 | (9'hed == out_iindex_1 | (9'hec == out_iindex_1 | (9'heb
+     == out_iindex_1 | (9'hea == out_iindex_1 | (9'he9 == out_iindex_1 | (9'he8 == out_iindex_1 | (9'he7 == out_iindex_1
+     | (9'he6 == out_iindex_1 | (9'he5 == out_iindex_1 | (9'he4 == out_iindex_1 | (9'he3 == out_iindex_1 | (9'he2 ==
+    out_iindex_1 | (9'he1 == out_iindex_1 | _GEN_2746)))))))))))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2776 = 9'hfe == out_iindex_1 | (9'hfd == out_iindex_1 | (9'hfc == out_iindex_1 | (9'hfb == out_iindex_1 | (9'hfa
+     == out_iindex_1 | (9'hf9 == out_iindex_1 | (9'hf8 == out_iindex_1 | (9'hf7 == out_iindex_1 | (9'hf6 == out_iindex_1
+     | (9'hf5 == out_iindex_1 | (9'hf4 == out_iindex_1 | (9'hf3 == out_iindex_1 | (9'hf2 == out_iindex_1 | (9'hf1 ==
+    out_iindex_1 | (9'hf0 == out_iindex_1 | _GEN_2761)))))))))))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2778 = 9'h100 == out_iindex_1 ? _out_T_1122 : 9'hff == out_iindex_1 | _GEN_2776; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2779 = 9'h101 == out_iindex_1 ? _out_T_1122 : _GEN_2778; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2780 = 9'h102 == out_iindex_1 ? _out_T_1122 : _GEN_2779; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2781 = 9'h103 == out_iindex_1 ? _out_T_1122 : _GEN_2780; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2782 = 9'h104 == out_iindex_1 ? _out_T_1122 : _GEN_2781; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2783 = 9'h105 == out_iindex_1 ? _out_T_1122 : _GEN_2782; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2784 = 9'h106 == out_iindex_1 ? _out_T_1122 : _GEN_2783; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2785 = 9'h107 == out_iindex_1 ? _out_T_1122 : _GEN_2784; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2786 = 9'h108 == out_iindex_1 ? _out_T_1122 : _GEN_2785; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2787 = 9'h109 == out_iindex_1 ? _out_T_1122 : _GEN_2786; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2788 = 9'h10a == out_iindex_1 ? _out_T_1122 : _GEN_2787; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2789 = 9'h10b == out_iindex_1 ? _out_T_1122 : _GEN_2788; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2790 = 9'h10c == out_iindex_1 ? _out_T_1122 : _GEN_2789; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2791 = 9'h10d == out_iindex_1 ? _out_T_1122 : _GEN_2790; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2792 = 9'h10e == out_iindex_1 ? _out_T_1122 : _GEN_2791; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2793 = 9'h10f == out_iindex_1 ? _out_T_1122 : _GEN_2792; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2794 = 9'h110 == out_iindex_1 ? _out_T_1122 : _GEN_2793; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2795 = 9'h111 == out_iindex_1 ? _out_T_1122 : _GEN_2794; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2796 = 9'h112 == out_iindex_1 ? _out_T_1122 : _GEN_2795; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2797 = 9'h113 == out_iindex_1 ? _out_T_1122 : _GEN_2796; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2798 = 9'h114 == out_iindex_1 ? _out_T_1122 : _GEN_2797; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2799 = 9'h115 == out_iindex_1 ? _out_T_1122 : _GEN_2798; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2800 = 9'h116 == out_iindex_1 ? _out_T_1122 : _GEN_2799; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2801 = 9'h117 == out_iindex_1 ? _out_T_1122 : _GEN_2800; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2802 = 9'h118 == out_iindex_1 ? _out_T_1122 : _GEN_2801; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2803 = 9'h119 == out_iindex_1 ? _out_T_1122 : _GEN_2802; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2804 = 9'h11a == out_iindex_1 ? _out_T_1122 : _GEN_2803; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2805 = 9'h11b == out_iindex_1 ? _out_T_1122 : _GEN_2804; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2806 = 9'h11c == out_iindex_1 ? _out_T_1122 : _GEN_2805; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2807 = 9'h11d == out_iindex_1 ? _out_T_1122 : _GEN_2806; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2808 = 9'h11e == out_iindex_1 ? _out_T_1122 : _GEN_2807; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2809 = 9'h11f == out_iindex_1 ? _out_T_1122 : _GEN_2808; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2810 = 9'h120 == out_iindex_1 ? _out_T_1122 : _GEN_2809; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2811 = 9'h121 == out_iindex_1 ? _out_T_1122 : _GEN_2810; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2812 = 9'h122 == out_iindex_1 ? _out_T_1122 : _GEN_2811; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2813 = 9'h123 == out_iindex_1 ? _out_T_1122 : _GEN_2812; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2814 = 9'h124 == out_iindex_1 ? _out_T_1122 : _GEN_2813; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2815 = 9'h125 == out_iindex_1 ? _out_T_1122 : _GEN_2814; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2816 = 9'h126 == out_iindex_1 ? _out_T_1122 : _GEN_2815; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2817 = 9'h127 == out_iindex_1 ? _out_T_1122 : _GEN_2816; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2818 = 9'h128 == out_iindex_1 ? _out_T_1122 : _GEN_2817; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2819 = 9'h129 == out_iindex_1 ? _out_T_1122 : _GEN_2818; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2820 = 9'h12a == out_iindex_1 ? _out_T_1122 : _GEN_2819; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2821 = 9'h12b == out_iindex_1 ? _out_T_1122 : _GEN_2820; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2822 = 9'h12c == out_iindex_1 ? _out_T_1122 : _GEN_2821; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2823 = 9'h12d == out_iindex_1 ? _out_T_1122 : _GEN_2822; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2824 = 9'h12e == out_iindex_1 ? _out_T_1122 : _GEN_2823; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2825 = 9'h12f == out_iindex_1 ? _out_T_1122 : _GEN_2824; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2826 = 9'h130 == out_iindex_1 ? _out_T_1122 : _GEN_2825; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2827 = 9'h131 == out_iindex_1 ? _out_T_1122 : _GEN_2826; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2828 = 9'h132 == out_iindex_1 ? _out_T_1122 : _GEN_2827; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2829 = 9'h133 == out_iindex_1 ? _out_T_1122 : _GEN_2828; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2830 = 9'h134 == out_iindex_1 ? _out_T_1122 : _GEN_2829; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2831 = 9'h135 == out_iindex_1 ? _out_T_1122 : _GEN_2830; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2832 = 9'h136 == out_iindex_1 ? _out_T_1122 : _GEN_2831; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2833 = 9'h137 == out_iindex_1 ? _out_T_1122 : _GEN_2832; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2834 = 9'h138 == out_iindex_1 ? _out_T_1122 : _GEN_2833; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2835 = 9'h139 == out_iindex_1 ? _out_T_1122 : _GEN_2834; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2836 = 9'h13a == out_iindex_1 ? _out_T_1122 : _GEN_2835; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2837 = 9'h13b == out_iindex_1 ? _out_T_1122 : _GEN_2836; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2838 = 9'h13c == out_iindex_1 ? _out_T_1122 : _GEN_2837; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2839 = 9'h13d == out_iindex_1 ? _out_T_1122 : _GEN_2838; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2840 = 9'h13e == out_iindex_1 ? _out_T_1122 : _GEN_2839; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2841 = 9'h13f == out_iindex_1 ? _out_T_1122 : _GEN_2840; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2842 = 9'h140 == out_iindex_1 ? _out_T_1122 : _GEN_2841; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2843 = 9'h141 == out_iindex_1 ? _out_T_1122 : _GEN_2842; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2844 = 9'h142 == out_iindex_1 ? _out_T_1122 : _GEN_2843; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2845 = 9'h143 == out_iindex_1 ? _out_T_1122 : _GEN_2844; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2846 = 9'h144 == out_iindex_1 ? _out_T_1122 : _GEN_2845; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2847 = 9'h145 == out_iindex_1 ? _out_T_1122 : _GEN_2846; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2848 = 9'h146 == out_iindex_1 ? _out_T_1122 : _GEN_2847; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2849 = 9'h147 == out_iindex_1 ? _out_T_1122 : _GEN_2848; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2850 = 9'h148 == out_iindex_1 ? _out_T_1122 : _GEN_2849; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2851 = 9'h149 == out_iindex_1 ? _out_T_1122 : _GEN_2850; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2852 = 9'h14a == out_iindex_1 ? _out_T_1122 : _GEN_2851; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2853 = 9'h14b == out_iindex_1 ? _out_T_1122 : _GEN_2852; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2854 = 9'h14c == out_iindex_1 ? _out_T_1122 : _GEN_2853; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2855 = 9'h14d == out_iindex_1 ? _out_T_1122 : _GEN_2854; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2856 = 9'h14e == out_iindex_1 ? _out_T_1122 : _GEN_2855; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2857 = 9'h14f == out_iindex_1 ? _out_T_1122 : _GEN_2856; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2858 = 9'h150 == out_iindex_1 ? _out_T_1122 : _GEN_2857; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2859 = 9'h151 == out_iindex_1 ? _out_T_1122 : _GEN_2858; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2860 = 9'h152 == out_iindex_1 ? _out_T_1122 : _GEN_2859; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2861 = 9'h153 == out_iindex_1 ? _out_T_1122 : _GEN_2860; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2862 = 9'h154 == out_iindex_1 ? _out_T_1122 : _GEN_2861; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2863 = 9'h155 == out_iindex_1 ? _out_T_1122 : _GEN_2862; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2864 = 9'h156 == out_iindex_1 ? _out_T_1122 : _GEN_2863; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2865 = 9'h157 == out_iindex_1 ? _out_T_1122 : _GEN_2864; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2866 = 9'h158 == out_iindex_1 ? _out_T_1122 : _GEN_2865; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2867 = 9'h159 == out_iindex_1 ? _out_T_1122 : _GEN_2866; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2868 = 9'h15a == out_iindex_1 ? _out_T_1122 : _GEN_2867; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2869 = 9'h15b == out_iindex_1 ? _out_T_1122 : _GEN_2868; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2870 = 9'h15c == out_iindex_1 ? _out_T_1122 : _GEN_2869; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2871 = 9'h15d == out_iindex_1 ? _out_T_1122 : _GEN_2870; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2872 = 9'h15e == out_iindex_1 ? _out_T_1122 : _GEN_2871; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2873 = 9'h15f == out_iindex_1 ? _out_T_1122 : _GEN_2872; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2874 = 9'h160 == out_iindex_1 ? _out_T_1122 : _GEN_2873; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2875 = 9'h161 == out_iindex_1 ? _out_T_1122 : _GEN_2874; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2876 = 9'h162 == out_iindex_1 ? _out_T_1122 : _GEN_2875; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2877 = 9'h163 == out_iindex_1 ? _out_T_1122 : _GEN_2876; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2878 = 9'h164 == out_iindex_1 ? _out_T_1122 : _GEN_2877; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2879 = 9'h165 == out_iindex_1 ? _out_T_1122 : _GEN_2878; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2880 = 9'h166 == out_iindex_1 ? _out_T_1122 : _GEN_2879; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2881 = 9'h167 == out_iindex_1 ? _out_T_1122 : _GEN_2880; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2882 = 9'h168 == out_iindex_1 ? _out_T_1122 : _GEN_2881; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2883 = 9'h169 == out_iindex_1 ? _out_T_1122 : _GEN_2882; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2884 = 9'h16a == out_iindex_1 ? _out_T_1122 : _GEN_2883; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2885 = 9'h16b == out_iindex_1 ? _out_T_1122 : _GEN_2884; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2886 = 9'h16c == out_iindex_1 ? _out_T_1122 : _GEN_2885; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2887 = 9'h16d == out_iindex_1 ? _out_T_1122 : _GEN_2886; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2888 = 9'h16e == out_iindex_1 ? _out_T_1122 : _GEN_2887; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2889 = 9'h16f == out_iindex_1 ? _out_T_1122 : _GEN_2888; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2890 = 9'h170 == out_iindex_1 ? _out_T_1122 : _GEN_2889; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2891 = 9'h171 == out_iindex_1 ? _out_T_1122 : _GEN_2890; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2892 = 9'h172 == out_iindex_1 ? _out_T_1122 : _GEN_2891; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2893 = 9'h173 == out_iindex_1 ? _out_T_1122 : _GEN_2892; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2894 = 9'h174 == out_iindex_1 ? _out_T_1122 : _GEN_2893; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2895 = 9'h175 == out_iindex_1 ? _out_T_1122 : _GEN_2894; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2896 = 9'h176 == out_iindex_1 ? _out_T_1122 : _GEN_2895; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2897 = 9'h177 == out_iindex_1 ? _out_T_1122 : _GEN_2896; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2898 = 9'h178 == out_iindex_1 ? _out_T_1122 : _GEN_2897; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2899 = 9'h179 == out_iindex_1 ? _out_T_1122 : _GEN_2898; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2900 = 9'h17a == out_iindex_1 ? _out_T_1122 : _GEN_2899; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2901 = 9'h17b == out_iindex_1 ? _out_T_1122 : _GEN_2900; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2902 = 9'h17c == out_iindex_1 ? _out_T_1122 : _GEN_2901; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2903 = 9'h17d == out_iindex_1 ? _out_T_1122 : _GEN_2902; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2904 = 9'h17e == out_iindex_1 ? _out_T_1122 : _GEN_2903; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2905 = 9'h17f == out_iindex_1 ? _out_T_1122 : _GEN_2904; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2906 = 9'h180 == out_iindex_1 ? _out_T_1122 : _GEN_2905; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2907 = 9'h181 == out_iindex_1 ? _out_T_1122 : _GEN_2906; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2908 = 9'h182 == out_iindex_1 ? _out_T_1122 : _GEN_2907; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2909 = 9'h183 == out_iindex_1 ? _out_T_1122 : _GEN_2908; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2910 = 9'h184 == out_iindex_1 ? _out_T_1122 : _GEN_2909; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2911 = 9'h185 == out_iindex_1 ? _out_T_1122 : _GEN_2910; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2912 = 9'h186 == out_iindex_1 ? _out_T_1122 : _GEN_2911; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2913 = 9'h187 == out_iindex_1 ? _out_T_1122 : _GEN_2912; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2914 = 9'h188 == out_iindex_1 ? _out_T_1122 : _GEN_2913; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2915 = 9'h189 == out_iindex_1 ? _out_T_1122 : _GEN_2914; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2916 = 9'h18a == out_iindex_1 ? _out_T_1122 : _GEN_2915; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2917 = 9'h18b == out_iindex_1 ? _out_T_1122 : _GEN_2916; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2918 = 9'h18c == out_iindex_1 ? _out_T_1122 : _GEN_2917; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2919 = 9'h18d == out_iindex_1 ? _out_T_1122 : _GEN_2918; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2920 = 9'h18e == out_iindex_1 ? _out_T_1122 : _GEN_2919; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2921 = 9'h18f == out_iindex_1 ? _out_T_1122 : _GEN_2920; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2922 = 9'h190 == out_iindex_1 ? _out_T_1122 : _GEN_2921; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2923 = 9'h191 == out_iindex_1 ? _out_T_1122 : _GEN_2922; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2924 = 9'h192 == out_iindex_1 ? _out_T_1122 : _GEN_2923; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2925 = 9'h193 == out_iindex_1 ? _out_T_1122 : _GEN_2924; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2926 = 9'h194 == out_iindex_1 ? _out_T_1122 : _GEN_2925; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2927 = 9'h195 == out_iindex_1 ? _out_T_1122 : _GEN_2926; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2928 = 9'h196 == out_iindex_1 ? _out_T_1122 : _GEN_2927; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2929 = 9'h197 == out_iindex_1 ? _out_T_1122 : _GEN_2928; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2930 = 9'h198 == out_iindex_1 ? _out_T_1122 : _GEN_2929; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2931 = 9'h199 == out_iindex_1 ? _out_T_1122 : _GEN_2930; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2932 = 9'h19a == out_iindex_1 ? _out_T_1122 : _GEN_2931; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2933 = 9'h19b == out_iindex_1 ? _out_T_1122 : _GEN_2932; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2934 = 9'h19c == out_iindex_1 ? _out_T_1122 : _GEN_2933; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2935 = 9'h19d == out_iindex_1 ? _out_T_1122 : _GEN_2934; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2936 = 9'h19e == out_iindex_1 ? _out_T_1122 : _GEN_2935; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2937 = 9'h19f == out_iindex_1 ? _out_T_1122 : _GEN_2936; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2938 = 9'h1a0 == out_iindex_1 ? _out_T_1122 : _GEN_2937; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2939 = 9'h1a1 == out_iindex_1 ? _out_T_1122 : _GEN_2938; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2940 = 9'h1a2 == out_iindex_1 ? _out_T_1122 : _GEN_2939; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2941 = 9'h1a3 == out_iindex_1 ? _out_T_1122 : _GEN_2940; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2942 = 9'h1a4 == out_iindex_1 ? _out_T_1122 : _GEN_2941; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2943 = 9'h1a5 == out_iindex_1 ? _out_T_1122 : _GEN_2942; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2944 = 9'h1a6 == out_iindex_1 ? _out_T_1122 : _GEN_2943; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2945 = 9'h1a7 == out_iindex_1 ? _out_T_1122 : _GEN_2944; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2946 = 9'h1a8 == out_iindex_1 ? _out_T_1122 : _GEN_2945; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2947 = 9'h1a9 == out_iindex_1 ? _out_T_1122 : _GEN_2946; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2948 = 9'h1aa == out_iindex_1 ? _out_T_1122 : _GEN_2947; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2949 = 9'h1ab == out_iindex_1 ? _out_T_1122 : _GEN_2948; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2950 = 9'h1ac == out_iindex_1 ? _out_T_1122 : _GEN_2949; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2951 = 9'h1ad == out_iindex_1 ? _out_T_1122 : _GEN_2950; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2952 = 9'h1ae == out_iindex_1 ? _out_T_1122 : _GEN_2951; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2953 = 9'h1af == out_iindex_1 ? _out_T_1122 : _GEN_2952; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2954 = 9'h1b0 == out_iindex_1 ? _out_T_1122 : _GEN_2953; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2955 = 9'h1b1 == out_iindex_1 ? _out_T_1122 : _GEN_2954; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2956 = 9'h1b2 == out_iindex_1 ? _out_T_1122 : _GEN_2955; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2957 = 9'h1b3 == out_iindex_1 ? _out_T_1122 : _GEN_2956; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2958 = 9'h1b4 == out_iindex_1 ? _out_T_1122 : _GEN_2957; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2959 = 9'h1b5 == out_iindex_1 ? _out_T_1122 : _GEN_2958; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2960 = 9'h1b6 == out_iindex_1 ? _out_T_1122 : _GEN_2959; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2961 = 9'h1b7 == out_iindex_1 ? _out_T_1122 : _GEN_2960; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2962 = 9'h1b8 == out_iindex_1 ? _out_T_1122 : _GEN_2961; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2963 = 9'h1b9 == out_iindex_1 ? _out_T_1122 : _GEN_2962; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2964 = 9'h1ba == out_iindex_1 ? _out_T_1122 : _GEN_2963; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2965 = 9'h1bb == out_iindex_1 ? _out_T_1122 : _GEN_2964; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2966 = 9'h1bc == out_iindex_1 ? _out_T_1122 : _GEN_2965; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2967 = 9'h1bd == out_iindex_1 ? _out_T_1122 : _GEN_2966; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2968 = 9'h1be == out_iindex_1 ? _out_T_1122 : _GEN_2967; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2969 = 9'h1bf == out_iindex_1 ? _out_T_1122 : _GEN_2968; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2970 = 9'h1c0 == out_iindex_1 ? _out_T_1122 : _GEN_2969; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2971 = 9'h1c1 == out_iindex_1 ? _out_T_1122 : _GEN_2970; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2972 = 9'h1c2 == out_iindex_1 ? _out_T_1122 : _GEN_2971; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2973 = 9'h1c3 == out_iindex_1 ? _out_T_1122 : _GEN_2972; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2974 = 9'h1c4 == out_iindex_1 ? _out_T_1122 : _GEN_2973; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2975 = 9'h1c5 == out_iindex_1 ? _out_T_1122 : _GEN_2974; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2976 = 9'h1c6 == out_iindex_1 ? _out_T_1122 : _GEN_2975; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2977 = 9'h1c7 == out_iindex_1 ? _out_T_1122 : _GEN_2976; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2978 = 9'h1c8 == out_iindex_1 ? _out_T_1122 : _GEN_2977; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2979 = 9'h1c9 == out_iindex_1 ? _out_T_1122 : _GEN_2978; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2980 = 9'h1ca == out_iindex_1 ? _out_T_1122 : _GEN_2979; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2981 = 9'h1cb == out_iindex_1 ? _out_T_1122 : _GEN_2980; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2982 = 9'h1cc == out_iindex_1 ? _out_T_1122 : _GEN_2981; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2983 = 9'h1cd == out_iindex_1 ? _out_T_1122 : _GEN_2982; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2984 = 9'h1ce == out_iindex_1 ? _out_T_1122 : _GEN_2983; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2985 = 9'h1cf == out_iindex_1 ? _out_T_1122 : _GEN_2984; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2986 = 9'h1d0 == out_iindex_1 ? _out_T_1122 : _GEN_2985; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2987 = 9'h1d1 == out_iindex_1 ? _out_T_1122 : _GEN_2986; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2988 = 9'h1d2 == out_iindex_1 ? _out_T_1122 : _GEN_2987; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2989 = 9'h1d3 == out_iindex_1 ? _out_T_1122 : _GEN_2988; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2990 = 9'h1d4 == out_iindex_1 ? _out_T_1122 : _GEN_2989; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2991 = 9'h1d5 == out_iindex_1 ? _out_T_1122 : _GEN_2990; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2992 = 9'h1d6 == out_iindex_1 ? _out_T_1122 : _GEN_2991; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2993 = 9'h1d7 == out_iindex_1 ? _out_T_1122 : _GEN_2992; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2994 = 9'h1d8 == out_iindex_1 ? _out_T_1122 : _GEN_2993; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2995 = 9'h1d9 == out_iindex_1 ? _out_T_1122 : _GEN_2994; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2996 = 9'h1da == out_iindex_1 ? _out_T_1122 : _GEN_2995; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2997 = 9'h1db == out_iindex_1 ? _out_T_1122 : _GEN_2996; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2998 = 9'h1dc == out_iindex_1 ? _out_T_1122 : _GEN_2997; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_2999 = 9'h1dd == out_iindex_1 ? _out_T_1122 : _GEN_2998; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3000 = 9'h1de == out_iindex_1 ? _out_T_1122 : _GEN_2999; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3001 = 9'h1df == out_iindex_1 ? _out_T_1122 : _GEN_3000; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3002 = 9'h1e0 == out_iindex_1 ? _out_T_1122 : _GEN_3001; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3003 = 9'h1e1 == out_iindex_1 ? _out_T_1122 : _GEN_3002; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3004 = 9'h1e2 == out_iindex_1 ? _out_T_1122 : _GEN_3003; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3005 = 9'h1e3 == out_iindex_1 ? _out_T_1122 : _GEN_3004; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3006 = 9'h1e4 == out_iindex_1 ? _out_T_1122 : _GEN_3005; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3007 = 9'h1e5 == out_iindex_1 ? _out_T_1122 : _GEN_3006; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3008 = 9'h1e6 == out_iindex_1 ? _out_T_1122 : _GEN_3007; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3009 = 9'h1e7 == out_iindex_1 ? _out_T_1122 : _GEN_3008; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3010 = 9'h1e8 == out_iindex_1 ? _out_T_1122 : _GEN_3009; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3011 = 9'h1e9 == out_iindex_1 ? _out_T_1122 : _GEN_3010; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3012 = 9'h1ea == out_iindex_1 ? _out_T_1122 : _GEN_3011; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3013 = 9'h1eb == out_iindex_1 ? _out_T_1122 : _GEN_3012; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3014 = 9'h1ec == out_iindex_1 ? _out_T_1122 : _GEN_3013; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3015 = 9'h1ed == out_iindex_1 ? _out_T_1122 : _GEN_3014; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3016 = 9'h1ee == out_iindex_1 ? _out_T_1122 : _GEN_3015; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3017 = 9'h1ef == out_iindex_1 ? _out_T_1122 : _GEN_3016; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3018 = 9'h1f0 == out_iindex_1 ? _out_T_1122 : _GEN_3017; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3019 = 9'h1f1 == out_iindex_1 ? _out_T_1122 : _GEN_3018; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3020 = 9'h1f2 == out_iindex_1 ? _out_T_1122 : _GEN_3019; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3021 = 9'h1f3 == out_iindex_1 ? _out_T_1122 : _GEN_3020; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3022 = 9'h1f4 == out_iindex_1 ? _out_T_1122 : _GEN_3021; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3023 = 9'h1f5 == out_iindex_1 ? _out_T_1122 : _GEN_3022; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3024 = 9'h1f6 == out_iindex_1 ? _out_T_1122 : _GEN_3023; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3025 = 9'h1f7 == out_iindex_1 ? _out_T_1122 : _GEN_3024; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3026 = 9'h1f8 == out_iindex_1 ? _out_T_1122 : _GEN_3025; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3027 = 9'h1f9 == out_iindex_1 ? _out_T_1122 : _GEN_3026; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3028 = 9'h1fa == out_iindex_1 ? _out_T_1122 : _GEN_3027; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3029 = 9'h1fb == out_iindex_1 ? _out_T_1122 : _GEN_3028; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3030 = 9'h1fc == out_iindex_1 ? _out_T_1122 : _GEN_3029; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3031 = 9'h1fd == out_iindex_1 ? _out_T_1122 : _GEN_3030; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3032 = 9'h1fe == out_iindex_1 ? _out_T_1122 : _GEN_3031; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_3033 = 9'h1ff == out_iindex_1 ? _out_T_1122 : _GEN_3032; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3035 = 9'h1 == out_iindex_1 ? 32'h380006f : 32'hc0006f; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3036 = 9'h2 == out_iindex_1 ? 32'h440006f : _GEN_3035; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3037 = 9'h3 == out_iindex_1 ? 32'hff0000f : _GEN_3036; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3038 = 9'h4 == out_iindex_1 ? 32'h7b241073 : _GEN_3037; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3039 = 9'h5 == out_iindex_1 ? 32'hf1402473 : _GEN_3038; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3040 = 9'h6 == out_iindex_1 ? 32'h10802023 : _GEN_3039; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3041 = 9'h7 == out_iindex_1 ? 32'h40044403 : _GEN_3040; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3042 = 9'h8 == out_iindex_1 ? 32'h347413 : _GEN_3041; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3043 = 9'h9 == out_iindex_1 ? 32'hfe0408e3 : _GEN_3042; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3044 = 9'ha == out_iindex_1 ? 32'h147413 : _GEN_3043; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3045 = 9'hb == out_iindex_1 ? 32'h40863 : _GEN_3044; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3046 = 9'hc == out_iindex_1 ? 32'h7b202473 : _GEN_3045; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3047 = 9'hd == out_iindex_1 ? 32'h10002223 : _GEN_3046; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3048 = 9'he == out_iindex_1 ? 32'h30000067 : _GEN_3047; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3049 = 9'hf == out_iindex_1 ? 32'hf1402473 : _GEN_3048; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3050 = 9'h10 == out_iindex_1 ? 32'h10802423 : _GEN_3049; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3051 = 9'h11 == out_iindex_1 ? 32'h7b202473 : _GEN_3050; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3052 = 9'h12 == out_iindex_1 ? 32'h7b200073 : _GEN_3051; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3053 = 9'h13 == out_iindex_1 ? 32'h10002623 : _GEN_3052; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3054 = 9'h14 == out_iindex_1 ? 32'h100073 : _GEN_3053; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3055 = 9'h15 == out_iindex_1 ? 32'h0 : _GEN_3054; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3056 = 9'h16 == out_iindex_1 ? 32'h0 : _GEN_3055; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3057 = 9'h17 == out_iindex_1 ? 32'h0 : _GEN_3056; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3058 = 9'h18 == out_iindex_1 ? 32'h0 : _GEN_3057; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3059 = 9'h19 == out_iindex_1 ? 32'h0 : _GEN_3058; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3060 = 9'h1a == out_iindex_1 ? 32'h0 : _GEN_3059; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3061 = 9'h1b == out_iindex_1 ? 32'h0 : _GEN_3060; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3062 = 9'h1c == out_iindex_1 ? 32'h0 : _GEN_3061; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3063 = 9'h1d == out_iindex_1 ? 32'h0 : _GEN_3062; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3064 = 9'h1e == out_iindex_1 ? 32'h0 : _GEN_3063; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3065 = 9'h1f == out_iindex_1 ? 32'h0 : _GEN_3064; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3066 = 9'h20 == out_iindex_1 ? 32'h0 : _GEN_3065; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3067 = 9'h21 == out_iindex_1 ? 32'h0 : _GEN_3066; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3068 = 9'h22 == out_iindex_1 ? 32'h0 : _GEN_3067; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3069 = 9'h23 == out_iindex_1 ? 32'h0 : _GEN_3068; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3070 = 9'h24 == out_iindex_1 ? 32'h0 : _GEN_3069; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3071 = 9'h25 == out_iindex_1 ? 32'h0 : _GEN_3070; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3072 = 9'h26 == out_iindex_1 ? 32'h0 : _GEN_3071; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3073 = 9'h27 == out_iindex_1 ? 32'h0 : _GEN_3072; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3074 = 9'h28 == out_iindex_1 ? 32'h0 : _GEN_3073; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3075 = 9'h29 == out_iindex_1 ? 32'h0 : _GEN_3074; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3076 = 9'h2a == out_iindex_1 ? 32'h0 : _GEN_3075; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3077 = 9'h2b == out_iindex_1 ? 32'h0 : _GEN_3076; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3078 = 9'h2c == out_iindex_1 ? 32'h0 : _GEN_3077; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3079 = 9'h2d == out_iindex_1 ? 32'h0 : _GEN_3078; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3080 = 9'h2e == out_iindex_1 ? 32'h0 : _GEN_3079; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3081 = 9'h2f == out_iindex_1 ? 32'h0 : _GEN_3080; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3082 = 9'h30 == out_iindex_1 ? 32'h0 : _GEN_3081; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3083 = 9'h31 == out_iindex_1 ? 32'h0 : _GEN_3082; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3084 = 9'h32 == out_iindex_1 ? 32'h0 : _GEN_3083; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3085 = 9'h33 == out_iindex_1 ? 32'h0 : _GEN_3084; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3086 = 9'h34 == out_iindex_1 ? 32'h0 : _GEN_3085; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3087 = 9'h35 == out_iindex_1 ? 32'h0 : _GEN_3086; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3088 = 9'h36 == out_iindex_1 ? 32'h0 : _GEN_3087; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3089 = 9'h37 == out_iindex_1 ? 32'h0 : _GEN_3088; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3090 = 9'h38 == out_iindex_1 ? 32'h0 : _GEN_3089; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3091 = 9'h39 == out_iindex_1 ? 32'h0 : _GEN_3090; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3092 = 9'h3a == out_iindex_1 ? 32'h0 : _GEN_3091; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3093 = 9'h3b == out_iindex_1 ? 32'h0 : _GEN_3092; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3094 = 9'h3c == out_iindex_1 ? 32'h0 : _GEN_3093; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3095 = 9'h3d == out_iindex_1 ? 32'h0 : _GEN_3094; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3096 = 9'h3e == out_iindex_1 ? 32'h0 : _GEN_3095; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3097 = 9'h3f == out_iindex_1 ? 32'h0 : _GEN_3096; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3098 = 9'h40 == out_iindex_1 ? 32'h0 : _GEN_3097; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3099 = 9'h41 == out_iindex_1 ? 32'h0 : _GEN_3098; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3100 = 9'h42 == out_iindex_1 ? 32'h0 : _GEN_3099; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3101 = 9'h43 == out_iindex_1 ? 32'h0 : _GEN_3100; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3102 = 9'h44 == out_iindex_1 ? 32'h0 : _GEN_3101; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3103 = 9'h45 == out_iindex_1 ? 32'h0 : _GEN_3102; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3104 = 9'h46 == out_iindex_1 ? 32'h0 : _GEN_3103; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3105 = 9'h47 == out_iindex_1 ? 32'h0 : _GEN_3104; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3106 = 9'h48 == out_iindex_1 ? 32'h0 : _GEN_3105; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3107 = 9'h49 == out_iindex_1 ? 32'h0 : _GEN_3106; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3108 = 9'h4a == out_iindex_1 ? 32'h0 : _GEN_3107; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3109 = 9'h4b == out_iindex_1 ? 32'h0 : _GEN_3108; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3110 = 9'h4c == out_iindex_1 ? 32'h0 : _GEN_3109; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3111 = 9'h4d == out_iindex_1 ? 32'h0 : _GEN_3110; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3112 = 9'h4e == out_iindex_1 ? 32'h0 : _GEN_3111; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3113 = 9'h4f == out_iindex_1 ? 32'h0 : _GEN_3112; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3114 = 9'h50 == out_iindex_1 ? 32'h0 : _GEN_3113; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3115 = 9'h51 == out_iindex_1 ? 32'h0 : _GEN_3114; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3116 = 9'h52 == out_iindex_1 ? 32'h0 : _GEN_3115; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3117 = 9'h53 == out_iindex_1 ? 32'h0 : _GEN_3116; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3118 = 9'h54 == out_iindex_1 ? 32'h0 : _GEN_3117; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3119 = 9'h55 == out_iindex_1 ? 32'h0 : _GEN_3118; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3120 = 9'h56 == out_iindex_1 ? 32'h0 : _GEN_3119; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3121 = 9'h57 == out_iindex_1 ? 32'h0 : _GEN_3120; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3122 = 9'h58 == out_iindex_1 ? 32'h0 : _GEN_3121; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3123 = 9'h59 == out_iindex_1 ? 32'h0 : _GEN_3122; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3124 = 9'h5a == out_iindex_1 ? 32'h0 : _GEN_3123; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3125 = 9'h5b == out_iindex_1 ? 32'h0 : _GEN_3124; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3126 = 9'h5c == out_iindex_1 ? 32'h0 : _GEN_3125; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3127 = 9'h5d == out_iindex_1 ? 32'h0 : _GEN_3126; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3128 = 9'h5e == out_iindex_1 ? 32'h0 : _GEN_3127; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3129 = 9'h5f == out_iindex_1 ? 32'h0 : _GEN_3128; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3130 = 9'h60 == out_iindex_1 ? 32'h0 : _GEN_3129; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3131 = 9'h61 == out_iindex_1 ? 32'h0 : _GEN_3130; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3132 = 9'h62 == out_iindex_1 ? 32'h0 : _GEN_3131; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3133 = 9'h63 == out_iindex_1 ? 32'h0 : _GEN_3132; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3134 = 9'h64 == out_iindex_1 ? 32'h0 : _GEN_3133; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3135 = 9'h65 == out_iindex_1 ? 32'h0 : _GEN_3134; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3136 = 9'h66 == out_iindex_1 ? 32'h0 : _GEN_3135; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3137 = 9'h67 == out_iindex_1 ? 32'h0 : _GEN_3136; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3138 = 9'h68 == out_iindex_1 ? 32'h0 : _GEN_3137; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3139 = 9'h69 == out_iindex_1 ? 32'h0 : _GEN_3138; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3140 = 9'h6a == out_iindex_1 ? 32'h0 : _GEN_3139; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3141 = 9'h6b == out_iindex_1 ? 32'h0 : _GEN_3140; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3142 = 9'h6c == out_iindex_1 ? 32'h0 : _GEN_3141; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3143 = 9'h6d == out_iindex_1 ? 32'h0 : _GEN_3142; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3144 = 9'h6e == out_iindex_1 ? 32'h0 : _GEN_3143; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3145 = 9'h6f == out_iindex_1 ? 32'h0 : _GEN_3144; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3146 = 9'h70 == out_iindex_1 ? 32'h0 : _GEN_3145; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3147 = 9'h71 == out_iindex_1 ? 32'h0 : _GEN_3146; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3148 = 9'h72 == out_iindex_1 ? 32'h0 : _GEN_3147; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3149 = 9'h73 == out_iindex_1 ? 32'h0 : _GEN_3148; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3150 = 9'h74 == out_iindex_1 ? 32'h0 : _GEN_3149; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3151 = 9'h75 == out_iindex_1 ? 32'h0 : _GEN_3150; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3152 = 9'h76 == out_iindex_1 ? 32'h0 : _GEN_3151; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3153 = 9'h77 == out_iindex_1 ? 32'h0 : _GEN_3152; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3154 = 9'h78 == out_iindex_1 ? 32'h0 : _GEN_3153; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3155 = 9'h79 == out_iindex_1 ? 32'h0 : _GEN_3154; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3156 = 9'h7a == out_iindex_1 ? 32'h0 : _GEN_3155; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3157 = 9'h7b == out_iindex_1 ? 32'h0 : _GEN_3156; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3158 = 9'h7c == out_iindex_1 ? 32'h0 : _GEN_3157; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3159 = 9'h7d == out_iindex_1 ? 32'h0 : _GEN_3158; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3160 = 9'h7e == out_iindex_1 ? 32'h0 : _GEN_3159; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3161 = 9'h7f == out_iindex_1 ? 32'h0 : _GEN_3160; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3162 = 9'h80 == out_iindex_1 ? 32'h0 : _GEN_3161; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3163 = 9'h81 == out_iindex_1 ? 32'h0 : _GEN_3162; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3164 = 9'h82 == out_iindex_1 ? 32'h0 : _GEN_3163; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3165 = 9'h83 == out_iindex_1 ? 32'h0 : _GEN_3164; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3166 = 9'h84 == out_iindex_1 ? 32'h0 : _GEN_3165; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3167 = 9'h85 == out_iindex_1 ? 32'h0 : _GEN_3166; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3168 = 9'h86 == out_iindex_1 ? 32'h0 : _GEN_3167; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3169 = 9'h87 == out_iindex_1 ? 32'h0 : _GEN_3168; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3170 = 9'h88 == out_iindex_1 ? 32'h0 : _GEN_3169; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3171 = 9'h89 == out_iindex_1 ? 32'h0 : _GEN_3170; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3172 = 9'h8a == out_iindex_1 ? 32'h0 : _GEN_3171; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3173 = 9'h8b == out_iindex_1 ? 32'h0 : _GEN_3172; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3174 = 9'h8c == out_iindex_1 ? 32'h0 : _GEN_3173; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3175 = 9'h8d == out_iindex_1 ? 32'h0 : _GEN_3174; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3176 = 9'h8e == out_iindex_1 ? 32'h0 : _GEN_3175; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3177 = 9'h8f == out_iindex_1 ? 32'h0 : _GEN_3176; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3178 = 9'h90 == out_iindex_1 ? 32'h0 : _GEN_3177; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3179 = 9'h91 == out_iindex_1 ? 32'h0 : _GEN_3178; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3180 = 9'h92 == out_iindex_1 ? 32'h0 : _GEN_3179; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3181 = 9'h93 == out_iindex_1 ? 32'h0 : _GEN_3180; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3182 = 9'h94 == out_iindex_1 ? 32'h0 : _GEN_3181; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3183 = 9'h95 == out_iindex_1 ? 32'h0 : _GEN_3182; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3184 = 9'h96 == out_iindex_1 ? 32'h0 : _GEN_3183; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3185 = 9'h97 == out_iindex_1 ? 32'h0 : _GEN_3184; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3186 = 9'h98 == out_iindex_1 ? 32'h0 : _GEN_3185; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3187 = 9'h99 == out_iindex_1 ? 32'h0 : _GEN_3186; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3188 = 9'h9a == out_iindex_1 ? 32'h0 : _GEN_3187; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3189 = 9'h9b == out_iindex_1 ? 32'h0 : _GEN_3188; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3190 = 9'h9c == out_iindex_1 ? 32'h0 : _GEN_3189; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3191 = 9'h9d == out_iindex_1 ? 32'h0 : _GEN_3190; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3192 = 9'h9e == out_iindex_1 ? 32'h0 : _GEN_3191; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3193 = 9'h9f == out_iindex_1 ? 32'h0 : _GEN_3192; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3194 = 9'ha0 == out_iindex_1 ? 32'h0 : _GEN_3193; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3195 = 9'ha1 == out_iindex_1 ? 32'h0 : _GEN_3194; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3196 = 9'ha2 == out_iindex_1 ? 32'h0 : _GEN_3195; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3197 = 9'ha3 == out_iindex_1 ? 32'h0 : _GEN_3196; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3198 = 9'ha4 == out_iindex_1 ? 32'h0 : _GEN_3197; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3199 = 9'ha5 == out_iindex_1 ? 32'h0 : _GEN_3198; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3200 = 9'ha6 == out_iindex_1 ? 32'h0 : _GEN_3199; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3201 = 9'ha7 == out_iindex_1 ? 32'h0 : _GEN_3200; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3202 = 9'ha8 == out_iindex_1 ? 32'h0 : _GEN_3201; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3203 = 9'ha9 == out_iindex_1 ? 32'h0 : _GEN_3202; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3204 = 9'haa == out_iindex_1 ? 32'h0 : _GEN_3203; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3205 = 9'hab == out_iindex_1 ? 32'h0 : _GEN_3204; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3206 = 9'hac == out_iindex_1 ? 32'h0 : _GEN_3205; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3207 = 9'had == out_iindex_1 ? 32'h0 : _GEN_3206; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3208 = 9'hae == out_iindex_1 ? 32'h0 : _GEN_3207; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3209 = 9'haf == out_iindex_1 ? 32'h0 : _GEN_3208; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3210 = 9'hb0 == out_iindex_1 ? 32'h0 : _GEN_3209; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3211 = 9'hb1 == out_iindex_1 ? 32'h0 : _GEN_3210; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3212 = 9'hb2 == out_iindex_1 ? 32'h0 : _GEN_3211; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3213 = 9'hb3 == out_iindex_1 ? 32'h0 : _GEN_3212; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3214 = 9'hb4 == out_iindex_1 ? 32'h0 : _GEN_3213; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3215 = 9'hb5 == out_iindex_1 ? 32'h0 : _GEN_3214; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3216 = 9'hb6 == out_iindex_1 ? 32'h0 : _GEN_3215; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3217 = 9'hb7 == out_iindex_1 ? 32'h0 : _GEN_3216; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3218 = 9'hb8 == out_iindex_1 ? 32'h0 : _GEN_3217; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3219 = 9'hb9 == out_iindex_1 ? 32'h0 : _GEN_3218; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3220 = 9'hba == out_iindex_1 ? 32'h0 : _GEN_3219; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3221 = 9'hbb == out_iindex_1 ? 32'h0 : _GEN_3220; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3222 = 9'hbc == out_iindex_1 ? 32'h0 : _GEN_3221; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3223 = 9'hbd == out_iindex_1 ? 32'h0 : _GEN_3222; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3224 = 9'hbe == out_iindex_1 ? 32'h0 : _GEN_3223; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3225 = 9'hbf == out_iindex_1 ? 32'h0 : _GEN_3224; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3226 = 9'hc0 == out_iindex_1 ? 32'h380006f : _GEN_3225; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3227 = 9'hc1 == out_iindex_1 ? 32'h0 : _GEN_3226; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3228 = 9'hc2 == out_iindex_1 ? 32'h0 : _GEN_3227; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3229 = 9'hc3 == out_iindex_1 ? 32'h0 : _GEN_3228; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3230 = 9'hc4 == out_iindex_1 ? 32'h0 : _GEN_3229; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3231 = 9'hc5 == out_iindex_1 ? 32'h0 : _GEN_3230; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3232 = 9'hc6 == out_iindex_1 ? 32'h0 : _GEN_3231; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3233 = 9'hc7 == out_iindex_1 ? 32'h0 : _GEN_3232; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3234 = 9'hc8 == out_iindex_1 ? 32'h0 : _GEN_3233; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3235 = 9'hc9 == out_iindex_1 ? 32'h0 : _GEN_3234; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3236 = 9'hca == out_iindex_1 ? 32'h0 : _GEN_3235; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3237 = 9'hcb == out_iindex_1 ? 32'h0 : _GEN_3236; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3238 = 9'hcc == out_iindex_1 ? 32'h0 : _GEN_3237; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3239 = 9'hcd == out_iindex_1 ? 32'h0 : _GEN_3238; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3240 = 9'hce == out_iindex_1 ? abstractGeneratedMem_0 : _GEN_3239; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3241 = 9'hcf == out_iindex_1 ? abstractGeneratedMem_1 : _GEN_3240; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3242 = 9'hd0 == out_iindex_1 ? out_prepend_22 : _GEN_3241; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3243 = 9'hd1 == out_iindex_1 ? out_prepend_16 : _GEN_3242; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3244 = 9'hd2 == out_iindex_1 ? out_prepend_25 : _GEN_3243; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3245 = 9'hd3 == out_iindex_1 ? out_prepend_61 : _GEN_3244; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3246 = 9'hd4 == out_iindex_1 ? out_prepend_70 : _GEN_3245; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3247 = 9'hd5 == out_iindex_1 ? out_prepend_7 : _GEN_3246; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3248 = 9'hd6 == out_iindex_1 ? out_prepend_13 : _GEN_3247; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3249 = 9'hd7 == out_iindex_1 ? out_prepend_58 : _GEN_3248; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3250 = 9'hd8 == out_iindex_1 ? out_prepend_67 : _GEN_3249; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3251 = 9'hd9 == out_iindex_1 ? out_prepend_19 : _GEN_3250; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3252 = 9'hda == out_iindex_1 ? out_prepend_2 : _GEN_3251; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3253 = 9'hdb == out_iindex_1 ? out_prepend_64 : _GEN_3252; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3254 = 9'hdc == out_iindex_1 ? out_prepend_55 : _GEN_3253; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3255 = 9'hdd == out_iindex_1 ? out_prepend_28 : _GEN_3254; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3256 = 9'hde == out_iindex_1 ? out_prepend_10 : _GEN_3255; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3257 = 9'hdf == out_iindex_1 ? out_prepend_76 : _GEN_3256; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3258 = 9'he0 == out_iindex_1 ? out_prepend_73 : _GEN_3257; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3259 = 9'he1 == out_iindex_1 ? 32'h0 : _GEN_3258; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3260 = 9'he2 == out_iindex_1 ? 32'h0 : _GEN_3259; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3261 = 9'he3 == out_iindex_1 ? 32'h0 : _GEN_3260; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3262 = 9'he4 == out_iindex_1 ? 32'h0 : _GEN_3261; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3263 = 9'he5 == out_iindex_1 ? 32'h0 : _GEN_3262; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3264 = 9'he6 == out_iindex_1 ? 32'h0 : _GEN_3263; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3265 = 9'he7 == out_iindex_1 ? 32'h0 : _GEN_3264; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3266 = 9'he8 == out_iindex_1 ? 32'h0 : _GEN_3265; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3267 = 9'he9 == out_iindex_1 ? 32'h0 : _GEN_3266; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3268 = 9'hea == out_iindex_1 ? 32'h0 : _GEN_3267; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3269 = 9'heb == out_iindex_1 ? 32'h0 : _GEN_3268; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3270 = 9'hec == out_iindex_1 ? 32'h0 : _GEN_3269; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3271 = 9'hed == out_iindex_1 ? 32'h0 : _GEN_3270; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3272 = 9'hee == out_iindex_1 ? 32'h0 : _GEN_3271; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3273 = 9'hef == out_iindex_1 ? 32'h0 : _GEN_3272; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3274 = 9'hf0 == out_iindex_1 ? 32'h0 : _GEN_3273; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3275 = 9'hf1 == out_iindex_1 ? 32'h0 : _GEN_3274; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3276 = 9'hf2 == out_iindex_1 ? 32'h0 : _GEN_3275; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3277 = 9'hf3 == out_iindex_1 ? 32'h0 : _GEN_3276; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3278 = 9'hf4 == out_iindex_1 ? 32'h0 : _GEN_3277; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3279 = 9'hf5 == out_iindex_1 ? 32'h0 : _GEN_3278; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3280 = 9'hf6 == out_iindex_1 ? 32'h0 : _GEN_3279; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3281 = 9'hf7 == out_iindex_1 ? 32'h0 : _GEN_3280; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3282 = 9'hf8 == out_iindex_1 ? 32'h0 : _GEN_3281; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3283 = 9'hf9 == out_iindex_1 ? 32'h0 : _GEN_3282; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3284 = 9'hfa == out_iindex_1 ? 32'h0 : _GEN_3283; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3285 = 9'hfb == out_iindex_1 ? 32'h0 : _GEN_3284; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3286 = 9'hfc == out_iindex_1 ? 32'h0 : _GEN_3285; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3287 = 9'hfd == out_iindex_1 ? 32'h0 : _GEN_3286; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3288 = 9'hfe == out_iindex_1 ? 32'h0 : _GEN_3287; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3289 = 9'hff == out_iindex_1 ? 32'h0 : _GEN_3288; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3290 = 9'h100 == out_iindex_1 ? out_prepend_79 : _GEN_3289; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3291 = 9'h101 == out_iindex_1 ? out_prepend_79 : _GEN_3290; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3292 = 9'h102 == out_iindex_1 ? out_prepend_79 : _GEN_3291; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3293 = 9'h103 == out_iindex_1 ? out_prepend_79 : _GEN_3292; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3294 = 9'h104 == out_iindex_1 ? out_prepend_79 : _GEN_3293; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3295 = 9'h105 == out_iindex_1 ? out_prepend_79 : _GEN_3294; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3296 = 9'h106 == out_iindex_1 ? out_prepend_79 : _GEN_3295; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3297 = 9'h107 == out_iindex_1 ? out_prepend_79 : _GEN_3296; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3298 = 9'h108 == out_iindex_1 ? out_prepend_79 : _GEN_3297; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3299 = 9'h109 == out_iindex_1 ? out_prepend_79 : _GEN_3298; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3300 = 9'h10a == out_iindex_1 ? out_prepend_79 : _GEN_3299; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3301 = 9'h10b == out_iindex_1 ? out_prepend_79 : _GEN_3300; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3302 = 9'h10c == out_iindex_1 ? out_prepend_79 : _GEN_3301; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3303 = 9'h10d == out_iindex_1 ? out_prepend_79 : _GEN_3302; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3304 = 9'h10e == out_iindex_1 ? out_prepend_79 : _GEN_3303; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3305 = 9'h10f == out_iindex_1 ? out_prepend_79 : _GEN_3304; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3306 = 9'h110 == out_iindex_1 ? out_prepend_79 : _GEN_3305; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3307 = 9'h111 == out_iindex_1 ? out_prepend_79 : _GEN_3306; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3308 = 9'h112 == out_iindex_1 ? out_prepend_79 : _GEN_3307; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3309 = 9'h113 == out_iindex_1 ? out_prepend_79 : _GEN_3308; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3310 = 9'h114 == out_iindex_1 ? out_prepend_79 : _GEN_3309; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3311 = 9'h115 == out_iindex_1 ? out_prepend_79 : _GEN_3310; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3312 = 9'h116 == out_iindex_1 ? out_prepend_79 : _GEN_3311; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3313 = 9'h117 == out_iindex_1 ? out_prepend_79 : _GEN_3312; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3314 = 9'h118 == out_iindex_1 ? out_prepend_79 : _GEN_3313; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3315 = 9'h119 == out_iindex_1 ? out_prepend_79 : _GEN_3314; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3316 = 9'h11a == out_iindex_1 ? out_prepend_79 : _GEN_3315; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3317 = 9'h11b == out_iindex_1 ? out_prepend_79 : _GEN_3316; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3318 = 9'h11c == out_iindex_1 ? out_prepend_79 : _GEN_3317; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3319 = 9'h11d == out_iindex_1 ? out_prepend_79 : _GEN_3318; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3320 = 9'h11e == out_iindex_1 ? out_prepend_79 : _GEN_3319; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3321 = 9'h11f == out_iindex_1 ? out_prepend_79 : _GEN_3320; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3322 = 9'h120 == out_iindex_1 ? out_prepend_79 : _GEN_3321; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3323 = 9'h121 == out_iindex_1 ? out_prepend_79 : _GEN_3322; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3324 = 9'h122 == out_iindex_1 ? out_prepend_79 : _GEN_3323; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3325 = 9'h123 == out_iindex_1 ? out_prepend_79 : _GEN_3324; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3326 = 9'h124 == out_iindex_1 ? out_prepend_79 : _GEN_3325; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3327 = 9'h125 == out_iindex_1 ? out_prepend_79 : _GEN_3326; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3328 = 9'h126 == out_iindex_1 ? out_prepend_79 : _GEN_3327; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3329 = 9'h127 == out_iindex_1 ? out_prepend_79 : _GEN_3328; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3330 = 9'h128 == out_iindex_1 ? out_prepend_79 : _GEN_3329; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3331 = 9'h129 == out_iindex_1 ? out_prepend_79 : _GEN_3330; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3332 = 9'h12a == out_iindex_1 ? out_prepend_79 : _GEN_3331; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3333 = 9'h12b == out_iindex_1 ? out_prepend_79 : _GEN_3332; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3334 = 9'h12c == out_iindex_1 ? out_prepend_79 : _GEN_3333; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3335 = 9'h12d == out_iindex_1 ? out_prepend_79 : _GEN_3334; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3336 = 9'h12e == out_iindex_1 ? out_prepend_79 : _GEN_3335; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3337 = 9'h12f == out_iindex_1 ? out_prepend_79 : _GEN_3336; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3338 = 9'h130 == out_iindex_1 ? out_prepend_79 : _GEN_3337; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3339 = 9'h131 == out_iindex_1 ? out_prepend_79 : _GEN_3338; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3340 = 9'h132 == out_iindex_1 ? out_prepend_79 : _GEN_3339; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3341 = 9'h133 == out_iindex_1 ? out_prepend_79 : _GEN_3340; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3342 = 9'h134 == out_iindex_1 ? out_prepend_79 : _GEN_3341; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3343 = 9'h135 == out_iindex_1 ? out_prepend_79 : _GEN_3342; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3344 = 9'h136 == out_iindex_1 ? out_prepend_79 : _GEN_3343; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3345 = 9'h137 == out_iindex_1 ? out_prepend_79 : _GEN_3344; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3346 = 9'h138 == out_iindex_1 ? out_prepend_79 : _GEN_3345; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3347 = 9'h139 == out_iindex_1 ? out_prepend_79 : _GEN_3346; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3348 = 9'h13a == out_iindex_1 ? out_prepend_79 : _GEN_3347; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3349 = 9'h13b == out_iindex_1 ? out_prepend_79 : _GEN_3348; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3350 = 9'h13c == out_iindex_1 ? out_prepend_79 : _GEN_3349; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3351 = 9'h13d == out_iindex_1 ? out_prepend_79 : _GEN_3350; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3352 = 9'h13e == out_iindex_1 ? out_prepend_79 : _GEN_3351; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3353 = 9'h13f == out_iindex_1 ? out_prepend_79 : _GEN_3352; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3354 = 9'h140 == out_iindex_1 ? out_prepend_79 : _GEN_3353; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3355 = 9'h141 == out_iindex_1 ? out_prepend_79 : _GEN_3354; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3356 = 9'h142 == out_iindex_1 ? out_prepend_79 : _GEN_3355; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3357 = 9'h143 == out_iindex_1 ? out_prepend_79 : _GEN_3356; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3358 = 9'h144 == out_iindex_1 ? out_prepend_79 : _GEN_3357; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3359 = 9'h145 == out_iindex_1 ? out_prepend_79 : _GEN_3358; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3360 = 9'h146 == out_iindex_1 ? out_prepend_79 : _GEN_3359; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3361 = 9'h147 == out_iindex_1 ? out_prepend_79 : _GEN_3360; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3362 = 9'h148 == out_iindex_1 ? out_prepend_79 : _GEN_3361; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3363 = 9'h149 == out_iindex_1 ? out_prepend_79 : _GEN_3362; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3364 = 9'h14a == out_iindex_1 ? out_prepend_79 : _GEN_3363; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3365 = 9'h14b == out_iindex_1 ? out_prepend_79 : _GEN_3364; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3366 = 9'h14c == out_iindex_1 ? out_prepend_79 : _GEN_3365; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3367 = 9'h14d == out_iindex_1 ? out_prepend_79 : _GEN_3366; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3368 = 9'h14e == out_iindex_1 ? out_prepend_79 : _GEN_3367; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3369 = 9'h14f == out_iindex_1 ? out_prepend_79 : _GEN_3368; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3370 = 9'h150 == out_iindex_1 ? out_prepend_79 : _GEN_3369; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3371 = 9'h151 == out_iindex_1 ? out_prepend_79 : _GEN_3370; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3372 = 9'h152 == out_iindex_1 ? out_prepend_79 : _GEN_3371; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3373 = 9'h153 == out_iindex_1 ? out_prepend_79 : _GEN_3372; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3374 = 9'h154 == out_iindex_1 ? out_prepend_79 : _GEN_3373; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3375 = 9'h155 == out_iindex_1 ? out_prepend_79 : _GEN_3374; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3376 = 9'h156 == out_iindex_1 ? out_prepend_79 : _GEN_3375; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3377 = 9'h157 == out_iindex_1 ? out_prepend_79 : _GEN_3376; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3378 = 9'h158 == out_iindex_1 ? out_prepend_79 : _GEN_3377; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3379 = 9'h159 == out_iindex_1 ? out_prepend_79 : _GEN_3378; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3380 = 9'h15a == out_iindex_1 ? out_prepend_79 : _GEN_3379; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3381 = 9'h15b == out_iindex_1 ? out_prepend_79 : _GEN_3380; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3382 = 9'h15c == out_iindex_1 ? out_prepend_79 : _GEN_3381; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3383 = 9'h15d == out_iindex_1 ? out_prepend_79 : _GEN_3382; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3384 = 9'h15e == out_iindex_1 ? out_prepend_79 : _GEN_3383; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3385 = 9'h15f == out_iindex_1 ? out_prepend_79 : _GEN_3384; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3386 = 9'h160 == out_iindex_1 ? out_prepend_79 : _GEN_3385; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3387 = 9'h161 == out_iindex_1 ? out_prepend_79 : _GEN_3386; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3388 = 9'h162 == out_iindex_1 ? out_prepend_79 : _GEN_3387; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3389 = 9'h163 == out_iindex_1 ? out_prepend_79 : _GEN_3388; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3390 = 9'h164 == out_iindex_1 ? out_prepend_79 : _GEN_3389; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3391 = 9'h165 == out_iindex_1 ? out_prepend_79 : _GEN_3390; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3392 = 9'h166 == out_iindex_1 ? out_prepend_79 : _GEN_3391; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3393 = 9'h167 == out_iindex_1 ? out_prepend_79 : _GEN_3392; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3394 = 9'h168 == out_iindex_1 ? out_prepend_79 : _GEN_3393; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3395 = 9'h169 == out_iindex_1 ? out_prepend_79 : _GEN_3394; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3396 = 9'h16a == out_iindex_1 ? out_prepend_79 : _GEN_3395; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3397 = 9'h16b == out_iindex_1 ? out_prepend_79 : _GEN_3396; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3398 = 9'h16c == out_iindex_1 ? out_prepend_79 : _GEN_3397; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3399 = 9'h16d == out_iindex_1 ? out_prepend_79 : _GEN_3398; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3400 = 9'h16e == out_iindex_1 ? out_prepend_79 : _GEN_3399; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3401 = 9'h16f == out_iindex_1 ? out_prepend_79 : _GEN_3400; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3402 = 9'h170 == out_iindex_1 ? out_prepend_79 : _GEN_3401; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3403 = 9'h171 == out_iindex_1 ? out_prepend_79 : _GEN_3402; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3404 = 9'h172 == out_iindex_1 ? out_prepend_79 : _GEN_3403; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3405 = 9'h173 == out_iindex_1 ? out_prepend_79 : _GEN_3404; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3406 = 9'h174 == out_iindex_1 ? out_prepend_79 : _GEN_3405; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3407 = 9'h175 == out_iindex_1 ? out_prepend_79 : _GEN_3406; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3408 = 9'h176 == out_iindex_1 ? out_prepend_79 : _GEN_3407; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3409 = 9'h177 == out_iindex_1 ? out_prepend_79 : _GEN_3408; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3410 = 9'h178 == out_iindex_1 ? out_prepend_79 : _GEN_3409; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3411 = 9'h179 == out_iindex_1 ? out_prepend_79 : _GEN_3410; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3412 = 9'h17a == out_iindex_1 ? out_prepend_79 : _GEN_3411; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3413 = 9'h17b == out_iindex_1 ? out_prepend_79 : _GEN_3412; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3414 = 9'h17c == out_iindex_1 ? out_prepend_79 : _GEN_3413; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3415 = 9'h17d == out_iindex_1 ? out_prepend_79 : _GEN_3414; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3416 = 9'h17e == out_iindex_1 ? out_prepend_79 : _GEN_3415; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3417 = 9'h17f == out_iindex_1 ? out_prepend_79 : _GEN_3416; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3418 = 9'h180 == out_iindex_1 ? out_prepend_79 : _GEN_3417; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3419 = 9'h181 == out_iindex_1 ? out_prepend_79 : _GEN_3418; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3420 = 9'h182 == out_iindex_1 ? out_prepend_79 : _GEN_3419; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3421 = 9'h183 == out_iindex_1 ? out_prepend_79 : _GEN_3420; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3422 = 9'h184 == out_iindex_1 ? out_prepend_79 : _GEN_3421; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3423 = 9'h185 == out_iindex_1 ? out_prepend_79 : _GEN_3422; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3424 = 9'h186 == out_iindex_1 ? out_prepend_79 : _GEN_3423; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3425 = 9'h187 == out_iindex_1 ? out_prepend_79 : _GEN_3424; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3426 = 9'h188 == out_iindex_1 ? out_prepend_79 : _GEN_3425; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3427 = 9'h189 == out_iindex_1 ? out_prepend_79 : _GEN_3426; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3428 = 9'h18a == out_iindex_1 ? out_prepend_79 : _GEN_3427; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3429 = 9'h18b == out_iindex_1 ? out_prepend_79 : _GEN_3428; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3430 = 9'h18c == out_iindex_1 ? out_prepend_79 : _GEN_3429; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3431 = 9'h18d == out_iindex_1 ? out_prepend_79 : _GEN_3430; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3432 = 9'h18e == out_iindex_1 ? out_prepend_79 : _GEN_3431; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3433 = 9'h18f == out_iindex_1 ? out_prepend_79 : _GEN_3432; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3434 = 9'h190 == out_iindex_1 ? out_prepend_79 : _GEN_3433; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3435 = 9'h191 == out_iindex_1 ? out_prepend_79 : _GEN_3434; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3436 = 9'h192 == out_iindex_1 ? out_prepend_79 : _GEN_3435; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3437 = 9'h193 == out_iindex_1 ? out_prepend_79 : _GEN_3436; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3438 = 9'h194 == out_iindex_1 ? out_prepend_79 : _GEN_3437; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3439 = 9'h195 == out_iindex_1 ? out_prepend_79 : _GEN_3438; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3440 = 9'h196 == out_iindex_1 ? out_prepend_79 : _GEN_3439; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3441 = 9'h197 == out_iindex_1 ? out_prepend_79 : _GEN_3440; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3442 = 9'h198 == out_iindex_1 ? out_prepend_79 : _GEN_3441; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3443 = 9'h199 == out_iindex_1 ? out_prepend_79 : _GEN_3442; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3444 = 9'h19a == out_iindex_1 ? out_prepend_79 : _GEN_3443; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3445 = 9'h19b == out_iindex_1 ? out_prepend_79 : _GEN_3444; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3446 = 9'h19c == out_iindex_1 ? out_prepend_79 : _GEN_3445; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3447 = 9'h19d == out_iindex_1 ? out_prepend_79 : _GEN_3446; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3448 = 9'h19e == out_iindex_1 ? out_prepend_79 : _GEN_3447; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3449 = 9'h19f == out_iindex_1 ? out_prepend_79 : _GEN_3448; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3450 = 9'h1a0 == out_iindex_1 ? out_prepend_79 : _GEN_3449; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3451 = 9'h1a1 == out_iindex_1 ? out_prepend_79 : _GEN_3450; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3452 = 9'h1a2 == out_iindex_1 ? out_prepend_79 : _GEN_3451; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3453 = 9'h1a3 == out_iindex_1 ? out_prepend_79 : _GEN_3452; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3454 = 9'h1a4 == out_iindex_1 ? out_prepend_79 : _GEN_3453; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3455 = 9'h1a5 == out_iindex_1 ? out_prepend_79 : _GEN_3454; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3456 = 9'h1a6 == out_iindex_1 ? out_prepend_79 : _GEN_3455; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3457 = 9'h1a7 == out_iindex_1 ? out_prepend_79 : _GEN_3456; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3458 = 9'h1a8 == out_iindex_1 ? out_prepend_79 : _GEN_3457; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3459 = 9'h1a9 == out_iindex_1 ? out_prepend_79 : _GEN_3458; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3460 = 9'h1aa == out_iindex_1 ? out_prepend_79 : _GEN_3459; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3461 = 9'h1ab == out_iindex_1 ? out_prepend_79 : _GEN_3460; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3462 = 9'h1ac == out_iindex_1 ? out_prepend_79 : _GEN_3461; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3463 = 9'h1ad == out_iindex_1 ? out_prepend_79 : _GEN_3462; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3464 = 9'h1ae == out_iindex_1 ? out_prepend_79 : _GEN_3463; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3465 = 9'h1af == out_iindex_1 ? out_prepend_79 : _GEN_3464; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3466 = 9'h1b0 == out_iindex_1 ? out_prepend_79 : _GEN_3465; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3467 = 9'h1b1 == out_iindex_1 ? out_prepend_79 : _GEN_3466; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3468 = 9'h1b2 == out_iindex_1 ? out_prepend_79 : _GEN_3467; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3469 = 9'h1b3 == out_iindex_1 ? out_prepend_79 : _GEN_3468; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3470 = 9'h1b4 == out_iindex_1 ? out_prepend_79 : _GEN_3469; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3471 = 9'h1b5 == out_iindex_1 ? out_prepend_79 : _GEN_3470; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3472 = 9'h1b6 == out_iindex_1 ? out_prepend_79 : _GEN_3471; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3473 = 9'h1b7 == out_iindex_1 ? out_prepend_79 : _GEN_3472; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3474 = 9'h1b8 == out_iindex_1 ? out_prepend_79 : _GEN_3473; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3475 = 9'h1b9 == out_iindex_1 ? out_prepend_79 : _GEN_3474; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3476 = 9'h1ba == out_iindex_1 ? out_prepend_79 : _GEN_3475; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3477 = 9'h1bb == out_iindex_1 ? out_prepend_79 : _GEN_3476; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3478 = 9'h1bc == out_iindex_1 ? out_prepend_79 : _GEN_3477; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3479 = 9'h1bd == out_iindex_1 ? out_prepend_79 : _GEN_3478; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3480 = 9'h1be == out_iindex_1 ? out_prepend_79 : _GEN_3479; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3481 = 9'h1bf == out_iindex_1 ? out_prepend_79 : _GEN_3480; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3482 = 9'h1c0 == out_iindex_1 ? out_prepend_79 : _GEN_3481; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3483 = 9'h1c1 == out_iindex_1 ? out_prepend_79 : _GEN_3482; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3484 = 9'h1c2 == out_iindex_1 ? out_prepend_79 : _GEN_3483; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3485 = 9'h1c3 == out_iindex_1 ? out_prepend_79 : _GEN_3484; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3486 = 9'h1c4 == out_iindex_1 ? out_prepend_79 : _GEN_3485; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3487 = 9'h1c5 == out_iindex_1 ? out_prepend_79 : _GEN_3486; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3488 = 9'h1c6 == out_iindex_1 ? out_prepend_79 : _GEN_3487; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3489 = 9'h1c7 == out_iindex_1 ? out_prepend_79 : _GEN_3488; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3490 = 9'h1c8 == out_iindex_1 ? out_prepend_79 : _GEN_3489; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3491 = 9'h1c9 == out_iindex_1 ? out_prepend_79 : _GEN_3490; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3492 = 9'h1ca == out_iindex_1 ? out_prepend_79 : _GEN_3491; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3493 = 9'h1cb == out_iindex_1 ? out_prepend_79 : _GEN_3492; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3494 = 9'h1cc == out_iindex_1 ? out_prepend_79 : _GEN_3493; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3495 = 9'h1cd == out_iindex_1 ? out_prepend_79 : _GEN_3494; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3496 = 9'h1ce == out_iindex_1 ? out_prepend_79 : _GEN_3495; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3497 = 9'h1cf == out_iindex_1 ? out_prepend_79 : _GEN_3496; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3498 = 9'h1d0 == out_iindex_1 ? out_prepend_79 : _GEN_3497; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3499 = 9'h1d1 == out_iindex_1 ? out_prepend_79 : _GEN_3498; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3500 = 9'h1d2 == out_iindex_1 ? out_prepend_79 : _GEN_3499; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3501 = 9'h1d3 == out_iindex_1 ? out_prepend_79 : _GEN_3500; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3502 = 9'h1d4 == out_iindex_1 ? out_prepend_79 : _GEN_3501; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3503 = 9'h1d5 == out_iindex_1 ? out_prepend_79 : _GEN_3502; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3504 = 9'h1d6 == out_iindex_1 ? out_prepend_79 : _GEN_3503; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3505 = 9'h1d7 == out_iindex_1 ? out_prepend_79 : _GEN_3504; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3506 = 9'h1d8 == out_iindex_1 ? out_prepend_79 : _GEN_3505; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3507 = 9'h1d9 == out_iindex_1 ? out_prepend_79 : _GEN_3506; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3508 = 9'h1da == out_iindex_1 ? out_prepend_79 : _GEN_3507; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3509 = 9'h1db == out_iindex_1 ? out_prepend_79 : _GEN_3508; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3510 = 9'h1dc == out_iindex_1 ? out_prepend_79 : _GEN_3509; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3511 = 9'h1dd == out_iindex_1 ? out_prepend_79 : _GEN_3510; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3512 = 9'h1de == out_iindex_1 ? out_prepend_79 : _GEN_3511; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3513 = 9'h1df == out_iindex_1 ? out_prepend_79 : _GEN_3512; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3514 = 9'h1e0 == out_iindex_1 ? out_prepend_79 : _GEN_3513; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3515 = 9'h1e1 == out_iindex_1 ? out_prepend_79 : _GEN_3514; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3516 = 9'h1e2 == out_iindex_1 ? out_prepend_79 : _GEN_3515; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3517 = 9'h1e3 == out_iindex_1 ? out_prepend_79 : _GEN_3516; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3518 = 9'h1e4 == out_iindex_1 ? out_prepend_79 : _GEN_3517; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3519 = 9'h1e5 == out_iindex_1 ? out_prepend_79 : _GEN_3518; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3520 = 9'h1e6 == out_iindex_1 ? out_prepend_79 : _GEN_3519; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3521 = 9'h1e7 == out_iindex_1 ? out_prepend_79 : _GEN_3520; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3522 = 9'h1e8 == out_iindex_1 ? out_prepend_79 : _GEN_3521; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3523 = 9'h1e9 == out_iindex_1 ? out_prepend_79 : _GEN_3522; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3524 = 9'h1ea == out_iindex_1 ? out_prepend_79 : _GEN_3523; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3525 = 9'h1eb == out_iindex_1 ? out_prepend_79 : _GEN_3524; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3526 = 9'h1ec == out_iindex_1 ? out_prepend_79 : _GEN_3525; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3527 = 9'h1ed == out_iindex_1 ? out_prepend_79 : _GEN_3526; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3528 = 9'h1ee == out_iindex_1 ? out_prepend_79 : _GEN_3527; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3529 = 9'h1ef == out_iindex_1 ? out_prepend_79 : _GEN_3528; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3530 = 9'h1f0 == out_iindex_1 ? out_prepend_79 : _GEN_3529; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3531 = 9'h1f1 == out_iindex_1 ? out_prepend_79 : _GEN_3530; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3532 = 9'h1f2 == out_iindex_1 ? out_prepend_79 : _GEN_3531; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3533 = 9'h1f3 == out_iindex_1 ? out_prepend_79 : _GEN_3532; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3534 = 9'h1f4 == out_iindex_1 ? out_prepend_79 : _GEN_3533; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3535 = 9'h1f5 == out_iindex_1 ? out_prepend_79 : _GEN_3534; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3536 = 9'h1f6 == out_iindex_1 ? out_prepend_79 : _GEN_3535; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3537 = 9'h1f7 == out_iindex_1 ? out_prepend_79 : _GEN_3536; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3538 = 9'h1f8 == out_iindex_1 ? out_prepend_79 : _GEN_3537; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3539 = 9'h1f9 == out_iindex_1 ? out_prepend_79 : _GEN_3538; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3540 = 9'h1fa == out_iindex_1 ? out_prepend_79 : _GEN_3539; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3541 = 9'h1fb == out_iindex_1 ? out_prepend_79 : _GEN_3540; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3542 = 9'h1fc == out_iindex_1 ? out_prepend_79 : _GEN_3541; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3543 = 9'h1fd == out_iindex_1 ? out_prepend_79 : _GEN_3542; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3544 = 9'h1fe == out_iindex_1 ? out_prepend_79 : _GEN_3543; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_3545 = 9'h1ff == out_iindex_1 ? out_prepend_79 : _GEN_3544; // @[MuxLiteral.scala 48:{10,10}]
+  wire [1:0] _GEN_3627 = commandRegBadHaltResume ? 2'h0 : 2'h2; // @[Debug.scala 1691:43 1693:22]
+  wire [1:0] _GEN_3633 = ~goReg & out_f_woready_647 ? 2'h0 : ctrlStateReg; // @[Debug.scala 1707:116 1708:22]
+  wire [1:0] _GEN_3634 = out_f_woready_941 ? 2'h0 : _GEN_3633; // @[Debug.scala 1710:31 1712:24]
+  wire  _T_1393 = ctrlStateReg == 2'h3; // @[Debug.scala 1715:30]
+  wire  _GEN_3892 = _errorBusy_T & ~_T_1383; // @[Debug.scala 1711:15]
+  TLMonitor_53 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  TLMonitor_54 monitor_1 ( // @[Nodes.scala 24:25]
+    .clock(monitor_1_clock),
+    .io_in_a_ready(monitor_1_io_in_a_ready),
+    .io_in_a_valid(monitor_1_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_1_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_1_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_1_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_1_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_1_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_1_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_1_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_1_io_in_d_ready),
+    .io_in_d_valid(monitor_1_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_1_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_1_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_1_io_in_d_bits_source)
+  );
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 hartIsInResetSync_0_debug_hartReset_0 ( // @[ShiftReg.scala 45:23]
+    .clock(hartIsInResetSync_0_debug_hartReset_0_clock),
+    .reset(hartIsInResetSync_0_debug_hartReset_0_reset),
+    .io_d(hartIsInResetSync_0_debug_hartReset_0_io_d),
+    .io_q(hartIsInResetSync_0_debug_hartReset_0_io_q)
+  );
+  assign auto_tl_in_a_ready = auto_tl_in_d_ready; // @[RegisterRouter.scala 83:24]
+  assign auto_tl_in_d_valid = auto_tl_in_a_valid; // @[RegisterRouter.scala 83:24]
+  assign auto_tl_in_d_bits_opcode = {{2'd0}, in_1_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign auto_tl_in_d_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_in_d_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_tl_in_d_bits_data = _GEN_3033 ? _GEN_3545 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign auto_dmi_in_a_ready = auto_dmi_in_d_ready; // @[RegisterRouter.scala 83:24]
+  assign auto_dmi_in_d_valid = auto_dmi_in_a_valid; // @[RegisterRouter.scala 83:24]
+  assign auto_dmi_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign auto_dmi_in_d_bits_size = auto_dmi_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_dmi_in_d_bits_source = auto_dmi_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_dmi_in_d_bits_data = _GEN_296 ? _GEN_328 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign io_innerCtrl_ready = 1'h1; // @[Debug.scala 836:24]
+  assign io_hgDebugInt_0 = hrDebugIntReg_0; // @[package.scala 66:75]
+  assign monitor_clock = clock;
+  assign monitor_io_in_a_ready = auto_dmi_in_d_ready; // @[RegisterRouter.scala 83:24]
+  assign monitor_io_in_a_valid = auto_dmi_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_dmi_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_dmi_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_dmi_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_dmi_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_dmi_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_dmi_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_dmi_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_dmi_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_dmi_in_a_valid; // @[RegisterRouter.scala 83:24]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = auto_dmi_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_bits_source = auto_dmi_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_1_clock = clock;
+  assign monitor_1_io_in_a_ready = auto_tl_in_d_ready; // @[RegisterRouter.scala 83:24]
+  assign monitor_1_io_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_1_io_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_1_io_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_1_io_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_1_io_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_1_io_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_1_io_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_1_io_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_1_io_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_1_io_in_d_valid = auto_tl_in_a_valid; // @[RegisterRouter.scala 83:24]
+  assign monitor_1_io_in_d_bits_opcode = {{2'd0}, in_1_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_1_io_in_d_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_1_io_in_d_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign hartIsInResetSync_0_debug_hartReset_0_clock = clock;
+  assign hartIsInResetSync_0_debug_hartReset_0_reset = 1'h0;
+  assign hartIsInResetSync_0_debug_hartReset_0_io_d = 1'h0; // @[ShiftReg.scala 47:16]
+  always @(posedge clock) begin
+    haltedBitRegs <= _GEN_65[0];
+    resumeReqRegs <= _GEN_66[0];
+    if (_T_1) begin // @[Debug.scala 919:44]
+      haveResetBitRegs <= 1'h0; // @[Debug.scala 920:24]
+    end else if (_T_4 & io_innerCtrl_bits_ackhavereset) begin // @[Debug.scala 922:68]
+      haveResetBitRegs <= haveResetBitRegs & _resumeAcks_T_1 | hartIsInResetSync_0; // @[Debug.scala 923:26]
+    end else begin
+      haveResetBitRegs <= haveResetBitRegs | hartIsInResetSync_0; // @[Debug.scala 925:26]
+    end
+    if (~io_dmactive) begin // @[Debug.scala 861:45]
+      hrmaskReg_0 <= 1'h0; // @[Debug.scala 862:17]
+    end else if (_T_4) begin // @[Debug.scala 863:37]
+      hrmaskReg_0 <= io_innerCtrl_bits_hrmask_0; // @[Debug.scala 864:17]
+    end
+    if (_T_1) begin // @[Debug.scala 1102:45]
+      ABSTRACTCSReg_cmderr <= 3'h0; // @[Debug.scala 1103:21]
+    end else if (errorBusy) begin // @[Debug.scala 1105:23]
+      ABSTRACTCSReg_cmderr <= 3'h1; // @[Debug.scala 1106:30]
+    end else if (errorException) begin // @[Debug.scala 1107:35]
+      ABSTRACTCSReg_cmderr <= 3'h3; // @[Debug.scala 1108:30]
+    end else if (errorUnsupported) begin // @[Debug.scala 1109:37]
+      ABSTRACTCSReg_cmderr <= 3'h2; // @[Debug.scala 1110:30]
+    end else begin
+      ABSTRACTCSReg_cmderr <= _GEN_38;
+    end
+    if (_T_1) begin // @[Debug.scala 1724:45]
+      ctrlStateReg <= 2'h0; // @[Debug.scala 1725:20]
+    end else if (ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1673:47]
+      if (wrAccessRegisterCommand | regAccessRegisterCommand) begin // @[Debug.scala 1674:66]
+        ctrlStateReg <= 2'h1; // @[Debug.scala 1675:22]
+      end
+    end else if (ctrlStateReg == 2'h1) begin // @[Debug.scala 1681:59]
+      if (commandRegIsUnsupported) begin // @[Debug.scala 1688:38]
+        ctrlStateReg <= 2'h0; // @[Debug.scala 1690:22]
+      end else begin
+        ctrlStateReg <= _GEN_3627;
+      end
+    end else if (ctrlStateReg == 2'h2) begin // @[Debug.scala 1702:51]
+      ctrlStateReg <= _GEN_3634;
+    end
+    if (_T_1) begin // @[Debug.scala 1183:45]
+      COMMANDRdData_cmdtype <= 8'h0; // @[Debug.scala 1184:18]
+    end else if (COMMANDWrEn) begin // @[Debug.scala 1186:26]
+      COMMANDRdData_cmdtype <= COMMANDWrData_cmdtype; // @[Debug.scala 1187:20]
+    end
+    if (_T_1) begin // @[Debug.scala 1183:45]
+      COMMANDRdData_control <= 24'h0; // @[Debug.scala 1184:18]
+    end else if (COMMANDWrEn) begin // @[Debug.scala 1186:26]
+      COMMANDRdData_control <= COMMANDWrData_control; // @[Debug.scala 1187:20]
+    end
+    if (_T_1) begin // @[Debug.scala 1141:45]
+      ABSTRACTAUTOReg_autoexecdata <= 12'h0; // @[Debug.scala 1142:23]
+    end else if (out_f_woready_4 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1147:61]
+      ABSTRACTAUTOReg_autoexecdata <= _ABSTRACTAUTOReg_autoexecdata_T; // @[Debug.scala 1148:38]
+    end
+    if (_T_1) begin // @[Debug.scala 1141:45]
+      ABSTRACTAUTOReg_autoexecprogbuf <= 16'h0; // @[Debug.scala 1142:23]
+    end else if (out_f_woready_6 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1144:64]
+      ABSTRACTAUTOReg_autoexecprogbuf <= ABSTRACTAUTOWrData_autoexecprogbuf; // @[Debug.scala 1145:41]
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      abstractDataMem_0 <= 8'h0; // @[Debug.scala 1597:40]
+    end else if (out_f_wivalid_503) begin // @[RegField.scala 74:88]
+      abstractDataMem_0 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_92 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1348:91]
+      if (out_f_woready_92) begin // @[Debug.scala 265:24]
+        abstractDataMem_0 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      abstractDataMem_1 <= 8'h0; // @[Debug.scala 1597:40]
+    end else if (out_f_wivalid_504) begin // @[RegField.scala 74:88]
+      abstractDataMem_1 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_93 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1348:91]
+      if (out_f_woready_93) begin // @[Debug.scala 265:24]
+        abstractDataMem_1 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      abstractDataMem_2 <= 8'h0; // @[Debug.scala 1597:40]
+    end else if (out_f_wivalid_505) begin // @[RegField.scala 74:88]
+      abstractDataMem_2 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_94 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1348:91]
+      if (out_f_woready_94) begin // @[Debug.scala 265:24]
+        abstractDataMem_2 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      abstractDataMem_3 <= 8'h0; // @[Debug.scala 1597:40]
+    end else if (out_f_wivalid_506) begin // @[RegField.scala 74:88]
+      abstractDataMem_3 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_95 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1348:91]
+      if (out_f_woready_95) begin // @[Debug.scala 265:24]
+        abstractDataMem_3 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_0 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_768) begin // @[RegField.scala 74:88]
+      programBufferMem_0 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_27 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_27) begin // @[Debug.scala 265:24]
+        programBufferMem_0 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_1 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_769) begin // @[RegField.scala 74:88]
+      programBufferMem_1 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_28 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_28) begin // @[Debug.scala 265:24]
+        programBufferMem_1 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_2 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_770) begin // @[RegField.scala 74:88]
+      programBufferMem_2 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_29 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_29) begin // @[Debug.scala 265:24]
+        programBufferMem_2 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_3 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_771) begin // @[RegField.scala 74:88]
+      programBufferMem_3 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_30 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_30) begin // @[Debug.scala 265:24]
+        programBufferMem_3 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_4 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_885) begin // @[RegField.scala 74:88]
+      programBufferMem_4 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_19 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_19) begin // @[Debug.scala 265:24]
+        programBufferMem_4 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_5 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_886) begin // @[RegField.scala 74:88]
+      programBufferMem_5 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_20 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_20) begin // @[Debug.scala 265:24]
+        programBufferMem_5 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_6 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_887) begin // @[RegField.scala 74:88]
+      programBufferMem_6 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_21 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_21) begin // @[Debug.scala 265:24]
+        programBufferMem_6 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_7 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_888) begin // @[RegField.scala 74:88]
+      programBufferMem_7 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_22 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_22) begin // @[Debug.scala 265:24]
+        programBufferMem_7 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_8 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1143) begin // @[RegField.scala 74:88]
+      programBufferMem_8 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_31 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_31) begin // @[Debug.scala 265:24]
+        programBufferMem_8 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_9 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1144) begin // @[RegField.scala 74:88]
+      programBufferMem_9 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_32 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_32) begin // @[Debug.scala 265:24]
+        programBufferMem_9 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_10 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1145) begin // @[RegField.scala 74:88]
+      programBufferMem_10 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_33 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_33) begin // @[Debug.scala 265:24]
+        programBufferMem_10 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_11 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1146) begin // @[RegField.scala 74:88]
+      programBufferMem_11 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_34 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_34) begin // @[Debug.scala 265:24]
+        programBufferMem_11 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_12 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_300) begin // @[RegField.scala 74:88]
+      programBufferMem_12 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_74 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_74) begin // @[Debug.scala 265:24]
+        programBufferMem_12 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_13 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_301) begin // @[RegField.scala 74:88]
+      programBufferMem_13 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_75 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_75) begin // @[Debug.scala 265:24]
+        programBufferMem_13 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_14 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_302) begin // @[RegField.scala 74:88]
+      programBufferMem_14 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_76 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_76) begin // @[Debug.scala 265:24]
+        programBufferMem_14 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_15 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_303) begin // @[RegField.scala 74:88]
+      programBufferMem_15 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_77 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_77) begin // @[Debug.scala 265:24]
+        programBufferMem_15 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_16 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_567) begin // @[RegField.scala 74:88]
+      programBufferMem_16 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_87 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_87) begin // @[Debug.scala 265:24]
+        programBufferMem_16 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_17 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_568) begin // @[RegField.scala 74:88]
+      programBufferMem_17 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_88 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_88) begin // @[Debug.scala 265:24]
+        programBufferMem_17 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_18 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_569) begin // @[RegField.scala 74:88]
+      programBufferMem_18 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_89 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_89) begin // @[Debug.scala 265:24]
+        programBufferMem_18 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_19 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_570) begin // @[RegField.scala 74:88]
+      programBufferMem_19 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_90 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_90) begin // @[Debug.scala 265:24]
+        programBufferMem_19 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_20 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_796) begin // @[RegField.scala 74:88]
+      programBufferMem_20 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_7 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_7) begin // @[Debug.scala 265:24]
+        programBufferMem_20 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_21 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_797) begin // @[RegField.scala 74:88]
+      programBufferMem_21 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_8 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_8) begin // @[Debug.scala 265:24]
+        programBufferMem_21 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_22 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_798) begin // @[RegField.scala 74:88]
+      programBufferMem_22 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_9 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_9) begin // @[Debug.scala 265:24]
+        programBufferMem_22 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_23 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_799) begin // @[RegField.scala 74:88]
+      programBufferMem_23 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_10 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_10) begin // @[Debug.scala 265:24]
+        programBufferMem_23 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_24 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1091) begin // @[RegField.scala 74:88]
+      programBufferMem_24 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_15 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_15) begin // @[Debug.scala 265:24]
+        programBufferMem_24 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_25 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1092) begin // @[RegField.scala 74:88]
+      programBufferMem_25 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_16 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_16) begin // @[Debug.scala 265:24]
+        programBufferMem_25 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_26 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1093) begin // @[RegField.scala 74:88]
+      programBufferMem_26 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_17 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_17) begin // @[Debug.scala 265:24]
+        programBufferMem_26 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_27 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1094) begin // @[RegField.scala 74:88]
+      programBufferMem_27 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_18 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_18) begin // @[Debug.scala 265:24]
+        programBufferMem_27 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_28 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1259) begin // @[RegField.scala 74:88]
+      programBufferMem_28 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_70 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_70) begin // @[Debug.scala 265:24]
+        programBufferMem_28 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_29 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1260) begin // @[RegField.scala 74:88]
+      programBufferMem_29 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_71 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_71) begin // @[Debug.scala 265:24]
+        programBufferMem_29 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_30 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1261) begin // @[RegField.scala 74:88]
+      programBufferMem_30 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_72 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_72) begin // @[Debug.scala 265:24]
+        programBufferMem_30 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_31 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1262) begin // @[RegField.scala 74:88]
+      programBufferMem_31 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_73 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_73) begin // @[Debug.scala 265:24]
+        programBufferMem_31 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_32 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_276) begin // @[RegField.scala 74:88]
+      programBufferMem_32 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_82 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_82) begin // @[Debug.scala 265:24]
+        programBufferMem_32 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_33 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_277) begin // @[RegField.scala 74:88]
+      programBufferMem_33 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_83 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_83) begin // @[Debug.scala 265:24]
+        programBufferMem_33 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_34 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_278) begin // @[RegField.scala 74:88]
+      programBufferMem_34 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_84 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_84) begin // @[Debug.scala 265:24]
+        programBufferMem_34 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_35 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_279) begin // @[RegField.scala 74:88]
+      programBufferMem_35 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_85 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_85) begin // @[Debug.scala 265:24]
+        programBufferMem_35 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_36 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_140) begin // @[RegField.scala 74:88]
+      programBufferMem_36 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_23 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_23) begin // @[Debug.scala 265:24]
+        programBufferMem_36 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_37 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_141) begin // @[RegField.scala 74:88]
+      programBufferMem_37 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_24 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_24) begin // @[Debug.scala 265:24]
+        programBufferMem_37 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_38 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_142) begin // @[RegField.scala 74:88]
+      programBufferMem_38 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_25 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_25) begin // @[Debug.scala 265:24]
+        programBufferMem_38 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_39 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_143) begin // @[RegField.scala 74:88]
+      programBufferMem_39 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_26 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_26) begin // @[Debug.scala 265:24]
+        programBufferMem_39 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_40 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1018) begin // @[RegField.scala 74:88]
+      programBufferMem_40 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready) begin // @[Debug.scala 265:24]
+        programBufferMem_40 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_41 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1019) begin // @[RegField.scala 74:88]
+      programBufferMem_41 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_1 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_1) begin // @[Debug.scala 265:24]
+        programBufferMem_41 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_42 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1020) begin // @[RegField.scala 74:88]
+      programBufferMem_42 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_2 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_2) begin // @[Debug.scala 265:24]
+        programBufferMem_42 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_43 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1021) begin // @[RegField.scala 74:88]
+      programBufferMem_43 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_3 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_3) begin // @[Debug.scala 265:24]
+        programBufferMem_43 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_44 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_724) begin // @[RegField.scala 74:88]
+      programBufferMem_44 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_78 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_78) begin // @[Debug.scala 265:24]
+        programBufferMem_44 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_45 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_725) begin // @[RegField.scala 74:88]
+      programBufferMem_45 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_79 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_79) begin // @[Debug.scala 265:24]
+        programBufferMem_45 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_46 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_726) begin // @[RegField.scala 74:88]
+      programBufferMem_46 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_80 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_80) begin // @[Debug.scala 265:24]
+        programBufferMem_46 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_47 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_727) begin // @[RegField.scala 74:88]
+      programBufferMem_47 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_81 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_81) begin // @[Debug.scala 265:24]
+        programBufferMem_47 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_48 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_409) begin // @[RegField.scala 74:88]
+      programBufferMem_48 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_66 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_66) begin // @[Debug.scala 265:24]
+        programBufferMem_48 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_49 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_410) begin // @[RegField.scala 74:88]
+      programBufferMem_49 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_67 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_67) begin // @[Debug.scala 265:24]
+        programBufferMem_49 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_50 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_411) begin // @[RegField.scala 74:88]
+      programBufferMem_50 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_68 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_68) begin // @[Debug.scala 265:24]
+        programBufferMem_50 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_51 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_412) begin // @[RegField.scala 74:88]
+      programBufferMem_51 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_69 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_69) begin // @[Debug.scala 265:24]
+        programBufferMem_51 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_52 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_332) begin // @[RegField.scala 74:88]
+      programBufferMem_52 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_35 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_35) begin // @[Debug.scala 265:24]
+        programBufferMem_52 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_53 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_333) begin // @[RegField.scala 74:88]
+      programBufferMem_53 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_36 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_36) begin // @[Debug.scala 265:24]
+        programBufferMem_53 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_54 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_334) begin // @[RegField.scala 74:88]
+      programBufferMem_54 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_37 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_37) begin // @[Debug.scala 265:24]
+        programBufferMem_54 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_55 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_335) begin // @[RegField.scala 74:88]
+      programBufferMem_55 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_38 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_38) begin // @[Debug.scala 265:24]
+        programBufferMem_55 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_56 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1267) begin // @[RegField.scala 74:88]
+      programBufferMem_56 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_11 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_11) begin // @[Debug.scala 265:24]
+        programBufferMem_56 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_57 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1268) begin // @[RegField.scala 74:88]
+      programBufferMem_57 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_12 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_12) begin // @[Debug.scala 265:24]
+        programBufferMem_57 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_58 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1269) begin // @[RegField.scala 74:88]
+      programBufferMem_58 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_13 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_13) begin // @[Debug.scala 265:24]
+        programBufferMem_58 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_59 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_1270) begin // @[RegField.scala 74:88]
+      programBufferMem_59 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_14 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_14) begin // @[Debug.scala 265:24]
+        programBufferMem_59 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_60 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_833) begin // @[RegField.scala 74:88]
+      programBufferMem_60 <= auto_tl_in_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_96 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_96) begin // @[Debug.scala 265:24]
+        programBufferMem_60 <= auto_dmi_in_a_bits_data[7:0]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_61 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_834) begin // @[RegField.scala 74:88]
+      programBufferMem_61 <= auto_tl_in_a_bits_data[15:8]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_97 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_97) begin // @[Debug.scala 265:24]
+        programBufferMem_61 <= auto_dmi_in_a_bits_data[15:8]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_62 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_835) begin // @[RegField.scala 74:88]
+      programBufferMem_62 <= auto_tl_in_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_98 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_98) begin // @[Debug.scala 265:24]
+        programBufferMem_62 <= auto_dmi_in_a_bits_data[23:16]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1596:24]
+      programBufferMem_63 <= 8'h0; // @[Debug.scala 1598:40]
+    end else if (out_f_wivalid_836) begin // @[RegField.scala 74:88]
+      programBufferMem_63 <= auto_tl_in_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end else if (out_f_woready_99 & ABSTRACTCSWrEnLegal) begin // @[Debug.scala 1370:93]
+      if (out_f_woready_99) begin // @[Debug.scala 265:24]
+        programBufferMem_63 <= auto_dmi_in_a_bits_data[31:24]; // @[Debug.scala 265:30]
+      end
+    end
+    if (_T_1) begin // @[Debug.scala 1385:24]
+      goReg <= 1'h0; // @[Debug.scala 1386:13]
+    end else begin
+      goReg <= _GEN_398;
+    end
+    if (goAbstract) begin // @[Debug.scala 1520:23]
+      if (accessRegisterCommandReg_transfer) begin // @[Debug.scala 1524:39]
+        if (accessRegisterCommandReg_write) begin // @[Debug.scala 1525:14]
+          abstractGeneratedMem_0 <= _abstractGeneratedMem_0_T;
+        end else begin
+          abstractGeneratedMem_0 <= _abstractGeneratedMem_0_T_1;
+        end
+      end else begin
+        abstractGeneratedMem_0 <= 32'h13;
+      end
+    end
+    if (goAbstract) begin // @[Debug.scala 1520:23]
+      if (accessRegisterCommandReg_postexec) begin // @[Debug.scala 1528:39]
+        abstractGeneratedMem_1 <= 32'h13;
+      end else begin
+        abstractGeneratedMem_1 <= 32'h100073;
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(hartGoingId == 10'h0) & (~_T_1 & ~goAbstract & out_f_woready_470)) begin
+          $fatal; // @[Debug.scala 1391:15]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~_T_1 & ~goAbstract & out_f_woready_470 & ~(hartGoingId == 10'h0)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: Unexpected 'GOING' hart.\n    at Debug.scala:1391 assert(hartGoingId === 0.U, \"Unexpected 'GOING' hart.\")//Chisel3 #540 %%x, expected %%x\", hartGoingId, 0.U)\n"
+            ); // @[Debug.scala 1391:15]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_342 & (_errorBusy_T & ~_T_1383 & _T_1384 & out_f_woready_941)) begin
+          $fatal; // @[Debug.scala 1711:15]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_errorBusy_T & ~_T_1383 & _T_1384 & out_f_woready_941 & _T_342) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: Unexpected 'EXCEPTION' hart\n    at Debug.scala:1711 assert(hartExceptionId === 0.U, \"Unexpected 'EXCEPTION' hart\")//Chisel3 #540, %%x, expected %%x\", hartExceptionId, 0.U)\n"
+            ); // @[Debug.scala 1711:15]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_GEN_3892 & ~_T_1384 & _T_1393) begin
+          $fatal; // @[Debug.scala 1716:13]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_GEN_3892 & ~_T_1384 & _T_1393) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: Should not be in custom state unless we need it.\n    at Debug.scala:1716 assert(needCustom.B, \"Should not be in custom state unless we need it.\")\n"
+            ); // @[Debug.scala 1716:13]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_T_1 | ~out_f_woready_941 | _T_1384)) begin
+          $fatal; // @[Debug.scala 1729:12]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~(_T_1 | ~out_f_woready_941 | _T_1384)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: Unexpected EXCEPTION write: should only get it in Debug Module EXEC state\n    at Debug.scala:1729 assert ((!io.dmactive || !hartExceptionWrEn || ctrlStateReg === CtrlState(Exec)),\n"
+            ); // @[Debug.scala 1729:12]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+  always @(posedge clock or posedge _GEN_0) begin
+    if (_GEN_0) begin // @[Debug.scala 869:47]
+      hrDebugIntReg_0 <= 1'h0; // @[Debug.scala 870:23]
+    end else if (_T_1) begin // @[Debug.scala 872:23]
+      hrDebugIntReg_0 <= 1'h0;
+    end else begin
+      hrDebugIntReg_0 <= _T_13;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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 = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  resumeReqRegs = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  haveResetBitRegs = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  hrmaskReg_0 = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  hrDebugIntReg_0 = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  ABSTRACTCSReg_cmderr = _RAND_5[2:0];
+  _RAND_6 = {1{`RANDOM}};
+  ctrlStateReg = _RAND_6[1:0];
+  _RAND_7 = {1{`RANDOM}};
+  COMMANDRdData_cmdtype = _RAND_7[7:0];
+  _RAND_8 = {1{`RANDOM}};
+  COMMANDRdData_control = _RAND_8[23:0];
+  _RAND_9 = {1{`RANDOM}};
+  ABSTRACTAUTOReg_autoexecdata = _RAND_9[11:0];
+  _RAND_10 = {1{`RANDOM}};
+  ABSTRACTAUTOReg_autoexecprogbuf = _RAND_10[15:0];
+  _RAND_11 = {1{`RANDOM}};
+  abstractDataMem_0 = _RAND_11[7:0];
+  _RAND_12 = {1{`RANDOM}};
+  abstractDataMem_1 = _RAND_12[7:0];
+  _RAND_13 = {1{`RANDOM}};
+  abstractDataMem_2 = _RAND_13[7:0];
+  _RAND_14 = {1{`RANDOM}};
+  abstractDataMem_3 = _RAND_14[7:0];
+  _RAND_15 = {1{`RANDOM}};
+  programBufferMem_0 = _RAND_15[7:0];
+  _RAND_16 = {1{`RANDOM}};
+  programBufferMem_1 = _RAND_16[7:0];
+  _RAND_17 = {1{`RANDOM}};
+  programBufferMem_2 = _RAND_17[7:0];
+  _RAND_18 = {1{`RANDOM}};
+  programBufferMem_3 = _RAND_18[7:0];
+  _RAND_19 = {1{`RANDOM}};
+  programBufferMem_4 = _RAND_19[7:0];
+  _RAND_20 = {1{`RANDOM}};
+  programBufferMem_5 = _RAND_20[7:0];
+  _RAND_21 = {1{`RANDOM}};
+  programBufferMem_6 = _RAND_21[7:0];
+  _RAND_22 = {1{`RANDOM}};
+  programBufferMem_7 = _RAND_22[7:0];
+  _RAND_23 = {1{`RANDOM}};
+  programBufferMem_8 = _RAND_23[7:0];
+  _RAND_24 = {1{`RANDOM}};
+  programBufferMem_9 = _RAND_24[7:0];
+  _RAND_25 = {1{`RANDOM}};
+  programBufferMem_10 = _RAND_25[7:0];
+  _RAND_26 = {1{`RANDOM}};
+  programBufferMem_11 = _RAND_26[7:0];
+  _RAND_27 = {1{`RANDOM}};
+  programBufferMem_12 = _RAND_27[7:0];
+  _RAND_28 = {1{`RANDOM}};
+  programBufferMem_13 = _RAND_28[7:0];
+  _RAND_29 = {1{`RANDOM}};
+  programBufferMem_14 = _RAND_29[7:0];
+  _RAND_30 = {1{`RANDOM}};
+  programBufferMem_15 = _RAND_30[7:0];
+  _RAND_31 = {1{`RANDOM}};
+  programBufferMem_16 = _RAND_31[7:0];
+  _RAND_32 = {1{`RANDOM}};
+  programBufferMem_17 = _RAND_32[7:0];
+  _RAND_33 = {1{`RANDOM}};
+  programBufferMem_18 = _RAND_33[7:0];
+  _RAND_34 = {1{`RANDOM}};
+  programBufferMem_19 = _RAND_34[7:0];
+  _RAND_35 = {1{`RANDOM}};
+  programBufferMem_20 = _RAND_35[7:0];
+  _RAND_36 = {1{`RANDOM}};
+  programBufferMem_21 = _RAND_36[7:0];
+  _RAND_37 = {1{`RANDOM}};
+  programBufferMem_22 = _RAND_37[7:0];
+  _RAND_38 = {1{`RANDOM}};
+  programBufferMem_23 = _RAND_38[7:0];
+  _RAND_39 = {1{`RANDOM}};
+  programBufferMem_24 = _RAND_39[7:0];
+  _RAND_40 = {1{`RANDOM}};
+  programBufferMem_25 = _RAND_40[7:0];
+  _RAND_41 = {1{`RANDOM}};
+  programBufferMem_26 = _RAND_41[7:0];
+  _RAND_42 = {1{`RANDOM}};
+  programBufferMem_27 = _RAND_42[7:0];
+  _RAND_43 = {1{`RANDOM}};
+  programBufferMem_28 = _RAND_43[7:0];
+  _RAND_44 = {1{`RANDOM}};
+  programBufferMem_29 = _RAND_44[7:0];
+  _RAND_45 = {1{`RANDOM}};
+  programBufferMem_30 = _RAND_45[7:0];
+  _RAND_46 = {1{`RANDOM}};
+  programBufferMem_31 = _RAND_46[7:0];
+  _RAND_47 = {1{`RANDOM}};
+  programBufferMem_32 = _RAND_47[7:0];
+  _RAND_48 = {1{`RANDOM}};
+  programBufferMem_33 = _RAND_48[7:0];
+  _RAND_49 = {1{`RANDOM}};
+  programBufferMem_34 = _RAND_49[7:0];
+  _RAND_50 = {1{`RANDOM}};
+  programBufferMem_35 = _RAND_50[7:0];
+  _RAND_51 = {1{`RANDOM}};
+  programBufferMem_36 = _RAND_51[7:0];
+  _RAND_52 = {1{`RANDOM}};
+  programBufferMem_37 = _RAND_52[7:0];
+  _RAND_53 = {1{`RANDOM}};
+  programBufferMem_38 = _RAND_53[7:0];
+  _RAND_54 = {1{`RANDOM}};
+  programBufferMem_39 = _RAND_54[7:0];
+  _RAND_55 = {1{`RANDOM}};
+  programBufferMem_40 = _RAND_55[7:0];
+  _RAND_56 = {1{`RANDOM}};
+  programBufferMem_41 = _RAND_56[7:0];
+  _RAND_57 = {1{`RANDOM}};
+  programBufferMem_42 = _RAND_57[7:0];
+  _RAND_58 = {1{`RANDOM}};
+  programBufferMem_43 = _RAND_58[7:0];
+  _RAND_59 = {1{`RANDOM}};
+  programBufferMem_44 = _RAND_59[7:0];
+  _RAND_60 = {1{`RANDOM}};
+  programBufferMem_45 = _RAND_60[7:0];
+  _RAND_61 = {1{`RANDOM}};
+  programBufferMem_46 = _RAND_61[7:0];
+  _RAND_62 = {1{`RANDOM}};
+  programBufferMem_47 = _RAND_62[7:0];
+  _RAND_63 = {1{`RANDOM}};
+  programBufferMem_48 = _RAND_63[7:0];
+  _RAND_64 = {1{`RANDOM}};
+  programBufferMem_49 = _RAND_64[7:0];
+  _RAND_65 = {1{`RANDOM}};
+  programBufferMem_50 = _RAND_65[7:0];
+  _RAND_66 = {1{`RANDOM}};
+  programBufferMem_51 = _RAND_66[7:0];
+  _RAND_67 = {1{`RANDOM}};
+  programBufferMem_52 = _RAND_67[7:0];
+  _RAND_68 = {1{`RANDOM}};
+  programBufferMem_53 = _RAND_68[7:0];
+  _RAND_69 = {1{`RANDOM}};
+  programBufferMem_54 = _RAND_69[7:0];
+  _RAND_70 = {1{`RANDOM}};
+  programBufferMem_55 = _RAND_70[7:0];
+  _RAND_71 = {1{`RANDOM}};
+  programBufferMem_56 = _RAND_71[7:0];
+  _RAND_72 = {1{`RANDOM}};
+  programBufferMem_57 = _RAND_72[7:0];
+  _RAND_73 = {1{`RANDOM}};
+  programBufferMem_58 = _RAND_73[7:0];
+  _RAND_74 = {1{`RANDOM}};
+  programBufferMem_59 = _RAND_74[7:0];
+  _RAND_75 = {1{`RANDOM}};
+  programBufferMem_60 = _RAND_75[7:0];
+  _RAND_76 = {1{`RANDOM}};
+  programBufferMem_61 = _RAND_76[7:0];
+  _RAND_77 = {1{`RANDOM}};
+  programBufferMem_62 = _RAND_77[7:0];
+  _RAND_78 = {1{`RANDOM}};
+  programBufferMem_63 = _RAND_78[7:0];
+  _RAND_79 = {1{`RANDOM}};
+  goReg = _RAND_79[0:0];
+  _RAND_80 = {1{`RANDOM}};
+  abstractGeneratedMem_0 = _RAND_80[31:0];
+  _RAND_81 = {1{`RANDOM}};
+  abstractGeneratedMem_1 = _RAND_81[31:0];
+`endif // RANDOMIZE_REG_INIT
+  if (_GEN_0) begin
+    hrDebugIntReg_0 = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ClockCrossingReg_w55(
+  input         clock,
+  input  [54:0] io_d,
+  output [54:0] io_q,
+  input         io_en
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [63:0] _RAND_0;
+`endif // RANDOMIZE_REG_INIT
+  reg [54:0] cdc_reg; // @[Reg.scala 16:16]
+  assign io_q = cdc_reg; // @[SynchronizerReg.scala 202:8]
+  always @(posedge clock) begin
+    if (io_en) begin // @[Reg.scala 17:18]
+      cdc_reg <= io_d; // @[Reg.scala 17:22]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  cdc_reg = _RAND_0[54:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module AsyncQueueSink_2(
+  input         clock,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [1:0]  io_deq_bits_size,
+  output        io_deq_bits_source,
+  output [8:0]  io_deq_bits_address,
+  output [3:0]  io_deq_bits_mask,
+  output [31:0] io_deq_bits_data,
+  output        io_deq_bits_corrupt,
+  input  [2:0]  io_async_mem_0_opcode,
+  input  [8:0]  io_async_mem_0_address,
+  input  [31:0] io_async_mem_0_data,
+  output        io_async_ridx,
+  input         io_async_widx,
+  output        io_async_safe_ridx_valid,
+  input         io_async_safe_widx_valid,
+  input         io_async_safe_source_reset_n
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+`endif // RANDOMIZE_REG_INIT
+  wire  widx_widx_gray_clock; // @[ShiftReg.scala 45:23]
+  wire  widx_widx_gray_reset; // @[ShiftReg.scala 45:23]
+  wire  widx_widx_gray_io_d; // @[ShiftReg.scala 45:23]
+  wire  widx_widx_gray_io_q; // @[ShiftReg.scala 45:23]
+  wire  io_deq_bits_deq_bits_reg_clock; // @[SynchronizerReg.scala 207:25]
+  wire [54:0] io_deq_bits_deq_bits_reg_io_d; // @[SynchronizerReg.scala 207:25]
+  wire [54:0] io_deq_bits_deq_bits_reg_io_q; // @[SynchronizerReg.scala 207:25]
+  wire  io_deq_bits_deq_bits_reg_io_en; // @[SynchronizerReg.scala 207:25]
+  wire  sink_valid_0_io_in; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_0_io_out; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_0_clock; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_0_reset; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_1_io_in; // @[AsyncQueue.scala 169:33]
+  wire  sink_valid_1_io_out; // @[AsyncQueue.scala 169:33]
+  wire  sink_valid_1_clock; // @[AsyncQueue.scala 169:33]
+  wire  sink_valid_1_reset; // @[AsyncQueue.scala 169:33]
+  wire  source_extend_io_in; // @[AsyncQueue.scala 171:31]
+  wire  source_extend_io_out; // @[AsyncQueue.scala 171:31]
+  wire  source_extend_clock; // @[AsyncQueue.scala 171:31]
+  wire  source_extend_reset; // @[AsyncQueue.scala 171:31]
+  wire  source_valid_io_in; // @[AsyncQueue.scala 172:31]
+  wire  source_valid_io_out; // @[AsyncQueue.scala 172:31]
+  wire  source_valid_clock; // @[AsyncQueue.scala 172:31]
+  wire  source_valid_reset; // @[AsyncQueue.scala 172:31]
+  wire  _ridx_T_1 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  wire  source_ready = source_valid_io_out;
+  wire  _ridx_T_2 = ~source_ready; // @[AsyncQueue.scala 144:79]
+  wire  _GEN_0 = 1'h0; // @[AsyncQueue.scala 52:25]
+  reg  ridx_ridx_bin; // @[AsyncQueue.scala 52:25]
+  wire  ridx_incremented = _ridx_T_2 ? 1'h0 : ridx_ridx_bin + _ridx_T_1; // @[AsyncQueue.scala 53:23]
+  wire  widx = widx_widx_gray_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire [45:0] io_deq_bits_deq_bits_reg_io_d_lo = {io_async_mem_0_address,4'hf,io_async_mem_0_data,1'h0}; // @[SynchronizerReg.scala 209:24]
+  wire [8:0] io_deq_bits_deq_bits_reg_io_d_hi = {io_async_mem_0_opcode,3'h0,3'h4}; // @[SynchronizerReg.scala 209:24]
+  wire [54:0] _io_deq_bits_WIRE_1 = io_deq_bits_deq_bits_reg_io_q;
+  wire  _GEN_1 = 1'h0; // @[AsyncQueue.scala 161:56]
+  reg  valid_reg; // @[AsyncQueue.scala 161:56]
+  wire  _GEN_2 = 1'h0; // @[AsyncQueue.scala 164:55]
+  reg  ridx_gray; // @[AsyncQueue.scala 164:55]
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 widx_widx_gray ( // @[ShiftReg.scala 45:23]
+    .clock(widx_widx_gray_clock),
+    .reset(widx_widx_gray_reset),
+    .io_d(widx_widx_gray_io_d),
+    .io_q(widx_widx_gray_io_q)
+  );
+  ClockCrossingReg_w55 io_deq_bits_deq_bits_reg ( // @[SynchronizerReg.scala 207:25]
+    .clock(io_deq_bits_deq_bits_reg_clock),
+    .io_d(io_deq_bits_deq_bits_reg_io_d),
+    .io_q(io_deq_bits_deq_bits_reg_io_q),
+    .io_en(io_deq_bits_deq_bits_reg_io_en)
+  );
+  AsyncValidSync sink_valid_0 ( // @[AsyncQueue.scala 168:33]
+    .io_in(sink_valid_0_io_in),
+    .io_out(sink_valid_0_io_out),
+    .clock(sink_valid_0_clock),
+    .reset(sink_valid_0_reset)
+  );
+  AsyncValidSync sink_valid_1 ( // @[AsyncQueue.scala 169:33]
+    .io_in(sink_valid_1_io_in),
+    .io_out(sink_valid_1_io_out),
+    .clock(sink_valid_1_clock),
+    .reset(sink_valid_1_reset)
+  );
+  AsyncValidSync source_extend ( // @[AsyncQueue.scala 171:31]
+    .io_in(source_extend_io_in),
+    .io_out(source_extend_io_out),
+    .clock(source_extend_clock),
+    .reset(source_extend_reset)
+  );
+  AsyncValidSync source_valid ( // @[AsyncQueue.scala 172:31]
+    .io_in(source_valid_io_in),
+    .io_out(source_valid_io_out),
+    .clock(source_valid_clock),
+    .reset(source_valid_reset)
+  );
+  assign io_deq_valid = valid_reg & source_ready; // @[AsyncQueue.scala 162:29]
+  assign io_deq_bits_opcode = _io_deq_bits_WIRE_1[54:52]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_param = _io_deq_bits_WIRE_1[51:49]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_size = _io_deq_bits_WIRE_1[48:47]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_source = _io_deq_bits_WIRE_1[46]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_address = _io_deq_bits_WIRE_1[45:37]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_mask = _io_deq_bits_WIRE_1[36:33]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_data = _io_deq_bits_WIRE_1[32:1]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_corrupt = _io_deq_bits_WIRE_1[0]; // @[SynchronizerReg.scala 211:26]
+  assign io_async_ridx = ridx_gray; // @[AsyncQueue.scala 165:17]
+  assign io_async_safe_ridx_valid = sink_valid_1_io_out; // @[AsyncQueue.scala 185:20]
+  assign widx_widx_gray_clock = clock;
+  assign widx_widx_gray_reset = 1'h0;
+  assign widx_widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 47:16]
+  assign io_deq_bits_deq_bits_reg_clock = clock;
+  assign io_deq_bits_deq_bits_reg_io_d = {io_deq_bits_deq_bits_reg_io_d_hi,io_deq_bits_deq_bits_reg_io_d_lo}; // @[SynchronizerReg.scala 209:24]
+  assign io_deq_bits_deq_bits_reg_io_en = source_ready & ridx_incremented != widx; // @[AsyncQueue.scala 146:28]
+  assign sink_valid_0_io_in = 1'h1; // @[AsyncQueue.scala 183:24]
+  assign sink_valid_0_clock = clock; // @[AsyncQueue.scala 178:25]
+  assign sink_valid_0_reset = ~io_async_safe_source_reset_n; // @[AsyncQueue.scala 173:66]
+  assign sink_valid_1_io_in = sink_valid_0_io_out; // @[AsyncQueue.scala 184:24]
+  assign sink_valid_1_clock = clock; // @[AsyncQueue.scala 179:25]
+  assign sink_valid_1_reset = ~io_async_safe_source_reset_n; // @[AsyncQueue.scala 174:66]
+  assign source_extend_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 186:25]
+  assign source_extend_clock = clock; // @[AsyncQueue.scala 180:25]
+  assign source_extend_reset = ~io_async_safe_source_reset_n; // @[AsyncQueue.scala 175:66]
+  assign source_valid_io_in = source_extend_io_out; // @[AsyncQueue.scala 187:24]
+  assign source_valid_clock = clock; // @[AsyncQueue.scala 181:25]
+  assign source_valid_reset = 1'h0; // @[AsyncQueue.scala 176:34]
+  always @(posedge clock or posedge _GEN_0) begin
+    if (_GEN_0) begin // @[AsyncQueue.scala 53:23]
+      ridx_ridx_bin <= 1'h0;
+    end else if (_ridx_T_2) begin
+      ridx_ridx_bin <= 1'h0;
+    end else begin
+      ridx_ridx_bin <= ridx_ridx_bin + _ridx_T_1;
+    end
+  end
+  always @(posedge clock or posedge _GEN_1) begin
+    if (_GEN_1) begin // @[AsyncQueue.scala 146:28]
+      valid_reg <= 1'h0;
+    end else begin
+      valid_reg <= source_ready & ridx_incremented != widx;
+    end
+  end
+  always @(posedge clock or posedge _GEN_2) begin
+    if (_GEN_2) begin // @[AsyncQueue.scala 53:23]
+      ridx_gray <= 1'h0;
+    end else if (_ridx_T_2) begin
+      ridx_gray <= 1'h0;
+    end else begin
+      ridx_gray <= ridx_ridx_bin + _ridx_T_1;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  ridx_ridx_bin = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  valid_reg = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  ridx_gray = _RAND_2[0:0];
+`endif // RANDOMIZE_REG_INIT
+  if (_GEN_0) begin
+    ridx_ridx_bin = 1'h0;
+  end
+  if (_GEN_1) begin
+    valid_reg = 1'h0;
+  end
+  if (_GEN_2) begin
+    ridx_gray = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module AsyncQueueSource_3(
+  input         clock,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [1:0]  io_enq_bits_size,
+  input         io_enq_bits_source,
+  input  [31:0] io_enq_bits_data,
+  output [2:0]  io_async_mem_0_opcode,
+  output [1:0]  io_async_mem_0_size,
+  output        io_async_mem_0_source,
+  output [31:0] io_async_mem_0_data,
+  input         io_async_ridx,
+  output        io_async_widx,
+  input         io_async_safe_ridx_valid,
+  output        io_async_safe_widx_valid,
+  input         io_async_safe_sink_reset_n
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+`endif // RANDOMIZE_REG_INIT
+  wire  ridx_ridx_gray_clock; // @[ShiftReg.scala 45:23]
+  wire  ridx_ridx_gray_reset; // @[ShiftReg.scala 45:23]
+  wire  ridx_ridx_gray_io_d; // @[ShiftReg.scala 45:23]
+  wire  ridx_ridx_gray_io_q; // @[ShiftReg.scala 45:23]
+  wire  source_valid_0_io_in; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_0_io_out; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_0_clock; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_0_reset; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_1_io_in; // @[AsyncQueue.scala 101:32]
+  wire  source_valid_1_io_out; // @[AsyncQueue.scala 101:32]
+  wire  source_valid_1_clock; // @[AsyncQueue.scala 101:32]
+  wire  source_valid_1_reset; // @[AsyncQueue.scala 101:32]
+  wire  sink_extend_io_in; // @[AsyncQueue.scala 103:30]
+  wire  sink_extend_io_out; // @[AsyncQueue.scala 103:30]
+  wire  sink_extend_clock; // @[AsyncQueue.scala 103:30]
+  wire  sink_extend_reset; // @[AsyncQueue.scala 103:30]
+  wire  sink_valid_io_in; // @[AsyncQueue.scala 104:30]
+  wire  sink_valid_io_out; // @[AsyncQueue.scala 104:30]
+  wire  sink_valid_clock; // @[AsyncQueue.scala 104:30]
+  wire  sink_valid_reset; // @[AsyncQueue.scala 104:30]
+  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 80:16]
+  reg [1:0] mem_0_size; // @[AsyncQueue.scala 80:16]
+  reg  mem_0_source; // @[AsyncQueue.scala 80:16]
+  reg [31:0] mem_0_data; // @[AsyncQueue.scala 80:16]
+  wire  _widx_T_1 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  sink_ready = sink_valid_io_out;
+  wire  _widx_T_2 = ~sink_ready; // @[AsyncQueue.scala 81:79]
+  wire  _GEN_0 = 1'h0; // @[AsyncQueue.scala 52:25]
+  reg  widx_widx_bin; // @[AsyncQueue.scala 52:25]
+  wire  widx_incremented = _widx_T_2 ? 1'h0 : widx_widx_bin + _widx_T_1; // @[AsyncQueue.scala 53:23]
+  wire  ridx = ridx_ridx_gray_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  _GEN_1 = 1'h0; // @[AsyncQueue.scala 88:56]
+  reg  ready_reg; // @[AsyncQueue.scala 88:56]
+  wire  _GEN_2 = 1'h0; // @[AsyncQueue.scala 91:55]
+  reg  widx_gray; // @[AsyncQueue.scala 91:55]
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 ridx_ridx_gray ( // @[ShiftReg.scala 45:23]
+    .clock(ridx_ridx_gray_clock),
+    .reset(ridx_ridx_gray_reset),
+    .io_d(ridx_ridx_gray_io_d),
+    .io_q(ridx_ridx_gray_io_q)
+  );
+  AsyncValidSync source_valid_0 ( // @[AsyncQueue.scala 100:32]
+    .io_in(source_valid_0_io_in),
+    .io_out(source_valid_0_io_out),
+    .clock(source_valid_0_clock),
+    .reset(source_valid_0_reset)
+  );
+  AsyncValidSync source_valid_1 ( // @[AsyncQueue.scala 101:32]
+    .io_in(source_valid_1_io_in),
+    .io_out(source_valid_1_io_out),
+    .clock(source_valid_1_clock),
+    .reset(source_valid_1_reset)
+  );
+  AsyncValidSync sink_extend ( // @[AsyncQueue.scala 103:30]
+    .io_in(sink_extend_io_in),
+    .io_out(sink_extend_io_out),
+    .clock(sink_extend_clock),
+    .reset(sink_extend_reset)
+  );
+  AsyncValidSync sink_valid ( // @[AsyncQueue.scala 104:30]
+    .io_in(sink_valid_io_in),
+    .io_out(sink_valid_io_out),
+    .clock(sink_valid_clock),
+    .reset(sink_valid_reset)
+  );
+  assign io_enq_ready = ready_reg & sink_ready; // @[AsyncQueue.scala 89:29]
+  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_size = mem_0_size; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_source = mem_0_source; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 96:31]
+  assign io_async_widx = widx_gray; // @[AsyncQueue.scala 92:17]
+  assign io_async_safe_widx_valid = source_valid_1_io_out; // @[AsyncQueue.scala 117:20]
+  assign ridx_ridx_gray_clock = clock;
+  assign ridx_ridx_gray_reset = 1'h0;
+  assign ridx_ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 47:16]
+  assign source_valid_0_io_in = 1'h1; // @[AsyncQueue.scala 115:26]
+  assign source_valid_0_clock = clock; // @[AsyncQueue.scala 110:26]
+  assign source_valid_0_reset = ~io_async_safe_sink_reset_n; // @[AsyncQueue.scala 105:65]
+  assign source_valid_1_io_in = source_valid_0_io_out; // @[AsyncQueue.scala 116:26]
+  assign source_valid_1_clock = clock; // @[AsyncQueue.scala 111:26]
+  assign source_valid_1_reset = ~io_async_safe_sink_reset_n; // @[AsyncQueue.scala 106:65]
+  assign sink_extend_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 118:23]
+  assign sink_extend_clock = clock; // @[AsyncQueue.scala 112:26]
+  assign sink_extend_reset = ~io_async_safe_sink_reset_n; // @[AsyncQueue.scala 107:65]
+  assign sink_valid_io_in = sink_extend_io_out; // @[AsyncQueue.scala 119:22]
+  assign sink_valid_clock = clock; // @[AsyncQueue.scala 113:26]
+  assign sink_valid_reset = 1'h0; // @[AsyncQueue.scala 108:35]
+  always @(posedge clock) begin
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_opcode <= io_enq_bits_opcode; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_size <= io_enq_bits_size; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_source <= io_enq_bits_source; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_data <= io_enq_bits_data; // @[AsyncQueue.scala 86:37]
+    end
+  end
+  always @(posedge clock or posedge _GEN_0) begin
+    if (_GEN_0) begin // @[AsyncQueue.scala 53:23]
+      widx_widx_bin <= 1'h0;
+    end else if (_widx_T_2) begin
+      widx_widx_bin <= 1'h0;
+    end else begin
+      widx_widx_bin <= widx_widx_bin + _widx_T_1;
+    end
+  end
+  always @(posedge clock or posedge _GEN_1) begin
+    if (_GEN_1) begin // @[AsyncQueue.scala 83:26]
+      ready_reg <= 1'h0;
+    end else begin
+      ready_reg <= sink_ready & widx_incremented != (ridx ^ 1'h1);
+    end
+  end
+  always @(posedge clock or posedge _GEN_2) begin
+    if (_GEN_2) begin // @[AsyncQueue.scala 53:23]
+      widx_gray <= 1'h0;
+    end else if (_widx_T_2) begin
+      widx_gray <= 1'h0;
+    end else begin
+      widx_gray <= widx_widx_bin + _widx_T_1;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  mem_0_size = _RAND_1[1:0];
+  _RAND_2 = {1{`RANDOM}};
+  mem_0_source = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  mem_0_data = _RAND_3[31:0];
+  _RAND_4 = {1{`RANDOM}};
+  widx_widx_bin = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  ready_reg = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  widx_gray = _RAND_6[0:0];
+`endif // RANDOMIZE_REG_INIT
+  if (_GEN_0) begin
+    widx_widx_bin = 1'h0;
+  end
+  if (_GEN_1) begin
+    ready_reg = 1'h0;
+  end
+  if (_GEN_2) begin
+    widx_gray = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLAsyncCrossingSink(
+  input         clock,
+  input  [2:0]  auto_in_a_mem_0_opcode,
+  input  [8:0]  auto_in_a_mem_0_address,
+  input  [31:0] auto_in_a_mem_0_data,
+  output        auto_in_a_ridx,
+  input         auto_in_a_widx,
+  output        auto_in_a_safe_ridx_valid,
+  input         auto_in_a_safe_widx_valid,
+  input         auto_in_a_safe_source_reset_n,
+  output [2:0]  auto_in_d_mem_0_opcode,
+  output [1:0]  auto_in_d_mem_0_size,
+  output        auto_in_d_mem_0_source,
+  output [31:0] auto_in_d_mem_0_data,
+  input         auto_in_d_ridx,
+  output        auto_in_d_widx,
+  input         auto_in_d_safe_ridx_valid,
+  output        auto_in_d_safe_widx_valid,
+  input         auto_in_d_safe_sink_reset_n,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output        auto_out_a_bits_source,
+  output [8:0]  auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input         auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+  wire  bundleOut_0_a_sink_clock; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_deq_ready; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_deq_valid; // @[AsyncQueue.scala 207:22]
+  wire [2:0] bundleOut_0_a_sink_io_deq_bits_opcode; // @[AsyncQueue.scala 207:22]
+  wire [2:0] bundleOut_0_a_sink_io_deq_bits_param; // @[AsyncQueue.scala 207:22]
+  wire [1:0] bundleOut_0_a_sink_io_deq_bits_size; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_deq_bits_source; // @[AsyncQueue.scala 207:22]
+  wire [8:0] bundleOut_0_a_sink_io_deq_bits_address; // @[AsyncQueue.scala 207:22]
+  wire [3:0] bundleOut_0_a_sink_io_deq_bits_mask; // @[AsyncQueue.scala 207:22]
+  wire [31:0] bundleOut_0_a_sink_io_deq_bits_data; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_deq_bits_corrupt; // @[AsyncQueue.scala 207:22]
+  wire [2:0] bundleOut_0_a_sink_io_async_mem_0_opcode; // @[AsyncQueue.scala 207:22]
+  wire [8:0] bundleOut_0_a_sink_io_async_mem_0_address; // @[AsyncQueue.scala 207:22]
+  wire [31:0] bundleOut_0_a_sink_io_async_mem_0_data; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_async_ridx; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_async_widx; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_async_safe_widx_valid; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_source_clock; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_enq_ready; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_enq_valid; // @[AsyncQueue.scala 216:24]
+  wire [2:0] bundleIn_0_d_source_io_enq_bits_opcode; // @[AsyncQueue.scala 216:24]
+  wire [1:0] bundleIn_0_d_source_io_enq_bits_size; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_enq_bits_source; // @[AsyncQueue.scala 216:24]
+  wire [31:0] bundleIn_0_d_source_io_enq_bits_data; // @[AsyncQueue.scala 216:24]
+  wire [2:0] bundleIn_0_d_source_io_async_mem_0_opcode; // @[AsyncQueue.scala 216:24]
+  wire [1:0] bundleIn_0_d_source_io_async_mem_0_size; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_async_mem_0_source; // @[AsyncQueue.scala 216:24]
+  wire [31:0] bundleIn_0_d_source_io_async_mem_0_data; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_async_ridx; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_async_widx; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_async_safe_ridx_valid; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_async_safe_widx_valid; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 216:24]
+  AsyncQueueSink_2 bundleOut_0_a_sink ( // @[AsyncQueue.scala 207:22]
+    .clock(bundleOut_0_a_sink_clock),
+    .io_deq_ready(bundleOut_0_a_sink_io_deq_ready),
+    .io_deq_valid(bundleOut_0_a_sink_io_deq_valid),
+    .io_deq_bits_opcode(bundleOut_0_a_sink_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleOut_0_a_sink_io_deq_bits_param),
+    .io_deq_bits_size(bundleOut_0_a_sink_io_deq_bits_size),
+    .io_deq_bits_source(bundleOut_0_a_sink_io_deq_bits_source),
+    .io_deq_bits_address(bundleOut_0_a_sink_io_deq_bits_address),
+    .io_deq_bits_mask(bundleOut_0_a_sink_io_deq_bits_mask),
+    .io_deq_bits_data(bundleOut_0_a_sink_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleOut_0_a_sink_io_deq_bits_corrupt),
+    .io_async_mem_0_opcode(bundleOut_0_a_sink_io_async_mem_0_opcode),
+    .io_async_mem_0_address(bundleOut_0_a_sink_io_async_mem_0_address),
+    .io_async_mem_0_data(bundleOut_0_a_sink_io_async_mem_0_data),
+    .io_async_ridx(bundleOut_0_a_sink_io_async_ridx),
+    .io_async_widx(bundleOut_0_a_sink_io_async_widx),
+    .io_async_safe_ridx_valid(bundleOut_0_a_sink_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(bundleOut_0_a_sink_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(bundleOut_0_a_sink_io_async_safe_source_reset_n)
+  );
+  AsyncQueueSource_3 bundleIn_0_d_source ( // @[AsyncQueue.scala 216:24]
+    .clock(bundleIn_0_d_source_clock),
+    .io_enq_ready(bundleIn_0_d_source_io_enq_ready),
+    .io_enq_valid(bundleIn_0_d_source_io_enq_valid),
+    .io_enq_bits_opcode(bundleIn_0_d_source_io_enq_bits_opcode),
+    .io_enq_bits_size(bundleIn_0_d_source_io_enq_bits_size),
+    .io_enq_bits_source(bundleIn_0_d_source_io_enq_bits_source),
+    .io_enq_bits_data(bundleIn_0_d_source_io_enq_bits_data),
+    .io_async_mem_0_opcode(bundleIn_0_d_source_io_async_mem_0_opcode),
+    .io_async_mem_0_size(bundleIn_0_d_source_io_async_mem_0_size),
+    .io_async_mem_0_source(bundleIn_0_d_source_io_async_mem_0_source),
+    .io_async_mem_0_data(bundleIn_0_d_source_io_async_mem_0_data),
+    .io_async_ridx(bundleIn_0_d_source_io_async_ridx),
+    .io_async_widx(bundleIn_0_d_source_io_async_widx),
+    .io_async_safe_ridx_valid(bundleIn_0_d_source_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(bundleIn_0_d_source_io_async_safe_widx_valid),
+    .io_async_safe_sink_reset_n(bundleIn_0_d_source_io_async_safe_sink_reset_n)
+  );
+  assign auto_in_a_ridx = bundleOut_0_a_sink_io_async_ridx; // @[Nodes.scala 1210:84 AsyncQueue.scala 208:19]
+  assign auto_in_a_safe_ridx_valid = bundleOut_0_a_sink_io_async_safe_ridx_valid; // @[Nodes.scala 1210:84 AsyncQueue.scala 208:19]
+  assign auto_in_d_mem_0_opcode = bundleIn_0_d_source_io_async_mem_0_opcode; // @[Nodes.scala 1210:84 AsyncCrossing.scala 58:12]
+  assign auto_in_d_mem_0_size = bundleIn_0_d_source_io_async_mem_0_size; // @[Nodes.scala 1210:84 AsyncCrossing.scala 58:12]
+  assign auto_in_d_mem_0_source = bundleIn_0_d_source_io_async_mem_0_source; // @[Nodes.scala 1210:84 AsyncCrossing.scala 58:12]
+  assign auto_in_d_mem_0_data = bundleIn_0_d_source_io_async_mem_0_data; // @[Nodes.scala 1210:84 AsyncCrossing.scala 58:12]
+  assign auto_in_d_widx = bundleIn_0_d_source_io_async_widx; // @[Nodes.scala 1210:84 AsyncCrossing.scala 58:12]
+  assign auto_in_d_safe_widx_valid = bundleIn_0_d_source_io_async_safe_widx_valid; // @[Nodes.scala 1210:84 AsyncCrossing.scala 58:12]
+  assign auto_out_a_valid = bundleOut_0_a_sink_io_deq_valid; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_opcode = bundleOut_0_a_sink_io_deq_bits_opcode; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_param = bundleOut_0_a_sink_io_deq_bits_param; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_size = bundleOut_0_a_sink_io_deq_bits_size; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_source = bundleOut_0_a_sink_io_deq_bits_source; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_address = bundleOut_0_a_sink_io_deq_bits_address; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_mask = bundleOut_0_a_sink_io_deq_bits_mask; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_data = bundleOut_0_a_sink_io_deq_bits_data; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_corrupt = bundleOut_0_a_sink_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_d_ready = bundleIn_0_d_source_io_enq_ready; // @[Nodes.scala 1207:84 AsyncQueue.scala 217:19]
+  assign bundleOut_0_a_sink_clock = clock;
+  assign bundleOut_0_a_sink_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleOut_0_a_sink_io_async_mem_0_opcode = auto_in_a_mem_0_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_sink_io_async_mem_0_address = auto_in_a_mem_0_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_sink_io_async_mem_0_data = auto_in_a_mem_0_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_sink_io_async_widx = auto_in_a_widx; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_sink_io_async_safe_widx_valid = auto_in_a_safe_widx_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_sink_io_async_safe_source_reset_n = auto_in_a_safe_source_reset_n; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleIn_0_d_source_clock = clock;
+  assign bundleIn_0_d_source_io_enq_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_source_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_source_io_enq_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_source_io_enq_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_source_io_enq_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_source_io_async_ridx = auto_in_d_ridx; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleIn_0_d_source_io_async_safe_ridx_valid = auto_in_d_safe_ridx_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleIn_0_d_source_io_async_safe_sink_reset_n = auto_in_d_safe_sink_reset_n; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module ClockCrossingReg_w15(
+  input         clock,
+  input  [14:0] io_d,
+  output [14:0] io_q,
+  input         io_en
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+`endif // RANDOMIZE_REG_INIT
+  reg [14:0] cdc_reg; // @[Reg.scala 16:16]
+  assign io_q = cdc_reg; // @[SynchronizerReg.scala 202:8]
+  always @(posedge clock) begin
+    if (io_en) begin // @[Reg.scala 17:18]
+      cdc_reg <= io_d; // @[Reg.scala 17:22]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  cdc_reg = _RAND_0[14:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module AsyncQueueSink_3(
+  input        clock,
+  output       io_deq_valid,
+  output       io_deq_bits_resumereq,
+  output [9:0] io_deq_bits_hartsel,
+  output       io_deq_bits_ackhavereset,
+  output       io_deq_bits_hrmask_0,
+  input        io_async_mem_0_resumereq,
+  input        io_async_mem_0_ackhavereset,
+  input        io_async_mem_0_hrmask_0,
+  output       io_async_ridx,
+  input        io_async_widx,
+  output       io_async_safe_ridx_valid,
+  input        io_async_safe_widx_valid,
+  input        io_async_safe_source_reset_n
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+`endif // RANDOMIZE_REG_INIT
+  wire  widx_widx_gray_clock; // @[ShiftReg.scala 45:23]
+  wire  widx_widx_gray_reset; // @[ShiftReg.scala 45:23]
+  wire  widx_widx_gray_io_d; // @[ShiftReg.scala 45:23]
+  wire  widx_widx_gray_io_q; // @[ShiftReg.scala 45:23]
+  wire  io_deq_bits_deq_bits_reg_clock; // @[SynchronizerReg.scala 207:25]
+  wire [14:0] io_deq_bits_deq_bits_reg_io_d; // @[SynchronizerReg.scala 207:25]
+  wire [14:0] io_deq_bits_deq_bits_reg_io_q; // @[SynchronizerReg.scala 207:25]
+  wire  io_deq_bits_deq_bits_reg_io_en; // @[SynchronizerReg.scala 207:25]
+  wire  sink_valid_0_io_in; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_0_io_out; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_0_clock; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_0_reset; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_1_io_in; // @[AsyncQueue.scala 169:33]
+  wire  sink_valid_1_io_out; // @[AsyncQueue.scala 169:33]
+  wire  sink_valid_1_clock; // @[AsyncQueue.scala 169:33]
+  wire  sink_valid_1_reset; // @[AsyncQueue.scala 169:33]
+  wire  source_extend_io_in; // @[AsyncQueue.scala 171:31]
+  wire  source_extend_io_out; // @[AsyncQueue.scala 171:31]
+  wire  source_extend_clock; // @[AsyncQueue.scala 171:31]
+  wire  source_extend_reset; // @[AsyncQueue.scala 171:31]
+  wire  source_valid_io_in; // @[AsyncQueue.scala 172:31]
+  wire  source_valid_io_out; // @[AsyncQueue.scala 172:31]
+  wire  source_valid_clock; // @[AsyncQueue.scala 172:31]
+  wire  source_valid_reset; // @[AsyncQueue.scala 172:31]
+  wire  source_ready = source_valid_io_out;
+  wire  _ridx_T_2 = ~source_ready; // @[AsyncQueue.scala 144:79]
+  wire  _GEN_0 = 1'h0; // @[AsyncQueue.scala 52:25]
+  reg  ridx_ridx_bin; // @[AsyncQueue.scala 52:25]
+  wire  ridx_incremented = _ridx_T_2 ? 1'h0 : ridx_ridx_bin + io_deq_valid; // @[AsyncQueue.scala 53:23]
+  wire  widx = widx_widx_gray_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire [2:0] io_deq_bits_deq_bits_reg_io_d_lo = {2'h0,io_async_mem_0_hrmask_0}; // @[SynchronizerReg.scala 209:24]
+  wire [11:0] io_deq_bits_deq_bits_reg_io_d_hi = {io_async_mem_0_resumereq,10'h0,io_async_mem_0_ackhavereset}; // @[SynchronizerReg.scala 209:24]
+  wire [14:0] _io_deq_bits_WIRE_1 = io_deq_bits_deq_bits_reg_io_q;
+  wire  _GEN_1 = 1'h0; // @[AsyncQueue.scala 161:56]
+  reg  valid_reg; // @[AsyncQueue.scala 161:56]
+  wire  _GEN_2 = 1'h0; // @[AsyncQueue.scala 164:55]
+  reg  ridx_gray; // @[AsyncQueue.scala 164:55]
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 widx_widx_gray ( // @[ShiftReg.scala 45:23]
+    .clock(widx_widx_gray_clock),
+    .reset(widx_widx_gray_reset),
+    .io_d(widx_widx_gray_io_d),
+    .io_q(widx_widx_gray_io_q)
+  );
+  ClockCrossingReg_w15 io_deq_bits_deq_bits_reg ( // @[SynchronizerReg.scala 207:25]
+    .clock(io_deq_bits_deq_bits_reg_clock),
+    .io_d(io_deq_bits_deq_bits_reg_io_d),
+    .io_q(io_deq_bits_deq_bits_reg_io_q),
+    .io_en(io_deq_bits_deq_bits_reg_io_en)
+  );
+  AsyncValidSync sink_valid_0 ( // @[AsyncQueue.scala 168:33]
+    .io_in(sink_valid_0_io_in),
+    .io_out(sink_valid_0_io_out),
+    .clock(sink_valid_0_clock),
+    .reset(sink_valid_0_reset)
+  );
+  AsyncValidSync sink_valid_1 ( // @[AsyncQueue.scala 169:33]
+    .io_in(sink_valid_1_io_in),
+    .io_out(sink_valid_1_io_out),
+    .clock(sink_valid_1_clock),
+    .reset(sink_valid_1_reset)
+  );
+  AsyncValidSync source_extend ( // @[AsyncQueue.scala 171:31]
+    .io_in(source_extend_io_in),
+    .io_out(source_extend_io_out),
+    .clock(source_extend_clock),
+    .reset(source_extend_reset)
+  );
+  AsyncValidSync source_valid ( // @[AsyncQueue.scala 172:31]
+    .io_in(source_valid_io_in),
+    .io_out(source_valid_io_out),
+    .clock(source_valid_clock),
+    .reset(source_valid_reset)
+  );
+  assign io_deq_valid = valid_reg & source_ready; // @[AsyncQueue.scala 162:29]
+  assign io_deq_bits_resumereq = _io_deq_bits_WIRE_1[14]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_hartsel = _io_deq_bits_WIRE_1[13:4]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_ackhavereset = _io_deq_bits_WIRE_1[3]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_hrmask_0 = _io_deq_bits_WIRE_1[0]; // @[SynchronizerReg.scala 211:26]
+  assign io_async_ridx = ridx_gray; // @[AsyncQueue.scala 165:17]
+  assign io_async_safe_ridx_valid = sink_valid_1_io_out; // @[AsyncQueue.scala 185:20]
+  assign widx_widx_gray_clock = clock;
+  assign widx_widx_gray_reset = 1'h0;
+  assign widx_widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 47:16]
+  assign io_deq_bits_deq_bits_reg_clock = clock;
+  assign io_deq_bits_deq_bits_reg_io_d = {io_deq_bits_deq_bits_reg_io_d_hi,io_deq_bits_deq_bits_reg_io_d_lo}; // @[SynchronizerReg.scala 209:24]
+  assign io_deq_bits_deq_bits_reg_io_en = source_ready & ridx_incremented != widx; // @[AsyncQueue.scala 146:28]
+  assign sink_valid_0_io_in = 1'h1; // @[AsyncQueue.scala 183:24]
+  assign sink_valid_0_clock = clock; // @[AsyncQueue.scala 178:25]
+  assign sink_valid_0_reset = ~io_async_safe_source_reset_n; // @[AsyncQueue.scala 173:66]
+  assign sink_valid_1_io_in = sink_valid_0_io_out; // @[AsyncQueue.scala 184:24]
+  assign sink_valid_1_clock = clock; // @[AsyncQueue.scala 179:25]
+  assign sink_valid_1_reset = ~io_async_safe_source_reset_n; // @[AsyncQueue.scala 174:66]
+  assign source_extend_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 186:25]
+  assign source_extend_clock = clock; // @[AsyncQueue.scala 180:25]
+  assign source_extend_reset = ~io_async_safe_source_reset_n; // @[AsyncQueue.scala 175:66]
+  assign source_valid_io_in = source_extend_io_out; // @[AsyncQueue.scala 187:24]
+  assign source_valid_clock = clock; // @[AsyncQueue.scala 181:25]
+  assign source_valid_reset = 1'h0; // @[AsyncQueue.scala 176:34]
+  always @(posedge clock or posedge _GEN_0) begin
+    if (_GEN_0) begin // @[AsyncQueue.scala 53:23]
+      ridx_ridx_bin <= 1'h0;
+    end else if (_ridx_T_2) begin
+      ridx_ridx_bin <= 1'h0;
+    end else begin
+      ridx_ridx_bin <= ridx_ridx_bin + io_deq_valid;
+    end
+  end
+  always @(posedge clock or posedge _GEN_1) begin
+    if (_GEN_1) begin // @[AsyncQueue.scala 146:28]
+      valid_reg <= 1'h0;
+    end else begin
+      valid_reg <= source_ready & ridx_incremented != widx;
+    end
+  end
+  always @(posedge clock or posedge _GEN_2) begin
+    if (_GEN_2) begin // @[AsyncQueue.scala 53:23]
+      ridx_gray <= 1'h0;
+    end else if (_ridx_T_2) begin
+      ridx_gray <= 1'h0;
+    end else begin
+      ridx_gray <= ridx_ridx_bin + io_deq_valid;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  ridx_ridx_bin = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  valid_reg = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  ridx_gray = _RAND_2[0:0];
+`endif // RANDOMIZE_REG_INIT
+  if (_GEN_0) begin
+    ridx_ridx_bin = 1'h0;
+  end
+  if (_GEN_1) begin
+    valid_reg = 1'h0;
+  end
+  if (_GEN_2) begin
+    ridx_gray = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLDebugModuleInnerAsync(
+  input  [2:0]  auto_dmiXing_in_a_mem_0_opcode,
+  input  [8:0]  auto_dmiXing_in_a_mem_0_address,
+  input  [31:0] auto_dmiXing_in_a_mem_0_data,
+  output        auto_dmiXing_in_a_ridx,
+  input         auto_dmiXing_in_a_widx,
+  output        auto_dmiXing_in_a_safe_ridx_valid,
+  input         auto_dmiXing_in_a_safe_widx_valid,
+  input         auto_dmiXing_in_a_safe_source_reset_n,
+  output [2:0]  auto_dmiXing_in_d_mem_0_opcode,
+  output [1:0]  auto_dmiXing_in_d_mem_0_size,
+  output        auto_dmiXing_in_d_mem_0_source,
+  output [31:0] auto_dmiXing_in_d_mem_0_data,
+  input         auto_dmiXing_in_d_ridx,
+  output        auto_dmiXing_in_d_widx,
+  input         auto_dmiXing_in_d_safe_ridx_valid,
+  output        auto_dmiXing_in_d_safe_widx_valid,
+  input         auto_dmiXing_in_d_safe_sink_reset_n,
+  output        auto_dmInner_tl_in_a_ready,
+  input         auto_dmInner_tl_in_a_valid,
+  input  [2:0]  auto_dmInner_tl_in_a_bits_opcode,
+  input  [2:0]  auto_dmInner_tl_in_a_bits_param,
+  input  [1:0]  auto_dmInner_tl_in_a_bits_size,
+  input  [6:0]  auto_dmInner_tl_in_a_bits_source,
+  input  [11:0] auto_dmInner_tl_in_a_bits_address,
+  input  [3:0]  auto_dmInner_tl_in_a_bits_mask,
+  input  [31:0] auto_dmInner_tl_in_a_bits_data,
+  input         auto_dmInner_tl_in_a_bits_corrupt,
+  input         auto_dmInner_tl_in_d_ready,
+  output        auto_dmInner_tl_in_d_valid,
+  output [2:0]  auto_dmInner_tl_in_d_bits_opcode,
+  output [1:0]  auto_dmInner_tl_in_d_bits_size,
+  output [6:0]  auto_dmInner_tl_in_d_bits_source,
+  output [31:0] auto_dmInner_tl_in_d_bits_data,
+  input         io_debug_clock,
+  input         io_dmactive,
+  input         io_innerCtrl_mem_0_resumereq,
+  input         io_innerCtrl_mem_0_ackhavereset,
+  input         io_innerCtrl_mem_0_hrmask_0,
+  output        io_innerCtrl_ridx,
+  input         io_innerCtrl_widx,
+  output        io_innerCtrl_safe_ridx_valid,
+  input         io_innerCtrl_safe_widx_valid,
+  input         io_innerCtrl_safe_source_reset_n,
+  output        io_hgDebugInt_0
+);
+  wire  dmInner_clock; // @[Debug.scala 1741:27]
+  wire  dmInner_auto_tl_in_a_ready; // @[Debug.scala 1741:27]
+  wire  dmInner_auto_tl_in_a_valid; // @[Debug.scala 1741:27]
+  wire [2:0] dmInner_auto_tl_in_a_bits_opcode; // @[Debug.scala 1741:27]
+  wire [2:0] dmInner_auto_tl_in_a_bits_param; // @[Debug.scala 1741:27]
+  wire [1:0] dmInner_auto_tl_in_a_bits_size; // @[Debug.scala 1741:27]
+  wire [6:0] dmInner_auto_tl_in_a_bits_source; // @[Debug.scala 1741:27]
+  wire [11:0] dmInner_auto_tl_in_a_bits_address; // @[Debug.scala 1741:27]
+  wire [3:0] dmInner_auto_tl_in_a_bits_mask; // @[Debug.scala 1741:27]
+  wire [31:0] dmInner_auto_tl_in_a_bits_data; // @[Debug.scala 1741:27]
+  wire  dmInner_auto_tl_in_a_bits_corrupt; // @[Debug.scala 1741:27]
+  wire  dmInner_auto_tl_in_d_ready; // @[Debug.scala 1741:27]
+  wire  dmInner_auto_tl_in_d_valid; // @[Debug.scala 1741:27]
+  wire [2:0] dmInner_auto_tl_in_d_bits_opcode; // @[Debug.scala 1741:27]
+  wire [1:0] dmInner_auto_tl_in_d_bits_size; // @[Debug.scala 1741:27]
+  wire [6:0] dmInner_auto_tl_in_d_bits_source; // @[Debug.scala 1741:27]
+  wire [31:0] dmInner_auto_tl_in_d_bits_data; // @[Debug.scala 1741:27]
+  wire  dmInner_auto_dmi_in_a_ready; // @[Debug.scala 1741:27]
+  wire  dmInner_auto_dmi_in_a_valid; // @[Debug.scala 1741:27]
+  wire [2:0] dmInner_auto_dmi_in_a_bits_opcode; // @[Debug.scala 1741:27]
+  wire [2:0] dmInner_auto_dmi_in_a_bits_param; // @[Debug.scala 1741:27]
+  wire [1:0] dmInner_auto_dmi_in_a_bits_size; // @[Debug.scala 1741:27]
+  wire  dmInner_auto_dmi_in_a_bits_source; // @[Debug.scala 1741:27]
+  wire [8:0] dmInner_auto_dmi_in_a_bits_address; // @[Debug.scala 1741:27]
+  wire [3:0] dmInner_auto_dmi_in_a_bits_mask; // @[Debug.scala 1741:27]
+  wire [31:0] dmInner_auto_dmi_in_a_bits_data; // @[Debug.scala 1741:27]
+  wire  dmInner_auto_dmi_in_a_bits_corrupt; // @[Debug.scala 1741:27]
+  wire  dmInner_auto_dmi_in_d_ready; // @[Debug.scala 1741:27]
+  wire  dmInner_auto_dmi_in_d_valid; // @[Debug.scala 1741:27]
+  wire [2:0] dmInner_auto_dmi_in_d_bits_opcode; // @[Debug.scala 1741:27]
+  wire [1:0] dmInner_auto_dmi_in_d_bits_size; // @[Debug.scala 1741:27]
+  wire  dmInner_auto_dmi_in_d_bits_source; // @[Debug.scala 1741:27]
+  wire [31:0] dmInner_auto_dmi_in_d_bits_data; // @[Debug.scala 1741:27]
+  wire  dmInner_io_dmactive; // @[Debug.scala 1741:27]
+  wire  dmInner_io_innerCtrl_ready; // @[Debug.scala 1741:27]
+  wire  dmInner_io_innerCtrl_valid; // @[Debug.scala 1741:27]
+  wire  dmInner_io_innerCtrl_bits_resumereq; // @[Debug.scala 1741:27]
+  wire [9:0] dmInner_io_innerCtrl_bits_hartsel; // @[Debug.scala 1741:27]
+  wire  dmInner_io_innerCtrl_bits_ackhavereset; // @[Debug.scala 1741:27]
+  wire  dmInner_io_innerCtrl_bits_hrmask_0; // @[Debug.scala 1741:27]
+  wire  dmInner_io_hgDebugInt_0; // @[Debug.scala 1741:27]
+  wire  dmiXing_clock; // @[Debug.scala 1742:27]
+  wire [2:0] dmiXing_auto_in_a_mem_0_opcode; // @[Debug.scala 1742:27]
+  wire [8:0] dmiXing_auto_in_a_mem_0_address; // @[Debug.scala 1742:27]
+  wire [31:0] dmiXing_auto_in_a_mem_0_data; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_in_a_ridx; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_in_a_widx; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_in_a_safe_ridx_valid; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_in_a_safe_widx_valid; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_in_a_safe_source_reset_n; // @[Debug.scala 1742:27]
+  wire [2:0] dmiXing_auto_in_d_mem_0_opcode; // @[Debug.scala 1742:27]
+  wire [1:0] dmiXing_auto_in_d_mem_0_size; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_in_d_mem_0_source; // @[Debug.scala 1742:27]
+  wire [31:0] dmiXing_auto_in_d_mem_0_data; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_in_d_ridx; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_in_d_widx; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_in_d_safe_ridx_valid; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_in_d_safe_widx_valid; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_in_d_safe_sink_reset_n; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_out_a_ready; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_out_a_valid; // @[Debug.scala 1742:27]
+  wire [2:0] dmiXing_auto_out_a_bits_opcode; // @[Debug.scala 1742:27]
+  wire [2:0] dmiXing_auto_out_a_bits_param; // @[Debug.scala 1742:27]
+  wire [1:0] dmiXing_auto_out_a_bits_size; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_out_a_bits_source; // @[Debug.scala 1742:27]
+  wire [8:0] dmiXing_auto_out_a_bits_address; // @[Debug.scala 1742:27]
+  wire [3:0] dmiXing_auto_out_a_bits_mask; // @[Debug.scala 1742:27]
+  wire [31:0] dmiXing_auto_out_a_bits_data; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_out_a_bits_corrupt; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_out_d_ready; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_out_d_valid; // @[Debug.scala 1742:27]
+  wire [2:0] dmiXing_auto_out_d_bits_opcode; // @[Debug.scala 1742:27]
+  wire [1:0] dmiXing_auto_out_d_bits_size; // @[Debug.scala 1742:27]
+  wire  dmiXing_auto_out_d_bits_source; // @[Debug.scala 1742:27]
+  wire [31:0] dmiXing_auto_out_d_bits_data; // @[Debug.scala 1742:27]
+  wire  dmactive_synced_dmactive_synced_dmactiveSync_clock; // @[ShiftReg.scala 45:23]
+  wire  dmactive_synced_dmactive_synced_dmactiveSync_reset; // @[ShiftReg.scala 45:23]
+  wire  dmactive_synced_dmactive_synced_dmactiveSync_io_d; // @[ShiftReg.scala 45:23]
+  wire  dmactive_synced_dmactive_synced_dmactiveSync_io_q; // @[ShiftReg.scala 45:23]
+  wire  dmactive_synced_dmInner_io_innerCtrl_sink_clock; // @[AsyncQueue.scala 207:22]
+  wire  dmactive_synced_dmInner_io_innerCtrl_sink_io_deq_valid; // @[AsyncQueue.scala 207:22]
+  wire  dmactive_synced_dmInner_io_innerCtrl_sink_io_deq_bits_resumereq; // @[AsyncQueue.scala 207:22]
+  wire [9:0] dmactive_synced_dmInner_io_innerCtrl_sink_io_deq_bits_hartsel; // @[AsyncQueue.scala 207:22]
+  wire  dmactive_synced_dmInner_io_innerCtrl_sink_io_deq_bits_ackhavereset; // @[AsyncQueue.scala 207:22]
+  wire  dmactive_synced_dmInner_io_innerCtrl_sink_io_deq_bits_hrmask_0; // @[AsyncQueue.scala 207:22]
+  wire  dmactive_synced_dmInner_io_innerCtrl_sink_io_async_mem_0_resumereq; // @[AsyncQueue.scala 207:22]
+  wire  dmactive_synced_dmInner_io_innerCtrl_sink_io_async_mem_0_ackhavereset; // @[AsyncQueue.scala 207:22]
+  wire  dmactive_synced_dmInner_io_innerCtrl_sink_io_async_mem_0_hrmask_0; // @[AsyncQueue.scala 207:22]
+  wire  dmactive_synced_dmInner_io_innerCtrl_sink_io_async_ridx; // @[AsyncQueue.scala 207:22]
+  wire  dmactive_synced_dmInner_io_innerCtrl_sink_io_async_widx; // @[AsyncQueue.scala 207:22]
+  wire  dmactive_synced_dmInner_io_innerCtrl_sink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 207:22]
+  wire  dmactive_synced_dmInner_io_innerCtrl_sink_io_async_safe_widx_valid; // @[AsyncQueue.scala 207:22]
+  wire  dmactive_synced_dmInner_io_innerCtrl_sink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 207:22]
+  TLDebugModuleInner dmInner ( // @[Debug.scala 1741:27]
+    .clock(dmInner_clock),
+    .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),
+    .io_innerCtrl_bits_hrmask_0(dmInner_io_innerCtrl_bits_hrmask_0),
+    .io_hgDebugInt_0(dmInner_io_hgDebugInt_0)
+  );
+  TLAsyncCrossingSink dmiXing ( // @[Debug.scala 1742:27]
+    .clock(dmiXing_clock),
+    .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_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_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_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)
+  );
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 dmactive_synced_dmactive_synced_dmactiveSync ( // @[ShiftReg.scala 45:23]
+    .clock(dmactive_synced_dmactive_synced_dmactiveSync_clock),
+    .reset(dmactive_synced_dmactive_synced_dmactiveSync_reset),
+    .io_d(dmactive_synced_dmactive_synced_dmactiveSync_io_d),
+    .io_q(dmactive_synced_dmactive_synced_dmactiveSync_io_q)
+  );
+  AsyncQueueSink_3 dmactive_synced_dmInner_io_innerCtrl_sink ( // @[AsyncQueue.scala 207:22]
+    .clock(dmactive_synced_dmInner_io_innerCtrl_sink_clock),
+    .io_deq_valid(dmactive_synced_dmInner_io_innerCtrl_sink_io_deq_valid),
+    .io_deq_bits_resumereq(dmactive_synced_dmInner_io_innerCtrl_sink_io_deq_bits_resumereq),
+    .io_deq_bits_hartsel(dmactive_synced_dmInner_io_innerCtrl_sink_io_deq_bits_hartsel),
+    .io_deq_bits_ackhavereset(dmactive_synced_dmInner_io_innerCtrl_sink_io_deq_bits_ackhavereset),
+    .io_deq_bits_hrmask_0(dmactive_synced_dmInner_io_innerCtrl_sink_io_deq_bits_hrmask_0),
+    .io_async_mem_0_resumereq(dmactive_synced_dmInner_io_innerCtrl_sink_io_async_mem_0_resumereq),
+    .io_async_mem_0_ackhavereset(dmactive_synced_dmInner_io_innerCtrl_sink_io_async_mem_0_ackhavereset),
+    .io_async_mem_0_hrmask_0(dmactive_synced_dmInner_io_innerCtrl_sink_io_async_mem_0_hrmask_0),
+    .io_async_ridx(dmactive_synced_dmInner_io_innerCtrl_sink_io_async_ridx),
+    .io_async_widx(dmactive_synced_dmInner_io_innerCtrl_sink_io_async_widx),
+    .io_async_safe_ridx_valid(dmactive_synced_dmInner_io_innerCtrl_sink_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(dmactive_synced_dmInner_io_innerCtrl_sink_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(dmactive_synced_dmInner_io_innerCtrl_sink_io_async_safe_source_reset_n)
+  );
+  assign auto_dmiXing_in_a_ridx = dmiXing_auto_in_a_ridx; // @[LazyModule.scala 309:16]
+  assign auto_dmiXing_in_a_safe_ridx_valid = dmiXing_auto_in_a_safe_ridx_valid; // @[LazyModule.scala 309:16]
+  assign auto_dmiXing_in_d_mem_0_opcode = dmiXing_auto_in_d_mem_0_opcode; // @[LazyModule.scala 309:16]
+  assign auto_dmiXing_in_d_mem_0_size = dmiXing_auto_in_d_mem_0_size; // @[LazyModule.scala 309:16]
+  assign auto_dmiXing_in_d_mem_0_source = dmiXing_auto_in_d_mem_0_source; // @[LazyModule.scala 309:16]
+  assign auto_dmiXing_in_d_mem_0_data = dmiXing_auto_in_d_mem_0_data; // @[LazyModule.scala 309:16]
+  assign auto_dmiXing_in_d_widx = dmiXing_auto_in_d_widx; // @[LazyModule.scala 309:16]
+  assign auto_dmiXing_in_d_safe_widx_valid = dmiXing_auto_in_d_safe_widx_valid; // @[LazyModule.scala 309:16]
+  assign auto_dmInner_tl_in_a_ready = dmInner_auto_tl_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_dmInner_tl_in_d_valid = dmInner_auto_tl_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_dmInner_tl_in_d_bits_opcode = dmInner_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_dmInner_tl_in_d_bits_size = dmInner_auto_tl_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_dmInner_tl_in_d_bits_source = dmInner_auto_tl_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_dmInner_tl_in_d_bits_data = dmInner_auto_tl_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign io_innerCtrl_ridx = dmactive_synced_dmInner_io_innerCtrl_sink_io_async_ridx; // @[AsyncQueue.scala 208:19]
+  assign io_innerCtrl_safe_ridx_valid = dmactive_synced_dmInner_io_innerCtrl_sink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 208:19]
+  assign io_hgDebugInt_0 = dmInner_io_hgDebugInt_0; // @[Debug.scala 1789:21]
+  assign dmInner_clock = io_debug_clock; // @[Debug.scala 1782:28]
+  assign dmInner_auto_tl_in_a_valid = auto_dmInner_tl_in_a_valid; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_tl_in_a_bits_opcode = auto_dmInner_tl_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_tl_in_a_bits_param = auto_dmInner_tl_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_tl_in_a_bits_size = auto_dmInner_tl_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_tl_in_a_bits_source = auto_dmInner_tl_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_tl_in_a_bits_address = auto_dmInner_tl_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_tl_in_a_bits_mask = auto_dmInner_tl_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_tl_in_a_bits_data = auto_dmInner_tl_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_tl_in_a_bits_corrupt = auto_dmInner_tl_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_tl_in_d_ready = auto_dmInner_tl_in_d_ready; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_dmi_in_a_valid = dmiXing_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign dmInner_auto_dmi_in_a_bits_opcode = dmiXing_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign dmInner_auto_dmi_in_a_bits_param = dmiXing_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign dmInner_auto_dmi_in_a_bits_size = dmiXing_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign dmInner_auto_dmi_in_a_bits_source = dmiXing_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign dmInner_auto_dmi_in_a_bits_address = dmiXing_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign dmInner_auto_dmi_in_a_bits_mask = dmiXing_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign dmInner_auto_dmi_in_a_bits_data = dmiXing_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign dmInner_auto_dmi_in_a_bits_corrupt = dmiXing_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign dmInner_auto_dmi_in_d_ready = dmiXing_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign dmInner_io_dmactive = dmactive_synced_dmactive_synced_dmactiveSync_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign dmInner_io_innerCtrl_valid = dmactive_synced_dmInner_io_innerCtrl_sink_io_deq_valid; // @[Debug.scala 1787:35]
+  assign dmInner_io_innerCtrl_bits_resumereq = dmactive_synced_dmInner_io_innerCtrl_sink_io_deq_bits_resumereq; // @[Debug.scala 1787:35]
+  assign dmInner_io_innerCtrl_bits_hartsel = dmactive_synced_dmInner_io_innerCtrl_sink_io_deq_bits_hartsel; // @[Debug.scala 1787:35]
+  assign dmInner_io_innerCtrl_bits_ackhavereset = dmactive_synced_dmInner_io_innerCtrl_sink_io_deq_bits_ackhavereset; // @[Debug.scala 1787:35]
+  assign dmInner_io_innerCtrl_bits_hrmask_0 = dmactive_synced_dmInner_io_innerCtrl_sink_io_deq_bits_hrmask_0; // @[Debug.scala 1787:35]
+  assign dmiXing_clock = io_debug_clock; // @[Debug.scala 1777:16 LazyModule.scala 350:31]
+  assign dmiXing_auto_in_a_mem_0_opcode = auto_dmiXing_in_a_mem_0_opcode; // @[LazyModule.scala 309:16]
+  assign dmiXing_auto_in_a_mem_0_address = auto_dmiXing_in_a_mem_0_address; // @[LazyModule.scala 309:16]
+  assign dmiXing_auto_in_a_mem_0_data = auto_dmiXing_in_a_mem_0_data; // @[LazyModule.scala 309:16]
+  assign dmiXing_auto_in_a_widx = auto_dmiXing_in_a_widx; // @[LazyModule.scala 309:16]
+  assign dmiXing_auto_in_a_safe_widx_valid = auto_dmiXing_in_a_safe_widx_valid; // @[LazyModule.scala 309:16]
+  assign dmiXing_auto_in_a_safe_source_reset_n = auto_dmiXing_in_a_safe_source_reset_n; // @[LazyModule.scala 309:16]
+  assign dmiXing_auto_in_d_ridx = auto_dmiXing_in_d_ridx; // @[LazyModule.scala 309:16]
+  assign dmiXing_auto_in_d_safe_ridx_valid = auto_dmiXing_in_d_safe_ridx_valid; // @[LazyModule.scala 309:16]
+  assign dmiXing_auto_in_d_safe_sink_reset_n = auto_dmiXing_in_d_safe_sink_reset_n; // @[LazyModule.scala 309:16]
+  assign dmiXing_auto_out_a_ready = dmInner_auto_dmi_in_a_ready; // @[LazyModule.scala 296:16]
+  assign dmiXing_auto_out_d_valid = dmInner_auto_dmi_in_d_valid; // @[LazyModule.scala 296:16]
+  assign dmiXing_auto_out_d_bits_opcode = dmInner_auto_dmi_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign dmiXing_auto_out_d_bits_size = dmInner_auto_dmi_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign dmiXing_auto_out_d_bits_source = dmInner_auto_dmi_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign dmiXing_auto_out_d_bits_data = dmInner_auto_dmi_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign dmactive_synced_dmactive_synced_dmactiveSync_clock = io_debug_clock; // @[Debug.scala 1777:16 LazyModule.scala 350:31]
+  assign dmactive_synced_dmactive_synced_dmactiveSync_reset = 1'h0; // @[Debug.scala 1778:16 LazyModule.scala 352:31]
+  assign dmactive_synced_dmactive_synced_dmactiveSync_io_d = io_dmactive; // @[ShiftReg.scala 47:16]
+  assign dmactive_synced_dmInner_io_innerCtrl_sink_clock = io_debug_clock; // @[Debug.scala 1777:16 LazyModule.scala 350:31]
+  assign dmactive_synced_dmInner_io_innerCtrl_sink_io_async_mem_0_resumereq = io_innerCtrl_mem_0_resumereq; // @[AsyncQueue.scala 208:19]
+  assign dmactive_synced_dmInner_io_innerCtrl_sink_io_async_mem_0_ackhavereset = io_innerCtrl_mem_0_ackhavereset; // @[AsyncQueue.scala 208:19]
+  assign dmactive_synced_dmInner_io_innerCtrl_sink_io_async_mem_0_hrmask_0 = io_innerCtrl_mem_0_hrmask_0; // @[AsyncQueue.scala 208:19]
+  assign dmactive_synced_dmInner_io_innerCtrl_sink_io_async_widx = io_innerCtrl_widx; // @[AsyncQueue.scala 208:19]
+  assign dmactive_synced_dmInner_io_innerCtrl_sink_io_async_safe_widx_valid = io_innerCtrl_safe_widx_valid; // @[AsyncQueue.scala 208:19]
+  assign dmactive_synced_dmInner_io_innerCtrl_sink_io_async_safe_source_reset_n = io_innerCtrl_safe_source_reset_n; // @[AsyncQueue.scala 208:19]
+endmodule
+module TLDebugModule(
+  output        auto_dmInner_dmInner_tl_in_a_ready,
+  input         auto_dmInner_dmInner_tl_in_a_valid,
+  input  [2:0]  auto_dmInner_dmInner_tl_in_a_bits_opcode,
+  input  [2:0]  auto_dmInner_dmInner_tl_in_a_bits_param,
+  input  [1:0]  auto_dmInner_dmInner_tl_in_a_bits_size,
+  input  [6:0]  auto_dmInner_dmInner_tl_in_a_bits_source,
+  input  [11:0] auto_dmInner_dmInner_tl_in_a_bits_address,
+  input  [3:0]  auto_dmInner_dmInner_tl_in_a_bits_mask,
+  input  [31:0] auto_dmInner_dmInner_tl_in_a_bits_data,
+  input         auto_dmInner_dmInner_tl_in_a_bits_corrupt,
+  input         auto_dmInner_dmInner_tl_in_d_ready,
+  output        auto_dmInner_dmInner_tl_in_d_valid,
+  output [2:0]  auto_dmInner_dmInner_tl_in_d_bits_opcode,
+  output [1:0]  auto_dmInner_dmInner_tl_in_d_bits_size,
+  output [6:0]  auto_dmInner_dmInner_tl_in_d_bits_source,
+  output [31:0] auto_dmInner_dmInner_tl_in_d_bits_data,
+  output        auto_dmOuter_intsource_out_sync_0,
+  input         io_debug_clock,
+  output        io_ctrl_ndreset,
+  output        io_dmi_dmi_req_ready,
+  input         io_dmi_dmi_req_valid,
+  input  [6:0]  io_dmi_dmi_req_bits_addr,
+  input  [31:0] io_dmi_dmi_req_bits_data,
+  input  [1:0]  io_dmi_dmi_req_bits_op,
+  input         io_dmi_dmi_resp_ready,
+  output        io_dmi_dmi_resp_valid,
+  output [31:0] io_dmi_dmi_resp_bits_data,
+  output [1:0]  io_dmi_dmi_resp_bits_resp,
+  input         io_dmi_dmiClock,
+  input         io_dmi_dmiReset
+);
+  wire [2:0] dmOuter_auto_asource_out_a_mem_0_opcode; // @[Debug.scala 1819:53]
+  wire [8:0] dmOuter_auto_asource_out_a_mem_0_address; // @[Debug.scala 1819:53]
+  wire [31:0] dmOuter_auto_asource_out_a_mem_0_data; // @[Debug.scala 1819:53]
+  wire  dmOuter_auto_asource_out_a_ridx; // @[Debug.scala 1819:53]
+  wire  dmOuter_auto_asource_out_a_widx; // @[Debug.scala 1819:53]
+  wire  dmOuter_auto_asource_out_a_safe_ridx_valid; // @[Debug.scala 1819:53]
+  wire  dmOuter_auto_asource_out_a_safe_widx_valid; // @[Debug.scala 1819:53]
+  wire  dmOuter_auto_asource_out_a_safe_source_reset_n; // @[Debug.scala 1819:53]
+  wire [2:0] dmOuter_auto_asource_out_d_mem_0_opcode; // @[Debug.scala 1819:53]
+  wire [1:0] dmOuter_auto_asource_out_d_mem_0_size; // @[Debug.scala 1819:53]
+  wire  dmOuter_auto_asource_out_d_mem_0_source; // @[Debug.scala 1819:53]
+  wire [31:0] dmOuter_auto_asource_out_d_mem_0_data; // @[Debug.scala 1819:53]
+  wire  dmOuter_auto_asource_out_d_ridx; // @[Debug.scala 1819:53]
+  wire  dmOuter_auto_asource_out_d_widx; // @[Debug.scala 1819:53]
+  wire  dmOuter_auto_asource_out_d_safe_ridx_valid; // @[Debug.scala 1819:53]
+  wire  dmOuter_auto_asource_out_d_safe_widx_valid; // @[Debug.scala 1819:53]
+  wire  dmOuter_auto_asource_out_d_safe_sink_reset_n; // @[Debug.scala 1819:53]
+  wire  dmOuter_auto_intsource_out_sync_0; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_dmi_clock; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_dmi_reset; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_dmi_req_ready; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_dmi_req_valid; // @[Debug.scala 1819:53]
+  wire [6:0] dmOuter_io_dmi_req_bits_addr; // @[Debug.scala 1819:53]
+  wire [31:0] dmOuter_io_dmi_req_bits_data; // @[Debug.scala 1819:53]
+  wire [1:0] dmOuter_io_dmi_req_bits_op; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_dmi_resp_ready; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_dmi_resp_valid; // @[Debug.scala 1819:53]
+  wire [31:0] dmOuter_io_dmi_resp_bits_data; // @[Debug.scala 1819:53]
+  wire [1:0] dmOuter_io_dmi_resp_bits_resp; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_ctrl_ndreset; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_ctrl_dmactive; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_innerCtrl_mem_0_resumereq; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_innerCtrl_mem_0_ackhavereset; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_innerCtrl_mem_0_hrmask_0; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_innerCtrl_ridx; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_innerCtrl_widx; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_innerCtrl_safe_ridx_valid; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_innerCtrl_safe_widx_valid; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_innerCtrl_safe_source_reset_n; // @[Debug.scala 1819:53]
+  wire  dmOuter_io_hgDebugInt_0; // @[Debug.scala 1819:53]
+  wire [2:0] dmInner_auto_dmiXing_in_a_mem_0_opcode; // @[Debug.scala 1820:53]
+  wire [8:0] dmInner_auto_dmiXing_in_a_mem_0_address; // @[Debug.scala 1820:53]
+  wire [31:0] dmInner_auto_dmiXing_in_a_mem_0_data; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmiXing_in_a_ridx; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmiXing_in_a_widx; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmiXing_in_a_safe_ridx_valid; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmiXing_in_a_safe_widx_valid; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmiXing_in_a_safe_source_reset_n; // @[Debug.scala 1820:53]
+  wire [2:0] dmInner_auto_dmiXing_in_d_mem_0_opcode; // @[Debug.scala 1820:53]
+  wire [1:0] dmInner_auto_dmiXing_in_d_mem_0_size; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmiXing_in_d_mem_0_source; // @[Debug.scala 1820:53]
+  wire [31:0] dmInner_auto_dmiXing_in_d_mem_0_data; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmiXing_in_d_ridx; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmiXing_in_d_widx; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmiXing_in_d_safe_ridx_valid; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmiXing_in_d_safe_widx_valid; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmiXing_in_d_safe_sink_reset_n; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmInner_tl_in_a_ready; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmInner_tl_in_a_valid; // @[Debug.scala 1820:53]
+  wire [2:0] dmInner_auto_dmInner_tl_in_a_bits_opcode; // @[Debug.scala 1820:53]
+  wire [2:0] dmInner_auto_dmInner_tl_in_a_bits_param; // @[Debug.scala 1820:53]
+  wire [1:0] dmInner_auto_dmInner_tl_in_a_bits_size; // @[Debug.scala 1820:53]
+  wire [6:0] dmInner_auto_dmInner_tl_in_a_bits_source; // @[Debug.scala 1820:53]
+  wire [11:0] dmInner_auto_dmInner_tl_in_a_bits_address; // @[Debug.scala 1820:53]
+  wire [3:0] dmInner_auto_dmInner_tl_in_a_bits_mask; // @[Debug.scala 1820:53]
+  wire [31:0] dmInner_auto_dmInner_tl_in_a_bits_data; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmInner_tl_in_a_bits_corrupt; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmInner_tl_in_d_ready; // @[Debug.scala 1820:53]
+  wire  dmInner_auto_dmInner_tl_in_d_valid; // @[Debug.scala 1820:53]
+  wire [2:0] dmInner_auto_dmInner_tl_in_d_bits_opcode; // @[Debug.scala 1820:53]
+  wire [1:0] dmInner_auto_dmInner_tl_in_d_bits_size; // @[Debug.scala 1820:53]
+  wire [6:0] dmInner_auto_dmInner_tl_in_d_bits_source; // @[Debug.scala 1820:53]
+  wire [31:0] dmInner_auto_dmInner_tl_in_d_bits_data; // @[Debug.scala 1820:53]
+  wire  dmInner_io_debug_clock; // @[Debug.scala 1820:53]
+  wire  dmInner_io_dmactive; // @[Debug.scala 1820:53]
+  wire  dmInner_io_innerCtrl_mem_0_resumereq; // @[Debug.scala 1820:53]
+  wire  dmInner_io_innerCtrl_mem_0_ackhavereset; // @[Debug.scala 1820:53]
+  wire  dmInner_io_innerCtrl_mem_0_hrmask_0; // @[Debug.scala 1820:53]
+  wire  dmInner_io_innerCtrl_ridx; // @[Debug.scala 1820:53]
+  wire  dmInner_io_innerCtrl_widx; // @[Debug.scala 1820:53]
+  wire  dmInner_io_innerCtrl_safe_ridx_valid; // @[Debug.scala 1820:53]
+  wire  dmInner_io_innerCtrl_safe_widx_valid; // @[Debug.scala 1820:53]
+  wire  dmInner_io_innerCtrl_safe_source_reset_n; // @[Debug.scala 1820:53]
+  wire  dmInner_io_hgDebugInt_0; // @[Debug.scala 1820:53]
+  TLDebugModuleOuterAsync dmOuter ( // @[Debug.scala 1819:53]
+    .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_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_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_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_clock(dmOuter_io_dmi_clock),
+    .io_dmi_reset(dmOuter_io_dmi_reset),
+    .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_ackhavereset(dmOuter_io_innerCtrl_mem_0_ackhavereset),
+    .io_innerCtrl_mem_0_hrmask_0(dmOuter_io_innerCtrl_mem_0_hrmask_0),
+    .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_hgDebugInt_0(dmOuter_io_hgDebugInt_0)
+  );
+  TLDebugModuleInnerAsync dmInner ( // @[Debug.scala 1820:53]
+    .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_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_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_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_debug_clock(dmInner_io_debug_clock),
+    .io_dmactive(dmInner_io_dmactive),
+    .io_innerCtrl_mem_0_resumereq(dmInner_io_innerCtrl_mem_0_resumereq),
+    .io_innerCtrl_mem_0_ackhavereset(dmInner_io_innerCtrl_mem_0_ackhavereset),
+    .io_innerCtrl_mem_0_hrmask_0(dmInner_io_innerCtrl_mem_0_hrmask_0),
+    .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_hgDebugInt_0(dmInner_io_hgDebugInt_0)
+  );
+  assign auto_dmInner_dmInner_tl_in_a_ready = dmInner_auto_dmInner_tl_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_dmInner_dmInner_tl_in_d_valid = dmInner_auto_dmInner_tl_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_dmInner_dmInner_tl_in_d_bits_opcode = dmInner_auto_dmInner_tl_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_dmInner_dmInner_tl_in_d_bits_size = dmInner_auto_dmInner_tl_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_dmInner_dmInner_tl_in_d_bits_source = dmInner_auto_dmInner_tl_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_dmInner_dmInner_tl_in_d_bits_data = dmInner_auto_dmInner_tl_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_dmOuter_intsource_out_sync_0 = dmOuter_auto_intsource_out_sync_0; // @[LazyModule.scala 311:12]
+  assign io_ctrl_ndreset = dmOuter_io_ctrl_ndreset; // @[Debug.scala 1879:13]
+  assign io_dmi_dmi_req_ready = dmOuter_io_dmi_req_ready; // @[Debug.scala 1857:18]
+  assign io_dmi_dmi_resp_valid = dmOuter_io_dmi_resp_valid; // @[Debug.scala 1857:18]
+  assign io_dmi_dmi_resp_bits_data = dmOuter_io_dmi_resp_bits_data; // @[Debug.scala 1857:18]
+  assign io_dmi_dmi_resp_bits_resp = dmOuter_io_dmi_resp_bits_resp; // @[Debug.scala 1857:18]
+  assign dmOuter_auto_asource_out_a_ridx = dmInner_auto_dmiXing_in_a_ridx; // @[LazyModule.scala 298:16]
+  assign dmOuter_auto_asource_out_a_safe_ridx_valid = dmInner_auto_dmiXing_in_a_safe_ridx_valid; // @[LazyModule.scala 298:16]
+  assign dmOuter_auto_asource_out_d_mem_0_opcode = dmInner_auto_dmiXing_in_d_mem_0_opcode; // @[LazyModule.scala 298:16]
+  assign dmOuter_auto_asource_out_d_mem_0_size = dmInner_auto_dmiXing_in_d_mem_0_size; // @[LazyModule.scala 298:16]
+  assign dmOuter_auto_asource_out_d_mem_0_source = dmInner_auto_dmiXing_in_d_mem_0_source; // @[LazyModule.scala 298:16]
+  assign dmOuter_auto_asource_out_d_mem_0_data = dmInner_auto_dmiXing_in_d_mem_0_data; // @[LazyModule.scala 298:16]
+  assign dmOuter_auto_asource_out_d_widx = dmInner_auto_dmiXing_in_d_widx; // @[LazyModule.scala 298:16]
+  assign dmOuter_auto_asource_out_d_safe_widx_valid = dmInner_auto_dmiXing_in_d_safe_widx_valid; // @[LazyModule.scala 298:16]
+  assign dmOuter_io_dmi_clock = io_dmi_dmiClock; // @[Debug.scala 1859:35]
+  assign dmOuter_io_dmi_reset = io_dmi_dmiReset; // @[Debug.scala 1858:35]
+  assign dmOuter_io_dmi_req_valid = io_dmi_dmi_req_valid; // @[Debug.scala 1857:18]
+  assign dmOuter_io_dmi_req_bits_addr = io_dmi_dmi_req_bits_addr; // @[Debug.scala 1857:18]
+  assign dmOuter_io_dmi_req_bits_data = io_dmi_dmi_req_bits_data; // @[Debug.scala 1857:18]
+  assign dmOuter_io_dmi_req_bits_op = io_dmi_dmi_req_bits_op; // @[Debug.scala 1857:18]
+  assign dmOuter_io_dmi_resp_ready = io_dmi_dmi_resp_ready; // @[Debug.scala 1857:18]
+  assign dmOuter_io_innerCtrl_ridx = dmInner_io_innerCtrl_ridx; // @[Debug.scala 1874:36]
+  assign dmOuter_io_innerCtrl_safe_ridx_valid = dmInner_io_innerCtrl_safe_ridx_valid; // @[Debug.scala 1874:36]
+  assign dmOuter_io_hgDebugInt_0 = dmInner_io_hgDebugInt_0; // @[Debug.scala 1877:36]
+  assign dmInner_auto_dmiXing_in_a_mem_0_opcode = dmOuter_auto_asource_out_a_mem_0_opcode; // @[LazyModule.scala 298:16]
+  assign dmInner_auto_dmiXing_in_a_mem_0_address = dmOuter_auto_asource_out_a_mem_0_address; // @[LazyModule.scala 298:16]
+  assign dmInner_auto_dmiXing_in_a_mem_0_data = dmOuter_auto_asource_out_a_mem_0_data; // @[LazyModule.scala 298:16]
+  assign dmInner_auto_dmiXing_in_a_widx = dmOuter_auto_asource_out_a_widx; // @[LazyModule.scala 298:16]
+  assign dmInner_auto_dmiXing_in_a_safe_widx_valid = dmOuter_auto_asource_out_a_safe_widx_valid; // @[LazyModule.scala 298:16]
+  assign dmInner_auto_dmiXing_in_a_safe_source_reset_n = dmOuter_auto_asource_out_a_safe_source_reset_n; // @[LazyModule.scala 298:16]
+  assign dmInner_auto_dmiXing_in_d_ridx = dmOuter_auto_asource_out_d_ridx; // @[LazyModule.scala 298:16]
+  assign dmInner_auto_dmiXing_in_d_safe_ridx_valid = dmOuter_auto_asource_out_d_safe_ridx_valid; // @[LazyModule.scala 298:16]
+  assign dmInner_auto_dmiXing_in_d_safe_sink_reset_n = dmOuter_auto_asource_out_d_safe_sink_reset_n; // @[LazyModule.scala 298:16]
+  assign dmInner_auto_dmInner_tl_in_a_valid = auto_dmInner_dmInner_tl_in_a_valid; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_dmInner_tl_in_a_bits_opcode = auto_dmInner_dmInner_tl_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_dmInner_tl_in_a_bits_param = auto_dmInner_dmInner_tl_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_dmInner_tl_in_a_bits_size = auto_dmInner_dmInner_tl_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_dmInner_tl_in_a_bits_source = auto_dmInner_dmInner_tl_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_dmInner_tl_in_a_bits_address = auto_dmInner_dmInner_tl_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_dmInner_tl_in_a_bits_mask = auto_dmInner_dmInner_tl_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_dmInner_tl_in_a_bits_data = auto_dmInner_dmInner_tl_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_dmInner_tl_in_a_bits_corrupt = auto_dmInner_dmInner_tl_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign dmInner_auto_dmInner_tl_in_d_ready = auto_dmInner_dmInner_tl_in_d_ready; // @[LazyModule.scala 309:16]
+  assign dmInner_io_debug_clock = io_debug_clock; // @[Debug.scala 1870:35]
+  assign dmInner_io_dmactive = dmOuter_io_ctrl_dmactive; // @[Debug.scala 1875:36]
+  assign dmInner_io_innerCtrl_mem_0_resumereq = dmOuter_io_innerCtrl_mem_0_resumereq; // @[Debug.scala 1874:36]
+  assign dmInner_io_innerCtrl_mem_0_ackhavereset = dmOuter_io_innerCtrl_mem_0_ackhavereset; // @[Debug.scala 1874:36]
+  assign dmInner_io_innerCtrl_mem_0_hrmask_0 = dmOuter_io_innerCtrl_mem_0_hrmask_0; // @[Debug.scala 1874:36]
+  assign dmInner_io_innerCtrl_widx = dmOuter_io_innerCtrl_widx; // @[Debug.scala 1874:36]
+  assign dmInner_io_innerCtrl_safe_widx_valid = dmOuter_io_innerCtrl_safe_widx_valid; // @[Debug.scala 1874:36]
+  assign dmInner_io_innerCtrl_safe_source_reset_n = dmOuter_io_innerCtrl_safe_source_reset_n; // @[Debug.scala 1874:36]
+endmodule
+module BundleBridgeNexus_15(
+  output  auto_out
+);
+  wire  outputs_0 = 1'h0; // @[HasTiles.scala 162:32]
+  assign auto_out = outputs_0; // @[Nodes.scala 1207:84 BundleBridge.scala 151:67]
+endmodule
+module AsyncResetRegVec_w2_i0(
+  input        clock,
+  input        reset,
+  input  [1:0] io_d,
+  output [1:0] io_q
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+`endif // RANDOMIZE_REG_INIT
+  reg [1:0] reg_; // @[AsyncResetReg.scala 64:50]
+  assign io_q = reg_; // @[AsyncResetReg.scala 68:8]
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncResetReg.scala 65:16]
+      reg_ <= 2'h0; // @[AsyncResetReg.scala 66:9]
+    end else begin
+      reg_ <= io_d; // @[AsyncResetReg.scala 64:50]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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[1:0];
+`endif // RANDOMIZE_REG_INIT
+  if (reset) begin
+    reg_ = 2'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module IntSyncCrossingSource_5(
+  input   clock,
+  input   reset,
+  input   auto_in_0,
+  input   auto_in_1,
+  output  auto_out_sync_0,
+  output  auto_out_sync_1
+);
+  wire  reg__clock; // @[AsyncResetReg.scala 89:21]
+  wire  reg__reset; // @[AsyncResetReg.scala 89:21]
+  wire [1:0] reg__io_d; // @[AsyncResetReg.scala 89:21]
+  wire [1:0] reg__io_q; // @[AsyncResetReg.scala 89:21]
+  AsyncResetRegVec_w2_i0 reg_ ( // @[AsyncResetReg.scala 89:21]
+    .clock(reg__clock),
+    .reset(reg__reset),
+    .io_d(reg__io_d),
+    .io_q(reg__io_q)
+  );
+  assign auto_out_sync_0 = reg__io_q[0]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_1 = reg__io_q[1]; // @[Crossing.scala 41:52]
+  assign reg__clock = clock;
+  assign reg__reset = reset;
+  assign reg__io_d = {auto_in_1,auto_in_0}; // @[Cat.scala 31:58]
+endmodule
+module TLMonitor_55(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10000000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire [127:0] _GEN_15 = io_in_a_valid & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 648:71 649:22]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [127:0] _GEN_21 = io_in_d_valid & d_first_1 & ~_T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 671:90 672:22]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set_wo_ready = _GEN_15[95:0];
+  wire [95:0] d_clr_wo_ready = _GEN_21[95:0];
+  wire  _T_661 = a_set_wo_ready != d_clr_wo_ready | ~(|a_set_wo_ready); // @[Monitor.scala 699:48]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_670 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_696 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_704 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_714 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_739 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_661 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_2 & ~_T_661) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_670 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_670) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_704[0] & (_T_696 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_696 & _T_2 & ~_T_704[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_714 & (_T_696 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_696 & _T_2 & ~_T_714) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_739 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_739) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at MockAONWrapper.scala:48:23)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module RTC(
+  input         clock,
+  input         reset,
+  input         scale_io_regs_cfg_write__countAlways,
+  input  [3:0]  scale_io_regs_cfg_write__scale,
+  output        scale_io_regs_cfg_read_ip_0,
+  output        scale_io_regs_cfg_read_countAlways,
+  output [3:0]  scale_io_regs_cfg_read_scale,
+  input         scale_io_regs_cfg_write_countAlways,
+  input         scale_io_regs_cfg_write_scale,
+  input         scale_io_regs_countLo_write_valid,
+  input  [31:0] scale_io_regs_countLo_write_bits,
+  output [31:0] scale_io_regs_countLo_read,
+  input         scale_io_regs_countHi_write_valid,
+  input  [31:0] scale_io_regs_countHi_write_bits,
+  output [31:0] scale_io_regs_countHi_read,
+  output [31:0] scale_io_regs_s_read,
+  input         scale_io_regs_cmp_0_write_valid,
+  input  [31:0] scale_io_regs_cmp_0_write_bits,
+  output [31:0] scale_io_regs_cmp_0_read,
+  output        scale_io_ip_0
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [63:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  wire  countAlways_reg_clock; // @[AsyncResetReg.scala 89:21]
+  wire  countAlways_reg_reset; // @[AsyncResetReg.scala 89:21]
+  wire  countAlways_reg_io_d; // @[AsyncResetReg.scala 89:21]
+  wire  countAlways_reg_io_q; // @[AsyncResetReg.scala 89:21]
+  wire  countAlways_reg_io_en; // @[AsyncResetReg.scala 89:21]
+  reg [3:0] scale; // @[Reg.scala 16:16]
+  reg [31:0] cmp_0; // @[Reg.scala 16:16]
+  wire  countAlways = countAlways_reg_io_q; // @[RTC.scala 22:123]
+  reg [5:0] small_; // @[Counters.scala 45:37]
+  wire [5:0] _GEN_10 = {{5'd0}, countAlways}; // @[Counters.scala 46:33]
+  wire [6:0] nextSmall = small_ + _GEN_10; // @[Counters.scala 46:33]
+  reg [41:0] large_; // @[Counters.scala 50:27]
+  wire [41:0] _large_r_T_1 = large_ + 42'h1; // @[Counters.scala 51:55]
+  wire [41:0] _GEN_3 = nextSmall[6] ? _large_r_T_1 : large_; // @[Counters.scala 50:27 51:{46,50}]
+  wire [47:0] value = {large_,small_}; // @[Cat.scala 31:58]
+  wire [47:0] _s_T = value >> scale; // @[Timer.scala 209:28]
+  wire [31:0] s = _s_T[31:0]; // @[Timer.scala 209:37]
+  wire [47:0] _T_3 = {value[47:32],scale_io_regs_countLo_write_bits}; // @[Cat.scala 31:58]
+  wire [47:0] _GEN_6 = scale_io_regs_countLo_write_valid ? _T_3 : {{41'd0}, nextSmall}; // @[Timer.scala 214:50 Counters.scala 65:11]
+  wire [41:0] _GEN_7 = scale_io_regs_countLo_write_valid ? _T_3[47:6] : _GEN_3; // @[Timer.scala 214:50 Counters.scala 66:23]
+  wire [63:0] _T_6 = {scale_io_regs_countHi_write_bits,value[31:0]}; // @[Cat.scala 31:58]
+  wire [63:0] _GEN_8 = scale_io_regs_countHi_write_valid ? _T_6 : {{16'd0}, _GEN_6}; // @[Timer.scala 215:77 Counters.scala 65:11]
+  wire [57:0] _GEN_9 = scale_io_regs_countHi_write_valid ? _T_6[63:6] : {{16'd0}, _GEN_7}; // @[Timer.scala 215:77 Counters.scala 66:23]
+  reg  ip_0; // @[RTC.scala 20:43]
+  AsyncResetRegVec_w1_i0 countAlways_reg ( // @[AsyncResetReg.scala 89:21]
+    .clock(countAlways_reg_clock),
+    .reset(countAlways_reg_reset),
+    .io_d(countAlways_reg_io_d),
+    .io_q(countAlways_reg_io_q),
+    .io_en(countAlways_reg_io_en)
+  );
+  assign scale_io_regs_cfg_read_ip_0 = ip_0; // @[Timer.scala 218:23]
+  assign scale_io_regs_cfg_read_countAlways = countAlways_reg_io_q; // @[RTC.scala 22:123]
+  assign scale_io_regs_cfg_read_scale = scale; // @[Timer.scala 227:26]
+  assign scale_io_regs_countLo_read = value[31:0]; // @[Timer.scala 229:24]
+  assign scale_io_regs_countHi_read = {{16'd0}, value[47:32]}; // @[Timer.scala 230:24]
+  assign scale_io_regs_s_read = _s_T[31:0]; // @[Timer.scala 209:37]
+  assign scale_io_regs_cmp_0_read = cmp_0; // @[Timer.scala 232:53]
+  assign scale_io_ip_0 = ip_0; // @[Timer.scala 235:9]
+  assign countAlways_reg_clock = clock;
+  assign countAlways_reg_reset = reset;
+  assign countAlways_reg_io_d = scale_io_regs_cfg_write__countAlways; // @[AsyncResetReg.scala 91:14]
+  assign countAlways_reg_io_en = scale_io_regs_cfg_write_countAlways; // @[RTC.scala 22:111]
+  always @(posedge clock) begin
+    if (scale_io_regs_cfg_write_scale) begin // @[Reg.scala 17:18]
+      scale <= scale_io_regs_cfg_write__scale; // @[Reg.scala 17:22]
+    end
+    if (scale_io_regs_cmp_0_write_valid) begin // @[Reg.scala 17:18]
+      cmp_0 <= scale_io_regs_cmp_0_write_bits; // @[Reg.scala 17:22]
+    end
+    if (reset) begin // @[Counters.scala 45:37]
+      small_ <= 6'h0; // @[Counters.scala 45:37]
+    end else begin
+      small_ <= _GEN_8[5:0];
+    end
+    if (reset) begin // @[Counters.scala 50:27]
+      large_ <= 42'h0; // @[Counters.scala 50:27]
+    end else begin
+      large_ <= _GEN_9[41:0];
+    end
+    ip_0 <= s >= cmp_0; // @[Timer.scala 211:90]
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  cmp_0 = _RAND_1[31:0];
+  _RAND_2 = {1{`RANDOM}};
+  small_ = _RAND_2[5:0];
+  _RAND_3 = {2{`RANDOM}};
+  large_ = _RAND_3[41:0];
+  _RAND_4 = {1{`RANDOM}};
+  ip_0 = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module PMUCore(
+  input         clock,
+  input         reset,
+  input         io_wakeup_rtc,
+  output        io_control_valid,
+  output        io_control_bits_hfclkrst,
+  output        io_control_bits_corerst,
+  output        io_control_bits_reserved1,
+  output        io_control_bits_vddpaden,
+  output        io_control_bits_reserved0,
+  input  [1:0]  io_resetCause,
+  input         io_regs_ie_write_valid,
+  input  [3:0]  io_regs_ie_write_bits,
+  output [3:0]  io_regs_ie_read,
+  input         io_regs_cause_write_valid,
+  output [31:0] io_regs_cause_read,
+  input         io_regs_sleep_write_valid,
+  input         io_regs_key_write_valid,
+  input  [31:0] io_regs_key_write_bits,
+  output [31:0] io_regs_key_read,
+  input         io_regs_wakeupProgram_0_write_valid,
+  input  [31:0] io_regs_wakeupProgram_0_write_bits,
+  output [31:0] io_regs_wakeupProgram_0_read,
+  input         io_regs_wakeupProgram_1_write_valid,
+  input  [31:0] io_regs_wakeupProgram_1_write_bits,
+  output [31:0] io_regs_wakeupProgram_1_read,
+  input         io_regs_wakeupProgram_2_write_valid,
+  input  [31:0] io_regs_wakeupProgram_2_write_bits,
+  output [31:0] io_regs_wakeupProgram_2_read,
+  input         io_regs_wakeupProgram_3_write_valid,
+  input  [31:0] io_regs_wakeupProgram_3_write_bits,
+  output [31:0] io_regs_wakeupProgram_3_read,
+  input         io_regs_wakeupProgram_4_write_valid,
+  input  [31:0] io_regs_wakeupProgram_4_write_bits,
+  output [31:0] io_regs_wakeupProgram_4_read,
+  input         io_regs_wakeupProgram_5_write_valid,
+  input  [31:0] io_regs_wakeupProgram_5_write_bits,
+  output [31:0] io_regs_wakeupProgram_5_read,
+  input         io_regs_wakeupProgram_6_write_valid,
+  input  [31:0] io_regs_wakeupProgram_6_write_bits,
+  output [31:0] io_regs_wakeupProgram_6_read,
+  input         io_regs_wakeupProgram_7_write_valid,
+  input  [31:0] io_regs_wakeupProgram_7_write_bits,
+  output [31:0] io_regs_wakeupProgram_7_read,
+  input         io_regs_sleepProgram_0_write_valid,
+  input  [31:0] io_regs_sleepProgram_0_write_bits,
+  output [31:0] io_regs_sleepProgram_0_read,
+  input         io_regs_sleepProgram_1_write_valid,
+  input  [31:0] io_regs_sleepProgram_1_write_bits,
+  output [31:0] io_regs_sleepProgram_1_read,
+  input         io_regs_sleepProgram_2_write_valid,
+  input  [31:0] io_regs_sleepProgram_2_write_bits,
+  output [31:0] io_regs_sleepProgram_2_read,
+  input         io_regs_sleepProgram_3_write_valid,
+  input  [31:0] io_regs_sleepProgram_3_write_bits,
+  output [31:0] io_regs_sleepProgram_3_read,
+  input         io_regs_sleepProgram_4_write_valid,
+  input  [31:0] io_regs_sleepProgram_4_write_bits,
+  output [31:0] io_regs_sleepProgram_4_read,
+  input         io_regs_sleepProgram_5_write_valid,
+  input  [31:0] io_regs_sleepProgram_5_write_bits,
+  output [31:0] io_regs_sleepProgram_5_read,
+  input         io_regs_sleepProgram_6_write_valid,
+  input  [31:0] io_regs_sleepProgram_6_write_bits,
+  output [31:0] io_regs_sleepProgram_6_read,
+  input         io_regs_sleepProgram_7_write_valid,
+  input  [31:0] io_regs_sleepProgram_7_write_bits,
+  output [31:0] io_regs_sleepProgram_7_read
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+`endif // RANDOMIZE_REG_INIT
+  reg  run; // @[PMU.scala 69:16]
+  reg  awake; // @[PMU.scala 70:18]
+  wire  _unlocked_writeAny_T_6 = io_regs_sleepProgram_0_write_valid | io_regs_sleepProgram_1_write_valid |
+    io_regs_sleepProgram_2_write_valid | io_regs_sleepProgram_3_write_valid | io_regs_sleepProgram_4_write_valid |
+    io_regs_sleepProgram_5_write_valid | io_regs_sleepProgram_6_write_valid | io_regs_sleepProgram_7_write_valid; // @[WatchdogTimer.scala 17:74]
+  wire  _unlocked_writeAny_T_13 = io_regs_wakeupProgram_0_write_valid | io_regs_wakeupProgram_1_write_valid |
+    io_regs_wakeupProgram_2_write_valid | io_regs_wakeupProgram_3_write_valid | io_regs_wakeupProgram_4_write_valid |
+    io_regs_wakeupProgram_5_write_valid | io_regs_wakeupProgram_6_write_valid | io_regs_wakeupProgram_7_write_valid; // @[WatchdogTimer.scala 17:74]
+  wire  unlocked_writeAny = _unlocked_writeAny_T_6 | _unlocked_writeAny_T_13 | io_regs_sleep_write_valid |
+    io_regs_cause_write_valid | io_regs_ie_write_valid; // @[WatchdogTimer.scala 19:16]
+  wire  _unlocked_T_2 = io_regs_key_write_bits == 32'h51f15e & ~unlocked_writeAny; // @[PMU.scala 73:60]
+  wire  _unlocked_T_3 = io_regs_key_write_valid | unlocked_writeAny; // @[PMU.scala 73:111]
+  reg  unlocked; // @[Reg.scala 28:20]
+  wire  _wantSleep_T = io_regs_sleep_write_valid & unlocked; // @[PMU.scala 75:80]
+  reg  wantSleep; // @[Reg.scala 28:20]
+  wire  _GEN_1 = _wantSleep_T | wantSleep; // @[Reg.scala 29:18 28:20 29:22]
+  reg [2:0] pc; // @[PMU.scala 76:15]
+  reg [1:0] wakeupCause; // @[PMU.scala 77:24]
+  wire  _ie_T = io_regs_ie_write_valid & unlocked; // @[PMU.scala 78:68]
+  reg [3:0] ie_r; // @[Reg.scala 16:16]
+  wire [3:0] ie = ie_r | 4'h1; // @[PMU.scala 78:81]
+  reg [8:0] wakeupProgram_0; // @[PMU.scala 81:51]
+  reg [8:0] wakeupProgram_1; // @[PMU.scala 81:51]
+  reg [8:0] wakeupProgram_2; // @[PMU.scala 81:51]
+  reg [8:0] wakeupProgram_3; // @[PMU.scala 81:51]
+  reg [8:0] wakeupProgram_4; // @[PMU.scala 81:51]
+  reg [8:0] wakeupProgram_5; // @[PMU.scala 81:51]
+  reg [8:0] wakeupProgram_6; // @[PMU.scala 81:51]
+  reg [8:0] wakeupProgram_7; // @[PMU.scala 81:51]
+  reg [8:0] sleepProgram_0; // @[PMU.scala 82:49]
+  reg [8:0] sleepProgram_1; // @[PMU.scala 82:49]
+  reg [8:0] sleepProgram_2; // @[PMU.scala 82:49]
+  reg [8:0] sleepProgram_3; // @[PMU.scala 82:49]
+  reg [8:0] sleepProgram_4; // @[PMU.scala 82:49]
+  reg [8:0] sleepProgram_5; // @[PMU.scala 82:49]
+  reg [8:0] sleepProgram_6; // @[PMU.scala 82:49]
+  reg [8:0] sleepProgram_7; // @[PMU.scala 82:49]
+  wire [8:0] _insnBits_T_1 = pc == 3'h1 ? wakeupProgram_1 : wakeupProgram_0; // @[package.scala 32:76]
+  wire [8:0] _insnBits_T_3 = pc == 3'h2 ? wakeupProgram_2 : _insnBits_T_1; // @[package.scala 32:76]
+  wire [8:0] _insnBits_T_5 = pc == 3'h3 ? wakeupProgram_3 : _insnBits_T_3; // @[package.scala 32:76]
+  wire [8:0] _insnBits_T_7 = pc == 3'h4 ? wakeupProgram_4 : _insnBits_T_5; // @[package.scala 32:76]
+  wire [8:0] _insnBits_T_9 = pc == 3'h5 ? wakeupProgram_5 : _insnBits_T_7; // @[package.scala 32:76]
+  wire [8:0] _insnBits_T_11 = pc == 3'h6 ? wakeupProgram_6 : _insnBits_T_9; // @[package.scala 32:76]
+  wire [8:0] _insnBits_T_13 = pc == 3'h7 ? wakeupProgram_7 : _insnBits_T_11; // @[package.scala 32:76]
+  wire [8:0] _insnBits_T_15 = pc == 3'h1 ? sleepProgram_1 : sleepProgram_0; // @[package.scala 32:76]
+  wire [8:0] _insnBits_T_17 = pc == 3'h2 ? sleepProgram_2 : _insnBits_T_15; // @[package.scala 32:76]
+  wire [8:0] _insnBits_T_19 = pc == 3'h3 ? sleepProgram_3 : _insnBits_T_17; // @[package.scala 32:76]
+  wire [8:0] _insnBits_T_21 = pc == 3'h4 ? sleepProgram_4 : _insnBits_T_19; // @[package.scala 32:76]
+  wire [8:0] _insnBits_T_23 = pc == 3'h5 ? sleepProgram_5 : _insnBits_T_21; // @[package.scala 32:76]
+  wire [8:0] _insnBits_T_25 = pc == 3'h6 ? sleepProgram_6 : _insnBits_T_23; // @[package.scala 32:76]
+  wire [8:0] _insnBits_T_27 = pc == 3'h7 ? sleepProgram_7 : _insnBits_T_25; // @[package.scala 32:76]
+  wire [8:0] insnBits = awake ? _insnBits_T_13 : _insnBits_T_27; // @[PMU.scala 83:21]
+  wire [3:0] insn_dt = insnBits[3:0]; // @[PMU.scala 84:43]
+  reg [15:0] count; // @[PMU.scala 86:18]
+  wire [15:0] _tick_T_1 = count + 16'h1; // @[PMU.scala 87:30]
+  wire [15:0] _tick_T_2 = count ^ _tick_T_1; // @[PMU.scala 87:21]
+  wire [15:0] _tick_T_3 = _tick_T_2 >> insn_dt; // @[PMU.scala 87:35]
+  wire  tick = _tick_T_3[0]; // @[PMU.scala 87:35]
+  wire [3:0] npc = pc + 3'h1; // @[PMU.scala 88:16]
+  wire  last = npc >= 4'h8; // @[PMU.scala 89:18]
+  wire  _io_control_valid_T = ~last; // @[PMU.scala 90:30]
+  wire  _GEN_4 = tick ? _io_control_valid_T : run; // @[PMU.scala 95:17 99:11 69:16]
+  wire [3:0] _GEN_5 = tick ? npc : {{1'd0}, pc}; // @[PMU.scala 100:10 76:15 95:17]
+  wire [3:0] _maskedWakeupCauses_T = {2'h1,io_wakeup_rtc,1'h0}; // @[PMU.scala 103:45]
+  wire [3:0] maskedWakeupCauses = ie & _maskedWakeupCauses_T; // @[PMU.scala 103:33]
+  wire [1:0] _wakeupCause_T_4 = maskedWakeupCauses[2] ? 2'h2 : 2'h3; // @[Mux.scala 47:70]
+  wire [1:0] _wakeupCause_T_5 = maskedWakeupCauses[1] ? 2'h1 : _wakeupCause_T_4; // @[Mux.scala 47:70]
+  wire  _GEN_6 = ~awake & |maskedWakeupCauses | run; // @[PMU.scala 104:45 105:11 69:16]
+  wire  _GEN_7 = ~awake & |maskedWakeupCauses | awake; // @[PMU.scala 104:45 106:13 70:18]
+  wire  _GEN_9 = awake & wantSleep | _GEN_6; // @[PMU.scala 109:31 110:11]
+  wire  _GEN_10 = awake & wantSleep ? 1'h0 : _GEN_7; // @[PMU.scala 109:31 111:13]
+  wire  _GEN_13 = run ? _GEN_4 : _GEN_9; // @[PMU.scala 93:14]
+  wire [3:0] _GEN_14 = run ? _GEN_5 : {{1'd0}, pc}; // @[PMU.scala 93:14 76:15]
+  wire  _GEN_15 = run ? awake : _GEN_10; // @[PMU.scala 93:14 70:18]
+  wire [9:0] _io_regs_cause_read_T = {io_resetCause, 8'h0}; // @[PMU.scala 116:54]
+  wire [9:0] _GEN_34 = {{8'd0}, wakeupCause}; // @[PMU.scala 116:37]
+  wire [9:0] _io_regs_cause_read_T_1 = _GEN_34 | _io_regs_cause_read_T; // @[PMU.scala 116:37]
+  wire [31:0] _GEN_18 = io_regs_wakeupProgram_0_write_valid & unlocked ? io_regs_wakeupProgram_0_write_bits : {{23'd0},
+    wakeupProgram_0}; // @[PMU.scala 123:{41,47} 81:51]
+  wire [31:0] _GEN_19 = io_regs_wakeupProgram_1_write_valid & unlocked ? io_regs_wakeupProgram_1_write_bits : {{23'd0},
+    wakeupProgram_1}; // @[PMU.scala 123:{41,47} 81:51]
+  wire [31:0] _GEN_20 = io_regs_wakeupProgram_2_write_valid & unlocked ? io_regs_wakeupProgram_2_write_bits : {{23'd0},
+    wakeupProgram_2}; // @[PMU.scala 123:{41,47} 81:51]
+  wire [31:0] _GEN_21 = io_regs_wakeupProgram_3_write_valid & unlocked ? io_regs_wakeupProgram_3_write_bits : {{23'd0},
+    wakeupProgram_3}; // @[PMU.scala 123:{41,47} 81:51]
+  wire [31:0] _GEN_22 = io_regs_wakeupProgram_4_write_valid & unlocked ? io_regs_wakeupProgram_4_write_bits : {{23'd0},
+    wakeupProgram_4}; // @[PMU.scala 123:{41,47} 81:51]
+  wire [31:0] _GEN_23 = io_regs_wakeupProgram_5_write_valid & unlocked ? io_regs_wakeupProgram_5_write_bits : {{23'd0},
+    wakeupProgram_5}; // @[PMU.scala 123:{41,47} 81:51]
+  wire [31:0] _GEN_24 = io_regs_wakeupProgram_6_write_valid & unlocked ? io_regs_wakeupProgram_6_write_bits : {{23'd0},
+    wakeupProgram_6}; // @[PMU.scala 123:{41,47} 81:51]
+  wire [31:0] _GEN_25 = io_regs_wakeupProgram_7_write_valid & unlocked ? io_regs_wakeupProgram_7_write_bits : {{23'd0},
+    wakeupProgram_7}; // @[PMU.scala 123:{41,47} 81:51]
+  wire [31:0] _GEN_26 = io_regs_sleepProgram_0_write_valid & unlocked ? io_regs_sleepProgram_0_write_bits : {{23'd0},
+    sleepProgram_0}; // @[PMU.scala 123:{41,47} 82:49]
+  wire [31:0] _GEN_27 = io_regs_sleepProgram_1_write_valid & unlocked ? io_regs_sleepProgram_1_write_bits : {{23'd0},
+    sleepProgram_1}; // @[PMU.scala 123:{41,47} 82:49]
+  wire [31:0] _GEN_28 = io_regs_sleepProgram_2_write_valid & unlocked ? io_regs_sleepProgram_2_write_bits : {{23'd0},
+    sleepProgram_2}; // @[PMU.scala 123:{41,47} 82:49]
+  wire [31:0] _GEN_29 = io_regs_sleepProgram_3_write_valid & unlocked ? io_regs_sleepProgram_3_write_bits : {{23'd0},
+    sleepProgram_3}; // @[PMU.scala 123:{41,47} 82:49]
+  wire [31:0] _GEN_30 = io_regs_sleepProgram_4_write_valid & unlocked ? io_regs_sleepProgram_4_write_bits : {{23'd0},
+    sleepProgram_4}; // @[PMU.scala 123:{41,47} 82:49]
+  wire [31:0] _GEN_31 = io_regs_sleepProgram_5_write_valid & unlocked ? io_regs_sleepProgram_5_write_bits : {{23'd0},
+    sleepProgram_5}; // @[PMU.scala 123:{41,47} 82:49]
+  wire [31:0] _GEN_32 = io_regs_sleepProgram_6_write_valid & unlocked ? io_regs_sleepProgram_6_write_bits : {{23'd0},
+    sleepProgram_6}; // @[PMU.scala 123:{41,47} 82:49]
+  wire [31:0] _GEN_33 = io_regs_sleepProgram_7_write_valid & unlocked ? io_regs_sleepProgram_7_write_bits : {{23'd0},
+    sleepProgram_7}; // @[PMU.scala 123:{41,47} 82:49]
+  assign io_control_valid = run & ~last & tick; // @[PMU.scala 90:36]
+  assign io_control_bits_hfclkrst = insnBits[8]; // @[PMU.scala 84:43]
+  assign io_control_bits_corerst = insnBits[7]; // @[PMU.scala 84:43]
+  assign io_control_bits_reserved1 = insnBits[6]; // @[PMU.scala 84:43]
+  assign io_control_bits_vddpaden = insnBits[5]; // @[PMU.scala 84:43]
+  assign io_control_bits_reserved0 = insnBits[4]; // @[PMU.scala 84:43]
+  assign io_regs_ie_read = ie_r | 4'h1; // @[PMU.scala 78:81]
+  assign io_regs_cause_read = {{22'd0}, _io_regs_cause_read_T_1}; // @[PMU.scala 116:22]
+  assign io_regs_key_read = {{31'd0}, unlocked}; // @[PMU.scala 118:20]
+  assign io_regs_wakeupProgram_0_read = {{23'd0}, wakeupProgram_0}; // @[PMU.scala 122:15]
+  assign io_regs_wakeupProgram_1_read = {{23'd0}, wakeupProgram_1}; // @[PMU.scala 122:15]
+  assign io_regs_wakeupProgram_2_read = {{23'd0}, wakeupProgram_2}; // @[PMU.scala 122:15]
+  assign io_regs_wakeupProgram_3_read = {{23'd0}, wakeupProgram_3}; // @[PMU.scala 122:15]
+  assign io_regs_wakeupProgram_4_read = {{23'd0}, wakeupProgram_4}; // @[PMU.scala 122:15]
+  assign io_regs_wakeupProgram_5_read = {{23'd0}, wakeupProgram_5}; // @[PMU.scala 122:15]
+  assign io_regs_wakeupProgram_6_read = {{23'd0}, wakeupProgram_6}; // @[PMU.scala 122:15]
+  assign io_regs_wakeupProgram_7_read = {{23'd0}, wakeupProgram_7}; // @[PMU.scala 122:15]
+  assign io_regs_sleepProgram_0_read = {{23'd0}, sleepProgram_0}; // @[PMU.scala 122:15]
+  assign io_regs_sleepProgram_1_read = {{23'd0}, sleepProgram_1}; // @[PMU.scala 122:15]
+  assign io_regs_sleepProgram_2_read = {{23'd0}, sleepProgram_2}; // @[PMU.scala 122:15]
+  assign io_regs_sleepProgram_3_read = {{23'd0}, sleepProgram_3}; // @[PMU.scala 122:15]
+  assign io_regs_sleepProgram_4_read = {{23'd0}, sleepProgram_4}; // @[PMU.scala 122:15]
+  assign io_regs_sleepProgram_5_read = {{23'd0}, sleepProgram_5}; // @[PMU.scala 122:15]
+  assign io_regs_sleepProgram_6_read = {{23'd0}, sleepProgram_6}; // @[PMU.scala 122:15]
+  assign io_regs_sleepProgram_7_read = {{23'd0}, sleepProgram_7}; // @[PMU.scala 122:15]
+  always @(posedge clock) begin
+    run <= reset | _GEN_13; // @[PMU.scala 69:{16,16}]
+    awake <= reset | _GEN_15; // @[PMU.scala 70:{18,18}]
+    if (reset) begin // @[Reg.scala 28:20]
+      unlocked <= 1'h0; // @[Reg.scala 28:20]
+    end else if (_unlocked_T_3) begin // @[Reg.scala 29:18]
+      unlocked <= _unlocked_T_2; // @[Reg.scala 29:22]
+    end
+    if (reset) begin // @[Reg.scala 28:20]
+      wantSleep <= 1'h0; // @[Reg.scala 28:20]
+    end else if (run) begin // @[PMU.scala 93:14]
+      wantSleep <= _GEN_1;
+    end else if (awake & wantSleep) begin // @[PMU.scala 109:31]
+      wantSleep <= 1'h0; // @[PMU.scala 112:17]
+    end else begin
+      wantSleep <= _GEN_1;
+    end
+    if (reset) begin // @[PMU.scala 76:15]
+      pc <= 3'h0; // @[PMU.scala 76:15]
+    end else begin
+      pc <= _GEN_14[2:0];
+    end
+    if (reset) begin // @[PMU.scala 77:24]
+      wakeupCause <= 2'h0; // @[PMU.scala 77:24]
+    end else if (!(run)) begin // @[PMU.scala 93:14]
+      if (~awake & |maskedWakeupCauses) begin // @[PMU.scala 104:45]
+        if (maskedWakeupCauses[0]) begin // @[Mux.scala 47:70]
+          wakeupCause <= 2'h0;
+        end else begin
+          wakeupCause <= _wakeupCause_T_5;
+        end
+      end
+    end
+    if (_ie_T) begin // @[Reg.scala 17:18]
+      ie_r <= io_regs_ie_write_bits; // @[Reg.scala 17:22]
+    end
+    if (reset) begin // @[PMU.scala 81:51]
+      wakeupProgram_0 <= 9'h1f0; // @[PMU.scala 81:51]
+    end else begin
+      wakeupProgram_0 <= _GEN_18[8:0];
+    end
+    if (reset) begin // @[PMU.scala 81:51]
+      wakeupProgram_1 <= 9'hf8; // @[PMU.scala 81:51]
+    end else begin
+      wakeupProgram_1 <= _GEN_19[8:0];
+    end
+    if (reset) begin // @[PMU.scala 81:51]
+      wakeupProgram_2 <= 9'h30; // @[PMU.scala 81:51]
+    end else begin
+      wakeupProgram_2 <= _GEN_20[8:0];
+    end
+    if (reset) begin // @[PMU.scala 81:51]
+      wakeupProgram_3 <= 9'h30; // @[PMU.scala 81:51]
+    end else begin
+      wakeupProgram_3 <= _GEN_21[8:0];
+    end
+    if (reset) begin // @[PMU.scala 81:51]
+      wakeupProgram_4 <= 9'h30; // @[PMU.scala 81:51]
+    end else begin
+      wakeupProgram_4 <= _GEN_22[8:0];
+    end
+    if (reset) begin // @[PMU.scala 81:51]
+      wakeupProgram_5 <= 9'h30; // @[PMU.scala 81:51]
+    end else begin
+      wakeupProgram_5 <= _GEN_23[8:0];
+    end
+    if (reset) begin // @[PMU.scala 81:51]
+      wakeupProgram_6 <= 9'h30; // @[PMU.scala 81:51]
+    end else begin
+      wakeupProgram_6 <= _GEN_24[8:0];
+    end
+    if (reset) begin // @[PMU.scala 81:51]
+      wakeupProgram_7 <= 9'h30; // @[PMU.scala 81:51]
+    end else begin
+      wakeupProgram_7 <= _GEN_25[8:0];
+    end
+    if (reset) begin // @[PMU.scala 82:49]
+      sleepProgram_0 <= 9'hf0; // @[PMU.scala 82:49]
+    end else begin
+      sleepProgram_0 <= _GEN_26[8:0];
+    end
+    if (reset) begin // @[PMU.scala 82:49]
+      sleepProgram_1 <= 9'h1f0; // @[PMU.scala 82:49]
+    end else begin
+      sleepProgram_1 <= _GEN_27[8:0];
+    end
+    if (reset) begin // @[PMU.scala 82:49]
+      sleepProgram_2 <= 9'h1d0; // @[PMU.scala 82:49]
+    end else begin
+      sleepProgram_2 <= _GEN_28[8:0];
+    end
+    if (reset) begin // @[PMU.scala 82:49]
+      sleepProgram_3 <= 9'h1c0; // @[PMU.scala 82:49]
+    end else begin
+      sleepProgram_3 <= _GEN_29[8:0];
+    end
+    if (reset) begin // @[PMU.scala 82:49]
+      sleepProgram_4 <= 9'h1c0; // @[PMU.scala 82:49]
+    end else begin
+      sleepProgram_4 <= _GEN_30[8:0];
+    end
+    if (reset) begin // @[PMU.scala 82:49]
+      sleepProgram_5 <= 9'h1c0; // @[PMU.scala 82:49]
+    end else begin
+      sleepProgram_5 <= _GEN_31[8:0];
+    end
+    if (reset) begin // @[PMU.scala 82:49]
+      sleepProgram_6 <= 9'h1c0; // @[PMU.scala 82:49]
+    end else begin
+      sleepProgram_6 <= _GEN_32[8:0];
+    end
+    if (reset) begin // @[PMU.scala 82:49]
+      sleepProgram_7 <= 9'h1c0; // @[PMU.scala 82:49]
+    end else begin
+      sleepProgram_7 <= _GEN_33[8:0];
+    end
+    if (reset) begin // @[PMU.scala 86:18]
+      count <= 16'h0; // @[PMU.scala 86:18]
+    end else if (run) begin // @[PMU.scala 93:14]
+      if (tick) begin // @[PMU.scala 95:17]
+        count <= 16'h0; // @[PMU.scala 96:13]
+      end else begin
+        count <= _tick_T_1; // @[PMU.scala 94:11]
+      end
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  awake = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  unlocked = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  wantSleep = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  pc = _RAND_4[2:0];
+  _RAND_5 = {1{`RANDOM}};
+  wakeupCause = _RAND_5[1:0];
+  _RAND_6 = {1{`RANDOM}};
+  ie_r = _RAND_6[3:0];
+  _RAND_7 = {1{`RANDOM}};
+  wakeupProgram_0 = _RAND_7[8:0];
+  _RAND_8 = {1{`RANDOM}};
+  wakeupProgram_1 = _RAND_8[8:0];
+  _RAND_9 = {1{`RANDOM}};
+  wakeupProgram_2 = _RAND_9[8:0];
+  _RAND_10 = {1{`RANDOM}};
+  wakeupProgram_3 = _RAND_10[8:0];
+  _RAND_11 = {1{`RANDOM}};
+  wakeupProgram_4 = _RAND_11[8:0];
+  _RAND_12 = {1{`RANDOM}};
+  wakeupProgram_5 = _RAND_12[8:0];
+  _RAND_13 = {1{`RANDOM}};
+  wakeupProgram_6 = _RAND_13[8:0];
+  _RAND_14 = {1{`RANDOM}};
+  wakeupProgram_7 = _RAND_14[8:0];
+  _RAND_15 = {1{`RANDOM}};
+  sleepProgram_0 = _RAND_15[8:0];
+  _RAND_16 = {1{`RANDOM}};
+  sleepProgram_1 = _RAND_16[8:0];
+  _RAND_17 = {1{`RANDOM}};
+  sleepProgram_2 = _RAND_17[8:0];
+  _RAND_18 = {1{`RANDOM}};
+  sleepProgram_3 = _RAND_18[8:0];
+  _RAND_19 = {1{`RANDOM}};
+  sleepProgram_4 = _RAND_19[8:0];
+  _RAND_20 = {1{`RANDOM}};
+  sleepProgram_5 = _RAND_20[8:0];
+  _RAND_21 = {1{`RANDOM}};
+  sleepProgram_6 = _RAND_21[8:0];
+  _RAND_22 = {1{`RANDOM}};
+  sleepProgram_7 = _RAND_22[8:0];
+  _RAND_23 = {1{`RANDOM}};
+  count = _RAND_23[15:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module AsyncResetRegVec_w5_i0(
+  input        clock,
+  input        reset,
+  input  [4:0] io_d,
+  output [4:0] io_q,
+  input        io_en
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+`endif // RANDOMIZE_REG_INIT
+  reg [4:0] reg_; // @[AsyncResetReg.scala 64:50]
+  assign io_q = reg_; // @[AsyncResetReg.scala 68:8]
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncResetReg.scala 65:16]
+      reg_ <= 5'h0; // @[AsyncResetReg.scala 66:9]
+    end else if (io_en) begin // @[AsyncResetReg.scala 64:50]
+      reg_ <= io_d;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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[4:0];
+`endif // RANDOMIZE_REG_INIT
+  if (reset) begin
+    reg_ = 5'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module PMU(
+  input         clock,
+  input         reset,
+  input         io_wakeup_rtc,
+  output        io_control_corerst,
+  input         io_regs_ie_write_valid,
+  input  [3:0]  io_regs_ie_write_bits,
+  output [3:0]  io_regs_ie_read,
+  input         io_regs_cause_write_valid,
+  output [31:0] io_regs_cause_read,
+  input         io_regs_sleep_write_valid,
+  input         io_regs_key_write_valid,
+  input  [31:0] io_regs_key_write_bits,
+  output [31:0] io_regs_key_read,
+  input         io_regs_wakeupProgram_0_write_valid,
+  input  [31:0] io_regs_wakeupProgram_0_write_bits,
+  output [31:0] io_regs_wakeupProgram_0_read,
+  input         io_regs_wakeupProgram_1_write_valid,
+  input  [31:0] io_regs_wakeupProgram_1_write_bits,
+  output [31:0] io_regs_wakeupProgram_1_read,
+  input         io_regs_wakeupProgram_2_write_valid,
+  input  [31:0] io_regs_wakeupProgram_2_write_bits,
+  output [31:0] io_regs_wakeupProgram_2_read,
+  input         io_regs_wakeupProgram_3_write_valid,
+  input  [31:0] io_regs_wakeupProgram_3_write_bits,
+  output [31:0] io_regs_wakeupProgram_3_read,
+  input         io_regs_wakeupProgram_4_write_valid,
+  input  [31:0] io_regs_wakeupProgram_4_write_bits,
+  output [31:0] io_regs_wakeupProgram_4_read,
+  input         io_regs_wakeupProgram_5_write_valid,
+  input  [31:0] io_regs_wakeupProgram_5_write_bits,
+  output [31:0] io_regs_wakeupProgram_5_read,
+  input         io_regs_wakeupProgram_6_write_valid,
+  input  [31:0] io_regs_wakeupProgram_6_write_bits,
+  output [31:0] io_regs_wakeupProgram_6_read,
+  input         io_regs_wakeupProgram_7_write_valid,
+  input  [31:0] io_regs_wakeupProgram_7_write_bits,
+  output [31:0] io_regs_wakeupProgram_7_read,
+  input         io_regs_sleepProgram_0_write_valid,
+  input  [31:0] io_regs_sleepProgram_0_write_bits,
+  output [31:0] io_regs_sleepProgram_0_read,
+  input         io_regs_sleepProgram_1_write_valid,
+  input  [31:0] io_regs_sleepProgram_1_write_bits,
+  output [31:0] io_regs_sleepProgram_1_read,
+  input         io_regs_sleepProgram_2_write_valid,
+  input  [31:0] io_regs_sleepProgram_2_write_bits,
+  output [31:0] io_regs_sleepProgram_2_read,
+  input         io_regs_sleepProgram_3_write_valid,
+  input  [31:0] io_regs_sleepProgram_3_write_bits,
+  output [31:0] io_regs_sleepProgram_3_read,
+  input         io_regs_sleepProgram_4_write_valid,
+  input  [31:0] io_regs_sleepProgram_4_write_bits,
+  output [31:0] io_regs_sleepProgram_4_read,
+  input         io_regs_sleepProgram_5_write_valid,
+  input  [31:0] io_regs_sleepProgram_5_write_bits,
+  output [31:0] io_regs_sleepProgram_5_read,
+  input         io_regs_sleepProgram_6_write_valid,
+  input  [31:0] io_regs_sleepProgram_6_write_bits,
+  output [31:0] io_regs_sleepProgram_6_read,
+  input         io_regs_sleepProgram_7_write_valid,
+  input  [31:0] io_regs_sleepProgram_7_write_bits,
+  output [31:0] io_regs_sleepProgram_7_read,
+  input         io_resetCauses_wdogrst,
+  input         io_resetCauses_erst
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+`endif // RANDOMIZE_REG_INIT
+  wire  core_clock; // @[PMU.scala 136:20]
+  wire  core_reset; // @[PMU.scala 136:20]
+  wire  core_io_wakeup_rtc; // @[PMU.scala 136:20]
+  wire  core_io_control_valid; // @[PMU.scala 136:20]
+  wire  core_io_control_bits_hfclkrst; // @[PMU.scala 136:20]
+  wire  core_io_control_bits_corerst; // @[PMU.scala 136:20]
+  wire  core_io_control_bits_reserved1; // @[PMU.scala 136:20]
+  wire  core_io_control_bits_vddpaden; // @[PMU.scala 136:20]
+  wire  core_io_control_bits_reserved0; // @[PMU.scala 136:20]
+  wire [1:0] core_io_resetCause; // @[PMU.scala 136:20]
+  wire  core_io_regs_ie_write_valid; // @[PMU.scala 136:20]
+  wire [3:0] core_io_regs_ie_write_bits; // @[PMU.scala 136:20]
+  wire [3:0] core_io_regs_ie_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_cause_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_cause_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_sleep_write_valid; // @[PMU.scala 136:20]
+  wire  core_io_regs_key_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_key_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_key_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_wakeupProgram_0_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_0_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_0_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_wakeupProgram_1_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_1_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_1_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_wakeupProgram_2_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_2_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_2_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_wakeupProgram_3_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_3_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_3_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_wakeupProgram_4_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_4_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_4_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_wakeupProgram_5_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_5_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_5_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_wakeupProgram_6_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_6_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_6_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_wakeupProgram_7_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_7_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_wakeupProgram_7_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_sleepProgram_0_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_0_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_0_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_sleepProgram_1_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_1_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_1_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_sleepProgram_2_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_2_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_2_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_sleepProgram_3_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_3_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_3_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_sleepProgram_4_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_4_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_4_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_sleepProgram_5_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_5_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_5_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_sleepProgram_6_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_6_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_6_read; // @[PMU.scala 136:20]
+  wire  core_io_regs_sleepProgram_7_write_valid; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_7_write_bits; // @[PMU.scala 136:20]
+  wire [31:0] core_io_regs_sleepProgram_7_read; // @[PMU.scala 136:20]
+  wire  latch_reg_clock; // @[AsyncResetReg.scala 89:21]
+  wire  latch_reg_reset; // @[AsyncResetReg.scala 89:21]
+  wire [4:0] latch_reg_io_d; // @[AsyncResetReg.scala 89:21]
+  wire [4:0] latch_reg_io_q; // @[AsyncResetReg.scala 89:21]
+  wire  latch_reg_io_en; // @[AsyncResetReg.scala 89:21]
+  wire  core_io_resetCause_latches_latch_set; // @[PMU.scala 148:25]
+  wire  core_io_resetCause_latches_latch_reset; // @[PMU.scala 148:25]
+  wire  core_io_resetCause_latches_latch_q; // @[PMU.scala 148:25]
+  wire  core_io_resetCause_latches_latch_1_set; // @[PMU.scala 148:25]
+  wire  core_io_resetCause_latches_latch_1_reset; // @[PMU.scala 148:25]
+  wire  core_io_resetCause_latches_latch_1_q; // @[PMU.scala 148:25]
+  wire  core_io_resetCause_latches_latch_2_set; // @[PMU.scala 148:25]
+  wire  core_io_resetCause_latches_latch_2_reset; // @[PMU.scala 148:25]
+  wire  core_io_resetCause_latches_latch_2_q; // @[PMU.scala 148:25]
+  reg  coreReset_x4; // @[PMU.scala 135:33]
+  reg  coreReset; // @[PMU.scala 135:22]
+  wire [4:0] _latch_T = {core_io_control_bits_hfclkrst,core_io_control_bits_corerst,core_io_control_bits_reserved1,
+    core_io_control_bits_vddpaden,core_io_control_bits_reserved0}; // @[PMU.scala 142:52]
+  wire [4:0] latch = ~latch_reg_io_q; // @[PMU.scala 142:15]
+  wire [2:0] core_io_resetCause_cause = {io_resetCauses_wdogrst,io_resetCauses_erst,1'h0}; // @[PMU.scala 146:32]
+  wire [2:0] _core_io_resetCause_T = {core_io_resetCause_latches_latch_2_q,core_io_resetCause_latches_latch_1_q,
+    core_io_resetCause_latches_latch_q}; // @[Cat.scala 31:58]
+  wire  core_io_resetCause_hi_1 = _core_io_resetCause_T[2]; // @[OneHot.scala 30:18]
+  wire [1:0] core_io_resetCause_lo = _core_io_resetCause_T[1:0]; // @[OneHot.scala 31:18]
+  wire  _core_io_resetCause_T_1 = |core_io_resetCause_hi_1; // @[OneHot.scala 32:14]
+  wire [1:0] _GEN_0 = {{1'd0}, core_io_resetCause_hi_1}; // @[OneHot.scala 32:28]
+  wire [1:0] _core_io_resetCause_T_2 = _GEN_0 | core_io_resetCause_lo; // @[OneHot.scala 32:28]
+  PMUCore core ( // @[PMU.scala 136:20]
+    .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 latch_reg ( // @[AsyncResetReg.scala 89:21]
+    .clock(latch_reg_clock),
+    .reset(latch_reg_reset),
+    .io_d(latch_reg_io_d),
+    .io_q(latch_reg_io_q),
+    .io_en(latch_reg_io_en)
+  );
+  SRLatch core_io_resetCause_latches_latch ( // @[PMU.scala 148:25]
+    .set(core_io_resetCause_latches_latch_set),
+    .reset(core_io_resetCause_latches_latch_reset),
+    .q(core_io_resetCause_latches_latch_q)
+  );
+  SRLatch core_io_resetCause_latches_latch_1 ( // @[PMU.scala 148:25]
+    .set(core_io_resetCause_latches_latch_1_set),
+    .reset(core_io_resetCause_latches_latch_1_reset),
+    .q(core_io_resetCause_latches_latch_1_q)
+  );
+  SRLatch core_io_resetCause_latches_latch_2 ( // @[PMU.scala 148:25]
+    .set(core_io_resetCause_latches_latch_2_set),
+    .reset(core_io_resetCause_latches_latch_2_reset),
+    .q(core_io_resetCause_latches_latch_2_q)
+  );
+  assign io_control_corerst = latch[3]; // @[PMU.scala 143:36]
+  assign io_regs_ie_read = core_io_regs_ie_read; // @[PMU.scala 138:6]
+  assign io_regs_cause_read = core_io_regs_cause_read; // @[PMU.scala 138:6]
+  assign io_regs_key_read = core_io_regs_key_read; // @[PMU.scala 138:6]
+  assign io_regs_wakeupProgram_0_read = core_io_regs_wakeupProgram_0_read; // @[PMU.scala 138:6]
+  assign io_regs_wakeupProgram_1_read = core_io_regs_wakeupProgram_1_read; // @[PMU.scala 138:6]
+  assign io_regs_wakeupProgram_2_read = core_io_regs_wakeupProgram_2_read; // @[PMU.scala 138:6]
+  assign io_regs_wakeupProgram_3_read = core_io_regs_wakeupProgram_3_read; // @[PMU.scala 138:6]
+  assign io_regs_wakeupProgram_4_read = core_io_regs_wakeupProgram_4_read; // @[PMU.scala 138:6]
+  assign io_regs_wakeupProgram_5_read = core_io_regs_wakeupProgram_5_read; // @[PMU.scala 138:6]
+  assign io_regs_wakeupProgram_6_read = core_io_regs_wakeupProgram_6_read; // @[PMU.scala 138:6]
+  assign io_regs_wakeupProgram_7_read = core_io_regs_wakeupProgram_7_read; // @[PMU.scala 138:6]
+  assign io_regs_sleepProgram_0_read = core_io_regs_sleepProgram_0_read; // @[PMU.scala 138:6]
+  assign io_regs_sleepProgram_1_read = core_io_regs_sleepProgram_1_read; // @[PMU.scala 138:6]
+  assign io_regs_sleepProgram_2_read = core_io_regs_sleepProgram_2_read; // @[PMU.scala 138:6]
+  assign io_regs_sleepProgram_3_read = core_io_regs_sleepProgram_3_read; // @[PMU.scala 138:6]
+  assign io_regs_sleepProgram_4_read = core_io_regs_sleepProgram_4_read; // @[PMU.scala 138:6]
+  assign io_regs_sleepProgram_5_read = core_io_regs_sleepProgram_5_read; // @[PMU.scala 138:6]
+  assign io_regs_sleepProgram_6_read = core_io_regs_sleepProgram_6_read; // @[PMU.scala 138:6]
+  assign io_regs_sleepProgram_7_read = core_io_regs_sleepProgram_7_read; // @[PMU.scala 138:6]
+  assign core_clock = clock;
+  assign core_reset = coreReset; // @[compatibility.scala 290:56]
+  assign core_io_wakeup_rtc = io_wakeup_rtc; // @[PMU.scala 138:6]
+  assign core_io_resetCause = {_core_io_resetCause_T_1,_core_io_resetCause_T_2[1]}; // @[Cat.scala 31:58]
+  assign core_io_regs_ie_write_valid = io_regs_ie_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_ie_write_bits = io_regs_ie_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_cause_write_valid = io_regs_cause_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_sleep_write_valid = io_regs_sleep_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_key_write_valid = io_regs_key_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_key_write_bits = io_regs_key_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_0_write_valid = io_regs_wakeupProgram_0_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_0_write_bits = io_regs_wakeupProgram_0_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_1_write_valid = io_regs_wakeupProgram_1_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_1_write_bits = io_regs_wakeupProgram_1_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_2_write_valid = io_regs_wakeupProgram_2_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_2_write_bits = io_regs_wakeupProgram_2_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_3_write_valid = io_regs_wakeupProgram_3_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_3_write_bits = io_regs_wakeupProgram_3_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_4_write_valid = io_regs_wakeupProgram_4_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_4_write_bits = io_regs_wakeupProgram_4_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_5_write_valid = io_regs_wakeupProgram_5_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_5_write_bits = io_regs_wakeupProgram_5_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_6_write_valid = io_regs_wakeupProgram_6_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_6_write_bits = io_regs_wakeupProgram_6_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_7_write_valid = io_regs_wakeupProgram_7_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_wakeupProgram_7_write_bits = io_regs_wakeupProgram_7_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_0_write_valid = io_regs_sleepProgram_0_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_0_write_bits = io_regs_sleepProgram_0_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_1_write_valid = io_regs_sleepProgram_1_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_1_write_bits = io_regs_sleepProgram_1_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_2_write_valid = io_regs_sleepProgram_2_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_2_write_bits = io_regs_sleepProgram_2_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_3_write_valid = io_regs_sleepProgram_3_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_3_write_bits = io_regs_sleepProgram_3_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_4_write_valid = io_regs_sleepProgram_4_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_4_write_bits = io_regs_sleepProgram_4_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_5_write_valid = io_regs_sleepProgram_5_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_5_write_bits = io_regs_sleepProgram_5_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_6_write_valid = io_regs_sleepProgram_6_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_6_write_bits = io_regs_sleepProgram_6_write_bits; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_7_write_valid = io_regs_sleepProgram_7_write_valid; // @[PMU.scala 138:6]
+  assign core_io_regs_sleepProgram_7_write_bits = io_regs_sleepProgram_7_write_bits; // @[PMU.scala 138:6]
+  assign latch_reg_clock = clock;
+  assign latch_reg_reset = reset;
+  assign latch_reg_io_d = ~_latch_T; // @[PMU.scala 142:30]
+  assign latch_reg_io_en = core_io_control_valid; // @[AsyncResetReg.scala 92:15]
+  assign core_io_resetCause_latches_latch_set = core_io_resetCause_cause[0]; // @[PMU.scala 149:28]
+  assign core_io_resetCause_latches_latch_reset = core_io_resetCause_cause[1] | core_io_resetCause_cause[2]; // @[PMU.scala 150:87]
+  assign core_io_resetCause_latches_latch_1_set = core_io_resetCause_cause[1]; // @[PMU.scala 149:28]
+  assign core_io_resetCause_latches_latch_1_reset = core_io_resetCause_cause[0] | core_io_resetCause_cause[2]; // @[PMU.scala 150:87]
+  assign core_io_resetCause_latches_latch_2_set = core_io_resetCause_cause[2]; // @[PMU.scala 149:28]
+  assign core_io_resetCause_latches_latch_2_reset = core_io_resetCause_cause[0] | core_io_resetCause_cause[1]; // @[PMU.scala 150:87]
+  always @(posedge clock) begin
+    coreReset_x4 <= reset; // @[PMU.scala 135:33]
+    coreReset <= coreReset_x4; // @[PMU.scala 135:22]
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  coreReset_x4 = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  coreReset = _RAND_1[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module WatchdogTimer(
+  input         clock,
+  input         reset,
+  input         scale_io_regs_cfg_write__ip_0,
+  input         scale_io_regs_cfg_write__running,
+  input         scale_io_regs_cfg_write__countAlways,
+  input         scale_io_regs_cfg_write__zerocmp,
+  input         scale_io_regs_cfg_write__sticky,
+  input  [3:0]  scale_io_regs_cfg_write__scale,
+  output        scale_io_regs_cfg_read_ip_0,
+  output        scale_io_regs_cfg_read_running,
+  output        scale_io_regs_cfg_read_countAlways,
+  output        scale_io_regs_cfg_read_zerocmp,
+  output        scale_io_regs_cfg_read_sticky,
+  output [3:0]  scale_io_regs_cfg_read_scale,
+  input         scale_io_regs_cfg_write_ip_0,
+  input         scale_io_regs_cfg_write_gang_0,
+  input         scale_io_regs_cfg_write_extra_0,
+  input         scale_io_regs_cfg_write_center_0,
+  input         scale_io_regs_cfg_write_running,
+  input         scale_io_regs_cfg_write_countAlways,
+  input         scale_io_regs_cfg_write_deglitch,
+  input         scale_io_regs_cfg_write_zerocmp,
+  input         scale_io_regs_cfg_write_sticky,
+  input         scale_io_regs_cfg_write_scale,
+  input         scale_io_regs_countLo_write_valid,
+  input  [30:0] scale_io_regs_countLo_write_bits,
+  output [30:0] scale_io_regs_countLo_read,
+  input         scale_io_regs_countHi_write_valid,
+  input         scale_io_regs_s_write_valid,
+  output [15:0] scale_io_regs_s_read,
+  input         scale_io_regs_cmp_0_write_valid,
+  input  [15:0] scale_io_regs_cmp_0_write_bits,
+  output [15:0] scale_io_regs_cmp_0_read,
+  input         scale_io_regs_feed_write_valid,
+  input  [31:0] scale_io_regs_feed_write_bits,
+  input         scale_io_regs_key_write_valid,
+  input  [31:0] scale_io_regs_key_write_bits,
+  output [31:0] scale_io_regs_key_read,
+  output        scale_io_ip_0,
+  input         scale_io_corerst,
+  output        scale_io_rst
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  wire  scale_unlocked_reg_clock; // @[AsyncResetReg.scala 89:21]
+  wire  scale_unlocked_reg_reset; // @[AsyncResetReg.scala 89:21]
+  wire  scale_unlocked_reg_io_d; // @[AsyncResetReg.scala 89:21]
+  wire  scale_unlocked_reg_io_q; // @[AsyncResetReg.scala 89:21]
+  wire  scale_unlocked_reg_io_en; // @[AsyncResetReg.scala 89:21]
+  wire  countEn_countAlways_reg_clock; // @[AsyncResetReg.scala 89:21]
+  wire  countEn_countAlways_reg_reset; // @[AsyncResetReg.scala 89:21]
+  wire  countEn_countAlways_reg_io_d; // @[AsyncResetReg.scala 89:21]
+  wire  countEn_countAlways_reg_io_q; // @[AsyncResetReg.scala 89:21]
+  wire  countEn_countAlways_reg_io_en; // @[AsyncResetReg.scala 89:21]
+  wire  countEn_countAwake_reg_clock; // @[AsyncResetReg.scala 89:21]
+  wire  countEn_countAwake_reg_reset; // @[AsyncResetReg.scala 89:21]
+  wire  countEn_countAwake_reg_io_d; // @[AsyncResetReg.scala 89:21]
+  wire  countEn_countAwake_reg_io_q; // @[AsyncResetReg.scala 89:21]
+  wire  countEn_countAwake_reg_io_en; // @[AsyncResetReg.scala 89:21]
+  wire  io_regs_cfg_read_sticky_rsten_reg_clock; // @[AsyncResetReg.scala 89:21]
+  wire  io_regs_cfg_read_sticky_rsten_reg_reset; // @[AsyncResetReg.scala 89:21]
+  wire  io_regs_cfg_read_sticky_rsten_reg_io_d; // @[AsyncResetReg.scala 89:21]
+  wire  io_regs_cfg_read_sticky_rsten_reg_io_q; // @[AsyncResetReg.scala 89:21]
+  wire  io_regs_cfg_read_sticky_rsten_reg_io_en; // @[AsyncResetReg.scala 89:21]
+  wire  io_rst_reg_clock; // @[AsyncResetReg.scala 89:21]
+  wire  io_rst_reg_reset; // @[AsyncResetReg.scala 89:21]
+  wire  io_rst_reg_io_d; // @[AsyncResetReg.scala 89:21]
+  wire  io_rst_reg_io_q; // @[AsyncResetReg.scala 89:21]
+  wire  io_rst_reg_io_en; // @[AsyncResetReg.scala 89:21]
+  wire  _scale_unlocked_writeAny_T_20 = scale_io_regs_cfg_write_ip_0 | scale_io_regs_cfg_write_gang_0 |
+    scale_io_regs_cfg_write_extra_0 | scale_io_regs_cfg_write_center_0 | scale_io_regs_cfg_write_running |
+    scale_io_regs_cfg_write_countAlways | scale_io_regs_cfg_write_deglitch | scale_io_regs_cfg_write_zerocmp |
+    scale_io_regs_cfg_write_sticky | scale_io_regs_cfg_write_scale; // @[Timer.scala 139:13]
+  wire  scale_unlocked_writeAny = scale_io_regs_feed_write_valid | scale_io_regs_cmp_0_write_valid |
+    scale_io_regs_s_write_valid | scale_io_regs_countHi_write_valid | scale_io_regs_countLo_write_valid |
+    _scale_unlocked_writeAny_T_20; // @[WatchdogTimer.scala 19:16]
+  wire  unlocked = scale_unlocked_reg_io_q; // @[WatchdogTimer.scala 40:114]
+  wire  _scale_T = scale_io_regs_cfg_write_scale & unlocked; // @[Timer.scala 202:84]
+  reg [3:0] scale; // @[Reg.scala 16:16]
+  wire  _cmp_T = scale_io_regs_cmp_0_write_valid & unlocked; // @[Timer.scala 204:82]
+  reg [15:0] cmp_0; // @[Reg.scala 16:16]
+  reg  countEn_corerstSynchronized_x4; // @[WatchdogTimer.scala 33:45]
+  reg  countEn_corerstSynchronized; // @[WatchdogTimer.scala 33:34]
+  wire  countAlways = countEn_countAlways_reg_io_q; // @[WatchdogTimer.scala 30:123]
+  wire  countAwake = countEn_countAwake_reg_io_q; // @[WatchdogTimer.scala 31:123]
+  wire  countEn = countAlways | countAwake & ~countEn_corerstSynchronized; // @[WatchdogTimer.scala 34:17]
+  reg [4:0] small_; // @[Counters.scala 45:37]
+  wire [4:0] _GEN_10 = {{4'd0}, countEn}; // @[Counters.scala 46:33]
+  wire [5:0] nextSmall = small_ + _GEN_10; // @[Counters.scala 46:33]
+  reg [25:0] large_; // @[Counters.scala 50:27]
+  wire [25:0] _large_r_T_1 = large_ + 26'h1; // @[Counters.scala 51:55]
+  wire [25:0] _GEN_3 = nextSmall[5] ? _large_r_T_1 : large_; // @[Counters.scala 50:27 51:{46,50}]
+  wire [30:0] value = {large_,small_}; // @[Cat.scala 31:58]
+  wire [30:0] _s_T = value >> scale; // @[Timer.scala 209:28]
+  wire [15:0] s = _s_T[15:0]; // @[Timer.scala 209:37]
+  wire  elapsed_0 = s >= cmp_0; // @[Timer.scala 211:90]
+  wire  feed = unlocked & scale_io_regs_feed_write_valid & scale_io_regs_feed_write_bits == 32'hd09f00d; // @[WatchdogTimer.scala 44:42]
+  wire  _countReset_zerocmp_T = scale_io_regs_cfg_write_zerocmp & unlocked; // @[Timer.scala 203:95]
+  reg  zerocmp; // @[Reg.scala 16:16]
+  wire  countReset = feed | zerocmp & elapsed_0; // @[Timer.scala 212:35]
+  wire [5:0] _GEN_5 = countReset ? 6'h0 : nextSmall; // @[Timer.scala 213:21 Counters.scala 65:11]
+  wire [25:0] _GEN_6 = countReset ? 26'h0 : _GEN_3; // @[Timer.scala 213:21 Counters.scala 66:23]
+  wire [31:0] _T_3 = {1'h0,scale_io_regs_countLo_write_bits}; // @[Cat.scala 31:58]
+  wire [31:0] _GEN_7 = scale_io_regs_countLo_write_valid & unlocked ? _T_3 : {{26'd0}, _GEN_5}; // @[Timer.scala 214:50 Counters.scala 65:11]
+  wire [26:0] _GEN_8 = scale_io_regs_countLo_write_valid & unlocked ? _T_3[31:5] : {{1'd0}, _GEN_6}; // @[Timer.scala 214:50 Counters.scala 66:23]
+  wire  _ip_T = scale_io_regs_cfg_write__ip_0 | elapsed_0; // @[WatchdogTimer.scala 37:69]
+  wire  _ip_T_2 = scale_io_regs_cfg_write_ip_0 & unlocked | elapsed_0; // @[WatchdogTimer.scala 37:124]
+  reg  ip_0; // @[Reg.scala 16:16]
+  wire  rsten = io_regs_cfg_read_sticky_rsten_reg_io_q; // @[WatchdogTimer.scala 36:116]
+  AsyncResetRegVec_w1_i0 scale_unlocked_reg ( // @[AsyncResetReg.scala 89:21]
+    .clock(scale_unlocked_reg_clock),
+    .reset(scale_unlocked_reg_reset),
+    .io_d(scale_unlocked_reg_io_d),
+    .io_q(scale_unlocked_reg_io_q),
+    .io_en(scale_unlocked_reg_io_en)
+  );
+  AsyncResetRegVec_w1_i0 countEn_countAlways_reg ( // @[AsyncResetReg.scala 89:21]
+    .clock(countEn_countAlways_reg_clock),
+    .reset(countEn_countAlways_reg_reset),
+    .io_d(countEn_countAlways_reg_io_d),
+    .io_q(countEn_countAlways_reg_io_q),
+    .io_en(countEn_countAlways_reg_io_en)
+  );
+  AsyncResetRegVec_w1_i0 countEn_countAwake_reg ( // @[AsyncResetReg.scala 89:21]
+    .clock(countEn_countAwake_reg_clock),
+    .reset(countEn_countAwake_reg_reset),
+    .io_d(countEn_countAwake_reg_io_d),
+    .io_q(countEn_countAwake_reg_io_q),
+    .io_en(countEn_countAwake_reg_io_en)
+  );
+  AsyncResetRegVec_w1_i0 io_regs_cfg_read_sticky_rsten_reg ( // @[AsyncResetReg.scala 89:21]
+    .clock(io_regs_cfg_read_sticky_rsten_reg_clock),
+    .reset(io_regs_cfg_read_sticky_rsten_reg_reset),
+    .io_d(io_regs_cfg_read_sticky_rsten_reg_io_d),
+    .io_q(io_regs_cfg_read_sticky_rsten_reg_io_q),
+    .io_en(io_regs_cfg_read_sticky_rsten_reg_io_en)
+  );
+  AsyncResetRegVec_w1_i0 io_rst_reg ( // @[AsyncResetReg.scala 89:21]
+    .clock(io_rst_reg_clock),
+    .reset(io_rst_reg_reset),
+    .io_d(io_rst_reg_io_d),
+    .io_q(io_rst_reg_io_q),
+    .io_en(io_rst_reg_io_en)
+  );
+  assign scale_io_regs_cfg_read_ip_0 = ip_0; // @[Timer.scala 218:23]
+  assign scale_io_regs_cfg_read_running = countEn_countAwake_reg_io_q; // @[WatchdogTimer.scala 31:123]
+  assign scale_io_regs_cfg_read_countAlways = countEn_countAlways_reg_io_q; // @[WatchdogTimer.scala 30:123]
+  assign scale_io_regs_cfg_read_zerocmp = zerocmp; // @[Timer.scala 225:28]
+  assign scale_io_regs_cfg_read_sticky = io_regs_cfg_read_sticky_rsten_reg_io_q; // @[WatchdogTimer.scala 36:116]
+  assign scale_io_regs_cfg_read_scale = scale; // @[Timer.scala 227:26]
+  assign scale_io_regs_countLo_read = {large_,small_}; // @[Cat.scala 31:58]
+  assign scale_io_regs_s_read = _s_T[15:0]; // @[Timer.scala 209:37]
+  assign scale_io_regs_cmp_0_read = cmp_0; // @[Timer.scala 232:53]
+  assign scale_io_regs_key_read = {{31'd0}, unlocked}; // @[Timer.scala 234:20]
+  assign scale_io_ip_0 = ip_0; // @[Timer.scala 235:9]
+  assign scale_io_rst = io_rst_reg_io_q; // @[WatchdogTimer.scala 66:10]
+  assign scale_unlocked_reg_clock = clock;
+  assign scale_unlocked_reg_reset = reset;
+  assign scale_unlocked_reg_io_d = scale_io_regs_key_write_bits == 32'h51f15e & ~scale_unlocked_writeAny; // @[WatchdogTimer.scala 40:64]
+  assign scale_unlocked_reg_io_en = scale_io_regs_key_write_valid | scale_unlocked_writeAny; // @[WatchdogTimer.scala 40:102]
+  assign countEn_countAlways_reg_clock = clock;
+  assign countEn_countAlways_reg_reset = reset;
+  assign countEn_countAlways_reg_io_d = scale_io_regs_cfg_write__countAlways; // @[AsyncResetReg.scala 91:14]
+  assign countEn_countAlways_reg_io_en = scale_io_regs_cfg_write_countAlways & unlocked; // @[WatchdogTimer.scala 30:111]
+  assign countEn_countAwake_reg_clock = clock;
+  assign countEn_countAwake_reg_reset = reset;
+  assign countEn_countAwake_reg_io_d = scale_io_regs_cfg_write__running; // @[AsyncResetReg.scala 91:14]
+  assign countEn_countAwake_reg_io_en = scale_io_regs_cfg_write_running & unlocked; // @[WatchdogTimer.scala 31:111]
+  assign io_regs_cfg_read_sticky_rsten_reg_clock = clock;
+  assign io_regs_cfg_read_sticky_rsten_reg_reset = reset;
+  assign io_regs_cfg_read_sticky_rsten_reg_io_d = scale_io_regs_cfg_write__sticky; // @[AsyncResetReg.scala 91:14]
+  assign io_regs_cfg_read_sticky_rsten_reg_io_en = scale_io_regs_cfg_write_sticky & unlocked; // @[WatchdogTimer.scala 36:104]
+  assign io_rst_reg_clock = clock;
+  assign io_rst_reg_reset = reset;
+  assign io_rst_reg_io_d = 1'h1; // @[AsyncResetReg.scala 91:14]
+  assign io_rst_reg_io_en = rsten & elapsed_0; // @[WatchdogTimer.scala 66:45]
+  always @(posedge clock) begin
+    if (_scale_T) begin // @[Reg.scala 17:18]
+      scale <= scale_io_regs_cfg_write__scale; // @[Reg.scala 17:22]
+    end
+    if (_cmp_T) begin // @[Reg.scala 17:18]
+      cmp_0 <= scale_io_regs_cmp_0_write_bits; // @[Reg.scala 17:22]
+    end
+    countEn_corerstSynchronized_x4 <= scale_io_corerst; // @[WatchdogTimer.scala 33:45]
+    countEn_corerstSynchronized <= countEn_corerstSynchronized_x4; // @[WatchdogTimer.scala 33:34]
+    if (reset) begin // @[Counters.scala 45:37]
+      small_ <= 5'h0; // @[Counters.scala 45:37]
+    end else begin
+      small_ <= _GEN_7[4:0];
+    end
+    if (reset) begin // @[Counters.scala 50:27]
+      large_ <= 26'h0; // @[Counters.scala 50:27]
+    end else begin
+      large_ <= _GEN_8[25:0];
+    end
+    if (_countReset_zerocmp_T) begin // @[Reg.scala 17:18]
+      zerocmp <= scale_io_regs_cfg_write__zerocmp; // @[Reg.scala 17:22]
+    end
+    if (_ip_T_2) begin // @[Reg.scala 17:18]
+      ip_0 <= _ip_T; // @[Reg.scala 17:22]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  cmp_0 = _RAND_1[15:0];
+  _RAND_2 = {1{`RANDOM}};
+  countEn_corerstSynchronized_x4 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  countEn_corerstSynchronized = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  small_ = _RAND_4[4:0];
+  _RAND_5 = {1{`RANDOM}};
+  large_ = _RAND_5[25:0];
+  _RAND_6 = {1{`RANDOM}};
+  zerocmp = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  ip_0 = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module Queue_23(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input         io_enq_bits_read,
+  input  [9:0]  io_enq_bits_index,
+  input  [31:0] io_enq_bits_data,
+  input  [3:0]  io_enq_bits_mask,
+  input  [6:0]  io_enq_bits_extra_tlrr_extra_source,
+  input  [1:0]  io_enq_bits_extra_tlrr_extra_size,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output        io_deq_bits_read,
+  output [9:0]  io_deq_bits_index,
+  output [31:0] io_deq_bits_data,
+  output [3:0]  io_deq_bits_mask,
+  output [6:0]  io_deq_bits_extra_tlrr_extra_source,
+  output [1:0]  io_deq_bits_extra_tlrr_extra_size
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_6;
+`endif // RANDOMIZE_REG_INIT
+  reg  ram_read [0:0]; // @[Decoupled.scala 259:95]
+  wire  ram_read_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_read_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_read_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_read_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_read_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_read_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_read_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [9:0] ram_index [0:0]; // @[Decoupled.scala 259:95]
+  wire  ram_index_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_index_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [9:0] ram_index_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [9:0] ram_index_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_index_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_index_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_index_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [31:0] ram_data [0:0]; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_data_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [31:0] ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_data_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [3:0] ram_mask [0:0]; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_mask_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [3:0] ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_mask_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [6:0] ram_extra_tlrr_extra_source [0:0]; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_source_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_source_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [6:0] ram_extra_tlrr_extra_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [6:0] ram_extra_tlrr_extra_source_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_source_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_source_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_source_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [1:0] ram_extra_tlrr_extra_size [0:0]; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_size_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_size_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_extra_tlrr_extra_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [1:0] ram_extra_tlrr_extra_size_MPORT_data; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_size_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_size_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_extra_tlrr_extra_size_MPORT_en; // @[Decoupled.scala 259:95]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  empty = ~maybe_full; // @[Decoupled.scala 264:28]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  assign ram_read_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_read_io_deq_bits_MPORT_addr = 1'h0;
+  assign ram_read_io_deq_bits_MPORT_data = ram_read[ram_read_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_read_MPORT_data = io_enq_bits_read;
+  assign ram_read_MPORT_addr = 1'h0;
+  assign ram_read_MPORT_mask = 1'h1;
+  assign ram_read_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_index_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_index_io_deq_bits_MPORT_addr = 1'h0;
+  assign ram_index_io_deq_bits_MPORT_data = ram_index[ram_index_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_index_MPORT_data = io_enq_bits_index;
+  assign ram_index_MPORT_addr = 1'h0;
+  assign ram_index_MPORT_mask = 1'h1;
+  assign ram_index_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_data_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_data_io_deq_bits_MPORT_addr = 1'h0;
+  assign ram_data_io_deq_bits_MPORT_data = ram_data[ram_data_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_data_MPORT_data = io_enq_bits_data;
+  assign ram_data_MPORT_addr = 1'h0;
+  assign ram_data_MPORT_mask = 1'h1;
+  assign ram_data_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_mask_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_mask_io_deq_bits_MPORT_addr = 1'h0;
+  assign ram_mask_io_deq_bits_MPORT_data = ram_mask[ram_mask_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_mask_MPORT_data = io_enq_bits_mask;
+  assign ram_mask_MPORT_addr = 1'h0;
+  assign ram_mask_MPORT_mask = 1'h1;
+  assign ram_mask_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_extra_tlrr_extra_source_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_extra_tlrr_extra_source_io_deq_bits_MPORT_addr = 1'h0;
+  assign ram_extra_tlrr_extra_source_io_deq_bits_MPORT_data =
+    ram_extra_tlrr_extra_source[ram_extra_tlrr_extra_source_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_extra_tlrr_extra_source_MPORT_data = io_enq_bits_extra_tlrr_extra_source;
+  assign ram_extra_tlrr_extra_source_MPORT_addr = 1'h0;
+  assign ram_extra_tlrr_extra_source_MPORT_mask = 1'h1;
+  assign ram_extra_tlrr_extra_source_MPORT_en = io_enq_ready & io_enq_valid;
+  assign ram_extra_tlrr_extra_size_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_extra_tlrr_extra_size_io_deq_bits_MPORT_addr = 1'h0;
+  assign ram_extra_tlrr_extra_size_io_deq_bits_MPORT_data =
+    ram_extra_tlrr_extra_size[ram_extra_tlrr_extra_size_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_extra_tlrr_extra_size_MPORT_data = io_enq_bits_extra_tlrr_extra_size;
+  assign ram_extra_tlrr_extra_size_MPORT_addr = 1'h0;
+  assign ram_extra_tlrr_extra_size_MPORT_mask = 1'h1;
+  assign ram_extra_tlrr_extra_size_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~maybe_full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits_read = ram_read_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_index = ram_index_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_data = ram_data_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_mask = ram_mask_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_extra_tlrr_extra_source = ram_extra_tlrr_extra_source_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_deq_bits_extra_tlrr_extra_size = ram_extra_tlrr_extra_size_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  always @(posedge clock) begin
+    if (ram_read_MPORT_en & ram_read_MPORT_mask) begin
+      ram_read[ram_read_MPORT_addr] <= ram_read_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_index_MPORT_en & ram_index_MPORT_mask) begin
+      ram_index[ram_index_MPORT_addr] <= ram_index_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_data_MPORT_en & ram_data_MPORT_mask) begin
+      ram_data[ram_data_MPORT_addr] <= ram_data_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_mask_MPORT_en & ram_mask_MPORT_mask) begin
+      ram_mask[ram_mask_MPORT_addr] <= ram_mask_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_extra_tlrr_extra_source_MPORT_en & ram_extra_tlrr_extra_source_MPORT_mask) begin
+      ram_extra_tlrr_extra_source[ram_extra_tlrr_extra_source_MPORT_addr] <= ram_extra_tlrr_extra_source_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (ram_extra_tlrr_extra_size_MPORT_en & ram_extra_tlrr_extra_size_MPORT_mask) begin
+      ram_extra_tlrr_extra_size[ram_extra_tlrr_extra_size_MPORT_addr] <= ram_extra_tlrr_extra_size_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    ram_read[initvar] = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    ram_index[initvar] = _RAND_1[9:0];
+  _RAND_2 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    ram_data[initvar] = _RAND_2[31:0];
+  _RAND_3 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    ram_mask[initvar] = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    ram_extra_tlrr_extra_source[initvar] = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 1; initvar = initvar+1)
+    ram_extra_tlrr_extra_size[initvar] = _RAND_5[1:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_6 = {1{`RANDOM}};
+  maybe_full = _RAND_6[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLMockAON(
+  input         clock,
+  input         reset,
+  output        auto_int_out_0,
+  output        auto_int_out_1,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [1:0]  auto_in_a_bits_size,
+  input  [6:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_size,
+  output [6:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  output        io_moff_corerst,
+  output        io_wdog_rst,
+  output        io_lfclk,
+  input         io_lfextclk,
+  input         io_resetCauses_wdogrst,
+  input         io_resetCauses_erst
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+`endif // RANDOMIZE_REG_INIT
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  rtc_clock; // @[MockAON.scala 62:19]
+  wire  rtc_reset; // @[MockAON.scala 62:19]
+  wire  rtc_scale_io_regs_cfg_write__countAlways; // @[MockAON.scala 62:19]
+  wire [3:0] rtc_scale_io_regs_cfg_write__scale; // @[MockAON.scala 62:19]
+  wire  rtc_scale_io_regs_cfg_read_ip_0; // @[MockAON.scala 62:19]
+  wire  rtc_scale_io_regs_cfg_read_countAlways; // @[MockAON.scala 62:19]
+  wire [3:0] rtc_scale_io_regs_cfg_read_scale; // @[MockAON.scala 62:19]
+  wire  rtc_scale_io_regs_cfg_write_countAlways; // @[MockAON.scala 62:19]
+  wire  rtc_scale_io_regs_cfg_write_scale; // @[MockAON.scala 62:19]
+  wire  rtc_scale_io_regs_countLo_write_valid; // @[MockAON.scala 62:19]
+  wire [31:0] rtc_scale_io_regs_countLo_write_bits; // @[MockAON.scala 62:19]
+  wire [31:0] rtc_scale_io_regs_countLo_read; // @[MockAON.scala 62:19]
+  wire  rtc_scale_io_regs_countHi_write_valid; // @[MockAON.scala 62:19]
+  wire [31:0] rtc_scale_io_regs_countHi_write_bits; // @[MockAON.scala 62:19]
+  wire [31:0] rtc_scale_io_regs_countHi_read; // @[MockAON.scala 62:19]
+  wire [31:0] rtc_scale_io_regs_s_read; // @[MockAON.scala 62:19]
+  wire  rtc_scale_io_regs_cmp_0_write_valid; // @[MockAON.scala 62:19]
+  wire [31:0] rtc_scale_io_regs_cmp_0_write_bits; // @[MockAON.scala 62:19]
+  wire [31:0] rtc_scale_io_regs_cmp_0_read; // @[MockAON.scala 62:19]
+  wire  rtc_scale_io_ip_0; // @[MockAON.scala 62:19]
+  wire  pmu_clock; // @[MockAON.scala 64:19]
+  wire  pmu_reset; // @[MockAON.scala 64:19]
+  wire  pmu_io_wakeup_rtc; // @[MockAON.scala 64:19]
+  wire  pmu_io_control_corerst; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_ie_write_valid; // @[MockAON.scala 64:19]
+  wire [3:0] pmu_io_regs_ie_write_bits; // @[MockAON.scala 64:19]
+  wire [3:0] pmu_io_regs_ie_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_cause_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_cause_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_sleep_write_valid; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_key_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_key_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_key_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_wakeupProgram_0_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_0_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_0_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_wakeupProgram_1_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_1_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_1_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_wakeupProgram_2_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_2_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_2_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_wakeupProgram_3_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_3_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_3_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_wakeupProgram_4_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_4_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_4_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_wakeupProgram_5_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_5_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_5_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_wakeupProgram_6_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_6_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_6_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_wakeupProgram_7_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_7_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_wakeupProgram_7_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_sleepProgram_0_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_0_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_0_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_sleepProgram_1_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_1_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_1_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_sleepProgram_2_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_2_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_2_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_sleepProgram_3_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_3_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_3_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_sleepProgram_4_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_4_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_4_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_sleepProgram_5_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_5_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_5_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_sleepProgram_6_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_6_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_6_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_regs_sleepProgram_7_write_valid; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_7_write_bits; // @[MockAON.scala 64:19]
+  wire [31:0] pmu_io_regs_sleepProgram_7_read; // @[MockAON.scala 64:19]
+  wire  pmu_io_resetCauses_wdogrst; // @[MockAON.scala 64:19]
+  wire  pmu_io_resetCauses_erst; // @[MockAON.scala 64:19]
+  wire  wdog_clock; // @[MockAON.scala 79:20]
+  wire  wdog_reset; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_write__ip_0; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_write__running; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_write__countAlways; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_write__zerocmp; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_write__sticky; // @[MockAON.scala 79:20]
+  wire [3:0] wdog_scale_io_regs_cfg_write__scale; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_read_ip_0; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_read_running; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_read_countAlways; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_read_zerocmp; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_read_sticky; // @[MockAON.scala 79:20]
+  wire [3:0] wdog_scale_io_regs_cfg_read_scale; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_write_ip_0; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_write_gang_0; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_write_extra_0; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_write_center_0; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_write_running; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_write_countAlways; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_write_deglitch; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_write_zerocmp; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_write_sticky; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cfg_write_scale; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_countLo_write_valid; // @[MockAON.scala 79:20]
+  wire [30:0] wdog_scale_io_regs_countLo_write_bits; // @[MockAON.scala 79:20]
+  wire [30:0] wdog_scale_io_regs_countLo_read; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_countHi_write_valid; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_s_write_valid; // @[MockAON.scala 79:20]
+  wire [15:0] wdog_scale_io_regs_s_read; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_cmp_0_write_valid; // @[MockAON.scala 79:20]
+  wire [15:0] wdog_scale_io_regs_cmp_0_write_bits; // @[MockAON.scala 79:20]
+  wire [15:0] wdog_scale_io_regs_cmp_0_read; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_feed_write_valid; // @[MockAON.scala 79:20]
+  wire [31:0] wdog_scale_io_regs_feed_write_bits; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_regs_key_write_valid; // @[MockAON.scala 79:20]
+  wire [31:0] wdog_scale_io_regs_key_write_bits; // @[MockAON.scala 79:20]
+  wire [31:0] wdog_scale_io_regs_key_read; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_ip_0; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_corerst; // @[MockAON.scala 79:20]
+  wire  wdog_scale_io_rst; // @[MockAON.scala 79:20]
+  wire  out_back_clock; // @[Decoupled.scala 361:21]
+  wire  out_back_reset; // @[Decoupled.scala 361:21]
+  wire  out_back_io_enq_ready; // @[Decoupled.scala 361:21]
+  wire  out_back_io_enq_valid; // @[Decoupled.scala 361:21]
+  wire  out_back_io_enq_bits_read; // @[Decoupled.scala 361:21]
+  wire [9:0] out_back_io_enq_bits_index; // @[Decoupled.scala 361:21]
+  wire [31:0] out_back_io_enq_bits_data; // @[Decoupled.scala 361:21]
+  wire [3:0] out_back_io_enq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [6:0] out_back_io_enq_bits_extra_tlrr_extra_source; // @[Decoupled.scala 361:21]
+  wire [1:0] out_back_io_enq_bits_extra_tlrr_extra_size; // @[Decoupled.scala 361:21]
+  wire  out_back_io_deq_ready; // @[Decoupled.scala 361:21]
+  wire  out_back_io_deq_valid; // @[Decoupled.scala 361:21]
+  wire  out_back_io_deq_bits_read; // @[Decoupled.scala 361:21]
+  wire [9:0] out_back_io_deq_bits_index; // @[Decoupled.scala 361:21]
+  wire [31:0] out_back_io_deq_bits_data; // @[Decoupled.scala 361:21]
+  wire [3:0] out_back_io_deq_bits_mask; // @[Decoupled.scala 361:21]
+  wire [6:0] out_back_io_deq_bits_extra_tlrr_extra_source; // @[Decoupled.scala 361:21]
+  wire [1:0] out_back_io_deq_bits_extra_tlrr_extra_size; // @[Decoupled.scala 361:21]
+  reg [31:0] backupRegs_0; // @[MockAON.scala 87:47]
+  reg [31:0] backupRegs_1; // @[MockAON.scala 87:47]
+  reg [31:0] backupRegs_2; // @[MockAON.scala 87:47]
+  reg [31:0] backupRegs_3; // @[MockAON.scala 87:47]
+  reg [31:0] backupRegs_4; // @[MockAON.scala 87:47]
+  reg [31:0] backupRegs_5; // @[MockAON.scala 87:47]
+  reg [31:0] backupRegs_6; // @[MockAON.scala 87:47]
+  reg [31:0] backupRegs_7; // @[MockAON.scala 87:47]
+  reg [31:0] backupRegs_8; // @[MockAON.scala 87:47]
+  reg [31:0] backupRegs_9; // @[MockAON.scala 87:47]
+  reg [31:0] backupRegs_10; // @[MockAON.scala 87:47]
+  reg [31:0] backupRegs_11; // @[MockAON.scala 87:47]
+  reg [31:0] backupRegs_12; // @[MockAON.scala 87:47]
+  reg [31:0] backupRegs_13; // @[MockAON.scala 87:47]
+  reg [31:0] backupRegs_14; // @[MockAON.scala 87:47]
+  reg [31:0] backupRegs_15; // @[MockAON.scala 87:47]
+  wire [9:0] out_bindex = out_back_io_deq_bits_index & 10'h380; // @[RegisterRouter.scala 83:24]
+  wire  _out_T_1 = out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [7:0] _out_backMask_T_5 = out_back_io_deq_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_7 = out_back_io_deq_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_9 = out_back_io_deq_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_11 = out_back_io_deq_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_backMask = {_out_backMask_T_11,_out_backMask_T_9,_out_backMask_T_7,_out_backMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_womask = &out_backMask; // @[RegisterRouter.scala 83:24]
+  wire [6:0] out_oindex = {out_back_io_deq_bits_index[6],out_back_io_deq_bits_index[5],out_back_io_deq_bits_index[4],
+    out_back_io_deq_bits_index[3],out_back_io_deq_bits_index[2],out_back_io_deq_bits_index[1],out_back_io_deq_bits_index
+    [0]}; // @[Cat.scala 31:58]
+  wire [127:0] _out_backSel_T = 128'h1 << out_oindex; // @[OneHot.scala 57:35]
+  wire  out_backSel_69 = _out_backSel_T[69]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_0 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_69 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_100 = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_105 = pmu_io_regs_wakeupProgram_5_read; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_1 = &out_backMask[3:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_0 = _out_backSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_1 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_0 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] _out_T_116 = wdog_scale_io_regs_cfg_read_scale; // @[RegisterRouter.scala 83:24]
+  wire [4:0] out_prepend = {1'h0,_out_T_116}; // @[Cat.scala 31:58]
+  wire [7:0] _out_T_125 = {{3'd0}, out_prepend}; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_3 = &out_backMask[8]; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_4 = &out_backMask[9]; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_5 = &out_backMask[10]; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_7 = &out_backMask[12]; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_8 = &out_backMask[13]; // @[RegisterRouter.scala 83:24]
+  wire [14:0] out_prepend_7 = {1'h0,wdog_scale_io_regs_cfg_read_running,wdog_scale_io_regs_cfg_read_countAlways,1'h0,1'h0
+    ,wdog_scale_io_regs_cfg_read_zerocmp,wdog_scale_io_regs_cfg_read_sticky,_out_T_125}; // @[Cat.scala 31:58]
+  wire [15:0] _out_T_196 = {{1'd0}, out_prepend_7}; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_10 = &out_backMask[16]; // @[RegisterRouter.scala 83:24]
+  wire [17:0] out_prepend_9 = {1'h0,1'h0,_out_T_196}; // @[Cat.scala 31:58]
+  wire [19:0] _out_T_214 = {{2'd0}, out_prepend_9}; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_12 = &out_backMask[20]; // @[RegisterRouter.scala 83:24]
+  wire [21:0] out_prepend_11 = {1'h0,1'h0,_out_T_214}; // @[Cat.scala 31:58]
+  wire [23:0] _out_T_232 = {{2'd0}, out_prepend_11}; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_14 = &out_backMask[24]; // @[RegisterRouter.scala 83:24]
+  wire [25:0] out_prepend_13 = {1'h0,1'h0,_out_T_232}; // @[Cat.scala 31:58]
+  wire [27:0] _out_T_250 = {{2'd0}, out_prepend_13}; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_16 = &out_backMask[28]; // @[RegisterRouter.scala 83:24]
+  wire [29:0] out_prepend_15 = {1'h0,wdog_scale_io_regs_cfg_read_ip_0,_out_T_250}; // @[Cat.scala 31:58]
+  wire [31:0] _out_T_270 = {{2'd0}, out_prepend_15}; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_42 = _out_backSel_T[42]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_18 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_42 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_18 = out_woready_18 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_24 = _out_backSel_T[24]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_19 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_24 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_288 = rtc_scale_io_regs_cmp_0_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_37 = _out_backSel_T[37]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_20 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_37 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_20 = out_woready_20 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_304 = rtc_scale_io_regs_s_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_46 = _out_backSel_T[46]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_22 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_46 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_22 = out_woready_22 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_78 = _out_backSel_T[78]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_23 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_78 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_318 = pmu_io_regs_sleepProgram_6_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_74 = _out_backSel_T[74]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_24 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_74 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_325 = pmu_io_regs_sleepProgram_2_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_6 = _out_backSel_T[6]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_25 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_6 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_38 = _out_backSel_T[38]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_26 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_38 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_26 = out_woready_26 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_70 = _out_backSel_T[70]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_27 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_70 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_350 = pmu_io_regs_wakeupProgram_6_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_33 = _out_backSel_T[33]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_28 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_33 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_28 = out_woready_28 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_65 = _out_backSel_T[65]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_29 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_65 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_364 = pmu_io_regs_wakeupProgram_1_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_77 = _out_backSel_T[77]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_30 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_77 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_371 = pmu_io_regs_sleepProgram_5_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_41 = _out_backSel_T[41]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_31 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_41 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_31 = out_woready_31 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_73 = _out_backSel_T[73]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_32 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_73 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_385 = pmu_io_regs_sleepProgram_1_read; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_33 = &out_backMask[30:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_2 = _out_backSel_T[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_33 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_2 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [30:0] _out_T_396 = wdog_scale_io_regs_countLo_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_32 = _out_backSel_T[32]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_34 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_32 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_34 = out_woready_34 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_34 = _out_backSel_T[34]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_35 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_34 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_35 = out_woready_35 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_45 = _out_backSel_T[45]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_36 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_45 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_36 = out_woready_36 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_64 = _out_backSel_T[64]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_37 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_64 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_424 = pmu_io_regs_wakeupProgram_0_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_44 = _out_backSel_T[44]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_39 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_44 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_39 = out_woready_39 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_71 = _out_backSel_T[71]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_40 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_71 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_447 = pmu_io_regs_wakeupProgram_7_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_81 = _out_backSel_T[81]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_41 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_81 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_454 = pmu_io_regs_cause_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_76 = _out_backSel_T[76]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_42 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_76 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_461 = pmu_io_regs_sleepProgram_4_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_7 = _out_backSel_T[7]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_43 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_7 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_472 = wdog_scale_io_regs_key_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_39 = _out_backSel_T[39]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_44 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_39 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_44 = out_woready_44 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_66 = _out_backSel_T[66]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_45 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_66 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_486 = pmu_io_regs_wakeupProgram_2_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_3 = _out_backSel_T[3]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_46 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_3 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_80 = _out_backSel_T[80]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_47 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_80 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] _out_T_502 = pmu_io_regs_ie_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_35 = _out_backSel_T[35]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_48 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_35 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_48 = out_woready_48 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_18 = _out_backSel_T[18]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_49 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_18 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_520 = rtc_scale_io_regs_countLo_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_67 = _out_backSel_T[67]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_50 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_67 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_527 = pmu_io_regs_wakeupProgram_3_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_16 = _out_backSel_T[16]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_51 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_16 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] _out_T_538 = rtc_scale_io_regs_cfg_read_scale; // @[RegisterRouter.scala 83:24]
+  wire [4:0] out_prepend_16 = {1'h0,_out_T_538}; // @[Cat.scala 31:58]
+  wire [7:0] _out_T_547 = {{3'd0}, out_prepend_16}; // @[RegisterRouter.scala 83:24]
+  wire [14:0] out_prepend_23 = {1'h0,1'h0,rtc_scale_io_regs_cfg_read_countAlways,1'h0,1'h0,1'h0,1'h0,_out_T_547}; // @[Cat.scala 31:58]
+  wire [15:0] _out_T_612 = {{1'd0}, out_prepend_23}; // @[RegisterRouter.scala 83:24]
+  wire [17:0] out_prepend_25 = {1'h0,1'h0,_out_T_612}; // @[Cat.scala 31:58]
+  wire [19:0] _out_T_630 = {{2'd0}, out_prepend_25}; // @[RegisterRouter.scala 83:24]
+  wire [21:0] out_prepend_27 = {1'h0,1'h0,_out_T_630}; // @[Cat.scala 31:58]
+  wire [23:0] _out_T_648 = {{2'd0}, out_prepend_27}; // @[RegisterRouter.scala 83:24]
+  wire [25:0] out_prepend_29 = {1'h0,1'h0,_out_T_648}; // @[Cat.scala 31:58]
+  wire [27:0] _out_T_666 = {{2'd0}, out_prepend_29}; // @[RegisterRouter.scala 83:24]
+  wire [29:0] out_prepend_31 = {1'h0,rtc_scale_io_regs_cfg_read_ip_0,_out_T_666}; // @[Cat.scala 31:58]
+  wire [31:0] _out_T_686 = {{2'd0}, out_prepend_31}; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_72 = _out_backSel_T[72]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_68 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_72 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_693 = pmu_io_regs_sleepProgram_0_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_43 = _out_backSel_T[43]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_69 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_43 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_69 = out_woready_69 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_40 = _out_backSel_T[40]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_70 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_40 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_70 = out_woready_70 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_72 = &out_backMask[15:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_8 = _out_backSel_T[8]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_72 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_8 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_727 = wdog_scale_io_regs_cmp_0_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_75 = _out_backSel_T[75]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_73 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_75 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_734 = pmu_io_regs_sleepProgram_3_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_82 = _out_backSel_T[82]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_74 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_82 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_36 = _out_backSel_T[36]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_75 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_36 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_75 = out_woready_75 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_19 = _out_backSel_T[19]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_76 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_19 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_759 = rtc_scale_io_regs_countHi_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_4 = _out_backSel_T[4]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_77 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_4 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_768 = wdog_scale_io_regs_s_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_79 = _out_backSel_T[79]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_78 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_79 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_775 = pmu_io_regs_sleepProgram_7_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_47 = _out_backSel_T[47]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_79 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_47 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_79 = out_woready_79 & out_womask; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_68 = _out_backSel_T[68]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_80 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_68 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_789 = pmu_io_regs_wakeupProgram_4_read; // @[RegisterRouter.scala 83:24]
+  wire  out_backSel_83 = _out_backSel_T[83]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_81 = out_back_io_deq_valid & auto_in_d_ready & ~out_back_io_deq_bits_read & out_backSel_83 &
+    out_bindex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_796 = pmu_io_regs_key_read; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_528 = 7'h53 == out_oindex ? _out_T_1 : 1'h1; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_529 = 7'h52 == out_oindex ? _out_T_1 : _GEN_528; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_530 = 7'h51 == out_oindex ? _out_T_1 : _GEN_529; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_531 = 7'h50 == out_oindex ? _out_T_1 : _GEN_530; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_532 = 7'h4f == out_oindex ? _out_T_1 : _GEN_531; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_533 = 7'h4e == out_oindex ? _out_T_1 : _GEN_532; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_534 = 7'h4d == out_oindex ? _out_T_1 : _GEN_533; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_535 = 7'h4c == out_oindex ? _out_T_1 : _GEN_534; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_536 = 7'h4b == out_oindex ? _out_T_1 : _GEN_535; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_537 = 7'h4a == out_oindex ? _out_T_1 : _GEN_536; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_538 = 7'h49 == out_oindex ? _out_T_1 : _GEN_537; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_539 = 7'h48 == out_oindex ? _out_T_1 : _GEN_538; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_540 = 7'h47 == out_oindex ? _out_T_1 : _GEN_539; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_541 = 7'h46 == out_oindex ? _out_T_1 : _GEN_540; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_542 = 7'h45 == out_oindex ? _out_T_1 : _GEN_541; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_543 = 7'h44 == out_oindex ? _out_T_1 : _GEN_542; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_544 = 7'h43 == out_oindex ? _out_T_1 : _GEN_543; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_545 = 7'h42 == out_oindex ? _out_T_1 : _GEN_544; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_546 = 7'h41 == out_oindex ? _out_T_1 : _GEN_545; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_547 = 7'h40 == out_oindex ? _out_T_1 : _GEN_546; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_548 = 7'h2f == out_oindex ? _out_T_1 : _GEN_547; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_549 = 7'h2e == out_oindex ? _out_T_1 : _GEN_548; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_550 = 7'h2d == out_oindex ? _out_T_1 : _GEN_549; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_551 = 7'h2c == out_oindex ? _out_T_1 : _GEN_550; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_552 = 7'h2b == out_oindex ? _out_T_1 : _GEN_551; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_553 = 7'h2a == out_oindex ? _out_T_1 : _GEN_552; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_554 = 7'h29 == out_oindex ? _out_T_1 : _GEN_553; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_555 = 7'h28 == out_oindex ? _out_T_1 : _GEN_554; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_556 = 7'h27 == out_oindex ? _out_T_1 : _GEN_555; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_557 = 7'h26 == out_oindex ? _out_T_1 : _GEN_556; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_558 = 7'h25 == out_oindex ? _out_T_1 : _GEN_557; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_559 = 7'h24 == out_oindex ? _out_T_1 : _GEN_558; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_560 = 7'h23 == out_oindex ? _out_T_1 : _GEN_559; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_561 = 7'h22 == out_oindex ? _out_T_1 : _GEN_560; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_562 = 7'h21 == out_oindex ? _out_T_1 : _GEN_561; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_563 = 7'h20 == out_oindex ? _out_T_1 : _GEN_562; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_564 = 7'h18 == out_oindex ? _out_T_1 : _GEN_563; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_565 = 7'h17 == out_oindex ? _out_T_1 : _GEN_564; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_566 = 7'h16 == out_oindex ? _out_T_1 : _GEN_565; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_567 = 7'h14 == out_oindex ? _out_T_1 : _GEN_566; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_568 = 7'h13 == out_oindex ? _out_T_1 : _GEN_567; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_569 = 7'h12 == out_oindex ? _out_T_1 : _GEN_568; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_570 = 7'h10 == out_oindex ? _out_T_1 : _GEN_569; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_571 = 7'h8 == out_oindex ? _out_T_1 : _GEN_570; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_572 = 7'h7 == out_oindex ? _out_T_1 : _GEN_571; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_573 = 7'h6 == out_oindex ? _out_T_1 : _GEN_572; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_574 = 7'h4 == out_oindex ? _out_T_1 : _GEN_573; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_575 = 7'h3 == out_oindex ? _out_T_1 : _GEN_574; // @[MuxLiteral.scala 53:{26,32}]
+  wire  _GEN_576 = 7'h2 == out_oindex ? _out_T_1 : _GEN_575; // @[MuxLiteral.scala 53:{26,32}]
+  wire  out_out_bits_data_out = 7'h0 == out_oindex ? _out_T_1 : _GEN_576; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_578 = 7'h53 == out_oindex ? _out_T_796 : 32'h0; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_579 = 7'h52 == out_oindex ? 32'h0 : _GEN_578; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_580 = 7'h51 == out_oindex ? _out_T_454 : _GEN_579; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_581 = 7'h50 == out_oindex ? {{28'd0}, _out_T_502} : _GEN_580; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_582 = 7'h4f == out_oindex ? _out_T_775 : _GEN_581; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_583 = 7'h4e == out_oindex ? _out_T_318 : _GEN_582; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_584 = 7'h4d == out_oindex ? _out_T_371 : _GEN_583; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_585 = 7'h4c == out_oindex ? _out_T_461 : _GEN_584; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_586 = 7'h4b == out_oindex ? _out_T_734 : _GEN_585; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_587 = 7'h4a == out_oindex ? _out_T_325 : _GEN_586; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_588 = 7'h49 == out_oindex ? _out_T_385 : _GEN_587; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_589 = 7'h48 == out_oindex ? _out_T_693 : _GEN_588; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_590 = 7'h47 == out_oindex ? _out_T_447 : _GEN_589; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_591 = 7'h46 == out_oindex ? _out_T_350 : _GEN_590; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_592 = 7'h45 == out_oindex ? _out_T_105 : _GEN_591; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_593 = 7'h44 == out_oindex ? _out_T_789 : _GEN_592; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_594 = 7'h43 == out_oindex ? _out_T_527 : _GEN_593; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_595 = 7'h42 == out_oindex ? _out_T_486 : _GEN_594; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_596 = 7'h41 == out_oindex ? _out_T_364 : _GEN_595; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_597 = 7'h40 == out_oindex ? _out_T_424 : _GEN_596; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_598 = 7'h2f == out_oindex ? backupRegs_15 : _GEN_597; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_599 = 7'h2e == out_oindex ? backupRegs_14 : _GEN_598; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_600 = 7'h2d == out_oindex ? backupRegs_13 : _GEN_599; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_601 = 7'h2c == out_oindex ? backupRegs_12 : _GEN_600; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_602 = 7'h2b == out_oindex ? backupRegs_11 : _GEN_601; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_603 = 7'h2a == out_oindex ? backupRegs_10 : _GEN_602; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_604 = 7'h29 == out_oindex ? backupRegs_9 : _GEN_603; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_605 = 7'h28 == out_oindex ? backupRegs_8 : _GEN_604; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_606 = 7'h27 == out_oindex ? backupRegs_7 : _GEN_605; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_607 = 7'h26 == out_oindex ? backupRegs_6 : _GEN_606; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_608 = 7'h25 == out_oindex ? backupRegs_5 : _GEN_607; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_609 = 7'h24 == out_oindex ? backupRegs_4 : _GEN_608; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_610 = 7'h23 == out_oindex ? backupRegs_3 : _GEN_609; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_611 = 7'h22 == out_oindex ? backupRegs_2 : _GEN_610; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_612 = 7'h21 == out_oindex ? backupRegs_1 : _GEN_611; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_613 = 7'h20 == out_oindex ? backupRegs_0 : _GEN_612; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_614 = 7'h18 == out_oindex ? _out_T_288 : _GEN_613; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_615 = 7'h17 == out_oindex ? 32'h1 : _GEN_614; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_616 = 7'h16 == out_oindex ? 32'h0 : _GEN_615; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_617 = 7'h14 == out_oindex ? _out_T_304 : _GEN_616; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_618 = 7'h13 == out_oindex ? _out_T_759 : _GEN_617; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_619 = 7'h12 == out_oindex ? _out_T_520 : _GEN_618; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_620 = 7'h10 == out_oindex ? _out_T_686 : _GEN_619; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_621 = 7'h8 == out_oindex ? {{16'd0}, _out_T_727} : _GEN_620; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_622 = 7'h7 == out_oindex ? _out_T_472 : _GEN_621; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_623 = 7'h6 == out_oindex ? 32'h0 : _GEN_622; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_624 = 7'h4 == out_oindex ? {{16'd0}, _out_T_768} : _GEN_623; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_625 = 7'h3 == out_oindex ? 32'h0 : _GEN_624; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] _GEN_626 = 7'h2 == out_oindex ? {{1'd0}, _out_T_396} : _GEN_625; // @[MuxLiteral.scala 53:{26,32}]
+  wire [31:0] out_out_bits_data_out_1 = 7'h0 == out_oindex ? _out_T_270 : _GEN_626; // @[MuxLiteral.scala 53:{26,32}]
+  wire  out_bits_read = out_back_io_deq_bits_read; // @[RegisterRouter.scala 83:{24,24}]
+  TLMonitor_55 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  RTC rtc ( // @[MockAON.scala 62:19]
+    .clock(rtc_clock),
+    .reset(rtc_reset),
+    .scale_io_regs_cfg_write__countAlways(rtc_scale_io_regs_cfg_write__countAlways),
+    .scale_io_regs_cfg_write__scale(rtc_scale_io_regs_cfg_write__scale),
+    .scale_io_regs_cfg_read_ip_0(rtc_scale_io_regs_cfg_read_ip_0),
+    .scale_io_regs_cfg_read_countAlways(rtc_scale_io_regs_cfg_read_countAlways),
+    .scale_io_regs_cfg_read_scale(rtc_scale_io_regs_cfg_read_scale),
+    .scale_io_regs_cfg_write_countAlways(rtc_scale_io_regs_cfg_write_countAlways),
+    .scale_io_regs_cfg_write_scale(rtc_scale_io_regs_cfg_write_scale),
+    .scale_io_regs_countLo_write_valid(rtc_scale_io_regs_countLo_write_valid),
+    .scale_io_regs_countLo_write_bits(rtc_scale_io_regs_countLo_write_bits),
+    .scale_io_regs_countLo_read(rtc_scale_io_regs_countLo_read),
+    .scale_io_regs_countHi_write_valid(rtc_scale_io_regs_countHi_write_valid),
+    .scale_io_regs_countHi_write_bits(rtc_scale_io_regs_countHi_write_bits),
+    .scale_io_regs_countHi_read(rtc_scale_io_regs_countHi_read),
+    .scale_io_regs_s_read(rtc_scale_io_regs_s_read),
+    .scale_io_regs_cmp_0_write_valid(rtc_scale_io_regs_cmp_0_write_valid),
+    .scale_io_regs_cmp_0_write_bits(rtc_scale_io_regs_cmp_0_write_bits),
+    .scale_io_regs_cmp_0_read(rtc_scale_io_regs_cmp_0_read),
+    .scale_io_ip_0(rtc_scale_io_ip_0)
+  );
+  PMU pmu ( // @[MockAON.scala 64:19]
+    .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 79:20]
+    .clock(wdog_clock),
+    .reset(wdog_reset),
+    .scale_io_regs_cfg_write__ip_0(wdog_scale_io_regs_cfg_write__ip_0),
+    .scale_io_regs_cfg_write__running(wdog_scale_io_regs_cfg_write__running),
+    .scale_io_regs_cfg_write__countAlways(wdog_scale_io_regs_cfg_write__countAlways),
+    .scale_io_regs_cfg_write__zerocmp(wdog_scale_io_regs_cfg_write__zerocmp),
+    .scale_io_regs_cfg_write__sticky(wdog_scale_io_regs_cfg_write__sticky),
+    .scale_io_regs_cfg_write__scale(wdog_scale_io_regs_cfg_write__scale),
+    .scale_io_regs_cfg_read_ip_0(wdog_scale_io_regs_cfg_read_ip_0),
+    .scale_io_regs_cfg_read_running(wdog_scale_io_regs_cfg_read_running),
+    .scale_io_regs_cfg_read_countAlways(wdog_scale_io_regs_cfg_read_countAlways),
+    .scale_io_regs_cfg_read_zerocmp(wdog_scale_io_regs_cfg_read_zerocmp),
+    .scale_io_regs_cfg_read_sticky(wdog_scale_io_regs_cfg_read_sticky),
+    .scale_io_regs_cfg_read_scale(wdog_scale_io_regs_cfg_read_scale),
+    .scale_io_regs_cfg_write_ip_0(wdog_scale_io_regs_cfg_write_ip_0),
+    .scale_io_regs_cfg_write_gang_0(wdog_scale_io_regs_cfg_write_gang_0),
+    .scale_io_regs_cfg_write_extra_0(wdog_scale_io_regs_cfg_write_extra_0),
+    .scale_io_regs_cfg_write_center_0(wdog_scale_io_regs_cfg_write_center_0),
+    .scale_io_regs_cfg_write_running(wdog_scale_io_regs_cfg_write_running),
+    .scale_io_regs_cfg_write_countAlways(wdog_scale_io_regs_cfg_write_countAlways),
+    .scale_io_regs_cfg_write_deglitch(wdog_scale_io_regs_cfg_write_deglitch),
+    .scale_io_regs_cfg_write_zerocmp(wdog_scale_io_regs_cfg_write_zerocmp),
+    .scale_io_regs_cfg_write_sticky(wdog_scale_io_regs_cfg_write_sticky),
+    .scale_io_regs_cfg_write_scale(wdog_scale_io_regs_cfg_write_scale),
+    .scale_io_regs_countLo_write_valid(wdog_scale_io_regs_countLo_write_valid),
+    .scale_io_regs_countLo_write_bits(wdog_scale_io_regs_countLo_write_bits),
+    .scale_io_regs_countLo_read(wdog_scale_io_regs_countLo_read),
+    .scale_io_regs_countHi_write_valid(wdog_scale_io_regs_countHi_write_valid),
+    .scale_io_regs_s_write_valid(wdog_scale_io_regs_s_write_valid),
+    .scale_io_regs_s_read(wdog_scale_io_regs_s_read),
+    .scale_io_regs_cmp_0_write_valid(wdog_scale_io_regs_cmp_0_write_valid),
+    .scale_io_regs_cmp_0_write_bits(wdog_scale_io_regs_cmp_0_write_bits),
+    .scale_io_regs_cmp_0_read(wdog_scale_io_regs_cmp_0_read),
+    .scale_io_regs_feed_write_valid(wdog_scale_io_regs_feed_write_valid),
+    .scale_io_regs_feed_write_bits(wdog_scale_io_regs_feed_write_bits),
+    .scale_io_regs_key_write_valid(wdog_scale_io_regs_key_write_valid),
+    .scale_io_regs_key_write_bits(wdog_scale_io_regs_key_write_bits),
+    .scale_io_regs_key_read(wdog_scale_io_regs_key_read),
+    .scale_io_ip_0(wdog_scale_io_ip_0),
+    .scale_io_corerst(wdog_scale_io_corerst),
+    .scale_io_rst(wdog_scale_io_rst)
+  );
+  Queue_23 out_back ( // @[Decoupled.scala 361:21]
+    .clock(out_back_clock),
+    .reset(out_back_reset),
+    .io_enq_ready(out_back_io_enq_ready),
+    .io_enq_valid(out_back_io_enq_valid),
+    .io_enq_bits_read(out_back_io_enq_bits_read),
+    .io_enq_bits_index(out_back_io_enq_bits_index),
+    .io_enq_bits_data(out_back_io_enq_bits_data),
+    .io_enq_bits_mask(out_back_io_enq_bits_mask),
+    .io_enq_bits_extra_tlrr_extra_source(out_back_io_enq_bits_extra_tlrr_extra_source),
+    .io_enq_bits_extra_tlrr_extra_size(out_back_io_enq_bits_extra_tlrr_extra_size),
+    .io_deq_ready(out_back_io_deq_ready),
+    .io_deq_valid(out_back_io_deq_valid),
+    .io_deq_bits_read(out_back_io_deq_bits_read),
+    .io_deq_bits_index(out_back_io_deq_bits_index),
+    .io_deq_bits_data(out_back_io_deq_bits_data),
+    .io_deq_bits_mask(out_back_io_deq_bits_mask),
+    .io_deq_bits_extra_tlrr_extra_source(out_back_io_deq_bits_extra_tlrr_extra_source),
+    .io_deq_bits_extra_tlrr_extra_size(out_back_io_deq_bits_extra_tlrr_extra_size)
+  );
+  assign auto_int_out_0 = wdog_scale_io_ip_0; // @[Nodes.scala 1207:84 MockAON.scala 82:17]
+  assign auto_int_out_1 = rtc_scale_io_ip_0; // @[Nodes.scala 1207:84 MockAON.scala 77:17]
+  assign auto_in_a_ready = out_back_io_enq_ready; // @[Decoupled.scala 365:17 RegisterRouter.scala 83:24]
+  assign auto_in_d_valid = out_back_io_deq_valid; // @[RegisterRouter.scala 83:24]
+  assign auto_in_d_bits_opcode = {{2'd0}, out_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign auto_in_d_bits_size = out_back_io_deq_bits_extra_tlrr_extra_size; // @[RegisterRouter.scala 83:{24,24}]
+  assign auto_in_d_bits_source = out_back_io_deq_bits_extra_tlrr_extra_source; // @[RegisterRouter.scala 83:{24,24}]
+  assign auto_in_d_bits_data = out_out_bits_data_out ? out_out_bits_data_out_1 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign io_moff_corerst = pmu_io_control_corerst; // @[MockAON.scala 65:11]
+  assign io_wdog_rst = wdog_scale_io_rst; // @[MockAON.scala 80:15]
+  assign io_lfclk = io_lfextclk; // @[MockAON.scala 85:12]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = out_back_io_enq_ready; // @[Decoupled.scala 365:17 RegisterRouter.scala 83:24]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = out_back_io_deq_valid; // @[RegisterRouter.scala 83:24]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, out_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = out_back_io_deq_bits_extra_tlrr_extra_size; // @[RegisterRouter.scala 83:{24,24}]
+  assign monitor_io_in_d_bits_source = out_back_io_deq_bits_extra_tlrr_extra_source; // @[RegisterRouter.scala 83:{24,24}]
+  assign rtc_clock = clock;
+  assign rtc_reset = reset;
+  assign rtc_scale_io_regs_cfg_write__countAlways = out_back_io_deq_bits_data[12]; // @[RegisterRouter.scala 83:24]
+  assign rtc_scale_io_regs_cfg_write__scale = out_back_io_deq_bits_data[3:0]; // @[RegisterRouter.scala 83:24]
+  assign rtc_scale_io_regs_cfg_write_countAlways = out_woready_51 & out_womask_7; // @[RegisterRouter.scala 83:24]
+  assign rtc_scale_io_regs_cfg_write_scale = out_woready_51 & out_womask_1; // @[RegisterRouter.scala 83:24]
+  assign rtc_scale_io_regs_countLo_write_valid = out_woready_49 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign rtc_scale_io_regs_countLo_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign rtc_scale_io_regs_countHi_write_valid = out_woready_76 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign rtc_scale_io_regs_countHi_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign rtc_scale_io_regs_cmp_0_write_valid = out_woready_19 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign rtc_scale_io_regs_cmp_0_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_clock = clock;
+  assign pmu_reset = reset;
+  assign pmu_io_wakeup_rtc = rtc_scale_io_ip_0; // @[MockAON.scala 69:21]
+  assign pmu_io_regs_ie_write_valid = out_woready_47 & out_womask_1; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_ie_write_bits = out_back_io_deq_bits_data[3:0]; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_cause_write_valid = out_woready_41 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleep_write_valid = out_woready_74 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_key_write_valid = out_woready_81 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_key_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_0_write_valid = out_woready_37 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_0_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_1_write_valid = out_woready_29 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_1_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_2_write_valid = out_woready_45 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_2_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_3_write_valid = out_woready_50 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_3_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_4_write_valid = out_woready_80 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_4_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_5_write_valid = out_woready_0 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_5_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_6_write_valid = out_woready_27 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_6_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_7_write_valid = out_woready_40 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_wakeupProgram_7_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_0_write_valid = out_woready_68 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_0_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_1_write_valid = out_woready_32 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_1_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_2_write_valid = out_woready_24 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_2_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_3_write_valid = out_woready_73 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_3_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_4_write_valid = out_woready_42 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_4_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_5_write_valid = out_woready_30 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_5_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_6_write_valid = out_woready_23 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_6_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_7_write_valid = out_woready_78 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_regs_sleepProgram_7_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign pmu_io_resetCauses_wdogrst = io_resetCauses_wdogrst; // @[MockAON.scala 70:22]
+  assign pmu_io_resetCauses_erst = io_resetCauses_erst; // @[MockAON.scala 70:22]
+  assign wdog_clock = clock;
+  assign wdog_reset = reset;
+  assign wdog_scale_io_regs_cfg_write__ip_0 = out_back_io_deq_bits_data[28]; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cfg_write__running = out_back_io_deq_bits_data[13]; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cfg_write__countAlways = out_back_io_deq_bits_data[12]; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cfg_write__zerocmp = out_back_io_deq_bits_data[9]; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cfg_write__sticky = out_back_io_deq_bits_data[8]; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cfg_write__scale = out_back_io_deq_bits_data[3:0]; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cfg_write_ip_0 = out_woready_1 & out_womask_16; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cfg_write_gang_0 = out_woready_1 & out_womask_14; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cfg_write_extra_0 = out_woready_1 & out_womask_12; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cfg_write_center_0 = out_woready_1 & out_womask_10; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cfg_write_running = out_woready_1 & out_womask_8; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cfg_write_countAlways = out_woready_1 & out_womask_7; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cfg_write_deglitch = out_woready_1 & out_womask_5; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cfg_write_zerocmp = out_woready_1 & out_womask_4; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cfg_write_sticky = out_woready_1 & out_womask_3; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cfg_write_scale = out_woready_1 & out_womask_1; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_countLo_write_valid = out_woready_33 & out_womask_33; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_countLo_write_bits = out_back_io_deq_bits_data[30:0]; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_countHi_write_valid = out_woready_46 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_s_write_valid = out_woready_77 & out_womask_72; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cmp_0_write_valid = out_woready_72 & out_womask_72; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_cmp_0_write_bits = out_back_io_deq_bits_data[15:0]; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_feed_write_valid = out_woready_25 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_feed_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_key_write_valid = out_woready_43 & out_womask; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_regs_key_write_bits = out_back_io_deq_bits_data; // @[RegisterRouter.scala 83:24]
+  assign wdog_scale_io_corerst = pmu_io_control_corerst; // @[MockAON.scala 81:19]
+  assign out_back_clock = clock;
+  assign out_back_reset = reset;
+  assign out_back_io_enq_valid = auto_in_a_valid; // @[RegisterRouter.scala 83:24]
+  assign out_back_io_enq_bits_read = auto_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  assign out_back_io_enq_bits_index = auto_in_a_bits_address[11:2]; // @[RegisterRouter.scala 71:18 73:19]
+  assign out_back_io_enq_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign out_back_io_enq_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign out_back_io_enq_bits_extra_tlrr_extra_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign out_back_io_enq_bits_extra_tlrr_extra_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign out_back_io_deq_ready = auto_in_d_ready; // @[RegisterRouter.scala 83:24]
+  always @(posedge clock) begin
+    if (out_f_woready_34) begin // @[RegField.scala 74:88]
+      backupRegs_0 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_28) begin // @[RegField.scala 74:88]
+      backupRegs_1 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_35) begin // @[RegField.scala 74:88]
+      backupRegs_2 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_48) begin // @[RegField.scala 74:88]
+      backupRegs_3 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_75) begin // @[RegField.scala 74:88]
+      backupRegs_4 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_20) begin // @[RegField.scala 74:88]
+      backupRegs_5 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_26) begin // @[RegField.scala 74:88]
+      backupRegs_6 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_44) begin // @[RegField.scala 74:88]
+      backupRegs_7 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_70) begin // @[RegField.scala 74:88]
+      backupRegs_8 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_31) begin // @[RegField.scala 74:88]
+      backupRegs_9 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_18) begin // @[RegField.scala 74:88]
+      backupRegs_10 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_69) begin // @[RegField.scala 74:88]
+      backupRegs_11 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_39) begin // @[RegField.scala 74:88]
+      backupRegs_12 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_36) begin // @[RegField.scala 74:88]
+      backupRegs_13 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_22) begin // @[RegField.scala 74:88]
+      backupRegs_14 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+    if (out_f_woready_79) begin // @[RegField.scala 74:88]
+      backupRegs_15 <= _out_T_100; // @[RegField.scala 74:92]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  backupRegs_1 = _RAND_1[31:0];
+  _RAND_2 = {1{`RANDOM}};
+  backupRegs_2 = _RAND_2[31:0];
+  _RAND_3 = {1{`RANDOM}};
+  backupRegs_3 = _RAND_3[31:0];
+  _RAND_4 = {1{`RANDOM}};
+  backupRegs_4 = _RAND_4[31:0];
+  _RAND_5 = {1{`RANDOM}};
+  backupRegs_5 = _RAND_5[31:0];
+  _RAND_6 = {1{`RANDOM}};
+  backupRegs_6 = _RAND_6[31:0];
+  _RAND_7 = {1{`RANDOM}};
+  backupRegs_7 = _RAND_7[31:0];
+  _RAND_8 = {1{`RANDOM}};
+  backupRegs_8 = _RAND_8[31:0];
+  _RAND_9 = {1{`RANDOM}};
+  backupRegs_9 = _RAND_9[31:0];
+  _RAND_10 = {1{`RANDOM}};
+  backupRegs_10 = _RAND_10[31:0];
+  _RAND_11 = {1{`RANDOM}};
+  backupRegs_11 = _RAND_11[31:0];
+  _RAND_12 = {1{`RANDOM}};
+  backupRegs_12 = _RAND_12[31:0];
+  _RAND_13 = {1{`RANDOM}};
+  backupRegs_13 = _RAND_13[31:0];
+  _RAND_14 = {1{`RANDOM}};
+  backupRegs_14 = _RAND_14[31:0];
+  _RAND_15 = {1{`RANDOM}};
+  backupRegs_15 = _RAND_15[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module IsoZero(
+  input   io_in,
+  input   io_iso,
+  output  io_out
+);
+  assign io_out = io_in & ~io_iso; // @[MockAONWrapper.scala 158:19]
+endmodule
+module TLIsolation(
+  input  [2:0]  auto_in_a_mem_0_opcode,
+  input  [2:0]  auto_in_a_mem_0_param,
+  input  [1:0]  auto_in_a_mem_0_size,
+  input  [6:0]  auto_in_a_mem_0_source,
+  input  [28:0] auto_in_a_mem_0_address,
+  input  [3:0]  auto_in_a_mem_0_mask,
+  input  [31:0] auto_in_a_mem_0_data,
+  input         auto_in_a_mem_0_corrupt,
+  output        auto_in_a_ridx,
+  input         auto_in_a_widx,
+  output        auto_in_a_safe_ridx_valid,
+  input         auto_in_a_safe_widx_valid,
+  input         auto_in_a_safe_source_reset_n,
+  output        auto_in_a_safe_sink_reset_n,
+  output [2:0]  auto_in_d_mem_0_opcode,
+  output [1:0]  auto_in_d_mem_0_param,
+  output [1:0]  auto_in_d_mem_0_size,
+  output [6:0]  auto_in_d_mem_0_source,
+  output        auto_in_d_mem_0_sink,
+  output        auto_in_d_mem_0_denied,
+  output [31:0] auto_in_d_mem_0_data,
+  output        auto_in_d_mem_0_corrupt,
+  input         auto_in_d_ridx,
+  output        auto_in_d_widx,
+  input         auto_in_d_safe_ridx_valid,
+  output        auto_in_d_safe_widx_valid,
+  output        auto_in_d_safe_source_reset_n,
+  input         auto_in_d_safe_sink_reset_n,
+  output [2:0]  auto_out_a_mem_0_opcode,
+  output [2:0]  auto_out_a_mem_0_param,
+  output [1:0]  auto_out_a_mem_0_size,
+  output [6:0]  auto_out_a_mem_0_source,
+  output [28:0] auto_out_a_mem_0_address,
+  output [3:0]  auto_out_a_mem_0_mask,
+  output [31:0] auto_out_a_mem_0_data,
+  output        auto_out_a_mem_0_corrupt,
+  input         auto_out_a_ridx,
+  output        auto_out_a_widx,
+  input         auto_out_a_safe_ridx_valid,
+  output        auto_out_a_safe_widx_valid,
+  output        auto_out_a_safe_source_reset_n,
+  input         auto_out_a_safe_sink_reset_n,
+  input  [2:0]  auto_out_d_mem_0_opcode,
+  input  [1:0]  auto_out_d_mem_0_size,
+  input  [6:0]  auto_out_d_mem_0_source,
+  input  [31:0] auto_out_d_mem_0_data,
+  output        auto_out_d_ridx,
+  input         auto_out_d_widx,
+  output        auto_out_d_safe_ridx_valid,
+  input         auto_out_d_safe_widx_valid,
+  input         auto_out_d_safe_source_reset_n,
+  output        auto_out_d_safe_sink_reset_n,
+  input         io_iso_out
+);
+  wire  iso_0_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_0_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_0_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_1_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_1_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_1_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_2_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_2_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_2_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_3_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_3_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_3_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_4_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_4_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_4_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_5_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_5_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_5_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_6_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_6_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_6_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_7_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_7_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_7_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_8_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_8_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_8_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_9_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_9_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_9_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_10_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_10_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_10_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_11_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_11_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_11_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_12_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_12_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_12_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_13_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_13_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_13_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_14_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_14_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_14_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_15_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_15_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_15_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_16_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_16_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_16_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_17_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_17_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_17_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_18_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_18_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_18_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_19_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_19_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_19_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_20_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_20_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_20_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_21_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_21_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_21_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_22_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_22_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_22_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_23_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_23_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_23_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_24_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_24_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_24_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_25_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_25_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_25_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_26_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_26_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_26_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_27_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_27_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_27_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_28_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_28_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_28_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_29_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_29_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_29_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_30_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_30_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_30_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_31_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_31_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_31_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_32_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_32_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_32_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_33_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_33_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_33_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_34_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_34_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_34_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_35_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_35_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_35_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_36_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_36_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_36_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_37_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_37_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_37_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_38_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_38_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_38_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_39_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_39_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_39_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_40_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_40_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_40_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_41_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_41_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_41_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_42_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_42_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_42_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_43_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_43_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_43_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_44_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_44_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_44_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_45_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_45_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_45_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_46_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_46_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_46_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_47_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_47_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_47_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_48_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_48_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_48_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_49_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_49_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_49_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_50_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_50_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_50_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_51_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_51_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_51_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_52_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_52_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_52_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_53_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_53_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_53_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_54_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_54_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_54_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_55_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_55_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_55_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_56_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_56_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_56_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_57_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_57_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_57_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_58_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_58_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_58_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_59_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_59_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_59_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_60_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_60_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_60_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_61_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_61_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_61_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_62_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_62_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_62_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_63_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_63_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_63_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_64_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_64_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_64_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_65_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_65_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_65_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_66_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_66_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_66_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_67_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_67_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_67_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_68_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_68_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_68_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_69_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_69_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_69_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_70_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_70_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_70_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_71_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_71_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_71_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_72_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_72_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_72_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_73_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_73_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_73_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_74_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_74_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_74_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_75_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_75_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_75_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_76_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_76_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_76_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_77_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_77_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_77_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_78_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_78_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_78_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_79_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_79_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_79_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  iso_80_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  iso_80_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  iso_80_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_a_widx_iso_0_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_a_widx_iso_0_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_a_widx_iso_0_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_a_safe_widx_valid_iso_0_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_a_safe_widx_valid_iso_0_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_a_safe_widx_valid_iso_0_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_a_safe_source_reset_n_iso_0_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_a_safe_source_reset_n_iso_0_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_a_safe_source_reset_n_iso_0_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_d_ridx_iso_0_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_d_ridx_iso_0_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_d_ridx_iso_0_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_d_safe_ridx_valid_iso_0_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_d_safe_ridx_valid_iso_0_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_d_safe_ridx_valid_iso_0_io_out; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_d_safe_sink_reset_n_iso_0_io_in; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_d_safe_sink_reset_n_iso_0_io_iso; // @[MockAONWrapper.scala 166:18]
+  wire  bundleOut_0_d_safe_sink_reset_n_iso_0_io_out; // @[MockAONWrapper.scala 166:18]
+  wire [80:0] _T = {auto_in_a_mem_0_opcode,auto_in_a_mem_0_param,auto_in_a_mem_0_size,auto_in_a_mem_0_source,
+    auto_in_a_mem_0_address,auto_in_a_mem_0_mask,auto_in_a_mem_0_data,auto_in_a_mem_0_corrupt}; // @[Isolation.scala 21:66]
+  wire [9:0] lo_lo_lo = {iso_9_io_out,iso_8_io_out,iso_7_io_out,iso_6_io_out,iso_5_io_out,iso_4_io_out,iso_3_io_out,
+    iso_2_io_out,iso_1_io_out,iso_0_io_out}; // @[Cat.scala 31:58]
+  wire [9:0] lo_lo_hi = {iso_19_io_out,iso_18_io_out,iso_17_io_out,iso_16_io_out,iso_15_io_out,iso_14_io_out,
+    iso_13_io_out,iso_12_io_out,iso_11_io_out,iso_10_io_out}; // @[Cat.scala 31:58]
+  wire [9:0] lo_hi_lo = {iso_29_io_out,iso_28_io_out,iso_27_io_out,iso_26_io_out,iso_25_io_out,iso_24_io_out,
+    iso_23_io_out,iso_22_io_out,iso_21_io_out,iso_20_io_out}; // @[Cat.scala 31:58]
+  wire [9:0] lo_hi_hi = {iso_39_io_out,iso_38_io_out,iso_37_io_out,iso_36_io_out,iso_35_io_out,iso_34_io_out,
+    iso_33_io_out,iso_32_io_out,iso_31_io_out,iso_30_io_out}; // @[Cat.scala 31:58]
+  wire [9:0] hi_lo_lo = {iso_49_io_out,iso_48_io_out,iso_47_io_out,iso_46_io_out,iso_45_io_out,iso_44_io_out,
+    iso_43_io_out,iso_42_io_out,iso_41_io_out,iso_40_io_out}; // @[Cat.scala 31:58]
+  wire [9:0] hi_lo_hi = {iso_59_io_out,iso_58_io_out,iso_57_io_out,iso_56_io_out,iso_55_io_out,iso_54_io_out,
+    iso_53_io_out,iso_52_io_out,iso_51_io_out,iso_50_io_out}; // @[Cat.scala 31:58]
+  wire [9:0] hi_hi_lo = {iso_69_io_out,iso_68_io_out,iso_67_io_out,iso_66_io_out,iso_65_io_out,iso_64_io_out,
+    iso_63_io_out,iso_62_io_out,iso_61_io_out,iso_60_io_out}; // @[Cat.scala 31:58]
+  wire [4:0] hi_hi_hi_lo = {iso_74_io_out,iso_73_io_out,iso_72_io_out,iso_71_io_out,iso_70_io_out}; // @[Cat.scala 31:58]
+  wire [40:0] hi_1 = {iso_80_io_out,iso_79_io_out,iso_78_io_out,iso_77_io_out,iso_76_io_out,iso_75_io_out,hi_hi_hi_lo,
+    hi_hi_lo,hi_lo_hi,hi_lo_lo}; // @[Cat.scala 31:58]
+  wire [80:0] _T_1 = {hi_1,lo_hi_hi,lo_hi_lo,lo_lo_hi,lo_lo_lo}; // @[Cat.scala 31:58]
+  wire [48:0] _T_10 = {auto_out_d_mem_0_opcode,2'h0,auto_out_d_mem_0_size,auto_out_d_mem_0_source,2'h0,
+    auto_out_d_mem_0_data,1'h0}; // @[Isolation.scala 22:66]
+  IsoZero iso_0 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_0_io_in),
+    .io_iso(iso_0_io_iso),
+    .io_out(iso_0_io_out)
+  );
+  IsoZero iso_1 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_1_io_in),
+    .io_iso(iso_1_io_iso),
+    .io_out(iso_1_io_out)
+  );
+  IsoZero iso_2 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_2_io_in),
+    .io_iso(iso_2_io_iso),
+    .io_out(iso_2_io_out)
+  );
+  IsoZero iso_3 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_3_io_in),
+    .io_iso(iso_3_io_iso),
+    .io_out(iso_3_io_out)
+  );
+  IsoZero iso_4 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_4_io_in),
+    .io_iso(iso_4_io_iso),
+    .io_out(iso_4_io_out)
+  );
+  IsoZero iso_5 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_5_io_in),
+    .io_iso(iso_5_io_iso),
+    .io_out(iso_5_io_out)
+  );
+  IsoZero iso_6 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_6_io_in),
+    .io_iso(iso_6_io_iso),
+    .io_out(iso_6_io_out)
+  );
+  IsoZero iso_7 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_7_io_in),
+    .io_iso(iso_7_io_iso),
+    .io_out(iso_7_io_out)
+  );
+  IsoZero iso_8 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_8_io_in),
+    .io_iso(iso_8_io_iso),
+    .io_out(iso_8_io_out)
+  );
+  IsoZero iso_9 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_9_io_in),
+    .io_iso(iso_9_io_iso),
+    .io_out(iso_9_io_out)
+  );
+  IsoZero iso_10 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_10_io_in),
+    .io_iso(iso_10_io_iso),
+    .io_out(iso_10_io_out)
+  );
+  IsoZero iso_11 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_11_io_in),
+    .io_iso(iso_11_io_iso),
+    .io_out(iso_11_io_out)
+  );
+  IsoZero iso_12 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_12_io_in),
+    .io_iso(iso_12_io_iso),
+    .io_out(iso_12_io_out)
+  );
+  IsoZero iso_13 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_13_io_in),
+    .io_iso(iso_13_io_iso),
+    .io_out(iso_13_io_out)
+  );
+  IsoZero iso_14 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_14_io_in),
+    .io_iso(iso_14_io_iso),
+    .io_out(iso_14_io_out)
+  );
+  IsoZero iso_15 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_15_io_in),
+    .io_iso(iso_15_io_iso),
+    .io_out(iso_15_io_out)
+  );
+  IsoZero iso_16 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_16_io_in),
+    .io_iso(iso_16_io_iso),
+    .io_out(iso_16_io_out)
+  );
+  IsoZero iso_17 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_17_io_in),
+    .io_iso(iso_17_io_iso),
+    .io_out(iso_17_io_out)
+  );
+  IsoZero iso_18 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_18_io_in),
+    .io_iso(iso_18_io_iso),
+    .io_out(iso_18_io_out)
+  );
+  IsoZero iso_19 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_19_io_in),
+    .io_iso(iso_19_io_iso),
+    .io_out(iso_19_io_out)
+  );
+  IsoZero iso_20 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_20_io_in),
+    .io_iso(iso_20_io_iso),
+    .io_out(iso_20_io_out)
+  );
+  IsoZero iso_21 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_21_io_in),
+    .io_iso(iso_21_io_iso),
+    .io_out(iso_21_io_out)
+  );
+  IsoZero iso_22 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_22_io_in),
+    .io_iso(iso_22_io_iso),
+    .io_out(iso_22_io_out)
+  );
+  IsoZero iso_23 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_23_io_in),
+    .io_iso(iso_23_io_iso),
+    .io_out(iso_23_io_out)
+  );
+  IsoZero iso_24 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_24_io_in),
+    .io_iso(iso_24_io_iso),
+    .io_out(iso_24_io_out)
+  );
+  IsoZero iso_25 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_25_io_in),
+    .io_iso(iso_25_io_iso),
+    .io_out(iso_25_io_out)
+  );
+  IsoZero iso_26 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_26_io_in),
+    .io_iso(iso_26_io_iso),
+    .io_out(iso_26_io_out)
+  );
+  IsoZero iso_27 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_27_io_in),
+    .io_iso(iso_27_io_iso),
+    .io_out(iso_27_io_out)
+  );
+  IsoZero iso_28 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_28_io_in),
+    .io_iso(iso_28_io_iso),
+    .io_out(iso_28_io_out)
+  );
+  IsoZero iso_29 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_29_io_in),
+    .io_iso(iso_29_io_iso),
+    .io_out(iso_29_io_out)
+  );
+  IsoZero iso_30 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_30_io_in),
+    .io_iso(iso_30_io_iso),
+    .io_out(iso_30_io_out)
+  );
+  IsoZero iso_31 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_31_io_in),
+    .io_iso(iso_31_io_iso),
+    .io_out(iso_31_io_out)
+  );
+  IsoZero iso_32 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_32_io_in),
+    .io_iso(iso_32_io_iso),
+    .io_out(iso_32_io_out)
+  );
+  IsoZero iso_33 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_33_io_in),
+    .io_iso(iso_33_io_iso),
+    .io_out(iso_33_io_out)
+  );
+  IsoZero iso_34 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_34_io_in),
+    .io_iso(iso_34_io_iso),
+    .io_out(iso_34_io_out)
+  );
+  IsoZero iso_35 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_35_io_in),
+    .io_iso(iso_35_io_iso),
+    .io_out(iso_35_io_out)
+  );
+  IsoZero iso_36 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_36_io_in),
+    .io_iso(iso_36_io_iso),
+    .io_out(iso_36_io_out)
+  );
+  IsoZero iso_37 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_37_io_in),
+    .io_iso(iso_37_io_iso),
+    .io_out(iso_37_io_out)
+  );
+  IsoZero iso_38 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_38_io_in),
+    .io_iso(iso_38_io_iso),
+    .io_out(iso_38_io_out)
+  );
+  IsoZero iso_39 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_39_io_in),
+    .io_iso(iso_39_io_iso),
+    .io_out(iso_39_io_out)
+  );
+  IsoZero iso_40 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_40_io_in),
+    .io_iso(iso_40_io_iso),
+    .io_out(iso_40_io_out)
+  );
+  IsoZero iso_41 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_41_io_in),
+    .io_iso(iso_41_io_iso),
+    .io_out(iso_41_io_out)
+  );
+  IsoZero iso_42 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_42_io_in),
+    .io_iso(iso_42_io_iso),
+    .io_out(iso_42_io_out)
+  );
+  IsoZero iso_43 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_43_io_in),
+    .io_iso(iso_43_io_iso),
+    .io_out(iso_43_io_out)
+  );
+  IsoZero iso_44 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_44_io_in),
+    .io_iso(iso_44_io_iso),
+    .io_out(iso_44_io_out)
+  );
+  IsoZero iso_45 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_45_io_in),
+    .io_iso(iso_45_io_iso),
+    .io_out(iso_45_io_out)
+  );
+  IsoZero iso_46 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_46_io_in),
+    .io_iso(iso_46_io_iso),
+    .io_out(iso_46_io_out)
+  );
+  IsoZero iso_47 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_47_io_in),
+    .io_iso(iso_47_io_iso),
+    .io_out(iso_47_io_out)
+  );
+  IsoZero iso_48 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_48_io_in),
+    .io_iso(iso_48_io_iso),
+    .io_out(iso_48_io_out)
+  );
+  IsoZero iso_49 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_49_io_in),
+    .io_iso(iso_49_io_iso),
+    .io_out(iso_49_io_out)
+  );
+  IsoZero iso_50 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_50_io_in),
+    .io_iso(iso_50_io_iso),
+    .io_out(iso_50_io_out)
+  );
+  IsoZero iso_51 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_51_io_in),
+    .io_iso(iso_51_io_iso),
+    .io_out(iso_51_io_out)
+  );
+  IsoZero iso_52 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_52_io_in),
+    .io_iso(iso_52_io_iso),
+    .io_out(iso_52_io_out)
+  );
+  IsoZero iso_53 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_53_io_in),
+    .io_iso(iso_53_io_iso),
+    .io_out(iso_53_io_out)
+  );
+  IsoZero iso_54 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_54_io_in),
+    .io_iso(iso_54_io_iso),
+    .io_out(iso_54_io_out)
+  );
+  IsoZero iso_55 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_55_io_in),
+    .io_iso(iso_55_io_iso),
+    .io_out(iso_55_io_out)
+  );
+  IsoZero iso_56 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_56_io_in),
+    .io_iso(iso_56_io_iso),
+    .io_out(iso_56_io_out)
+  );
+  IsoZero iso_57 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_57_io_in),
+    .io_iso(iso_57_io_iso),
+    .io_out(iso_57_io_out)
+  );
+  IsoZero iso_58 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_58_io_in),
+    .io_iso(iso_58_io_iso),
+    .io_out(iso_58_io_out)
+  );
+  IsoZero iso_59 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_59_io_in),
+    .io_iso(iso_59_io_iso),
+    .io_out(iso_59_io_out)
+  );
+  IsoZero iso_60 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_60_io_in),
+    .io_iso(iso_60_io_iso),
+    .io_out(iso_60_io_out)
+  );
+  IsoZero iso_61 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_61_io_in),
+    .io_iso(iso_61_io_iso),
+    .io_out(iso_61_io_out)
+  );
+  IsoZero iso_62 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_62_io_in),
+    .io_iso(iso_62_io_iso),
+    .io_out(iso_62_io_out)
+  );
+  IsoZero iso_63 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_63_io_in),
+    .io_iso(iso_63_io_iso),
+    .io_out(iso_63_io_out)
+  );
+  IsoZero iso_64 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_64_io_in),
+    .io_iso(iso_64_io_iso),
+    .io_out(iso_64_io_out)
+  );
+  IsoZero iso_65 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_65_io_in),
+    .io_iso(iso_65_io_iso),
+    .io_out(iso_65_io_out)
+  );
+  IsoZero iso_66 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_66_io_in),
+    .io_iso(iso_66_io_iso),
+    .io_out(iso_66_io_out)
+  );
+  IsoZero iso_67 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_67_io_in),
+    .io_iso(iso_67_io_iso),
+    .io_out(iso_67_io_out)
+  );
+  IsoZero iso_68 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_68_io_in),
+    .io_iso(iso_68_io_iso),
+    .io_out(iso_68_io_out)
+  );
+  IsoZero iso_69 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_69_io_in),
+    .io_iso(iso_69_io_iso),
+    .io_out(iso_69_io_out)
+  );
+  IsoZero iso_70 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_70_io_in),
+    .io_iso(iso_70_io_iso),
+    .io_out(iso_70_io_out)
+  );
+  IsoZero iso_71 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_71_io_in),
+    .io_iso(iso_71_io_iso),
+    .io_out(iso_71_io_out)
+  );
+  IsoZero iso_72 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_72_io_in),
+    .io_iso(iso_72_io_iso),
+    .io_out(iso_72_io_out)
+  );
+  IsoZero iso_73 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_73_io_in),
+    .io_iso(iso_73_io_iso),
+    .io_out(iso_73_io_out)
+  );
+  IsoZero iso_74 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_74_io_in),
+    .io_iso(iso_74_io_iso),
+    .io_out(iso_74_io_out)
+  );
+  IsoZero iso_75 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_75_io_in),
+    .io_iso(iso_75_io_iso),
+    .io_out(iso_75_io_out)
+  );
+  IsoZero iso_76 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_76_io_in),
+    .io_iso(iso_76_io_iso),
+    .io_out(iso_76_io_out)
+  );
+  IsoZero iso_77 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_77_io_in),
+    .io_iso(iso_77_io_iso),
+    .io_out(iso_77_io_out)
+  );
+  IsoZero iso_78 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_78_io_in),
+    .io_iso(iso_78_io_iso),
+    .io_out(iso_78_io_out)
+  );
+  IsoZero iso_79 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_79_io_in),
+    .io_iso(iso_79_io_iso),
+    .io_out(iso_79_io_out)
+  );
+  IsoZero iso_80 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(iso_80_io_in),
+    .io_iso(iso_80_io_iso),
+    .io_out(iso_80_io_out)
+  );
+  IsoZero bundleOut_0_a_widx_iso_0 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(bundleOut_0_a_widx_iso_0_io_in),
+    .io_iso(bundleOut_0_a_widx_iso_0_io_iso),
+    .io_out(bundleOut_0_a_widx_iso_0_io_out)
+  );
+  IsoZero bundleOut_0_a_safe_widx_valid_iso_0 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(bundleOut_0_a_safe_widx_valid_iso_0_io_in),
+    .io_iso(bundleOut_0_a_safe_widx_valid_iso_0_io_iso),
+    .io_out(bundleOut_0_a_safe_widx_valid_iso_0_io_out)
+  );
+  IsoZero bundleOut_0_a_safe_source_reset_n_iso_0 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(bundleOut_0_a_safe_source_reset_n_iso_0_io_in),
+    .io_iso(bundleOut_0_a_safe_source_reset_n_iso_0_io_iso),
+    .io_out(bundleOut_0_a_safe_source_reset_n_iso_0_io_out)
+  );
+  IsoZero bundleOut_0_d_ridx_iso_0 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(bundleOut_0_d_ridx_iso_0_io_in),
+    .io_iso(bundleOut_0_d_ridx_iso_0_io_iso),
+    .io_out(bundleOut_0_d_ridx_iso_0_io_out)
+  );
+  IsoZero bundleOut_0_d_safe_ridx_valid_iso_0 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(bundleOut_0_d_safe_ridx_valid_iso_0_io_in),
+    .io_iso(bundleOut_0_d_safe_ridx_valid_iso_0_io_iso),
+    .io_out(bundleOut_0_d_safe_ridx_valid_iso_0_io_out)
+  );
+  IsoZero bundleOut_0_d_safe_sink_reset_n_iso_0 ( // @[MockAONWrapper.scala 166:18]
+    .io_in(bundleOut_0_d_safe_sink_reset_n_iso_0_io_in),
+    .io_iso(bundleOut_0_d_safe_sink_reset_n_iso_0_io_iso),
+    .io_out(bundleOut_0_d_safe_sink_reset_n_iso_0_io_out)
+  );
+  assign auto_in_a_ridx = auto_out_a_ridx; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_a_safe_ridx_valid = auto_out_a_safe_ridx_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_a_safe_sink_reset_n = auto_out_a_safe_sink_reset_n; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_mem_0_opcode = _T_10[48:46]; // @[Isolation.scala 22:46]
+  assign auto_in_d_mem_0_param = _T_10[45:44]; // @[Isolation.scala 22:46]
+  assign auto_in_d_mem_0_size = _T_10[43:42]; // @[Isolation.scala 22:46]
+  assign auto_in_d_mem_0_source = _T_10[41:35]; // @[Isolation.scala 22:46]
+  assign auto_in_d_mem_0_sink = _T_10[34]; // @[Isolation.scala 22:46]
+  assign auto_in_d_mem_0_denied = _T_10[33]; // @[Isolation.scala 22:46]
+  assign auto_in_d_mem_0_data = _T_10[32:1]; // @[Isolation.scala 22:46]
+  assign auto_in_d_mem_0_corrupt = _T_10[0]; // @[Isolation.scala 22:46]
+  assign auto_in_d_widx = auto_out_d_widx; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_safe_widx_valid = auto_out_d_safe_widx_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_safe_source_reset_n = auto_out_d_safe_source_reset_n; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_mem_0_opcode = _T_1[80:78]; // @[Isolation.scala 21:46]
+  assign auto_out_a_mem_0_param = _T_1[77:75]; // @[Isolation.scala 21:46]
+  assign auto_out_a_mem_0_size = _T_1[74:73]; // @[Isolation.scala 21:46]
+  assign auto_out_a_mem_0_source = _T_1[72:66]; // @[Isolation.scala 21:46]
+  assign auto_out_a_mem_0_address = _T_1[65:37]; // @[Isolation.scala 21:46]
+  assign auto_out_a_mem_0_mask = _T_1[36:33]; // @[Isolation.scala 21:46]
+  assign auto_out_a_mem_0_data = _T_1[32:1]; // @[Isolation.scala 21:46]
+  assign auto_out_a_mem_0_corrupt = _T_1[0]; // @[Isolation.scala 21:46]
+  assign auto_out_a_widx = bundleOut_0_a_widx_iso_0_io_out; // @[Isolation.scala 21:{46,46}]
+  assign auto_out_a_safe_widx_valid = bundleOut_0_a_safe_widx_valid_iso_0_io_out; // @[Isolation.scala 21:{46,46}]
+  assign auto_out_a_safe_source_reset_n = bundleOut_0_a_safe_source_reset_n_iso_0_io_out; // @[Isolation.scala 21:{46,46}]
+  assign auto_out_d_ridx = bundleOut_0_d_ridx_iso_0_io_out; // @[Isolation.scala 21:{46,46}]
+  assign auto_out_d_safe_ridx_valid = bundleOut_0_d_safe_ridx_valid_iso_0_io_out; // @[Isolation.scala 21:{46,46}]
+  assign auto_out_d_safe_sink_reset_n = bundleOut_0_d_safe_sink_reset_n_iso_0_io_out; // @[Isolation.scala 21:{46,46}]
+  assign iso_0_io_in = _T[0]; // @[MockAONWrapper.scala 169:20]
+  assign iso_0_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_1_io_in = _T[1]; // @[MockAONWrapper.scala 169:20]
+  assign iso_1_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_2_io_in = _T[2]; // @[MockAONWrapper.scala 169:20]
+  assign iso_2_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_3_io_in = _T[3]; // @[MockAONWrapper.scala 169:20]
+  assign iso_3_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_4_io_in = _T[4]; // @[MockAONWrapper.scala 169:20]
+  assign iso_4_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_5_io_in = _T[5]; // @[MockAONWrapper.scala 169:20]
+  assign iso_5_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_6_io_in = _T[6]; // @[MockAONWrapper.scala 169:20]
+  assign iso_6_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_7_io_in = _T[7]; // @[MockAONWrapper.scala 169:20]
+  assign iso_7_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_8_io_in = _T[8]; // @[MockAONWrapper.scala 169:20]
+  assign iso_8_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_9_io_in = _T[9]; // @[MockAONWrapper.scala 169:20]
+  assign iso_9_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_10_io_in = _T[10]; // @[MockAONWrapper.scala 169:20]
+  assign iso_10_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_11_io_in = _T[11]; // @[MockAONWrapper.scala 169:20]
+  assign iso_11_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_12_io_in = _T[12]; // @[MockAONWrapper.scala 169:20]
+  assign iso_12_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_13_io_in = _T[13]; // @[MockAONWrapper.scala 169:20]
+  assign iso_13_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_14_io_in = _T[14]; // @[MockAONWrapper.scala 169:20]
+  assign iso_14_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_15_io_in = _T[15]; // @[MockAONWrapper.scala 169:20]
+  assign iso_15_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_16_io_in = _T[16]; // @[MockAONWrapper.scala 169:20]
+  assign iso_16_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_17_io_in = _T[17]; // @[MockAONWrapper.scala 169:20]
+  assign iso_17_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_18_io_in = _T[18]; // @[MockAONWrapper.scala 169:20]
+  assign iso_18_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_19_io_in = _T[19]; // @[MockAONWrapper.scala 169:20]
+  assign iso_19_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_20_io_in = _T[20]; // @[MockAONWrapper.scala 169:20]
+  assign iso_20_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_21_io_in = _T[21]; // @[MockAONWrapper.scala 169:20]
+  assign iso_21_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_22_io_in = _T[22]; // @[MockAONWrapper.scala 169:20]
+  assign iso_22_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_23_io_in = _T[23]; // @[MockAONWrapper.scala 169:20]
+  assign iso_23_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_24_io_in = _T[24]; // @[MockAONWrapper.scala 169:20]
+  assign iso_24_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_25_io_in = _T[25]; // @[MockAONWrapper.scala 169:20]
+  assign iso_25_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_26_io_in = _T[26]; // @[MockAONWrapper.scala 169:20]
+  assign iso_26_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_27_io_in = _T[27]; // @[MockAONWrapper.scala 169:20]
+  assign iso_27_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_28_io_in = _T[28]; // @[MockAONWrapper.scala 169:20]
+  assign iso_28_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_29_io_in = _T[29]; // @[MockAONWrapper.scala 169:20]
+  assign iso_29_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_30_io_in = _T[30]; // @[MockAONWrapper.scala 169:20]
+  assign iso_30_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_31_io_in = _T[31]; // @[MockAONWrapper.scala 169:20]
+  assign iso_31_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_32_io_in = _T[32]; // @[MockAONWrapper.scala 169:20]
+  assign iso_32_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_33_io_in = _T[33]; // @[MockAONWrapper.scala 169:20]
+  assign iso_33_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_34_io_in = _T[34]; // @[MockAONWrapper.scala 169:20]
+  assign iso_34_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_35_io_in = _T[35]; // @[MockAONWrapper.scala 169:20]
+  assign iso_35_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_36_io_in = _T[36]; // @[MockAONWrapper.scala 169:20]
+  assign iso_36_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_37_io_in = _T[37]; // @[MockAONWrapper.scala 169:20]
+  assign iso_37_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_38_io_in = _T[38]; // @[MockAONWrapper.scala 169:20]
+  assign iso_38_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_39_io_in = _T[39]; // @[MockAONWrapper.scala 169:20]
+  assign iso_39_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_40_io_in = _T[40]; // @[MockAONWrapper.scala 169:20]
+  assign iso_40_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_41_io_in = _T[41]; // @[MockAONWrapper.scala 169:20]
+  assign iso_41_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_42_io_in = _T[42]; // @[MockAONWrapper.scala 169:20]
+  assign iso_42_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_43_io_in = _T[43]; // @[MockAONWrapper.scala 169:20]
+  assign iso_43_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_44_io_in = _T[44]; // @[MockAONWrapper.scala 169:20]
+  assign iso_44_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_45_io_in = _T[45]; // @[MockAONWrapper.scala 169:20]
+  assign iso_45_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_46_io_in = _T[46]; // @[MockAONWrapper.scala 169:20]
+  assign iso_46_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_47_io_in = _T[47]; // @[MockAONWrapper.scala 169:20]
+  assign iso_47_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_48_io_in = _T[48]; // @[MockAONWrapper.scala 169:20]
+  assign iso_48_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_49_io_in = _T[49]; // @[MockAONWrapper.scala 169:20]
+  assign iso_49_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_50_io_in = _T[50]; // @[MockAONWrapper.scala 169:20]
+  assign iso_50_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_51_io_in = _T[51]; // @[MockAONWrapper.scala 169:20]
+  assign iso_51_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_52_io_in = _T[52]; // @[MockAONWrapper.scala 169:20]
+  assign iso_52_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_53_io_in = _T[53]; // @[MockAONWrapper.scala 169:20]
+  assign iso_53_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_54_io_in = _T[54]; // @[MockAONWrapper.scala 169:20]
+  assign iso_54_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_55_io_in = _T[55]; // @[MockAONWrapper.scala 169:20]
+  assign iso_55_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_56_io_in = _T[56]; // @[MockAONWrapper.scala 169:20]
+  assign iso_56_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_57_io_in = _T[57]; // @[MockAONWrapper.scala 169:20]
+  assign iso_57_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_58_io_in = _T[58]; // @[MockAONWrapper.scala 169:20]
+  assign iso_58_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_59_io_in = _T[59]; // @[MockAONWrapper.scala 169:20]
+  assign iso_59_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_60_io_in = _T[60]; // @[MockAONWrapper.scala 169:20]
+  assign iso_60_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_61_io_in = _T[61]; // @[MockAONWrapper.scala 169:20]
+  assign iso_61_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_62_io_in = _T[62]; // @[MockAONWrapper.scala 169:20]
+  assign iso_62_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_63_io_in = _T[63]; // @[MockAONWrapper.scala 169:20]
+  assign iso_63_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_64_io_in = _T[64]; // @[MockAONWrapper.scala 169:20]
+  assign iso_64_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_65_io_in = _T[65]; // @[MockAONWrapper.scala 169:20]
+  assign iso_65_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_66_io_in = _T[66]; // @[MockAONWrapper.scala 169:20]
+  assign iso_66_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_67_io_in = _T[67]; // @[MockAONWrapper.scala 169:20]
+  assign iso_67_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_68_io_in = _T[68]; // @[MockAONWrapper.scala 169:20]
+  assign iso_68_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_69_io_in = _T[69]; // @[MockAONWrapper.scala 169:20]
+  assign iso_69_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_70_io_in = _T[70]; // @[MockAONWrapper.scala 169:20]
+  assign iso_70_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_71_io_in = _T[71]; // @[MockAONWrapper.scala 169:20]
+  assign iso_71_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_72_io_in = _T[72]; // @[MockAONWrapper.scala 169:20]
+  assign iso_72_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_73_io_in = _T[73]; // @[MockAONWrapper.scala 169:20]
+  assign iso_73_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_74_io_in = _T[74]; // @[MockAONWrapper.scala 169:20]
+  assign iso_74_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_75_io_in = _T[75]; // @[MockAONWrapper.scala 169:20]
+  assign iso_75_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_76_io_in = _T[76]; // @[MockAONWrapper.scala 169:20]
+  assign iso_76_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_77_io_in = _T[77]; // @[MockAONWrapper.scala 169:20]
+  assign iso_77_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_78_io_in = _T[78]; // @[MockAONWrapper.scala 169:20]
+  assign iso_78_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_79_io_in = _T[79]; // @[MockAONWrapper.scala 169:20]
+  assign iso_79_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign iso_80_io_in = _T[80]; // @[MockAONWrapper.scala 169:20]
+  assign iso_80_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign bundleOut_0_a_widx_iso_0_io_in = auto_in_a_widx; // @[MockAONWrapper.scala 169:20]
+  assign bundleOut_0_a_widx_iso_0_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign bundleOut_0_a_safe_widx_valid_iso_0_io_in = auto_in_a_safe_widx_valid; // @[MockAONWrapper.scala 169:20]
+  assign bundleOut_0_a_safe_widx_valid_iso_0_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign bundleOut_0_a_safe_source_reset_n_iso_0_io_in = auto_in_a_safe_source_reset_n; // @[MockAONWrapper.scala 169:20]
+  assign bundleOut_0_a_safe_source_reset_n_iso_0_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign bundleOut_0_d_ridx_iso_0_io_in = auto_in_d_ridx; // @[MockAONWrapper.scala 169:20]
+  assign bundleOut_0_d_ridx_iso_0_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign bundleOut_0_d_safe_ridx_valid_iso_0_io_in = auto_in_d_safe_ridx_valid; // @[MockAONWrapper.scala 169:20]
+  assign bundleOut_0_d_safe_ridx_valid_iso_0_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+  assign bundleOut_0_d_safe_sink_reset_n_iso_0_io_in = auto_in_d_safe_sink_reset_n; // @[MockAONWrapper.scala 169:20]
+  assign bundleOut_0_d_safe_sink_reset_n_iso_0_io_iso = io_iso_out; // @[MockAONWrapper.scala 170:16]
+endmodule
+module ClockCrossingReg_w81(
+  input         clock,
+  input  [80:0] io_d,
+  output [80:0] io_q,
+  input         io_en
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [95:0] _RAND_0;
+`endif // RANDOMIZE_REG_INIT
+  reg [80:0] cdc_reg; // @[Reg.scala 16:16]
+  assign io_q = cdc_reg; // @[SynchronizerReg.scala 202:8]
+  always @(posedge clock) begin
+    if (io_en) begin // @[Reg.scala 17:18]
+      cdc_reg <= io_d; // @[Reg.scala 17:22]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  cdc_reg = _RAND_0[80:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module AsyncQueueSink_4(
+  input         clock,
+  input         reset,
+  input         io_deq_ready,
+  output        io_deq_valid,
+  output [2:0]  io_deq_bits_opcode,
+  output [2:0]  io_deq_bits_param,
+  output [1:0]  io_deq_bits_size,
+  output [6:0]  io_deq_bits_source,
+  output [28:0] io_deq_bits_address,
+  output [3:0]  io_deq_bits_mask,
+  output [31:0] io_deq_bits_data,
+  output        io_deq_bits_corrupt,
+  input  [2:0]  io_async_mem_0_opcode,
+  input  [2:0]  io_async_mem_0_param,
+  input  [1:0]  io_async_mem_0_size,
+  input  [6:0]  io_async_mem_0_source,
+  input  [28:0] io_async_mem_0_address,
+  input  [3:0]  io_async_mem_0_mask,
+  input  [31:0] io_async_mem_0_data,
+  input         io_async_mem_0_corrupt,
+  output        io_async_ridx,
+  input         io_async_widx,
+  output        io_async_safe_ridx_valid,
+  input         io_async_safe_widx_valid,
+  input         io_async_safe_source_reset_n,
+  output        io_async_safe_sink_reset_n
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+`endif // RANDOMIZE_REG_INIT
+  wire  widx_widx_gray_clock; // @[ShiftReg.scala 45:23]
+  wire  widx_widx_gray_reset; // @[ShiftReg.scala 45:23]
+  wire  widx_widx_gray_io_d; // @[ShiftReg.scala 45:23]
+  wire  widx_widx_gray_io_q; // @[ShiftReg.scala 45:23]
+  wire  io_deq_bits_deq_bits_reg_clock; // @[SynchronizerReg.scala 207:25]
+  wire [80:0] io_deq_bits_deq_bits_reg_io_d; // @[SynchronizerReg.scala 207:25]
+  wire [80:0] io_deq_bits_deq_bits_reg_io_q; // @[SynchronizerReg.scala 207:25]
+  wire  io_deq_bits_deq_bits_reg_io_en; // @[SynchronizerReg.scala 207:25]
+  wire  sink_valid_0_io_in; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_0_io_out; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_0_clock; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_0_reset; // @[AsyncQueue.scala 168:33]
+  wire  sink_valid_1_io_in; // @[AsyncQueue.scala 169:33]
+  wire  sink_valid_1_io_out; // @[AsyncQueue.scala 169:33]
+  wire  sink_valid_1_clock; // @[AsyncQueue.scala 169:33]
+  wire  sink_valid_1_reset; // @[AsyncQueue.scala 169:33]
+  wire  source_extend_io_in; // @[AsyncQueue.scala 171:31]
+  wire  source_extend_io_out; // @[AsyncQueue.scala 171:31]
+  wire  source_extend_clock; // @[AsyncQueue.scala 171:31]
+  wire  source_extend_reset; // @[AsyncQueue.scala 171:31]
+  wire  source_valid_io_in; // @[AsyncQueue.scala 172:31]
+  wire  source_valid_io_out; // @[AsyncQueue.scala 172:31]
+  wire  source_valid_clock; // @[AsyncQueue.scala 172:31]
+  wire  source_valid_reset; // @[AsyncQueue.scala 172:31]
+  wire  _ridx_T_1 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  wire  source_ready = source_valid_io_out;
+  wire  _ridx_T_2 = ~source_ready; // @[AsyncQueue.scala 144:79]
+  reg  ridx_ridx_bin; // @[AsyncQueue.scala 52:25]
+  wire  ridx_incremented = _ridx_T_2 ? 1'h0 : ridx_ridx_bin + _ridx_T_1; // @[AsyncQueue.scala 53:23]
+  wire  widx = widx_widx_gray_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire [65:0] io_deq_bits_deq_bits_reg_io_d_lo = {io_async_mem_0_address,io_async_mem_0_mask,io_async_mem_0_data,
+    io_async_mem_0_corrupt}; // @[SynchronizerReg.scala 209:24]
+  wire [14:0] io_deq_bits_deq_bits_reg_io_d_hi = {io_async_mem_0_opcode,io_async_mem_0_param,io_async_mem_0_size,
+    io_async_mem_0_source}; // @[SynchronizerReg.scala 209:24]
+  wire [80:0] _io_deq_bits_WIRE_1 = io_deq_bits_deq_bits_reg_io_q;
+  reg  valid_reg; // @[AsyncQueue.scala 161:56]
+  reg  ridx_gray; // @[AsyncQueue.scala 164:55]
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 widx_widx_gray ( // @[ShiftReg.scala 45:23]
+    .clock(widx_widx_gray_clock),
+    .reset(widx_widx_gray_reset),
+    .io_d(widx_widx_gray_io_d),
+    .io_q(widx_widx_gray_io_q)
+  );
+  ClockCrossingReg_w81 io_deq_bits_deq_bits_reg ( // @[SynchronizerReg.scala 207:25]
+    .clock(io_deq_bits_deq_bits_reg_clock),
+    .io_d(io_deq_bits_deq_bits_reg_io_d),
+    .io_q(io_deq_bits_deq_bits_reg_io_q),
+    .io_en(io_deq_bits_deq_bits_reg_io_en)
+  );
+  AsyncValidSync sink_valid_0 ( // @[AsyncQueue.scala 168:33]
+    .io_in(sink_valid_0_io_in),
+    .io_out(sink_valid_0_io_out),
+    .clock(sink_valid_0_clock),
+    .reset(sink_valid_0_reset)
+  );
+  AsyncValidSync sink_valid_1 ( // @[AsyncQueue.scala 169:33]
+    .io_in(sink_valid_1_io_in),
+    .io_out(sink_valid_1_io_out),
+    .clock(sink_valid_1_clock),
+    .reset(sink_valid_1_reset)
+  );
+  AsyncValidSync source_extend ( // @[AsyncQueue.scala 171:31]
+    .io_in(source_extend_io_in),
+    .io_out(source_extend_io_out),
+    .clock(source_extend_clock),
+    .reset(source_extend_reset)
+  );
+  AsyncValidSync source_valid ( // @[AsyncQueue.scala 172:31]
+    .io_in(source_valid_io_in),
+    .io_out(source_valid_io_out),
+    .clock(source_valid_clock),
+    .reset(source_valid_reset)
+  );
+  assign io_deq_valid = valid_reg & source_ready; // @[AsyncQueue.scala 162:29]
+  assign io_deq_bits_opcode = _io_deq_bits_WIRE_1[80:78]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_param = _io_deq_bits_WIRE_1[77:75]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_size = _io_deq_bits_WIRE_1[74:73]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_source = _io_deq_bits_WIRE_1[72:66]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_address = _io_deq_bits_WIRE_1[65:37]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_mask = _io_deq_bits_WIRE_1[36:33]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_data = _io_deq_bits_WIRE_1[32:1]; // @[SynchronizerReg.scala 211:26]
+  assign io_deq_bits_corrupt = _io_deq_bits_WIRE_1[0]; // @[SynchronizerReg.scala 211:26]
+  assign io_async_ridx = ridx_gray; // @[AsyncQueue.scala 165:17]
+  assign io_async_safe_ridx_valid = sink_valid_1_io_out; // @[AsyncQueue.scala 185:20]
+  assign io_async_safe_sink_reset_n = ~reset; // @[AsyncQueue.scala 189:25]
+  assign widx_widx_gray_clock = clock;
+  assign widx_widx_gray_reset = reset;
+  assign widx_widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 47:16]
+  assign io_deq_bits_deq_bits_reg_clock = clock;
+  assign io_deq_bits_deq_bits_reg_io_d = {io_deq_bits_deq_bits_reg_io_d_hi,io_deq_bits_deq_bits_reg_io_d_lo}; // @[SynchronizerReg.scala 209:24]
+  assign io_deq_bits_deq_bits_reg_io_en = source_ready & ridx_incremented != widx; // @[AsyncQueue.scala 146:28]
+  assign sink_valid_0_io_in = 1'h1; // @[AsyncQueue.scala 183:24]
+  assign sink_valid_0_clock = clock; // @[AsyncQueue.scala 178:25]
+  assign sink_valid_0_reset = reset | ~io_async_safe_source_reset_n; // @[AsyncQueue.scala 173:66]
+  assign sink_valid_1_io_in = sink_valid_0_io_out; // @[AsyncQueue.scala 184:24]
+  assign sink_valid_1_clock = clock; // @[AsyncQueue.scala 179:25]
+  assign sink_valid_1_reset = reset | ~io_async_safe_source_reset_n; // @[AsyncQueue.scala 174:66]
+  assign source_extend_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 186:25]
+  assign source_extend_clock = clock; // @[AsyncQueue.scala 180:25]
+  assign source_extend_reset = reset | ~io_async_safe_source_reset_n; // @[AsyncQueue.scala 175:66]
+  assign source_valid_io_in = source_extend_io_out; // @[AsyncQueue.scala 187:24]
+  assign source_valid_clock = clock; // @[AsyncQueue.scala 181:25]
+  assign source_valid_reset = reset; // @[AsyncQueue.scala 176:34]
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 53:23]
+      ridx_ridx_bin <= 1'h0;
+    end else if (_ridx_T_2) begin
+      ridx_ridx_bin <= 1'h0;
+    end else begin
+      ridx_ridx_bin <= ridx_ridx_bin + _ridx_T_1;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 146:28]
+      valid_reg <= 1'h0;
+    end else begin
+      valid_reg <= source_ready & ridx_incremented != widx;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 53:23]
+      ridx_gray <= 1'h0;
+    end else if (_ridx_T_2) begin
+      ridx_gray <= 1'h0;
+    end else begin
+      ridx_gray <= ridx_ridx_bin + _ridx_T_1;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  ridx_ridx_bin = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  valid_reg = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  ridx_gray = _RAND_2[0:0];
+`endif // RANDOMIZE_REG_INIT
+  if (reset) begin
+    ridx_ridx_bin = 1'h0;
+  end
+  if (reset) begin
+    valid_reg = 1'h0;
+  end
+  if (reset) begin
+    ridx_gray = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module AsyncQueueSource_4(
+  input         clock,
+  input         reset,
+  output        io_enq_ready,
+  input         io_enq_valid,
+  input  [2:0]  io_enq_bits_opcode,
+  input  [1:0]  io_enq_bits_size,
+  input  [6:0]  io_enq_bits_source,
+  input  [31:0] io_enq_bits_data,
+  output [2:0]  io_async_mem_0_opcode,
+  output [1:0]  io_async_mem_0_size,
+  output [6:0]  io_async_mem_0_source,
+  output [31:0] io_async_mem_0_data,
+  input         io_async_ridx,
+  output        io_async_widx,
+  input         io_async_safe_ridx_valid,
+  output        io_async_safe_widx_valid,
+  output        io_async_safe_source_reset_n,
+  input         io_async_safe_sink_reset_n
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+`endif // RANDOMIZE_REG_INIT
+  wire  ridx_ridx_gray_clock; // @[ShiftReg.scala 45:23]
+  wire  ridx_ridx_gray_reset; // @[ShiftReg.scala 45:23]
+  wire  ridx_ridx_gray_io_d; // @[ShiftReg.scala 45:23]
+  wire  ridx_ridx_gray_io_q; // @[ShiftReg.scala 45:23]
+  wire  source_valid_0_io_in; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_0_io_out; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_0_clock; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_0_reset; // @[AsyncQueue.scala 100:32]
+  wire  source_valid_1_io_in; // @[AsyncQueue.scala 101:32]
+  wire  source_valid_1_io_out; // @[AsyncQueue.scala 101:32]
+  wire  source_valid_1_clock; // @[AsyncQueue.scala 101:32]
+  wire  source_valid_1_reset; // @[AsyncQueue.scala 101:32]
+  wire  sink_extend_io_in; // @[AsyncQueue.scala 103:30]
+  wire  sink_extend_io_out; // @[AsyncQueue.scala 103:30]
+  wire  sink_extend_clock; // @[AsyncQueue.scala 103:30]
+  wire  sink_extend_reset; // @[AsyncQueue.scala 103:30]
+  wire  sink_valid_io_in; // @[AsyncQueue.scala 104:30]
+  wire  sink_valid_io_out; // @[AsyncQueue.scala 104:30]
+  wire  sink_valid_clock; // @[AsyncQueue.scala 104:30]
+  wire  sink_valid_reset; // @[AsyncQueue.scala 104:30]
+  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 80:16]
+  reg [1:0] mem_0_size; // @[AsyncQueue.scala 80:16]
+  reg [6:0] mem_0_source; // @[AsyncQueue.scala 80:16]
+  reg [31:0] mem_0_data; // @[AsyncQueue.scala 80:16]
+  wire  _widx_T_1 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  sink_ready = sink_valid_io_out;
+  wire  _widx_T_2 = ~sink_ready; // @[AsyncQueue.scala 81:79]
+  reg  widx_widx_bin; // @[AsyncQueue.scala 52:25]
+  wire  widx_incremented = _widx_T_2 ? 1'h0 : widx_widx_bin + _widx_T_1; // @[AsyncQueue.scala 53:23]
+  wire  ridx = ridx_ridx_gray_io_q; // @[ShiftReg.scala 48:{24,24}]
+  reg  ready_reg; // @[AsyncQueue.scala 88:56]
+  reg  widx_gray; // @[AsyncQueue.scala 91:55]
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 ridx_ridx_gray ( // @[ShiftReg.scala 45:23]
+    .clock(ridx_ridx_gray_clock),
+    .reset(ridx_ridx_gray_reset),
+    .io_d(ridx_ridx_gray_io_d),
+    .io_q(ridx_ridx_gray_io_q)
+  );
+  AsyncValidSync source_valid_0 ( // @[AsyncQueue.scala 100:32]
+    .io_in(source_valid_0_io_in),
+    .io_out(source_valid_0_io_out),
+    .clock(source_valid_0_clock),
+    .reset(source_valid_0_reset)
+  );
+  AsyncValidSync source_valid_1 ( // @[AsyncQueue.scala 101:32]
+    .io_in(source_valid_1_io_in),
+    .io_out(source_valid_1_io_out),
+    .clock(source_valid_1_clock),
+    .reset(source_valid_1_reset)
+  );
+  AsyncValidSync sink_extend ( // @[AsyncQueue.scala 103:30]
+    .io_in(sink_extend_io_in),
+    .io_out(sink_extend_io_out),
+    .clock(sink_extend_clock),
+    .reset(sink_extend_reset)
+  );
+  AsyncValidSync sink_valid ( // @[AsyncQueue.scala 104:30]
+    .io_in(sink_valid_io_in),
+    .io_out(sink_valid_io_out),
+    .clock(sink_valid_clock),
+    .reset(sink_valid_reset)
+  );
+  assign io_enq_ready = ready_reg & sink_ready; // @[AsyncQueue.scala 89:29]
+  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_size = mem_0_size; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_source = mem_0_source; // @[AsyncQueue.scala 96:31]
+  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 96:31]
+  assign io_async_widx = widx_gray; // @[AsyncQueue.scala 92:17]
+  assign io_async_safe_widx_valid = source_valid_1_io_out; // @[AsyncQueue.scala 117:20]
+  assign io_async_safe_source_reset_n = ~reset; // @[AsyncQueue.scala 121:27]
+  assign ridx_ridx_gray_clock = clock;
+  assign ridx_ridx_gray_reset = reset;
+  assign ridx_ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 47:16]
+  assign source_valid_0_io_in = 1'h1; // @[AsyncQueue.scala 115:26]
+  assign source_valid_0_clock = clock; // @[AsyncQueue.scala 110:26]
+  assign source_valid_0_reset = reset | ~io_async_safe_sink_reset_n; // @[AsyncQueue.scala 105:65]
+  assign source_valid_1_io_in = source_valid_0_io_out; // @[AsyncQueue.scala 116:26]
+  assign source_valid_1_clock = clock; // @[AsyncQueue.scala 111:26]
+  assign source_valid_1_reset = reset | ~io_async_safe_sink_reset_n; // @[AsyncQueue.scala 106:65]
+  assign sink_extend_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 118:23]
+  assign sink_extend_clock = clock; // @[AsyncQueue.scala 112:26]
+  assign sink_extend_reset = reset | ~io_async_safe_sink_reset_n; // @[AsyncQueue.scala 107:65]
+  assign sink_valid_io_in = sink_extend_io_out; // @[AsyncQueue.scala 119:22]
+  assign sink_valid_clock = clock; // @[AsyncQueue.scala 113:26]
+  assign sink_valid_reset = reset; // @[AsyncQueue.scala 108:35]
+  always @(posedge clock) begin
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_opcode <= io_enq_bits_opcode; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_size <= io_enq_bits_size; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_source <= io_enq_bits_source; // @[AsyncQueue.scala 86:37]
+    end
+    if (_widx_T_1) begin // @[AsyncQueue.scala 86:24]
+      mem_0_data <= io_enq_bits_data; // @[AsyncQueue.scala 86:37]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 53:23]
+      widx_widx_bin <= 1'h0;
+    end else if (_widx_T_2) begin
+      widx_widx_bin <= 1'h0;
+    end else begin
+      widx_widx_bin <= widx_widx_bin + _widx_T_1;
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 83:26]
+      ready_reg <= 1'h0;
+    end else begin
+      ready_reg <= sink_ready & widx_incremented != (ridx ^ 1'h1);
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncQueue.scala 53:23]
+      widx_gray <= 1'h0;
+    end else if (_widx_T_2) begin
+      widx_gray <= 1'h0;
+    end else begin
+      widx_gray <= widx_widx_bin + _widx_T_1;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  mem_0_size = _RAND_1[1:0];
+  _RAND_2 = {1{`RANDOM}};
+  mem_0_source = _RAND_2[6:0];
+  _RAND_3 = {1{`RANDOM}};
+  mem_0_data = _RAND_3[31:0];
+  _RAND_4 = {1{`RANDOM}};
+  widx_widx_bin = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  ready_reg = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  widx_gray = _RAND_6[0:0];
+`endif // RANDOMIZE_REG_INIT
+  if (reset) begin
+    widx_widx_bin = 1'h0;
+  end
+  if (reset) begin
+    ready_reg = 1'h0;
+  end
+  if (reset) begin
+    widx_gray = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLAsyncCrossingSink_1(
+  input         clock,
+  input         reset,
+  input  [2:0]  auto_in_a_mem_0_opcode,
+  input  [2:0]  auto_in_a_mem_0_param,
+  input  [1:0]  auto_in_a_mem_0_size,
+  input  [6:0]  auto_in_a_mem_0_source,
+  input  [28:0] auto_in_a_mem_0_address,
+  input  [3:0]  auto_in_a_mem_0_mask,
+  input  [31:0] auto_in_a_mem_0_data,
+  input         auto_in_a_mem_0_corrupt,
+  output        auto_in_a_ridx,
+  input         auto_in_a_widx,
+  output        auto_in_a_safe_ridx_valid,
+  input         auto_in_a_safe_widx_valid,
+  input         auto_in_a_safe_source_reset_n,
+  output        auto_in_a_safe_sink_reset_n,
+  output [2:0]  auto_in_d_mem_0_opcode,
+  output [1:0]  auto_in_d_mem_0_size,
+  output [6:0]  auto_in_d_mem_0_source,
+  output [31:0] auto_in_d_mem_0_data,
+  input         auto_in_d_ridx,
+  output        auto_in_d_widx,
+  input         auto_in_d_safe_ridx_valid,
+  output        auto_in_d_safe_widx_valid,
+  output        auto_in_d_safe_source_reset_n,
+  input         auto_in_d_safe_sink_reset_n,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+  wire  bundleOut_0_a_sink_clock; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_reset; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_deq_ready; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_deq_valid; // @[AsyncQueue.scala 207:22]
+  wire [2:0] bundleOut_0_a_sink_io_deq_bits_opcode; // @[AsyncQueue.scala 207:22]
+  wire [2:0] bundleOut_0_a_sink_io_deq_bits_param; // @[AsyncQueue.scala 207:22]
+  wire [1:0] bundleOut_0_a_sink_io_deq_bits_size; // @[AsyncQueue.scala 207:22]
+  wire [6:0] bundleOut_0_a_sink_io_deq_bits_source; // @[AsyncQueue.scala 207:22]
+  wire [28:0] bundleOut_0_a_sink_io_deq_bits_address; // @[AsyncQueue.scala 207:22]
+  wire [3:0] bundleOut_0_a_sink_io_deq_bits_mask; // @[AsyncQueue.scala 207:22]
+  wire [31:0] bundleOut_0_a_sink_io_deq_bits_data; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_deq_bits_corrupt; // @[AsyncQueue.scala 207:22]
+  wire [2:0] bundleOut_0_a_sink_io_async_mem_0_opcode; // @[AsyncQueue.scala 207:22]
+  wire [2:0] bundleOut_0_a_sink_io_async_mem_0_param; // @[AsyncQueue.scala 207:22]
+  wire [1:0] bundleOut_0_a_sink_io_async_mem_0_size; // @[AsyncQueue.scala 207:22]
+  wire [6:0] bundleOut_0_a_sink_io_async_mem_0_source; // @[AsyncQueue.scala 207:22]
+  wire [28:0] bundleOut_0_a_sink_io_async_mem_0_address; // @[AsyncQueue.scala 207:22]
+  wire [3:0] bundleOut_0_a_sink_io_async_mem_0_mask; // @[AsyncQueue.scala 207:22]
+  wire [31:0] bundleOut_0_a_sink_io_async_mem_0_data; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_async_mem_0_corrupt; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_async_ridx; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_async_widx; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_async_safe_widx_valid; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 207:22]
+  wire  bundleOut_0_a_sink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 207:22]
+  wire  bundleIn_0_d_source_clock; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_reset; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_enq_ready; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_enq_valid; // @[AsyncQueue.scala 216:24]
+  wire [2:0] bundleIn_0_d_source_io_enq_bits_opcode; // @[AsyncQueue.scala 216:24]
+  wire [1:0] bundleIn_0_d_source_io_enq_bits_size; // @[AsyncQueue.scala 216:24]
+  wire [6:0] bundleIn_0_d_source_io_enq_bits_source; // @[AsyncQueue.scala 216:24]
+  wire [31:0] bundleIn_0_d_source_io_enq_bits_data; // @[AsyncQueue.scala 216:24]
+  wire [2:0] bundleIn_0_d_source_io_async_mem_0_opcode; // @[AsyncQueue.scala 216:24]
+  wire [1:0] bundleIn_0_d_source_io_async_mem_0_size; // @[AsyncQueue.scala 216:24]
+  wire [6:0] bundleIn_0_d_source_io_async_mem_0_source; // @[AsyncQueue.scala 216:24]
+  wire [31:0] bundleIn_0_d_source_io_async_mem_0_data; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_async_ridx; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_async_widx; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_async_safe_ridx_valid; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_async_safe_widx_valid; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_async_safe_source_reset_n; // @[AsyncQueue.scala 216:24]
+  wire  bundleIn_0_d_source_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 216:24]
+  AsyncQueueSink_4 bundleOut_0_a_sink ( // @[AsyncQueue.scala 207:22]
+    .clock(bundleOut_0_a_sink_clock),
+    .reset(bundleOut_0_a_sink_reset),
+    .io_deq_ready(bundleOut_0_a_sink_io_deq_ready),
+    .io_deq_valid(bundleOut_0_a_sink_io_deq_valid),
+    .io_deq_bits_opcode(bundleOut_0_a_sink_io_deq_bits_opcode),
+    .io_deq_bits_param(bundleOut_0_a_sink_io_deq_bits_param),
+    .io_deq_bits_size(bundleOut_0_a_sink_io_deq_bits_size),
+    .io_deq_bits_source(bundleOut_0_a_sink_io_deq_bits_source),
+    .io_deq_bits_address(bundleOut_0_a_sink_io_deq_bits_address),
+    .io_deq_bits_mask(bundleOut_0_a_sink_io_deq_bits_mask),
+    .io_deq_bits_data(bundleOut_0_a_sink_io_deq_bits_data),
+    .io_deq_bits_corrupt(bundleOut_0_a_sink_io_deq_bits_corrupt),
+    .io_async_mem_0_opcode(bundleOut_0_a_sink_io_async_mem_0_opcode),
+    .io_async_mem_0_param(bundleOut_0_a_sink_io_async_mem_0_param),
+    .io_async_mem_0_size(bundleOut_0_a_sink_io_async_mem_0_size),
+    .io_async_mem_0_source(bundleOut_0_a_sink_io_async_mem_0_source),
+    .io_async_mem_0_address(bundleOut_0_a_sink_io_async_mem_0_address),
+    .io_async_mem_0_mask(bundleOut_0_a_sink_io_async_mem_0_mask),
+    .io_async_mem_0_data(bundleOut_0_a_sink_io_async_mem_0_data),
+    .io_async_mem_0_corrupt(bundleOut_0_a_sink_io_async_mem_0_corrupt),
+    .io_async_ridx(bundleOut_0_a_sink_io_async_ridx),
+    .io_async_widx(bundleOut_0_a_sink_io_async_widx),
+    .io_async_safe_ridx_valid(bundleOut_0_a_sink_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(bundleOut_0_a_sink_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(bundleOut_0_a_sink_io_async_safe_source_reset_n),
+    .io_async_safe_sink_reset_n(bundleOut_0_a_sink_io_async_safe_sink_reset_n)
+  );
+  AsyncQueueSource_4 bundleIn_0_d_source ( // @[AsyncQueue.scala 216:24]
+    .clock(bundleIn_0_d_source_clock),
+    .reset(bundleIn_0_d_source_reset),
+    .io_enq_ready(bundleIn_0_d_source_io_enq_ready),
+    .io_enq_valid(bundleIn_0_d_source_io_enq_valid),
+    .io_enq_bits_opcode(bundleIn_0_d_source_io_enq_bits_opcode),
+    .io_enq_bits_size(bundleIn_0_d_source_io_enq_bits_size),
+    .io_enq_bits_source(bundleIn_0_d_source_io_enq_bits_source),
+    .io_enq_bits_data(bundleIn_0_d_source_io_enq_bits_data),
+    .io_async_mem_0_opcode(bundleIn_0_d_source_io_async_mem_0_opcode),
+    .io_async_mem_0_size(bundleIn_0_d_source_io_async_mem_0_size),
+    .io_async_mem_0_source(bundleIn_0_d_source_io_async_mem_0_source),
+    .io_async_mem_0_data(bundleIn_0_d_source_io_async_mem_0_data),
+    .io_async_ridx(bundleIn_0_d_source_io_async_ridx),
+    .io_async_widx(bundleIn_0_d_source_io_async_widx),
+    .io_async_safe_ridx_valid(bundleIn_0_d_source_io_async_safe_ridx_valid),
+    .io_async_safe_widx_valid(bundleIn_0_d_source_io_async_safe_widx_valid),
+    .io_async_safe_source_reset_n(bundleIn_0_d_source_io_async_safe_source_reset_n),
+    .io_async_safe_sink_reset_n(bundleIn_0_d_source_io_async_safe_sink_reset_n)
+  );
+  assign auto_in_a_ridx = bundleOut_0_a_sink_io_async_ridx; // @[Nodes.scala 1210:84 AsyncQueue.scala 208:19]
+  assign auto_in_a_safe_ridx_valid = bundleOut_0_a_sink_io_async_safe_ridx_valid; // @[Nodes.scala 1210:84 AsyncQueue.scala 208:19]
+  assign auto_in_a_safe_sink_reset_n = bundleOut_0_a_sink_io_async_safe_sink_reset_n; // @[Nodes.scala 1210:84 AsyncQueue.scala 208:19]
+  assign auto_in_d_mem_0_opcode = bundleIn_0_d_source_io_async_mem_0_opcode; // @[Nodes.scala 1210:84 AsyncCrossing.scala 58:12]
+  assign auto_in_d_mem_0_size = bundleIn_0_d_source_io_async_mem_0_size; // @[Nodes.scala 1210:84 AsyncCrossing.scala 58:12]
+  assign auto_in_d_mem_0_source = bundleIn_0_d_source_io_async_mem_0_source; // @[Nodes.scala 1210:84 AsyncCrossing.scala 58:12]
+  assign auto_in_d_mem_0_data = bundleIn_0_d_source_io_async_mem_0_data; // @[Nodes.scala 1210:84 AsyncCrossing.scala 58:12]
+  assign auto_in_d_widx = bundleIn_0_d_source_io_async_widx; // @[Nodes.scala 1210:84 AsyncCrossing.scala 58:12]
+  assign auto_in_d_safe_widx_valid = bundleIn_0_d_source_io_async_safe_widx_valid; // @[Nodes.scala 1210:84 AsyncCrossing.scala 58:12]
+  assign auto_in_d_safe_source_reset_n = bundleIn_0_d_source_io_async_safe_source_reset_n; // @[Nodes.scala 1210:84 AsyncCrossing.scala 58:12]
+  assign auto_out_a_valid = bundleOut_0_a_sink_io_deq_valid; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_opcode = bundleOut_0_a_sink_io_deq_bits_opcode; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_param = bundleOut_0_a_sink_io_deq_bits_param; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_size = bundleOut_0_a_sink_io_deq_bits_size; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_source = bundleOut_0_a_sink_io_deq_bits_source; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_address = bundleOut_0_a_sink_io_deq_bits_address; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_mask = bundleOut_0_a_sink_io_deq_bits_mask; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_data = bundleOut_0_a_sink_io_deq_bits_data; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_a_bits_corrupt = bundleOut_0_a_sink_io_deq_bits_corrupt; // @[Nodes.scala 1207:84 AsyncCrossing.scala 57:13]
+  assign auto_out_d_ready = bundleIn_0_d_source_io_enq_ready; // @[Nodes.scala 1207:84 AsyncQueue.scala 217:19]
+  assign bundleOut_0_a_sink_clock = clock;
+  assign bundleOut_0_a_sink_reset = reset;
+  assign bundleOut_0_a_sink_io_deq_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleOut_0_a_sink_io_async_mem_0_opcode = auto_in_a_mem_0_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_sink_io_async_mem_0_param = auto_in_a_mem_0_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_sink_io_async_mem_0_size = auto_in_a_mem_0_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_sink_io_async_mem_0_source = auto_in_a_mem_0_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_sink_io_async_mem_0_address = auto_in_a_mem_0_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_sink_io_async_mem_0_mask = auto_in_a_mem_0_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_sink_io_async_mem_0_data = auto_in_a_mem_0_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_sink_io_async_mem_0_corrupt = auto_in_a_mem_0_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_sink_io_async_widx = auto_in_a_widx; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_sink_io_async_safe_widx_valid = auto_in_a_safe_widx_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleOut_0_a_sink_io_async_safe_source_reset_n = auto_in_a_safe_source_reset_n; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleIn_0_d_source_clock = clock;
+  assign bundleIn_0_d_source_reset = reset;
+  assign bundleIn_0_d_source_io_enq_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_source_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_source_io_enq_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_source_io_enq_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_source_io_enq_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign bundleIn_0_d_source_io_async_ridx = auto_in_d_ridx; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleIn_0_d_source_io_async_safe_ridx_valid = auto_in_d_safe_ridx_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bundleIn_0_d_source_io_async_safe_sink_reset_n = auto_in_d_safe_sink_reset_n; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module IntSyncCrossingSource_8(
+  input   auto_in_0,
+  input   auto_in_1,
+  output  auto_out_sync_0,
+  output  auto_out_sync_1
+);
+  assign auto_out_sync_0 = auto_in_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_sync_1 = auto_in_1; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module ResetCatchAndSync_d3(
+  input   clock,
+  input   reset,
+  output  io_sync_reset
+);
+  wire  io_sync_reset_chain_clock; // @[ShiftReg.scala 45:23]
+  wire  io_sync_reset_chain_reset; // @[ShiftReg.scala 45:23]
+  wire  io_sync_reset_chain_io_d; // @[ShiftReg.scala 45:23]
+  wire  io_sync_reset_chain_io_q; // @[ShiftReg.scala 45:23]
+  wire  _io_sync_reset_WIRE = io_sync_reset_chain_io_q; // @[ShiftReg.scala 48:{24,24}]
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 io_sync_reset_chain ( // @[ShiftReg.scala 45:23]
+    .clock(io_sync_reset_chain_clock),
+    .reset(io_sync_reset_chain_reset),
+    .io_d(io_sync_reset_chain_io_d),
+    .io_q(io_sync_reset_chain_io_q)
+  );
+  assign io_sync_reset = ~_io_sync_reset_WIRE; // @[ResetCatchAndSync.scala 29:7]
+  assign io_sync_reset_chain_clock = clock;
+  assign io_sync_reset_chain_reset = reset; // @[ResetCatchAndSync.scala 26:27]
+  assign io_sync_reset_chain_io_d = 1'h1; // @[ShiftReg.scala 47:16]
+endmodule
+module ResetCatchAndSync_d3_1(
+  input   clock,
+  input   reset,
+  output  io_sync_reset
+);
+  wire  io_sync_reset_chain_clock; // @[ShiftReg.scala 45:23]
+  wire  io_sync_reset_chain_reset; // @[ShiftReg.scala 45:23]
+  wire  io_sync_reset_chain_io_d; // @[ShiftReg.scala 45:23]
+  wire  io_sync_reset_chain_io_q; // @[ShiftReg.scala 45:23]
+  wire  _io_sync_reset_WIRE = io_sync_reset_chain_io_q; // @[ShiftReg.scala 48:{24,24}]
+  AsyncResetSynchronizerShiftReg_w1_d3_i0 io_sync_reset_chain ( // @[ShiftReg.scala 45:23]
+    .clock(io_sync_reset_chain_clock),
+    .reset(io_sync_reset_chain_reset),
+    .io_d(io_sync_reset_chain_io_d),
+    .io_q(io_sync_reset_chain_io_q)
+  );
+  assign io_sync_reset = ~_io_sync_reset_WIRE; // @[ResetCatchAndSync.scala 29:7]
+  assign io_sync_reset_chain_clock = clock;
+  assign io_sync_reset_chain_reset = reset; // @[ResetCatchAndSync.scala 26:27]
+  assign io_sync_reset_chain_io_d = 1'h1; // @[ShiftReg.scala 47:16]
+endmodule
+module MockAONWrapper(
+  output        auto_intsource_out_sync_0,
+  output        auto_intsource_out_sync_1,
+  input  [2:0]  auto_isolation_in_a_mem_0_opcode,
+  input  [2:0]  auto_isolation_in_a_mem_0_param,
+  input  [1:0]  auto_isolation_in_a_mem_0_size,
+  input  [6:0]  auto_isolation_in_a_mem_0_source,
+  input  [28:0] auto_isolation_in_a_mem_0_address,
+  input  [3:0]  auto_isolation_in_a_mem_0_mask,
+  input  [31:0] auto_isolation_in_a_mem_0_data,
+  input         auto_isolation_in_a_mem_0_corrupt,
+  output        auto_isolation_in_a_ridx,
+  input         auto_isolation_in_a_widx,
+  output        auto_isolation_in_a_safe_ridx_valid,
+  input         auto_isolation_in_a_safe_widx_valid,
+  input         auto_isolation_in_a_safe_source_reset_n,
+  output        auto_isolation_in_a_safe_sink_reset_n,
+  output [2:0]  auto_isolation_in_d_mem_0_opcode,
+  output [1:0]  auto_isolation_in_d_mem_0_param,
+  output [1:0]  auto_isolation_in_d_mem_0_size,
+  output [6:0]  auto_isolation_in_d_mem_0_source,
+  output        auto_isolation_in_d_mem_0_sink,
+  output        auto_isolation_in_d_mem_0_denied,
+  output [31:0] auto_isolation_in_d_mem_0_data,
+  output        auto_isolation_in_d_mem_0_corrupt,
+  input         auto_isolation_in_d_ridx,
+  output        auto_isolation_in_d_widx,
+  input         auto_isolation_in_d_safe_ridx_valid,
+  output        auto_isolation_in_d_safe_widx_valid,
+  output        auto_isolation_in_d_safe_source_reset_n,
+  input         auto_isolation_in_d_safe_sink_reset_n,
+  input         io_pins_erst_n_i_ival,
+  input         io_pins_lfextclk_i_ival,
+  output        io_rsts_corerst,
+  output        io_rtc,
+  input         io_ndreset
+);
+  wire  aon_clock; // @[MockAONWrapper.scala 35:23]
+  wire  aon_reset; // @[MockAONWrapper.scala 35:23]
+  wire  aon_auto_int_out_0; // @[MockAONWrapper.scala 35:23]
+  wire  aon_auto_int_out_1; // @[MockAONWrapper.scala 35:23]
+  wire  aon_auto_in_a_ready; // @[MockAONWrapper.scala 35:23]
+  wire  aon_auto_in_a_valid; // @[MockAONWrapper.scala 35:23]
+  wire [2:0] aon_auto_in_a_bits_opcode; // @[MockAONWrapper.scala 35:23]
+  wire [2:0] aon_auto_in_a_bits_param; // @[MockAONWrapper.scala 35:23]
+  wire [1:0] aon_auto_in_a_bits_size; // @[MockAONWrapper.scala 35:23]
+  wire [6:0] aon_auto_in_a_bits_source; // @[MockAONWrapper.scala 35:23]
+  wire [28:0] aon_auto_in_a_bits_address; // @[MockAONWrapper.scala 35:23]
+  wire [3:0] aon_auto_in_a_bits_mask; // @[MockAONWrapper.scala 35:23]
+  wire [31:0] aon_auto_in_a_bits_data; // @[MockAONWrapper.scala 35:23]
+  wire  aon_auto_in_a_bits_corrupt; // @[MockAONWrapper.scala 35:23]
+  wire  aon_auto_in_d_ready; // @[MockAONWrapper.scala 35:23]
+  wire  aon_auto_in_d_valid; // @[MockAONWrapper.scala 35:23]
+  wire [2:0] aon_auto_in_d_bits_opcode; // @[MockAONWrapper.scala 35:23]
+  wire [1:0] aon_auto_in_d_bits_size; // @[MockAONWrapper.scala 35:23]
+  wire [6:0] aon_auto_in_d_bits_source; // @[MockAONWrapper.scala 35:23]
+  wire [31:0] aon_auto_in_d_bits_data; // @[MockAONWrapper.scala 35:23]
+  wire  aon_io_moff_corerst; // @[MockAONWrapper.scala 35:23]
+  wire  aon_io_wdog_rst; // @[MockAONWrapper.scala 35:23]
+  wire  aon_io_lfclk; // @[MockAONWrapper.scala 35:23]
+  wire  aon_io_lfextclk; // @[MockAONWrapper.scala 35:23]
+  wire  aon_io_resetCauses_wdogrst; // @[MockAONWrapper.scala 35:23]
+  wire  aon_io_resetCauses_erst; // @[MockAONWrapper.scala 35:23]
+  wire [2:0] isolation_auto_in_a_mem_0_opcode; // @[MockAONWrapper.scala 45:29]
+  wire [2:0] isolation_auto_in_a_mem_0_param; // @[MockAONWrapper.scala 45:29]
+  wire [1:0] isolation_auto_in_a_mem_0_size; // @[MockAONWrapper.scala 45:29]
+  wire [6:0] isolation_auto_in_a_mem_0_source; // @[MockAONWrapper.scala 45:29]
+  wire [28:0] isolation_auto_in_a_mem_0_address; // @[MockAONWrapper.scala 45:29]
+  wire [3:0] isolation_auto_in_a_mem_0_mask; // @[MockAONWrapper.scala 45:29]
+  wire [31:0] isolation_auto_in_a_mem_0_data; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_a_mem_0_corrupt; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_a_ridx; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_a_widx; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_a_safe_ridx_valid; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_a_safe_widx_valid; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_a_safe_source_reset_n; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_a_safe_sink_reset_n; // @[MockAONWrapper.scala 45:29]
+  wire [2:0] isolation_auto_in_d_mem_0_opcode; // @[MockAONWrapper.scala 45:29]
+  wire [1:0] isolation_auto_in_d_mem_0_param; // @[MockAONWrapper.scala 45:29]
+  wire [1:0] isolation_auto_in_d_mem_0_size; // @[MockAONWrapper.scala 45:29]
+  wire [6:0] isolation_auto_in_d_mem_0_source; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_d_mem_0_sink; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_d_mem_0_denied; // @[MockAONWrapper.scala 45:29]
+  wire [31:0] isolation_auto_in_d_mem_0_data; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_d_mem_0_corrupt; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_d_ridx; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_d_widx; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_d_safe_ridx_valid; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_d_safe_widx_valid; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_d_safe_source_reset_n; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_in_d_safe_sink_reset_n; // @[MockAONWrapper.scala 45:29]
+  wire [2:0] isolation_auto_out_a_mem_0_opcode; // @[MockAONWrapper.scala 45:29]
+  wire [2:0] isolation_auto_out_a_mem_0_param; // @[MockAONWrapper.scala 45:29]
+  wire [1:0] isolation_auto_out_a_mem_0_size; // @[MockAONWrapper.scala 45:29]
+  wire [6:0] isolation_auto_out_a_mem_0_source; // @[MockAONWrapper.scala 45:29]
+  wire [28:0] isolation_auto_out_a_mem_0_address; // @[MockAONWrapper.scala 45:29]
+  wire [3:0] isolation_auto_out_a_mem_0_mask; // @[MockAONWrapper.scala 45:29]
+  wire [31:0] isolation_auto_out_a_mem_0_data; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_out_a_mem_0_corrupt; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_out_a_ridx; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_out_a_widx; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_out_a_safe_ridx_valid; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_out_a_safe_widx_valid; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_out_a_safe_source_reset_n; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_out_a_safe_sink_reset_n; // @[MockAONWrapper.scala 45:29]
+  wire [2:0] isolation_auto_out_d_mem_0_opcode; // @[MockAONWrapper.scala 45:29]
+  wire [1:0] isolation_auto_out_d_mem_0_size; // @[MockAONWrapper.scala 45:29]
+  wire [6:0] isolation_auto_out_d_mem_0_source; // @[MockAONWrapper.scala 45:29]
+  wire [31:0] isolation_auto_out_d_mem_0_data; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_out_d_ridx; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_out_d_widx; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_out_d_safe_ridx_valid; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_out_d_safe_widx_valid; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_out_d_safe_source_reset_n; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_auto_out_d_safe_sink_reset_n; // @[MockAONWrapper.scala 45:29]
+  wire  isolation_io_iso_out; // @[MockAONWrapper.scala 45:29]
+  wire  crossing_clock; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_reset; // @[MockAONWrapper.scala 46:28]
+  wire [2:0] crossing_auto_in_a_mem_0_opcode; // @[MockAONWrapper.scala 46:28]
+  wire [2:0] crossing_auto_in_a_mem_0_param; // @[MockAONWrapper.scala 46:28]
+  wire [1:0] crossing_auto_in_a_mem_0_size; // @[MockAONWrapper.scala 46:28]
+  wire [6:0] crossing_auto_in_a_mem_0_source; // @[MockAONWrapper.scala 46:28]
+  wire [28:0] crossing_auto_in_a_mem_0_address; // @[MockAONWrapper.scala 46:28]
+  wire [3:0] crossing_auto_in_a_mem_0_mask; // @[MockAONWrapper.scala 46:28]
+  wire [31:0] crossing_auto_in_a_mem_0_data; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_in_a_mem_0_corrupt; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_in_a_ridx; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_in_a_widx; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_in_a_safe_ridx_valid; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_in_a_safe_widx_valid; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_in_a_safe_source_reset_n; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_in_a_safe_sink_reset_n; // @[MockAONWrapper.scala 46:28]
+  wire [2:0] crossing_auto_in_d_mem_0_opcode; // @[MockAONWrapper.scala 46:28]
+  wire [1:0] crossing_auto_in_d_mem_0_size; // @[MockAONWrapper.scala 46:28]
+  wire [6:0] crossing_auto_in_d_mem_0_source; // @[MockAONWrapper.scala 46:28]
+  wire [31:0] crossing_auto_in_d_mem_0_data; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_in_d_ridx; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_in_d_widx; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_in_d_safe_ridx_valid; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_in_d_safe_widx_valid; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_in_d_safe_source_reset_n; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_in_d_safe_sink_reset_n; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_out_a_ready; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_out_a_valid; // @[MockAONWrapper.scala 46:28]
+  wire [2:0] crossing_auto_out_a_bits_opcode; // @[MockAONWrapper.scala 46:28]
+  wire [2:0] crossing_auto_out_a_bits_param; // @[MockAONWrapper.scala 46:28]
+  wire [1:0] crossing_auto_out_a_bits_size; // @[MockAONWrapper.scala 46:28]
+  wire [6:0] crossing_auto_out_a_bits_source; // @[MockAONWrapper.scala 46:28]
+  wire [28:0] crossing_auto_out_a_bits_address; // @[MockAONWrapper.scala 46:28]
+  wire [3:0] crossing_auto_out_a_bits_mask; // @[MockAONWrapper.scala 46:28]
+  wire [31:0] crossing_auto_out_a_bits_data; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_out_a_bits_corrupt; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_out_d_ready; // @[MockAONWrapper.scala 46:28]
+  wire  crossing_auto_out_d_valid; // @[MockAONWrapper.scala 46:28]
+  wire [2:0] crossing_auto_out_d_bits_opcode; // @[MockAONWrapper.scala 46:28]
+  wire [1:0] crossing_auto_out_d_bits_size; // @[MockAONWrapper.scala 46:28]
+  wire [6:0] crossing_auto_out_d_bits_source; // @[MockAONWrapper.scala 46:28]
+  wire [31:0] crossing_auto_out_d_bits_data; // @[MockAONWrapper.scala 46:28]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_1; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_1; // @[Crossing.scala 26:31]
+  wire  aonrst_catch_clock; // @[MockAONWrapper.scala 99:31]
+  wire  aonrst_catch_reset; // @[MockAONWrapper.scala 99:31]
+  wire  aonrst_catch_io_sync_reset; // @[MockAONWrapper.scala 99:31]
+  wire  crossing_slave_reset_catcher_clock; // @[ResetCatchAndSync.scala 39:28]
+  wire  crossing_slave_reset_catcher_reset; // @[ResetCatchAndSync.scala 39:28]
+  wire  crossing_slave_reset_catcher_io_sync_reset; // @[ResetCatchAndSync.scala 39:28]
+  wire  erst = ~io_pins_erst_n_i_ival; // @[MockAONWrapper.scala 67:16]
+  wire  _crossing_slave_reset_T = aon_reset; // @[compatibility.scala 290:56]
+  TLMockAON aon ( // @[MockAONWrapper.scala 35:23]
+    .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 45:29]
+    .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 46:28]
+    .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_8 intsource ( // @[Crossing.scala 26:31]
+    .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 99:31]
+    .clock(aonrst_catch_clock),
+    .reset(aonrst_catch_reset),
+    .io_sync_reset(aonrst_catch_io_sync_reset)
+  );
+  ResetCatchAndSync_d3_1 crossing_slave_reset_catcher ( // @[ResetCatchAndSync.scala 39:28]
+    .clock(crossing_slave_reset_catcher_clock),
+    .reset(crossing_slave_reset_catcher_reset),
+    .io_sync_reset(crossing_slave_reset_catcher_io_sync_reset)
+  );
+  assign auto_intsource_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 311:12]
+  assign auto_intsource_out_sync_1 = intsource_auto_out_sync_1; // @[LazyModule.scala 311:12]
+  assign auto_isolation_in_a_ridx = isolation_auto_in_a_ridx; // @[LazyModule.scala 309:16]
+  assign auto_isolation_in_a_safe_ridx_valid = isolation_auto_in_a_safe_ridx_valid; // @[LazyModule.scala 309:16]
+  assign auto_isolation_in_a_safe_sink_reset_n = isolation_auto_in_a_safe_sink_reset_n; // @[LazyModule.scala 309:16]
+  assign auto_isolation_in_d_mem_0_opcode = isolation_auto_in_d_mem_0_opcode; // @[LazyModule.scala 309:16]
+  assign auto_isolation_in_d_mem_0_param = isolation_auto_in_d_mem_0_param; // @[LazyModule.scala 309:16]
+  assign auto_isolation_in_d_mem_0_size = isolation_auto_in_d_mem_0_size; // @[LazyModule.scala 309:16]
+  assign auto_isolation_in_d_mem_0_source = isolation_auto_in_d_mem_0_source; // @[LazyModule.scala 309:16]
+  assign auto_isolation_in_d_mem_0_sink = isolation_auto_in_d_mem_0_sink; // @[LazyModule.scala 309:16]
+  assign auto_isolation_in_d_mem_0_denied = isolation_auto_in_d_mem_0_denied; // @[LazyModule.scala 309:16]
+  assign auto_isolation_in_d_mem_0_data = isolation_auto_in_d_mem_0_data; // @[LazyModule.scala 309:16]
+  assign auto_isolation_in_d_mem_0_corrupt = isolation_auto_in_d_mem_0_corrupt; // @[LazyModule.scala 309:16]
+  assign auto_isolation_in_d_widx = isolation_auto_in_d_widx; // @[LazyModule.scala 309:16]
+  assign auto_isolation_in_d_safe_widx_valid = isolation_auto_in_d_safe_widx_valid; // @[LazyModule.scala 309:16]
+  assign auto_isolation_in_d_safe_source_reset_n = isolation_auto_in_d_safe_source_reset_n; // @[LazyModule.scala 309:16]
+  assign io_rsts_corerst = aon_io_moff_corerst; // @[MockAONWrapper.scala 81:22]
+  assign io_rtc = aon_io_lfclk; // @[MockAONWrapper.scala 143:12]
+  assign aon_clock = aon_io_lfclk; // @[MockAONWrapper.scala 104:22]
+  assign aon_reset = aonrst_catch_io_sync_reset; // @[MockAONWrapper.scala 102:22]
+  assign aon_auto_in_a_valid = crossing_auto_out_a_valid; // @[LazyModule.scala 296:16]
+  assign aon_auto_in_a_bits_opcode = crossing_auto_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign aon_auto_in_a_bits_param = crossing_auto_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign aon_auto_in_a_bits_size = crossing_auto_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign aon_auto_in_a_bits_source = crossing_auto_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign aon_auto_in_a_bits_address = crossing_auto_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign aon_auto_in_a_bits_mask = crossing_auto_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign aon_auto_in_a_bits_data = crossing_auto_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign aon_auto_in_a_bits_corrupt = crossing_auto_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign aon_auto_in_d_ready = crossing_auto_out_d_ready; // @[LazyModule.scala 296:16]
+  assign aon_io_lfextclk = io_pins_lfextclk_i_ival; // @[MockAONWrapper.scala 94:33]
+  assign aon_io_resetCauses_wdogrst = aon_io_wdog_rst; // @[MockAONWrapper.scala 69:32]
+  assign aon_io_resetCauses_erst = ~io_pins_erst_n_i_ival; // @[MockAONWrapper.scala 67:16]
+  assign isolation_auto_in_a_mem_0_opcode = auto_isolation_in_a_mem_0_opcode; // @[LazyModule.scala 309:16]
+  assign isolation_auto_in_a_mem_0_param = auto_isolation_in_a_mem_0_param; // @[LazyModule.scala 309:16]
+  assign isolation_auto_in_a_mem_0_size = auto_isolation_in_a_mem_0_size; // @[LazyModule.scala 309:16]
+  assign isolation_auto_in_a_mem_0_source = auto_isolation_in_a_mem_0_source; // @[LazyModule.scala 309:16]
+  assign isolation_auto_in_a_mem_0_address = auto_isolation_in_a_mem_0_address; // @[LazyModule.scala 309:16]
+  assign isolation_auto_in_a_mem_0_mask = auto_isolation_in_a_mem_0_mask; // @[LazyModule.scala 309:16]
+  assign isolation_auto_in_a_mem_0_data = auto_isolation_in_a_mem_0_data; // @[LazyModule.scala 309:16]
+  assign isolation_auto_in_a_mem_0_corrupt = auto_isolation_in_a_mem_0_corrupt; // @[LazyModule.scala 309:16]
+  assign isolation_auto_in_a_widx = auto_isolation_in_a_widx; // @[LazyModule.scala 309:16]
+  assign isolation_auto_in_a_safe_widx_valid = auto_isolation_in_a_safe_widx_valid; // @[LazyModule.scala 309:16]
+  assign isolation_auto_in_a_safe_source_reset_n = auto_isolation_in_a_safe_source_reset_n; // @[LazyModule.scala 309:16]
+  assign isolation_auto_in_d_ridx = auto_isolation_in_d_ridx; // @[LazyModule.scala 309:16]
+  assign isolation_auto_in_d_safe_ridx_valid = auto_isolation_in_d_safe_ridx_valid; // @[LazyModule.scala 309:16]
+  assign isolation_auto_in_d_safe_sink_reset_n = auto_isolation_in_d_safe_sink_reset_n; // @[LazyModule.scala 309:16]
+  assign isolation_auto_out_a_ridx = crossing_auto_in_a_ridx; // @[LazyModule.scala 298:16]
+  assign isolation_auto_out_a_safe_ridx_valid = crossing_auto_in_a_safe_ridx_valid; // @[LazyModule.scala 298:16]
+  assign isolation_auto_out_a_safe_sink_reset_n = crossing_auto_in_a_safe_sink_reset_n; // @[LazyModule.scala 298:16]
+  assign isolation_auto_out_d_mem_0_opcode = crossing_auto_in_d_mem_0_opcode; // @[LazyModule.scala 298:16]
+  assign isolation_auto_out_d_mem_0_size = crossing_auto_in_d_mem_0_size; // @[LazyModule.scala 298:16]
+  assign isolation_auto_out_d_mem_0_source = crossing_auto_in_d_mem_0_source; // @[LazyModule.scala 298:16]
+  assign isolation_auto_out_d_mem_0_data = crossing_auto_in_d_mem_0_data; // @[LazyModule.scala 298:16]
+  assign isolation_auto_out_d_widx = crossing_auto_in_d_widx; // @[LazyModule.scala 298:16]
+  assign isolation_auto_out_d_safe_widx_valid = crossing_auto_in_d_safe_widx_valid; // @[LazyModule.scala 298:16]
+  assign isolation_auto_out_d_safe_source_reset_n = crossing_auto_in_d_safe_source_reset_n; // @[LazyModule.scala 298:16]
+  assign isolation_io_iso_out = aon_io_moff_corerst; // @[MockAONWrapper.scala 123:33]
+  assign crossing_clock = aon_io_lfclk; // @[MockAONWrapper.scala 118:27]
+  assign crossing_reset = crossing_slave_reset_catcher_io_sync_reset; // @[MockAONWrapper.scala 119:27]
+  assign crossing_auto_in_a_mem_0_opcode = isolation_auto_out_a_mem_0_opcode; // @[LazyModule.scala 298:16]
+  assign crossing_auto_in_a_mem_0_param = isolation_auto_out_a_mem_0_param; // @[LazyModule.scala 298:16]
+  assign crossing_auto_in_a_mem_0_size = isolation_auto_out_a_mem_0_size; // @[LazyModule.scala 298:16]
+  assign crossing_auto_in_a_mem_0_source = isolation_auto_out_a_mem_0_source; // @[LazyModule.scala 298:16]
+  assign crossing_auto_in_a_mem_0_address = isolation_auto_out_a_mem_0_address; // @[LazyModule.scala 298:16]
+  assign crossing_auto_in_a_mem_0_mask = isolation_auto_out_a_mem_0_mask; // @[LazyModule.scala 298:16]
+  assign crossing_auto_in_a_mem_0_data = isolation_auto_out_a_mem_0_data; // @[LazyModule.scala 298:16]
+  assign crossing_auto_in_a_mem_0_corrupt = isolation_auto_out_a_mem_0_corrupt; // @[LazyModule.scala 298:16]
+  assign crossing_auto_in_a_widx = isolation_auto_out_a_widx; // @[LazyModule.scala 298:16]
+  assign crossing_auto_in_a_safe_widx_valid = isolation_auto_out_a_safe_widx_valid; // @[LazyModule.scala 298:16]
+  assign crossing_auto_in_a_safe_source_reset_n = isolation_auto_out_a_safe_source_reset_n; // @[LazyModule.scala 298:16]
+  assign crossing_auto_in_d_ridx = isolation_auto_out_d_ridx; // @[LazyModule.scala 298:16]
+  assign crossing_auto_in_d_safe_ridx_valid = isolation_auto_out_d_safe_ridx_valid; // @[LazyModule.scala 298:16]
+  assign crossing_auto_in_d_safe_sink_reset_n = isolation_auto_out_d_safe_sink_reset_n; // @[LazyModule.scala 298:16]
+  assign crossing_auto_out_a_ready = aon_auto_in_a_ready; // @[LazyModule.scala 296:16]
+  assign crossing_auto_out_d_valid = aon_auto_in_d_valid; // @[LazyModule.scala 296:16]
+  assign crossing_auto_out_d_bits_opcode = aon_auto_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign crossing_auto_out_d_bits_size = aon_auto_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign crossing_auto_out_d_bits_source = aon_auto_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign crossing_auto_out_d_bits_data = aon_auto_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign intsource_auto_in_0 = aon_auto_int_out_0; // @[LazyModule.scala 298:16]
+  assign intsource_auto_in_1 = aon_auto_int_out_1; // @[LazyModule.scala 298:16]
+  assign aonrst_catch_clock = aon_io_lfclk; // @[MockAONWrapper.scala 101:24]
+  assign aonrst_catch_reset = erst | aon_io_wdog_rst | io_ndreset; // @[MockAONWrapper.scala 100:50]
+  assign crossing_slave_reset_catcher_clock = aon_io_lfclk;
+  assign crossing_slave_reset_catcher_reset = aon_io_moff_corerst | _crossing_slave_reset_T; // @[MockAONWrapper.scala 116:34]
+endmodule
+module SynchronizerShiftReg_w2_d3(
+  input        clock,
+  input  [1:0] io_d,
+  output [1:0] io_q
+);
+  wire  output_chain_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_1_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_1_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_1_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_1 = output_chain_1_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_0 = output_chain_io_q; // @[ShiftReg.scala 48:{24,24}]
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_clock),
+    .io_d(output_chain_io_d),
+    .io_q(output_chain_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_1 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_1_clock),
+    .io_d(output_chain_1_io_d),
+    .io_q(output_chain_1_io_q)
+  );
+  assign io_q = {output_1,output_0}; // @[Cat.scala 31:58]
+  assign output_chain_clock = clock;
+  assign output_chain_io_d = io_d[0]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_1_clock = clock;
+  assign output_chain_1_io_d = io_d[1]; // @[SynchronizerReg.scala 173:39]
+endmodule
+module IntSyncAsyncCrossingSink_1(
+  input   clock,
+  input   auto_in_sync_0,
+  input   auto_in_sync_1,
+  output  auto_out_0,
+  output  auto_out_1
+);
+  wire  chain_clock; // @[ShiftReg.scala 45:23]
+  wire [1:0] chain_io_d; // @[ShiftReg.scala 45:23]
+  wire [1:0] chain_io_q; // @[ShiftReg.scala 45:23]
+  wire [1:0] _WIRE_1 = chain_io_q;
+  SynchronizerShiftReg_w2_d3 chain ( // @[ShiftReg.scala 45:23]
+    .clock(chain_clock),
+    .io_d(chain_io_d),
+    .io_q(chain_io_q)
+  );
+  assign auto_out_0 = _WIRE_1[0]; // @[ShiftReg.scala 48:24]
+  assign auto_out_1 = _WIRE_1[1]; // @[ShiftReg.scala 48:24]
+  assign chain_clock = clock;
+  assign chain_io_d = {auto_in_sync_1,auto_in_sync_0}; // @[ShiftReg.scala 47:22]
+endmodule
+module TLBuffer_13(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [1:0]  auto_in_a_bits_size,
+  input  [6:0]  auto_in_a_bits_source,
+  input  [28:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input  [31:0] auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output [1:0]  auto_in_d_bits_size,
+  output [6:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output [1:0]  auto_out_a_bits_size,
+  output [6:0]  auto_out_a_bits_source,
+  output [28:0] auto_out_a_bits_address,
+  output [3:0]  auto_out_a_bits_mask,
+  output [31:0] auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input  [1:0]  auto_out_d_bits_size,
+  input  [6:0]  auto_out_d_bits_source,
+  input  [31:0] auto_out_d_bits_data
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_56(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10013000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_663 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_663) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module UARTTx(
+  input         clock,
+  input         reset,
+  input         io_en,
+  output        io_in_ready,
+  input         io_in_valid,
+  input  [7:0]  io_in_bits,
+  output        io_out,
+  input  [15:0] io_div,
+  input         io_nstop
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  reg [15:0] prescaler; // @[UARTTx.scala 23:22]
+  wire  pulse = prescaler == 16'h0; // @[UARTTx.scala 24:26]
+  reg [3:0] counter; // @[UARTTx.scala 27:20]
+  reg [8:0] shifter; // @[UARTTx.scala 28:20]
+  reg  out; // @[UARTTx.scala 29:16]
+  wire  plusarg_tx = |plusarg_reader_out; // @[UARTTx.scala 32:90]
+  wire  busy = counter != 4'h0; // @[UARTTx.scala 34:23]
+  wire  _T = io_in_ready & io_in_valid; // @[Decoupled.scala 50:35]
+  wire [9:0] _shifter_T_1 = {1'h1,io_in_bits,1'h0}; // @[Cat.scala 31:58]
+  wire  _counter_T = ~io_nstop; // @[UARTTx.scala 57:19]
+  wire [3:0] _counter_T_2 = _counter_T ? 4'ha : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _counter_T_3 = io_nstop ? 4'hb : 4'h0; // @[Mux.scala 27:73]
+  wire [3:0] _counter_T_4 = _counter_T_2 | _counter_T_3; // @[Mux.scala 27:73]
+  wire [3:0] _counter_T_6 = _counter_T_4 - 4'h0; // @[UARTTx.scala 57:53]
+  wire [9:0] _GEN_0 = _T & plusarg_tx ? _shifter_T_1 : {{1'd0}, shifter}; // @[UARTTx.scala 40:37 55:15 28:20]
+  wire [15:0] _prescaler_T_2 = prescaler - 16'h1; // @[UARTTx.scala 61:78]
+  wire [3:0] _counter_T_8 = counter - 4'h1; // @[UARTTx.scala 64:24]
+  wire [8:0] _shifter_T_3 = {1'h1,shifter[8:1]}; // @[Cat.scala 31:58]
+  wire [9:0] _GEN_4 = pulse & busy ? {{1'd0}, _shifter_T_3} : _GEN_0; // @[UARTTx.scala 63:24 65:13]
+  wire  _GEN_5 = pulse & busy ? shifter[0] : out; // @[UARTTx.scala 29:16 63:24 66:9]
+  plusarg_reader #(.FORMAT("uart_tx=%d"), .DEFAULT(1), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  assign io_in_ready = io_en & ~busy; // @[UARTTx.scala 35:24]
+  assign io_out = out; // @[UARTTx.scala 30:10]
+  always @(posedge clock) begin
+    if (reset) begin // @[UARTTx.scala 23:22]
+      prescaler <= 16'h0; // @[UARTTx.scala 23:22]
+    end else if (busy) begin // @[UARTTx.scala 60:15]
+      if (pulse) begin // @[UARTTx.scala 61:21]
+        prescaler <= io_div;
+      end else begin
+        prescaler <= _prescaler_T_2;
+      end
+    end
+    if (reset) begin // @[UARTTx.scala 27:20]
+      counter <= 4'h0; // @[UARTTx.scala 27:20]
+    end else if (pulse & busy) begin // @[UARTTx.scala 63:24]
+      counter <= _counter_T_8; // @[UARTTx.scala 64:13]
+    end else if (_T & plusarg_tx) begin // @[UARTTx.scala 40:37]
+      counter <= _counter_T_6; // @[UARTTx.scala 56:15]
+    end
+    shifter <= _GEN_4[8:0];
+    out <= reset | _GEN_5; // @[UARTTx.scala 29:{16,16}]
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T & ~reset) begin
+          $fwrite(32'h80000002,"UART TX (%x): %c\n",io_in_bits,io_in_bits); // @[UARTTx.scala 38:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  counter = _RAND_1[3:0];
+  _RAND_2 = {1{`RANDOM}};
+  shifter = _RAND_2[8:0];
+  _RAND_3 = {1{`RANDOM}};
+  out = _RAND_3[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module QueueCompatibility(
+  input        clock,
+  input        reset,
+  output       io_enq_ready,
+  input        io_enq_valid,
+  input  [7:0] io_enq_bits,
+  input        io_deq_ready,
+  output       io_deq_valid,
+  output [7:0] io_deq_bits,
+  output [3:0] io_count
+);
+`ifdef RANDOMIZE_MEM_INIT
+  reg [31:0] _RAND_0;
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+`endif // RANDOMIZE_REG_INIT
+  reg [7:0] ram [0:7]; // @[Decoupled.scala 259:95]
+  wire  ram_io_deq_bits_MPORT_en; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_io_deq_bits_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire [7:0] ram_io_deq_bits_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [7:0] ram_MPORT_data; // @[Decoupled.scala 259:95]
+  wire [2:0] ram_MPORT_addr; // @[Decoupled.scala 259:95]
+  wire  ram_MPORT_mask; // @[Decoupled.scala 259:95]
+  wire  ram_MPORT_en; // @[Decoupled.scala 259:95]
+  reg [2:0] enq_ptr_value; // @[Counter.scala 62:40]
+  reg [2:0] deq_ptr_value; // @[Counter.scala 62:40]
+  reg  maybe_full; // @[Decoupled.scala 262:27]
+  wire  ptr_match = enq_ptr_value == deq_ptr_value; // @[Decoupled.scala 263:33]
+  wire  empty = ptr_match & ~maybe_full; // @[Decoupled.scala 264:25]
+  wire  full = ptr_match & maybe_full; // @[Decoupled.scala 265:24]
+  wire  do_enq = io_enq_ready & io_enq_valid; // @[Decoupled.scala 50:35]
+  wire  do_deq = io_deq_ready & io_deq_valid; // @[Decoupled.scala 50:35]
+  wire [2:0] _value_T_1 = enq_ptr_value + 3'h1; // @[Counter.scala 78:24]
+  wire [2:0] _value_T_3 = deq_ptr_value + 3'h1; // @[Counter.scala 78:24]
+  wire [2:0] ptr_diff = enq_ptr_value - deq_ptr_value; // @[Decoupled.scala 312:32]
+  wire [3:0] _io_count_T_1 = maybe_full & ptr_match ? 4'h8 : 4'h0; // @[Decoupled.scala 315:20]
+  wire [3:0] _GEN_11 = {{1'd0}, ptr_diff}; // @[Decoupled.scala 315:62]
+  assign ram_io_deq_bits_MPORT_en = 1'h1;
+  assign ram_io_deq_bits_MPORT_addr = deq_ptr_value;
+  assign ram_io_deq_bits_MPORT_data = ram[ram_io_deq_bits_MPORT_addr]; // @[Decoupled.scala 259:95]
+  assign ram_MPORT_data = io_enq_bits;
+  assign ram_MPORT_addr = enq_ptr_value;
+  assign ram_MPORT_mask = 1'h1;
+  assign ram_MPORT_en = io_enq_ready & io_enq_valid;
+  assign io_enq_ready = ~full; // @[Decoupled.scala 289:19]
+  assign io_deq_valid = ~empty; // @[Decoupled.scala 288:19]
+  assign io_deq_bits = ram_io_deq_bits_MPORT_data; // @[Decoupled.scala 296:17]
+  assign io_count = _io_count_T_1 | _GEN_11; // @[Decoupled.scala 315:62]
+  always @(posedge clock) begin
+    if (ram_MPORT_en & ram_MPORT_mask) begin
+      ram[ram_MPORT_addr] <= ram_MPORT_data; // @[Decoupled.scala 259:95]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      enq_ptr_value <= 3'h0; // @[Counter.scala 62:40]
+    end else if (do_enq) begin // @[Decoupled.scala 272:16]
+      enq_ptr_value <= _value_T_1; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Counter.scala 62:40]
+      deq_ptr_value <= 3'h0; // @[Counter.scala 62:40]
+    end else if (do_deq) begin // @[Decoupled.scala 276:16]
+      deq_ptr_value <= _value_T_3; // @[Counter.scala 78:15]
+    end
+    if (reset) begin // @[Decoupled.scala 262:27]
+      maybe_full <= 1'h0; // @[Decoupled.scala 262:27]
+    end else if (do_enq != do_deq) begin // @[Decoupled.scala 279:27]
+      maybe_full <= do_enq; // @[Decoupled.scala 280:16]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `ifdef INIT_RANDOM
+      `INIT_RANDOM
+    `endif
+    `ifndef VERILATOR
+      `ifdef RANDOMIZE_DELAY
+        #`RANDOMIZE_DELAY begin end
+      `else
+        #0.002 begin end
+      `endif
+    `endif
+`ifdef RANDOMIZE_MEM_INIT
+  _RAND_0 = {1{`RANDOM}};
+  for (initvar = 0; initvar < 8; initvar = initvar+1)
+    ram[initvar] = _RAND_0[7:0];
+`endif // RANDOMIZE_MEM_INIT
+`ifdef RANDOMIZE_REG_INIT
+  _RAND_1 = {1{`RANDOM}};
+  enq_ptr_value = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  deq_ptr_value = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  maybe_full = _RAND_3[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module UARTRx(
+  input         clock,
+  input         reset,
+  input         io_en,
+  input         io_in,
+  output        io_out_valid,
+  output [7:0]  io_out_bits,
+  input  [15:0] io_div
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  reg [1:0] debounce; // @[UARTRx.scala 24:21]
+  wire  debounce_max = debounce == 2'h3; // @[UARTRx.scala 25:32]
+  wire  debounce_min = debounce == 2'h0; // @[UARTRx.scala 26:32]
+  reg [12:0] prescaler; // @[UARTRx.scala 28:22]
+  wire  pulse = prescaler == 13'h0; // @[UARTRx.scala 30:26]
+  reg [3:0] data_count; // @[UARTRx.scala 34:23]
+  wire  data_last = data_count == 4'h0; // @[UARTRx.scala 35:31]
+  reg [3:0] sample_count; // @[UARTRx.scala 37:25]
+  wire  sample_mid = sample_count == 4'h7; // @[UARTRx.scala 38:34]
+  wire [7:0] _countdown_T = {data_count,sample_count}; // @[Cat.scala 31:58]
+  wire [7:0] countdown = _countdown_T - 8'h1; // @[UARTRx.scala 40:49]
+  wire [3:0] remainder = io_div[3:0]; // @[UARTRx.scala 45:25]
+  wire  extend = sample_count < remainder; // @[UARTRx.scala 46:30]
+  reg  state; // @[UARTRx.scala 61:18]
+  wire  _T_5 = ~io_in; // @[UARTRx.scala 68:13]
+  wire  _GEN_8 = ~io_in & debounce_max; // @[UARTRx.scala 68:21]
+  wire  start = ~state & _GEN_8; // @[UARTRx.scala 63:18]
+  wire  restore = start | pulse; // @[UARTRx.scala 47:23]
+  wire [12:0] prescaler_in = restore ? {{1'd0}, io_div[15:4]} : prescaler; // @[UARTRx.scala 48:25]
+  wire  _prescaler_next_T_1 = restore & extend ? 1'h0 : 1'h1; // @[UARTRx.scala 49:42]
+  wire [12:0] _GEN_41 = {{12'd0}, _prescaler_next_T_1}; // @[UARTRx.scala 49:37]
+  wire [12:0] prescaler_next = prescaler_in - _GEN_41; // @[UARTRx.scala 49:37]
+  reg [2:0] sample; // @[UARTRx.scala 51:19]
+  wire  _voter_T_3 = sample[0] & sample[1]; // @[Misc.scala 166:48]
+  wire  _voter_T_4 = sample[0] & sample[2]; // @[Misc.scala 166:48]
+  wire  _voter_T_6 = sample[1] & sample[2]; // @[Misc.scala 166:48]
+  wire  voter = _voter_T_3 | _voter_T_4 | _voter_T_6; // @[Misc.scala 167:22]
+  reg [7:0] shifter; // @[UARTRx.scala 53:20]
+  reg  valid; // @[UARTRx.scala 55:18]
+  wire [1:0] _debounce_T_1 = debounce - 2'h1; // @[UARTRx.scala 66:30]
+  wire [1:0] _GEN_0 = ~_T_5 & ~debounce_min ? _debounce_T_1 : debounce; // @[UARTRx.scala 65:41 66:18 24:21]
+  wire [1:0] _debounce_T_3 = debounce + 2'h1; // @[UARTRx.scala 69:30]
+  wire [3:0] _data_count_T_3 = 4'h9 - 4'h0; // @[UARTRx.scala 74:94]
+  wire  _GEN_1 = debounce_max | state; // @[UARTRx.scala 70:29 71:17 61:18]
+  wire [3:0] _sample_T = {sample,io_in}; // @[Cat.scala 31:58]
+  wire [7:0] _shifter_T_1 = {voter,shifter[7:1]}; // @[Cat.scala 31:58]
+  wire  _GEN_12 = data_last ? 1'h0 : state; // @[UARTRx.scala 102:30 103:21 61:18]
+  wire [7:0] _GEN_14 = data_last ? shifter : _shifter_T_1; // @[UARTRx.scala 102:30 53:20 106:23]
+  wire  _GEN_15 = sample_mid ? _GEN_12 : state; // @[UARTRx.scala 61:18 87:27]
+  wire  _GEN_16 = sample_mid & data_last; // @[UARTRx.scala 87:27 56:9]
+  wire [3:0] _GEN_18 = pulse ? _sample_T : {{1'd0}, sample}; // @[UARTRx.scala 82:20 83:16 51:19]
+  wire  _GEN_22 = pulse & _GEN_16; // @[UARTRx.scala 82:20 56:9]
+  wire [3:0] _GEN_25 = state ? _GEN_18 : {{1'd0}, sample}; // @[UARTRx.scala 63:18 51:19]
+  wire [3:0] _GEN_37 = ~state ? {{1'd0}, sample} : _GEN_25; // @[UARTRx.scala 63:18 51:19]
+  assign io_out_valid = valid; // @[UARTRx.scala 57:16]
+  assign io_out_bits = shifter; // @[UARTRx.scala 58:15]
+  always @(posedge clock) begin
+    if (reset) begin // @[UARTRx.scala 24:21]
+      debounce <= 2'h0; // @[UARTRx.scala 24:21]
+    end else if (~io_en) begin // @[UARTRx.scala 114:17]
+      debounce <= 2'h0; // @[UARTRx.scala 115:14]
+    end else if (~state) begin // @[UARTRx.scala 63:18]
+      if (~io_in) begin // @[UARTRx.scala 68:21]
+        debounce <= _debounce_T_3; // @[UARTRx.scala 69:18]
+      end else begin
+        debounce <= _GEN_0;
+      end
+    end
+    if (~state) begin // @[UARTRx.scala 63:18]
+      if (~io_in) begin // @[UARTRx.scala 68:21]
+        if (debounce_max) begin // @[UARTRx.scala 70:29]
+          prescaler <= prescaler_next; // @[UARTRx.scala 73:21]
+        end
+      end
+    end else if (state) begin // @[UARTRx.scala 63:18]
+      prescaler <= prescaler_next; // @[UARTRx.scala 81:17]
+    end
+    if (~state) begin // @[UARTRx.scala 63:18]
+      if (~io_in) begin // @[UARTRx.scala 68:21]
+        if (debounce_max) begin // @[UARTRx.scala 70:29]
+          data_count <= _data_count_T_3; // @[UARTRx.scala 74:22]
+        end
+      end
+    end else if (state) begin // @[UARTRx.scala 63:18]
+      if (pulse) begin // @[UARTRx.scala 82:20]
+        data_count <= countdown[7:4]; // @[UARTRx.scala 84:20]
+      end
+    end
+    if (~state) begin // @[UARTRx.scala 63:18]
+      if (~io_in) begin // @[UARTRx.scala 68:21]
+        if (debounce_max) begin // @[UARTRx.scala 70:29]
+          sample_count <= 4'hf; // @[UARTRx.scala 75:24]
+        end
+      end
+    end else if (state) begin // @[UARTRx.scala 63:18]
+      if (pulse) begin // @[UARTRx.scala 82:20]
+        sample_count <= countdown[3:0]; // @[UARTRx.scala 85:22]
+      end
+    end
+    if (reset) begin // @[UARTRx.scala 61:18]
+      state <= 1'h0; // @[UARTRx.scala 61:18]
+    end else if (~state) begin // @[UARTRx.scala 63:18]
+      if (~io_in) begin // @[UARTRx.scala 68:21]
+        state <= _GEN_1;
+      end
+    end else if (state) begin // @[UARTRx.scala 63:18]
+      if (pulse) begin // @[UARTRx.scala 82:20]
+        state <= _GEN_15;
+      end
+    end
+    sample <= _GEN_37[2:0];
+    if (!(~state)) begin // @[UARTRx.scala 63:18]
+      if (state) begin // @[UARTRx.scala 63:18]
+        if (pulse) begin // @[UARTRx.scala 82:20]
+          if (sample_mid) begin // @[UARTRx.scala 87:27]
+            shifter <= _GEN_14;
+          end
+        end
+      end
+    end
+    if (reset) begin // @[UARTRx.scala 55:18]
+      valid <= 1'h0; // @[UARTRx.scala 55:18]
+    end else if (~state) begin // @[UARTRx.scala 63:18]
+      valid <= 1'h0; // @[UARTRx.scala 56:9]
+    end else begin
+      valid <= state & _GEN_22;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  prescaler = _RAND_1[12:0];
+  _RAND_2 = {1{`RANDOM}};
+  data_count = _RAND_2[3:0];
+  _RAND_3 = {1{`RANDOM}};
+  sample_count = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  state = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  sample = _RAND_5[2:0];
+  _RAND_6 = {1{`RANDOM}};
+  shifter = _RAND_6[7:0];
+  _RAND_7 = {1{`RANDOM}};
+  valid = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLUART(
+  input         clock,
+  input         reset,
+  output        auto_int_xing_out_sync_0,
+  output        auto_control_xing_in_a_ready,
+  input         auto_control_xing_in_a_valid,
+  input  [2:0]  auto_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_control_xing_in_a_bits_param,
+  input  [1:0]  auto_control_xing_in_a_bits_size,
+  input  [6:0]  auto_control_xing_in_a_bits_source,
+  input  [28:0] auto_control_xing_in_a_bits_address,
+  input  [3:0]  auto_control_xing_in_a_bits_mask,
+  input  [31:0] auto_control_xing_in_a_bits_data,
+  input         auto_control_xing_in_a_bits_corrupt,
+  input         auto_control_xing_in_d_ready,
+  output        auto_control_xing_in_d_valid,
+  output [2:0]  auto_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_control_xing_in_d_bits_size,
+  output [6:0]  auto_control_xing_in_d_bits_source,
+  output [31:0] auto_control_xing_in_d_bits_data,
+  output        auto_io_out_txd,
+  input         auto_io_out_rxd
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  intsource_clock; // @[Crossing.scala 26:31]
+  wire  intsource_reset; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  txm_clock; // @[UART.scala 79:19]
+  wire  txm_reset; // @[UART.scala 79:19]
+  wire  txm_io_en; // @[UART.scala 79:19]
+  wire  txm_io_in_ready; // @[UART.scala 79:19]
+  wire  txm_io_in_valid; // @[UART.scala 79:19]
+  wire [7:0] txm_io_in_bits; // @[UART.scala 79:19]
+  wire  txm_io_out; // @[UART.scala 79:19]
+  wire [15:0] txm_io_div; // @[UART.scala 79:19]
+  wire  txm_io_nstop; // @[UART.scala 79:19]
+  wire  txq_clock; // @[UART.scala 80:19]
+  wire  txq_reset; // @[UART.scala 80:19]
+  wire  txq_io_enq_ready; // @[UART.scala 80:19]
+  wire  txq_io_enq_valid; // @[UART.scala 80:19]
+  wire [7:0] txq_io_enq_bits; // @[UART.scala 80:19]
+  wire  txq_io_deq_ready; // @[UART.scala 80:19]
+  wire  txq_io_deq_valid; // @[UART.scala 80:19]
+  wire [7:0] txq_io_deq_bits; // @[UART.scala 80:19]
+  wire [3:0] txq_io_count; // @[UART.scala 80:19]
+  wire  rxm_clock; // @[UART.scala 82:19]
+  wire  rxm_reset; // @[UART.scala 82:19]
+  wire  rxm_io_en; // @[UART.scala 82:19]
+  wire  rxm_io_in; // @[UART.scala 82:19]
+  wire  rxm_io_out_valid; // @[UART.scala 82:19]
+  wire [7:0] rxm_io_out_bits; // @[UART.scala 82:19]
+  wire [15:0] rxm_io_div; // @[UART.scala 82:19]
+  wire  rxq_clock; // @[UART.scala 83:19]
+  wire  rxq_reset; // @[UART.scala 83:19]
+  wire  rxq_io_enq_ready; // @[UART.scala 83:19]
+  wire  rxq_io_enq_valid; // @[UART.scala 83:19]
+  wire [7:0] rxq_io_enq_bits; // @[UART.scala 83:19]
+  wire  rxq_io_deq_ready; // @[UART.scala 83:19]
+  wire  rxq_io_deq_valid; // @[UART.scala 83:19]
+  wire [7:0] rxq_io_deq_bits; // @[UART.scala 83:19]
+  wire [3:0] rxq_io_count; // @[UART.scala 83:19]
+  reg [15:0] div; // @[UART.scala 85:16]
+  reg  txen; // @[UART.scala 91:17]
+  reg  rxen; // @[UART.scala 92:17]
+  reg [3:0] txwm; // @[UART.scala 99:17]
+  reg [3:0] rxwm; // @[UART.scala 100:17]
+  reg  nstop; // @[UART.scala 101:18]
+  reg  ie_rxwm; // @[UART.scala 135:15]
+  reg  ie_txwm; // @[UART.scala 135:15]
+  wire  ip_txwm = txq_io_count < txwm; // @[UART.scala 138:28]
+  wire  ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 139:28]
+  wire  _T = ~txq_io_enq_ready; // @[RegMapFIFO.scala 25:9]
+  wire  _T_1 = ~rxq_io_deq_valid; // @[RegMapFIFO.scala 46:21]
+  wire [2:0] bundleIn_0_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  in_bits_read = bundleIn_0_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [28:0] bundleIn_0_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [9:0] in_bits_index = bundleIn_0_a_bits_address[11:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire [9:0] out_findex = in_bits_index & 10'h3f8; // @[RegisterRouter.scala 83:24]
+  wire  _out_T = out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] bundleIn_0_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_frontMask_T_5 = bundleIn_0_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_7 = bundleIn_0_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_9 = bundleIn_0_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_11 = bundleIn_0_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_frontMask = {_out_frontMask_T_11,_out_frontMask_T_9,_out_frontMask_T_7,_out_frontMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_rimask = |out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask = &out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  bundleIn_0_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  bundleIn_0_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [2:0] out_oindex = {in_bits_index[2],in_bits_index[1],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [7:0] _out_frontSel_T = 8'h1 << out_oindex; // @[OneHot.scala 57:35]
+  wire  out_frontSel_0 = _out_frontSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_0 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_0 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid = out_wivalid_0 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire [31:0] bundleIn_0_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  out_womask_2 = &out_frontMask[31]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_2 = out_wivalid_0 & out_womask_2; // @[RegisterRouter.scala 83:24]
+  wire  quash = out_f_woready_2 & bundleIn_0_a_bits_data[31]; // @[RegMapFIFO.scala 27:26]
+  wire [31:0] out_prepend_1 = {_T,31'h0}; // @[Cat.scala 31:58]
+  wire  out_wimask_3 = &out_frontMask[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_4 = &out_frontMask[1]; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_2 = {ip_rxwm,ip_txwm}; // @[Cat.scala 31:58]
+  wire  out_frontSel_1 = _out_frontSel_T[1]; // @[RegisterRouter.scala 83:24]
+  wire  out_rivalid_5 = bundleIn_0_a_valid & bundleIn_0_d_ready & in_bits_read & out_frontSel_1 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [7:0] _out_T_66 = rxq_io_deq_bits; // @[RegisterRouter.scala 83:24]
+  wire [8:0] out_prepend_3 = {1'h0,_out_T_66}; // @[Cat.scala 31:58]
+  wire [30:0] _out_T_75 = {{22'd0}, out_prepend_3}; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_4 = {_T_1,_out_T_75}; // @[Cat.scala 31:58]
+  wire  out_wimask_8 = &out_frontMask[15:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_6 = _out_frontSel_T[6]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_8 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_6 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_8 = out_wivalid_8 & out_wimask_8; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_2 = _out_frontSel_T[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_9 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_2 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_9 = out_wivalid_9 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_10 = out_wivalid_9 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_5 = {nstop,txen}; // @[Cat.scala 31:58]
+  wire  out_wimask_11 = &out_frontMask[19:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_11 = out_wivalid_9 & out_wimask_11; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_6 = {{14'd0}, out_prepend_5}; // @[RegisterRouter.scala 83:24]
+  wire [19:0] out_prepend_6 = {txwm,_out_prepend_T_6}; // @[Cat.scala 31:58]
+  wire  out_frontSel_3 = _out_frontSel_T[3]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_12 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_3 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_12 = out_wivalid_12 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_13 = out_wivalid_12 & out_wimask_11; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_7 = {{15'd0}, rxen}; // @[RegisterRouter.scala 83:24]
+  wire [19:0] out_prepend_7 = {rxwm,_out_prepend_T_7}; // @[Cat.scala 31:58]
+  wire  out_frontSel_4 = _out_frontSel_T[4]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_14 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_4 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_14 = out_wivalid_14 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_15 = out_wivalid_14 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_8 = {ie_rxwm,ie_txwm}; // @[Cat.scala 31:58]
+  wire  _GEN_41 = 3'h1 == out_oindex ? _out_T : _out_T; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_42 = 3'h2 == out_oindex ? _out_T : _GEN_41; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_43 = 3'h3 == out_oindex ? _out_T : _GEN_42; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_44 = 3'h4 == out_oindex ? _out_T : _GEN_43; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_45 = 3'h5 == out_oindex ? _out_T : _GEN_44; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_46 = 3'h6 == out_oindex ? _out_T : _GEN_45; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_47 = 3'h7 == out_oindex | _GEN_46; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_49 = 3'h1 == out_oindex ? out_prepend_4 : out_prepend_1; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_2 = {{12'd0}, out_prepend_6}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_50 = 3'h2 == out_oindex ? _out_out_bits_data_WIRE_1_2 : _GEN_49; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_3 = {{12'd0}, out_prepend_7}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_51 = 3'h3 == out_oindex ? _out_out_bits_data_WIRE_1_3 : _GEN_50; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_4 = {{30'd0}, out_prepend_8}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_52 = 3'h4 == out_oindex ? _out_out_bits_data_WIRE_1_4 : _GEN_51; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_5 = {{30'd0}, out_prepend_2}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_53 = 3'h5 == out_oindex ? _out_out_bits_data_WIRE_1_5 : _GEN_52; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_54 = 3'h6 == out_oindex ? _out_out_bits_data_WIRE_1_6 : _GEN_53; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_55 = 3'h7 == out_oindex ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:{10,10}]
+  TLBuffer_13 buffer ( // @[Buffer.scala 68:28]
+    .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_1 intsource ( // @[Crossing.scala 26:31]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_56 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  UARTTx txm ( // @[UART.scala 79:19]
+    .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)
+  );
+  QueueCompatibility txq ( // @[UART.scala 80:19]
+    .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 82:19]
+    .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)
+  );
+  QueueCompatibility rxq ( // @[UART.scala 83:19]
+    .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 auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_io_out_txd = txm_io_out; // @[Nodes.scala 1207:84 UART.scala 113:12]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign buffer_auto_out_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign intsource_clock = clock;
+  assign intsource_reset = reset;
+  assign intsource_auto_in_0 = ip_txwm & ie_txwm | ip_rxwm & ie_rxwm; // @[UART.scala 140:41]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign txm_clock = clock;
+  assign txm_reset = reset;
+  assign txm_io_en = txen; // @[UART.scala 109:15]
+  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 110:13]
+  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 110:13]
+  assign txm_io_div = div; // @[UART.scala 111:14]
+  assign txm_io_nstop = nstop; // @[UART.scala 112:16]
+  assign txq_clock = clock;
+  assign txq_reset = reset;
+  assign txq_io_enq_valid = out_f_wivalid & ~quash; // @[RegMapFIFO.scala 19:30]
+  assign txq_io_enq_bits = bundleIn_0_a_bits_data[7:0]; // @[RegisterRouter.scala 83:24]
+  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 110:13]
+  assign rxm_clock = clock;
+  assign rxm_reset = reset;
+  assign rxm_io_en = rxen; // @[UART.scala 120:13]
+  assign rxm_io_in = auto_io_out_rxd; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign rxm_io_div = div; // @[UART.scala 123:14]
+  assign rxq_clock = clock;
+  assign rxq_reset = reset;
+  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 122:14]
+  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 122:14]
+  assign rxq_io_deq_ready = out_rivalid_5 & out_rimask; // @[RegisterRouter.scala 83:24]
+  always @(posedge clock) begin
+    if (reset) begin // @[UART.scala 85:16]
+      div <= 16'h364; // @[UART.scala 85:16]
+    end else if (out_f_wivalid_8) begin // @[RegField.scala 74:88]
+      div <= bundleIn_0_a_bits_data[15:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 91:17]
+      txen <= 1'h0; // @[UART.scala 91:17]
+    end else if (out_f_wivalid_9) begin // @[RegField.scala 74:88]
+      txen <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 92:17]
+      rxen <= 1'h0; // @[UART.scala 92:17]
+    end else if (out_f_wivalid_12) begin // @[RegField.scala 74:88]
+      rxen <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 99:17]
+      txwm <= 4'h0; // @[UART.scala 99:17]
+    end else if (out_f_wivalid_11) begin // @[RegField.scala 74:88]
+      txwm <= bundleIn_0_a_bits_data[19:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 100:17]
+      rxwm <= 4'h0; // @[UART.scala 100:17]
+    end else if (out_f_wivalid_13) begin // @[RegField.scala 74:88]
+      rxwm <= bundleIn_0_a_bits_data[19:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 101:18]
+      nstop <= 1'h0; // @[UART.scala 101:18]
+    end else if (out_f_wivalid_10) begin // @[RegField.scala 74:88]
+      nstop <= bundleIn_0_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 135:15]
+      ie_rxwm <= 1'h0; // @[UART.scala 135:15]
+    end else if (out_f_wivalid_15) begin // @[RegField.scala 74:88]
+      ie_rxwm <= bundleIn_0_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 135:15]
+      ie_txwm <= 1'h0; // @[UART.scala 135:15]
+    end else if (out_f_wivalid_14) begin // @[RegField.scala 74:88]
+      ie_txwm <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  txen = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  rxen = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  txwm = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  rxwm = _RAND_4[3:0];
+  _RAND_5 = {1{`RANDOM}};
+  nstop = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  ie_rxwm = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  ie_txwm = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ClockSinkDomain_1(
+  output        auto_uart_0_int_xing_out_sync_0,
+  output        auto_uart_0_control_xing_in_a_ready,
+  input         auto_uart_0_control_xing_in_a_valid,
+  input  [2:0]  auto_uart_0_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_uart_0_control_xing_in_a_bits_param,
+  input  [1:0]  auto_uart_0_control_xing_in_a_bits_size,
+  input  [6:0]  auto_uart_0_control_xing_in_a_bits_source,
+  input  [28:0] auto_uart_0_control_xing_in_a_bits_address,
+  input  [3:0]  auto_uart_0_control_xing_in_a_bits_mask,
+  input  [31:0] auto_uart_0_control_xing_in_a_bits_data,
+  input         auto_uart_0_control_xing_in_a_bits_corrupt,
+  input         auto_uart_0_control_xing_in_d_ready,
+  output        auto_uart_0_control_xing_in_d_valid,
+  output [2:0]  auto_uart_0_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_uart_0_control_xing_in_d_bits_size,
+  output [6:0]  auto_uart_0_control_xing_in_d_bits_source,
+  output [31:0] auto_uart_0_control_xing_in_d_bits_data,
+  output        auto_uart_0_io_out_txd,
+  input         auto_uart_0_io_out_rxd,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  uart_0_clock; // @[UART.scala 243:51]
+  wire  uart_0_reset; // @[UART.scala 243:51]
+  wire  uart_0_auto_int_xing_out_sync_0; // @[UART.scala 243:51]
+  wire  uart_0_auto_control_xing_in_a_ready; // @[UART.scala 243:51]
+  wire  uart_0_auto_control_xing_in_a_valid; // @[UART.scala 243:51]
+  wire [2:0] uart_0_auto_control_xing_in_a_bits_opcode; // @[UART.scala 243:51]
+  wire [2:0] uart_0_auto_control_xing_in_a_bits_param; // @[UART.scala 243:51]
+  wire [1:0] uart_0_auto_control_xing_in_a_bits_size; // @[UART.scala 243:51]
+  wire [6:0] uart_0_auto_control_xing_in_a_bits_source; // @[UART.scala 243:51]
+  wire [28:0] uart_0_auto_control_xing_in_a_bits_address; // @[UART.scala 243:51]
+  wire [3:0] uart_0_auto_control_xing_in_a_bits_mask; // @[UART.scala 243:51]
+  wire [31:0] uart_0_auto_control_xing_in_a_bits_data; // @[UART.scala 243:51]
+  wire  uart_0_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 243:51]
+  wire  uart_0_auto_control_xing_in_d_ready; // @[UART.scala 243:51]
+  wire  uart_0_auto_control_xing_in_d_valid; // @[UART.scala 243:51]
+  wire [2:0] uart_0_auto_control_xing_in_d_bits_opcode; // @[UART.scala 243:51]
+  wire [1:0] uart_0_auto_control_xing_in_d_bits_size; // @[UART.scala 243:51]
+  wire [6:0] uart_0_auto_control_xing_in_d_bits_source; // @[UART.scala 243:51]
+  wire [31:0] uart_0_auto_control_xing_in_d_bits_data; // @[UART.scala 243:51]
+  wire  uart_0_auto_io_out_txd; // @[UART.scala 243:51]
+  wire  uart_0_auto_io_out_rxd; // @[UART.scala 243:51]
+  TLUART uart_0 ( // @[UART.scala 243:51]
+    .clock(uart_0_clock),
+    .reset(uart_0_reset),
+    .auto_int_xing_out_sync_0(uart_0_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(uart_0_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(uart_0_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(uart_0_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(uart_0_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(uart_0_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(uart_0_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(uart_0_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(uart_0_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(uart_0_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(uart_0_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(uart_0_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(uart_0_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(uart_0_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(uart_0_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(uart_0_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(uart_0_auto_control_xing_in_d_bits_data),
+    .auto_io_out_txd(uart_0_auto_io_out_txd),
+    .auto_io_out_rxd(uart_0_auto_io_out_rxd)
+  );
+  assign auto_uart_0_int_xing_out_sync_0 = uart_0_auto_int_xing_out_sync_0; // @[LazyModule.scala 311:12]
+  assign auto_uart_0_control_xing_in_a_ready = uart_0_auto_control_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_uart_0_control_xing_in_d_valid = uart_0_auto_control_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_uart_0_control_xing_in_d_bits_opcode = uart_0_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_uart_0_control_xing_in_d_bits_size = uart_0_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_uart_0_control_xing_in_d_bits_source = uart_0_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_uart_0_control_xing_in_d_bits_data = uart_0_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_uart_0_io_out_txd = uart_0_auto_io_out_txd; // @[LazyModule.scala 311:12]
+  assign uart_0_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign uart_0_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign uart_0_auto_control_xing_in_a_valid = auto_uart_0_control_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign uart_0_auto_control_xing_in_a_bits_opcode = auto_uart_0_control_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign uart_0_auto_control_xing_in_a_bits_param = auto_uart_0_control_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign uart_0_auto_control_xing_in_a_bits_size = auto_uart_0_control_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign uart_0_auto_control_xing_in_a_bits_source = auto_uart_0_control_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign uart_0_auto_control_xing_in_a_bits_address = auto_uart_0_control_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign uart_0_auto_control_xing_in_a_bits_mask = auto_uart_0_control_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign uart_0_auto_control_xing_in_a_bits_data = auto_uart_0_control_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign uart_0_auto_control_xing_in_a_bits_corrupt = auto_uart_0_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign uart_0_auto_control_xing_in_d_ready = auto_uart_0_control_xing_in_d_ready; // @[LazyModule.scala 309:16]
+  assign uart_0_auto_io_out_rxd = auto_uart_0_io_out_rxd; // @[LazyModule.scala 311:12]
+endmodule
+module TLMonitor_57(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10023000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_663 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_663) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLUART_1(
+  input         clock,
+  input         reset,
+  output        auto_int_xing_out_sync_0,
+  output        auto_control_xing_in_a_ready,
+  input         auto_control_xing_in_a_valid,
+  input  [2:0]  auto_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_control_xing_in_a_bits_param,
+  input  [1:0]  auto_control_xing_in_a_bits_size,
+  input  [6:0]  auto_control_xing_in_a_bits_source,
+  input  [28:0] auto_control_xing_in_a_bits_address,
+  input  [3:0]  auto_control_xing_in_a_bits_mask,
+  input  [31:0] auto_control_xing_in_a_bits_data,
+  input         auto_control_xing_in_a_bits_corrupt,
+  input         auto_control_xing_in_d_ready,
+  output        auto_control_xing_in_d_valid,
+  output [2:0]  auto_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_control_xing_in_d_bits_size,
+  output [6:0]  auto_control_xing_in_d_bits_source,
+  output [31:0] auto_control_xing_in_d_bits_data,
+  output        auto_io_out_txd,
+  input         auto_io_out_rxd
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  intsource_clock; // @[Crossing.scala 26:31]
+  wire  intsource_reset; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  txm_clock; // @[UART.scala 79:19]
+  wire  txm_reset; // @[UART.scala 79:19]
+  wire  txm_io_en; // @[UART.scala 79:19]
+  wire  txm_io_in_ready; // @[UART.scala 79:19]
+  wire  txm_io_in_valid; // @[UART.scala 79:19]
+  wire [7:0] txm_io_in_bits; // @[UART.scala 79:19]
+  wire  txm_io_out; // @[UART.scala 79:19]
+  wire [15:0] txm_io_div; // @[UART.scala 79:19]
+  wire  txm_io_nstop; // @[UART.scala 79:19]
+  wire  txq_clock; // @[UART.scala 80:19]
+  wire  txq_reset; // @[UART.scala 80:19]
+  wire  txq_io_enq_ready; // @[UART.scala 80:19]
+  wire  txq_io_enq_valid; // @[UART.scala 80:19]
+  wire [7:0] txq_io_enq_bits; // @[UART.scala 80:19]
+  wire  txq_io_deq_ready; // @[UART.scala 80:19]
+  wire  txq_io_deq_valid; // @[UART.scala 80:19]
+  wire [7:0] txq_io_deq_bits; // @[UART.scala 80:19]
+  wire [3:0] txq_io_count; // @[UART.scala 80:19]
+  wire  rxm_clock; // @[UART.scala 82:19]
+  wire  rxm_reset; // @[UART.scala 82:19]
+  wire  rxm_io_en; // @[UART.scala 82:19]
+  wire  rxm_io_in; // @[UART.scala 82:19]
+  wire  rxm_io_out_valid; // @[UART.scala 82:19]
+  wire [7:0] rxm_io_out_bits; // @[UART.scala 82:19]
+  wire [15:0] rxm_io_div; // @[UART.scala 82:19]
+  wire  rxq_clock; // @[UART.scala 83:19]
+  wire  rxq_reset; // @[UART.scala 83:19]
+  wire  rxq_io_enq_ready; // @[UART.scala 83:19]
+  wire  rxq_io_enq_valid; // @[UART.scala 83:19]
+  wire [7:0] rxq_io_enq_bits; // @[UART.scala 83:19]
+  wire  rxq_io_deq_ready; // @[UART.scala 83:19]
+  wire  rxq_io_deq_valid; // @[UART.scala 83:19]
+  wire [7:0] rxq_io_deq_bits; // @[UART.scala 83:19]
+  wire [3:0] rxq_io_count; // @[UART.scala 83:19]
+  reg [15:0] div; // @[UART.scala 85:16]
+  reg  txen; // @[UART.scala 91:17]
+  reg  rxen; // @[UART.scala 92:17]
+  reg [3:0] txwm; // @[UART.scala 99:17]
+  reg [3:0] rxwm; // @[UART.scala 100:17]
+  reg  nstop; // @[UART.scala 101:18]
+  reg  ie_rxwm; // @[UART.scala 135:15]
+  reg  ie_txwm; // @[UART.scala 135:15]
+  wire  ip_txwm = txq_io_count < txwm; // @[UART.scala 138:28]
+  wire  ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 139:28]
+  wire  _T = ~txq_io_enq_ready; // @[RegMapFIFO.scala 25:9]
+  wire  _T_1 = ~rxq_io_deq_valid; // @[RegMapFIFO.scala 46:21]
+  wire [2:0] bundleIn_0_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  in_bits_read = bundleIn_0_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [28:0] bundleIn_0_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [9:0] in_bits_index = bundleIn_0_a_bits_address[11:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire [9:0] out_findex = in_bits_index & 10'h3f8; // @[RegisterRouter.scala 83:24]
+  wire  _out_T = out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] bundleIn_0_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_frontMask_T_5 = bundleIn_0_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_7 = bundleIn_0_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_9 = bundleIn_0_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_11 = bundleIn_0_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_frontMask = {_out_frontMask_T_11,_out_frontMask_T_9,_out_frontMask_T_7,_out_frontMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_rimask = |out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask = &out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  bundleIn_0_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  bundleIn_0_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [2:0] out_oindex = {in_bits_index[2],in_bits_index[1],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [7:0] _out_frontSel_T = 8'h1 << out_oindex; // @[OneHot.scala 57:35]
+  wire  out_frontSel_0 = _out_frontSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_0 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_0 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid = out_wivalid_0 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire [31:0] bundleIn_0_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  out_womask_2 = &out_frontMask[31]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_2 = out_wivalid_0 & out_womask_2; // @[RegisterRouter.scala 83:24]
+  wire  quash = out_f_woready_2 & bundleIn_0_a_bits_data[31]; // @[RegMapFIFO.scala 27:26]
+  wire [31:0] out_prepend_1 = {_T,31'h0}; // @[Cat.scala 31:58]
+  wire  out_wimask_3 = &out_frontMask[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_4 = &out_frontMask[1]; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_2 = {ip_rxwm,ip_txwm}; // @[Cat.scala 31:58]
+  wire  out_frontSel_1 = _out_frontSel_T[1]; // @[RegisterRouter.scala 83:24]
+  wire  out_rivalid_5 = bundleIn_0_a_valid & bundleIn_0_d_ready & in_bits_read & out_frontSel_1 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [7:0] _out_T_66 = rxq_io_deq_bits; // @[RegisterRouter.scala 83:24]
+  wire [8:0] out_prepend_3 = {1'h0,_out_T_66}; // @[Cat.scala 31:58]
+  wire [30:0] _out_T_75 = {{22'd0}, out_prepend_3}; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_4 = {_T_1,_out_T_75}; // @[Cat.scala 31:58]
+  wire  out_wimask_8 = &out_frontMask[15:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_6 = _out_frontSel_T[6]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_8 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_6 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_8 = out_wivalid_8 & out_wimask_8; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_2 = _out_frontSel_T[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_9 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_2 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_9 = out_wivalid_9 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_10 = out_wivalid_9 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_5 = {nstop,txen}; // @[Cat.scala 31:58]
+  wire  out_wimask_11 = &out_frontMask[19:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_11 = out_wivalid_9 & out_wimask_11; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_6 = {{14'd0}, out_prepend_5}; // @[RegisterRouter.scala 83:24]
+  wire [19:0] out_prepend_6 = {txwm,_out_prepend_T_6}; // @[Cat.scala 31:58]
+  wire  out_frontSel_3 = _out_frontSel_T[3]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_12 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_3 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_12 = out_wivalid_12 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_13 = out_wivalid_12 & out_wimask_11; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_7 = {{15'd0}, rxen}; // @[RegisterRouter.scala 83:24]
+  wire [19:0] out_prepend_7 = {rxwm,_out_prepend_T_7}; // @[Cat.scala 31:58]
+  wire  out_frontSel_4 = _out_frontSel_T[4]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_14 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_4 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_14 = out_wivalid_14 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_15 = out_wivalid_14 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_8 = {ie_rxwm,ie_txwm}; // @[Cat.scala 31:58]
+  wire  _GEN_41 = 3'h1 == out_oindex ? _out_T : _out_T; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_42 = 3'h2 == out_oindex ? _out_T : _GEN_41; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_43 = 3'h3 == out_oindex ? _out_T : _GEN_42; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_44 = 3'h4 == out_oindex ? _out_T : _GEN_43; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_45 = 3'h5 == out_oindex ? _out_T : _GEN_44; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_46 = 3'h6 == out_oindex ? _out_T : _GEN_45; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_47 = 3'h7 == out_oindex | _GEN_46; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_49 = 3'h1 == out_oindex ? out_prepend_4 : out_prepend_1; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_2 = {{12'd0}, out_prepend_6}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_50 = 3'h2 == out_oindex ? _out_out_bits_data_WIRE_1_2 : _GEN_49; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_3 = {{12'd0}, out_prepend_7}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_51 = 3'h3 == out_oindex ? _out_out_bits_data_WIRE_1_3 : _GEN_50; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_4 = {{30'd0}, out_prepend_8}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_52 = 3'h4 == out_oindex ? _out_out_bits_data_WIRE_1_4 : _GEN_51; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_5 = {{30'd0}, out_prepend_2}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_53 = 3'h5 == out_oindex ? _out_out_bits_data_WIRE_1_5 : _GEN_52; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_54 = 3'h6 == out_oindex ? _out_out_bits_data_WIRE_1_6 : _GEN_53; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_55 = 3'h7 == out_oindex ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:{10,10}]
+  TLBuffer_13 buffer ( // @[Buffer.scala 68:28]
+    .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_1 intsource ( // @[Crossing.scala 26:31]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_57 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  UARTTx txm ( // @[UART.scala 79:19]
+    .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)
+  );
+  QueueCompatibility txq ( // @[UART.scala 80:19]
+    .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 82:19]
+    .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)
+  );
+  QueueCompatibility rxq ( // @[UART.scala 83:19]
+    .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 auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_io_out_txd = txm_io_out; // @[Nodes.scala 1207:84 UART.scala 113:12]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign buffer_auto_out_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign intsource_clock = clock;
+  assign intsource_reset = reset;
+  assign intsource_auto_in_0 = ip_txwm & ie_txwm | ip_rxwm & ie_rxwm; // @[UART.scala 140:41]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign txm_clock = clock;
+  assign txm_reset = reset;
+  assign txm_io_en = txen; // @[UART.scala 109:15]
+  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 110:13]
+  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 110:13]
+  assign txm_io_div = div; // @[UART.scala 111:14]
+  assign txm_io_nstop = nstop; // @[UART.scala 112:16]
+  assign txq_clock = clock;
+  assign txq_reset = reset;
+  assign txq_io_enq_valid = out_f_wivalid & ~quash; // @[RegMapFIFO.scala 19:30]
+  assign txq_io_enq_bits = bundleIn_0_a_bits_data[7:0]; // @[RegisterRouter.scala 83:24]
+  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 110:13]
+  assign rxm_clock = clock;
+  assign rxm_reset = reset;
+  assign rxm_io_en = rxen; // @[UART.scala 120:13]
+  assign rxm_io_in = auto_io_out_rxd; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign rxm_io_div = div; // @[UART.scala 123:14]
+  assign rxq_clock = clock;
+  assign rxq_reset = reset;
+  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 122:14]
+  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 122:14]
+  assign rxq_io_deq_ready = out_rivalid_5 & out_rimask; // @[RegisterRouter.scala 83:24]
+  always @(posedge clock) begin
+    if (reset) begin // @[UART.scala 85:16]
+      div <= 16'h364; // @[UART.scala 85:16]
+    end else if (out_f_wivalid_8) begin // @[RegField.scala 74:88]
+      div <= bundleIn_0_a_bits_data[15:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 91:17]
+      txen <= 1'h0; // @[UART.scala 91:17]
+    end else if (out_f_wivalid_9) begin // @[RegField.scala 74:88]
+      txen <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 92:17]
+      rxen <= 1'h0; // @[UART.scala 92:17]
+    end else if (out_f_wivalid_12) begin // @[RegField.scala 74:88]
+      rxen <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 99:17]
+      txwm <= 4'h0; // @[UART.scala 99:17]
+    end else if (out_f_wivalid_11) begin // @[RegField.scala 74:88]
+      txwm <= bundleIn_0_a_bits_data[19:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 100:17]
+      rxwm <= 4'h0; // @[UART.scala 100:17]
+    end else if (out_f_wivalid_13) begin // @[RegField.scala 74:88]
+      rxwm <= bundleIn_0_a_bits_data[19:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 101:18]
+      nstop <= 1'h0; // @[UART.scala 101:18]
+    end else if (out_f_wivalid_10) begin // @[RegField.scala 74:88]
+      nstop <= bundleIn_0_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 135:15]
+      ie_rxwm <= 1'h0; // @[UART.scala 135:15]
+    end else if (out_f_wivalid_15) begin // @[RegField.scala 74:88]
+      ie_rxwm <= bundleIn_0_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 135:15]
+      ie_txwm <= 1'h0; // @[UART.scala 135:15]
+    end else if (out_f_wivalid_14) begin // @[RegField.scala 74:88]
+      ie_txwm <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  txen = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  rxen = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  txwm = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  rxwm = _RAND_4[3:0];
+  _RAND_5 = {1{`RANDOM}};
+  nstop = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  ie_rxwm = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  ie_txwm = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ClockSinkDomain_2(
+  output        auto_uart_1_int_xing_out_sync_0,
+  output        auto_uart_1_control_xing_in_a_ready,
+  input         auto_uart_1_control_xing_in_a_valid,
+  input  [2:0]  auto_uart_1_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_uart_1_control_xing_in_a_bits_param,
+  input  [1:0]  auto_uart_1_control_xing_in_a_bits_size,
+  input  [6:0]  auto_uart_1_control_xing_in_a_bits_source,
+  input  [28:0] auto_uart_1_control_xing_in_a_bits_address,
+  input  [3:0]  auto_uart_1_control_xing_in_a_bits_mask,
+  input  [31:0] auto_uart_1_control_xing_in_a_bits_data,
+  input         auto_uart_1_control_xing_in_a_bits_corrupt,
+  input         auto_uart_1_control_xing_in_d_ready,
+  output        auto_uart_1_control_xing_in_d_valid,
+  output [2:0]  auto_uart_1_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_uart_1_control_xing_in_d_bits_size,
+  output [6:0]  auto_uart_1_control_xing_in_d_bits_source,
+  output [31:0] auto_uart_1_control_xing_in_d_bits_data,
+  output        auto_uart_1_io_out_txd,
+  input         auto_uart_1_io_out_rxd,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  uart_1_clock; // @[UART.scala 243:51]
+  wire  uart_1_reset; // @[UART.scala 243:51]
+  wire  uart_1_auto_int_xing_out_sync_0; // @[UART.scala 243:51]
+  wire  uart_1_auto_control_xing_in_a_ready; // @[UART.scala 243:51]
+  wire  uart_1_auto_control_xing_in_a_valid; // @[UART.scala 243:51]
+  wire [2:0] uart_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 243:51]
+  wire [2:0] uart_1_auto_control_xing_in_a_bits_param; // @[UART.scala 243:51]
+  wire [1:0] uart_1_auto_control_xing_in_a_bits_size; // @[UART.scala 243:51]
+  wire [6:0] uart_1_auto_control_xing_in_a_bits_source; // @[UART.scala 243:51]
+  wire [28:0] uart_1_auto_control_xing_in_a_bits_address; // @[UART.scala 243:51]
+  wire [3:0] uart_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 243:51]
+  wire [31:0] uart_1_auto_control_xing_in_a_bits_data; // @[UART.scala 243:51]
+  wire  uart_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 243:51]
+  wire  uart_1_auto_control_xing_in_d_ready; // @[UART.scala 243:51]
+  wire  uart_1_auto_control_xing_in_d_valid; // @[UART.scala 243:51]
+  wire [2:0] uart_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 243:51]
+  wire [1:0] uart_1_auto_control_xing_in_d_bits_size; // @[UART.scala 243:51]
+  wire [6:0] uart_1_auto_control_xing_in_d_bits_source; // @[UART.scala 243:51]
+  wire [31:0] uart_1_auto_control_xing_in_d_bits_data; // @[UART.scala 243:51]
+  wire  uart_1_auto_io_out_txd; // @[UART.scala 243:51]
+  wire  uart_1_auto_io_out_rxd; // @[UART.scala 243:51]
+  TLUART_1 uart_1 ( // @[UART.scala 243:51]
+    .clock(uart_1_clock),
+    .reset(uart_1_reset),
+    .auto_int_xing_out_sync_0(uart_1_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(uart_1_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(uart_1_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(uart_1_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(uart_1_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(uart_1_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(uart_1_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(uart_1_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(uart_1_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(uart_1_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(uart_1_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(uart_1_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(uart_1_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(uart_1_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(uart_1_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(uart_1_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(uart_1_auto_control_xing_in_d_bits_data),
+    .auto_io_out_txd(uart_1_auto_io_out_txd),
+    .auto_io_out_rxd(uart_1_auto_io_out_rxd)
+  );
+  assign auto_uart_1_int_xing_out_sync_0 = uart_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 311:12]
+  assign auto_uart_1_control_xing_in_a_ready = uart_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_uart_1_control_xing_in_d_valid = uart_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_uart_1_control_xing_in_d_bits_opcode = uart_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_uart_1_control_xing_in_d_bits_size = uart_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_uart_1_control_xing_in_d_bits_source = uart_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_uart_1_control_xing_in_d_bits_data = uart_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_uart_1_io_out_txd = uart_1_auto_io_out_txd; // @[LazyModule.scala 311:12]
+  assign uart_1_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign uart_1_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign uart_1_auto_control_xing_in_a_valid = auto_uart_1_control_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign uart_1_auto_control_xing_in_a_bits_opcode = auto_uart_1_control_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign uart_1_auto_control_xing_in_a_bits_param = auto_uart_1_control_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign uart_1_auto_control_xing_in_a_bits_size = auto_uart_1_control_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign uart_1_auto_control_xing_in_a_bits_source = auto_uart_1_control_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign uart_1_auto_control_xing_in_a_bits_address = auto_uart_1_control_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign uart_1_auto_control_xing_in_a_bits_mask = auto_uart_1_control_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign uart_1_auto_control_xing_in_a_bits_data = auto_uart_1_control_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign uart_1_auto_control_xing_in_a_bits_corrupt = auto_uart_1_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign uart_1_auto_control_xing_in_d_ready = auto_uart_1_control_xing_in_d_ready; // @[LazyModule.scala 309:16]
+  assign uart_1_auto_io_out_rxd = auto_uart_1_io_out_rxd; // @[LazyModule.scala 311:12]
+endmodule
+module TLMonitor_58(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10033000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_663 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_663) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLUART_2(
+  input         clock,
+  input         reset,
+  output        auto_int_xing_out_sync_0,
+  output        auto_control_xing_in_a_ready,
+  input         auto_control_xing_in_a_valid,
+  input  [2:0]  auto_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_control_xing_in_a_bits_param,
+  input  [1:0]  auto_control_xing_in_a_bits_size,
+  input  [6:0]  auto_control_xing_in_a_bits_source,
+  input  [28:0] auto_control_xing_in_a_bits_address,
+  input  [3:0]  auto_control_xing_in_a_bits_mask,
+  input  [31:0] auto_control_xing_in_a_bits_data,
+  input         auto_control_xing_in_a_bits_corrupt,
+  input         auto_control_xing_in_d_ready,
+  output        auto_control_xing_in_d_valid,
+  output [2:0]  auto_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_control_xing_in_d_bits_size,
+  output [6:0]  auto_control_xing_in_d_bits_source,
+  output [31:0] auto_control_xing_in_d_bits_data,
+  output        auto_io_out_txd,
+  input         auto_io_out_rxd
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  intsource_clock; // @[Crossing.scala 26:31]
+  wire  intsource_reset; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  txm_clock; // @[UART.scala 79:19]
+  wire  txm_reset; // @[UART.scala 79:19]
+  wire  txm_io_en; // @[UART.scala 79:19]
+  wire  txm_io_in_ready; // @[UART.scala 79:19]
+  wire  txm_io_in_valid; // @[UART.scala 79:19]
+  wire [7:0] txm_io_in_bits; // @[UART.scala 79:19]
+  wire  txm_io_out; // @[UART.scala 79:19]
+  wire [15:0] txm_io_div; // @[UART.scala 79:19]
+  wire  txm_io_nstop; // @[UART.scala 79:19]
+  wire  txq_clock; // @[UART.scala 80:19]
+  wire  txq_reset; // @[UART.scala 80:19]
+  wire  txq_io_enq_ready; // @[UART.scala 80:19]
+  wire  txq_io_enq_valid; // @[UART.scala 80:19]
+  wire [7:0] txq_io_enq_bits; // @[UART.scala 80:19]
+  wire  txq_io_deq_ready; // @[UART.scala 80:19]
+  wire  txq_io_deq_valid; // @[UART.scala 80:19]
+  wire [7:0] txq_io_deq_bits; // @[UART.scala 80:19]
+  wire [3:0] txq_io_count; // @[UART.scala 80:19]
+  wire  rxm_clock; // @[UART.scala 82:19]
+  wire  rxm_reset; // @[UART.scala 82:19]
+  wire  rxm_io_en; // @[UART.scala 82:19]
+  wire  rxm_io_in; // @[UART.scala 82:19]
+  wire  rxm_io_out_valid; // @[UART.scala 82:19]
+  wire [7:0] rxm_io_out_bits; // @[UART.scala 82:19]
+  wire [15:0] rxm_io_div; // @[UART.scala 82:19]
+  wire  rxq_clock; // @[UART.scala 83:19]
+  wire  rxq_reset; // @[UART.scala 83:19]
+  wire  rxq_io_enq_ready; // @[UART.scala 83:19]
+  wire  rxq_io_enq_valid; // @[UART.scala 83:19]
+  wire [7:0] rxq_io_enq_bits; // @[UART.scala 83:19]
+  wire  rxq_io_deq_ready; // @[UART.scala 83:19]
+  wire  rxq_io_deq_valid; // @[UART.scala 83:19]
+  wire [7:0] rxq_io_deq_bits; // @[UART.scala 83:19]
+  wire [3:0] rxq_io_count; // @[UART.scala 83:19]
+  reg [15:0] div; // @[UART.scala 85:16]
+  reg  txen; // @[UART.scala 91:17]
+  reg  rxen; // @[UART.scala 92:17]
+  reg [3:0] txwm; // @[UART.scala 99:17]
+  reg [3:0] rxwm; // @[UART.scala 100:17]
+  reg  nstop; // @[UART.scala 101:18]
+  reg  ie_rxwm; // @[UART.scala 135:15]
+  reg  ie_txwm; // @[UART.scala 135:15]
+  wire  ip_txwm = txq_io_count < txwm; // @[UART.scala 138:28]
+  wire  ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 139:28]
+  wire  _T = ~txq_io_enq_ready; // @[RegMapFIFO.scala 25:9]
+  wire  _T_1 = ~rxq_io_deq_valid; // @[RegMapFIFO.scala 46:21]
+  wire [2:0] bundleIn_0_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  in_bits_read = bundleIn_0_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [28:0] bundleIn_0_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [9:0] in_bits_index = bundleIn_0_a_bits_address[11:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire [9:0] out_findex = in_bits_index & 10'h3f8; // @[RegisterRouter.scala 83:24]
+  wire  _out_T = out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] bundleIn_0_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_frontMask_T_5 = bundleIn_0_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_7 = bundleIn_0_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_9 = bundleIn_0_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_11 = bundleIn_0_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_frontMask = {_out_frontMask_T_11,_out_frontMask_T_9,_out_frontMask_T_7,_out_frontMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_rimask = |out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask = &out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  bundleIn_0_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  bundleIn_0_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [2:0] out_oindex = {in_bits_index[2],in_bits_index[1],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [7:0] _out_frontSel_T = 8'h1 << out_oindex; // @[OneHot.scala 57:35]
+  wire  out_frontSel_0 = _out_frontSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_0 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_0 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid = out_wivalid_0 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire [31:0] bundleIn_0_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  out_womask_2 = &out_frontMask[31]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_2 = out_wivalid_0 & out_womask_2; // @[RegisterRouter.scala 83:24]
+  wire  quash = out_f_woready_2 & bundleIn_0_a_bits_data[31]; // @[RegMapFIFO.scala 27:26]
+  wire [31:0] out_prepend_1 = {_T,31'h0}; // @[Cat.scala 31:58]
+  wire  out_wimask_3 = &out_frontMask[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_4 = &out_frontMask[1]; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_2 = {ip_rxwm,ip_txwm}; // @[Cat.scala 31:58]
+  wire  out_frontSel_1 = _out_frontSel_T[1]; // @[RegisterRouter.scala 83:24]
+  wire  out_rivalid_5 = bundleIn_0_a_valid & bundleIn_0_d_ready & in_bits_read & out_frontSel_1 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [7:0] _out_T_66 = rxq_io_deq_bits; // @[RegisterRouter.scala 83:24]
+  wire [8:0] out_prepend_3 = {1'h0,_out_T_66}; // @[Cat.scala 31:58]
+  wire [30:0] _out_T_75 = {{22'd0}, out_prepend_3}; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_4 = {_T_1,_out_T_75}; // @[Cat.scala 31:58]
+  wire  out_wimask_8 = &out_frontMask[15:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_6 = _out_frontSel_T[6]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_8 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_6 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_8 = out_wivalid_8 & out_wimask_8; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_2 = _out_frontSel_T[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_9 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_2 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_9 = out_wivalid_9 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_10 = out_wivalid_9 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_5 = {nstop,txen}; // @[Cat.scala 31:58]
+  wire  out_wimask_11 = &out_frontMask[19:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_11 = out_wivalid_9 & out_wimask_11; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_6 = {{14'd0}, out_prepend_5}; // @[RegisterRouter.scala 83:24]
+  wire [19:0] out_prepend_6 = {txwm,_out_prepend_T_6}; // @[Cat.scala 31:58]
+  wire  out_frontSel_3 = _out_frontSel_T[3]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_12 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_3 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_12 = out_wivalid_12 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_13 = out_wivalid_12 & out_wimask_11; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_7 = {{15'd0}, rxen}; // @[RegisterRouter.scala 83:24]
+  wire [19:0] out_prepend_7 = {rxwm,_out_prepend_T_7}; // @[Cat.scala 31:58]
+  wire  out_frontSel_4 = _out_frontSel_T[4]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_14 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_4 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_14 = out_wivalid_14 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_15 = out_wivalid_14 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_8 = {ie_rxwm,ie_txwm}; // @[Cat.scala 31:58]
+  wire  _GEN_41 = 3'h1 == out_oindex ? _out_T : _out_T; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_42 = 3'h2 == out_oindex ? _out_T : _GEN_41; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_43 = 3'h3 == out_oindex ? _out_T : _GEN_42; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_44 = 3'h4 == out_oindex ? _out_T : _GEN_43; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_45 = 3'h5 == out_oindex ? _out_T : _GEN_44; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_46 = 3'h6 == out_oindex ? _out_T : _GEN_45; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_47 = 3'h7 == out_oindex | _GEN_46; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_49 = 3'h1 == out_oindex ? out_prepend_4 : out_prepend_1; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_2 = {{12'd0}, out_prepend_6}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_50 = 3'h2 == out_oindex ? _out_out_bits_data_WIRE_1_2 : _GEN_49; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_3 = {{12'd0}, out_prepend_7}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_51 = 3'h3 == out_oindex ? _out_out_bits_data_WIRE_1_3 : _GEN_50; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_4 = {{30'd0}, out_prepend_8}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_52 = 3'h4 == out_oindex ? _out_out_bits_data_WIRE_1_4 : _GEN_51; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_5 = {{30'd0}, out_prepend_2}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_53 = 3'h5 == out_oindex ? _out_out_bits_data_WIRE_1_5 : _GEN_52; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_54 = 3'h6 == out_oindex ? _out_out_bits_data_WIRE_1_6 : _GEN_53; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_55 = 3'h7 == out_oindex ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:{10,10}]
+  TLBuffer_13 buffer ( // @[Buffer.scala 68:28]
+    .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_1 intsource ( // @[Crossing.scala 26:31]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_58 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  UARTTx txm ( // @[UART.scala 79:19]
+    .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)
+  );
+  QueueCompatibility txq ( // @[UART.scala 80:19]
+    .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 82:19]
+    .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)
+  );
+  QueueCompatibility rxq ( // @[UART.scala 83:19]
+    .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 auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_io_out_txd = txm_io_out; // @[Nodes.scala 1207:84 UART.scala 113:12]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign buffer_auto_out_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign intsource_clock = clock;
+  assign intsource_reset = reset;
+  assign intsource_auto_in_0 = ip_txwm & ie_txwm | ip_rxwm & ie_rxwm; // @[UART.scala 140:41]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign txm_clock = clock;
+  assign txm_reset = reset;
+  assign txm_io_en = txen; // @[UART.scala 109:15]
+  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 110:13]
+  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 110:13]
+  assign txm_io_div = div; // @[UART.scala 111:14]
+  assign txm_io_nstop = nstop; // @[UART.scala 112:16]
+  assign txq_clock = clock;
+  assign txq_reset = reset;
+  assign txq_io_enq_valid = out_f_wivalid & ~quash; // @[RegMapFIFO.scala 19:30]
+  assign txq_io_enq_bits = bundleIn_0_a_bits_data[7:0]; // @[RegisterRouter.scala 83:24]
+  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 110:13]
+  assign rxm_clock = clock;
+  assign rxm_reset = reset;
+  assign rxm_io_en = rxen; // @[UART.scala 120:13]
+  assign rxm_io_in = auto_io_out_rxd; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign rxm_io_div = div; // @[UART.scala 123:14]
+  assign rxq_clock = clock;
+  assign rxq_reset = reset;
+  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 122:14]
+  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 122:14]
+  assign rxq_io_deq_ready = out_rivalid_5 & out_rimask; // @[RegisterRouter.scala 83:24]
+  always @(posedge clock) begin
+    if (reset) begin // @[UART.scala 85:16]
+      div <= 16'h364; // @[UART.scala 85:16]
+    end else if (out_f_wivalid_8) begin // @[RegField.scala 74:88]
+      div <= bundleIn_0_a_bits_data[15:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 91:17]
+      txen <= 1'h0; // @[UART.scala 91:17]
+    end else if (out_f_wivalid_9) begin // @[RegField.scala 74:88]
+      txen <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 92:17]
+      rxen <= 1'h0; // @[UART.scala 92:17]
+    end else if (out_f_wivalid_12) begin // @[RegField.scala 74:88]
+      rxen <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 99:17]
+      txwm <= 4'h0; // @[UART.scala 99:17]
+    end else if (out_f_wivalid_11) begin // @[RegField.scala 74:88]
+      txwm <= bundleIn_0_a_bits_data[19:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 100:17]
+      rxwm <= 4'h0; // @[UART.scala 100:17]
+    end else if (out_f_wivalid_13) begin // @[RegField.scala 74:88]
+      rxwm <= bundleIn_0_a_bits_data[19:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 101:18]
+      nstop <= 1'h0; // @[UART.scala 101:18]
+    end else if (out_f_wivalid_10) begin // @[RegField.scala 74:88]
+      nstop <= bundleIn_0_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 135:15]
+      ie_rxwm <= 1'h0; // @[UART.scala 135:15]
+    end else if (out_f_wivalid_15) begin // @[RegField.scala 74:88]
+      ie_rxwm <= bundleIn_0_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 135:15]
+      ie_txwm <= 1'h0; // @[UART.scala 135:15]
+    end else if (out_f_wivalid_14) begin // @[RegField.scala 74:88]
+      ie_txwm <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  txen = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  rxen = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  txwm = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  rxwm = _RAND_4[3:0];
+  _RAND_5 = {1{`RANDOM}};
+  nstop = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  ie_rxwm = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  ie_txwm = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ClockSinkDomain_3(
+  output        auto_uart_2_int_xing_out_sync_0,
+  output        auto_uart_2_control_xing_in_a_ready,
+  input         auto_uart_2_control_xing_in_a_valid,
+  input  [2:0]  auto_uart_2_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_uart_2_control_xing_in_a_bits_param,
+  input  [1:0]  auto_uart_2_control_xing_in_a_bits_size,
+  input  [6:0]  auto_uart_2_control_xing_in_a_bits_source,
+  input  [28:0] auto_uart_2_control_xing_in_a_bits_address,
+  input  [3:0]  auto_uart_2_control_xing_in_a_bits_mask,
+  input  [31:0] auto_uart_2_control_xing_in_a_bits_data,
+  input         auto_uart_2_control_xing_in_a_bits_corrupt,
+  input         auto_uart_2_control_xing_in_d_ready,
+  output        auto_uart_2_control_xing_in_d_valid,
+  output [2:0]  auto_uart_2_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_uart_2_control_xing_in_d_bits_size,
+  output [6:0]  auto_uart_2_control_xing_in_d_bits_source,
+  output [31:0] auto_uart_2_control_xing_in_d_bits_data,
+  output        auto_uart_2_io_out_txd,
+  input         auto_uart_2_io_out_rxd,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  uart_2_clock; // @[UART.scala 243:51]
+  wire  uart_2_reset; // @[UART.scala 243:51]
+  wire  uart_2_auto_int_xing_out_sync_0; // @[UART.scala 243:51]
+  wire  uart_2_auto_control_xing_in_a_ready; // @[UART.scala 243:51]
+  wire  uart_2_auto_control_xing_in_a_valid; // @[UART.scala 243:51]
+  wire [2:0] uart_2_auto_control_xing_in_a_bits_opcode; // @[UART.scala 243:51]
+  wire [2:0] uart_2_auto_control_xing_in_a_bits_param; // @[UART.scala 243:51]
+  wire [1:0] uart_2_auto_control_xing_in_a_bits_size; // @[UART.scala 243:51]
+  wire [6:0] uart_2_auto_control_xing_in_a_bits_source; // @[UART.scala 243:51]
+  wire [28:0] uart_2_auto_control_xing_in_a_bits_address; // @[UART.scala 243:51]
+  wire [3:0] uart_2_auto_control_xing_in_a_bits_mask; // @[UART.scala 243:51]
+  wire [31:0] uart_2_auto_control_xing_in_a_bits_data; // @[UART.scala 243:51]
+  wire  uart_2_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 243:51]
+  wire  uart_2_auto_control_xing_in_d_ready; // @[UART.scala 243:51]
+  wire  uart_2_auto_control_xing_in_d_valid; // @[UART.scala 243:51]
+  wire [2:0] uart_2_auto_control_xing_in_d_bits_opcode; // @[UART.scala 243:51]
+  wire [1:0] uart_2_auto_control_xing_in_d_bits_size; // @[UART.scala 243:51]
+  wire [6:0] uart_2_auto_control_xing_in_d_bits_source; // @[UART.scala 243:51]
+  wire [31:0] uart_2_auto_control_xing_in_d_bits_data; // @[UART.scala 243:51]
+  wire  uart_2_auto_io_out_txd; // @[UART.scala 243:51]
+  wire  uart_2_auto_io_out_rxd; // @[UART.scala 243:51]
+  TLUART_2 uart_2 ( // @[UART.scala 243:51]
+    .clock(uart_2_clock),
+    .reset(uart_2_reset),
+    .auto_int_xing_out_sync_0(uart_2_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(uart_2_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(uart_2_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(uart_2_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(uart_2_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(uart_2_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(uart_2_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(uart_2_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(uart_2_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(uart_2_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(uart_2_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(uart_2_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(uart_2_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(uart_2_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(uart_2_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(uart_2_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(uart_2_auto_control_xing_in_d_bits_data),
+    .auto_io_out_txd(uart_2_auto_io_out_txd),
+    .auto_io_out_rxd(uart_2_auto_io_out_rxd)
+  );
+  assign auto_uart_2_int_xing_out_sync_0 = uart_2_auto_int_xing_out_sync_0; // @[LazyModule.scala 311:12]
+  assign auto_uart_2_control_xing_in_a_ready = uart_2_auto_control_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_uart_2_control_xing_in_d_valid = uart_2_auto_control_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_uart_2_control_xing_in_d_bits_opcode = uart_2_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_uart_2_control_xing_in_d_bits_size = uart_2_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_uart_2_control_xing_in_d_bits_source = uart_2_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_uart_2_control_xing_in_d_bits_data = uart_2_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_uart_2_io_out_txd = uart_2_auto_io_out_txd; // @[LazyModule.scala 311:12]
+  assign uart_2_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign uart_2_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign uart_2_auto_control_xing_in_a_valid = auto_uart_2_control_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign uart_2_auto_control_xing_in_a_bits_opcode = auto_uart_2_control_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign uart_2_auto_control_xing_in_a_bits_param = auto_uart_2_control_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign uart_2_auto_control_xing_in_a_bits_size = auto_uart_2_control_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign uart_2_auto_control_xing_in_a_bits_source = auto_uart_2_control_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign uart_2_auto_control_xing_in_a_bits_address = auto_uart_2_control_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign uart_2_auto_control_xing_in_a_bits_mask = auto_uart_2_control_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign uart_2_auto_control_xing_in_a_bits_data = auto_uart_2_control_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign uart_2_auto_control_xing_in_a_bits_corrupt = auto_uart_2_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign uart_2_auto_control_xing_in_d_ready = auto_uart_2_control_xing_in_d_ready; // @[LazyModule.scala 309:16]
+  assign uart_2_auto_io_out_rxd = auto_uart_2_io_out_rxd; // @[LazyModule.scala 311:12]
+endmodule
+module TLMonitor_59(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10043000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_663 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_663) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLUART_3(
+  input         clock,
+  input         reset,
+  output        auto_int_xing_out_sync_0,
+  output        auto_control_xing_in_a_ready,
+  input         auto_control_xing_in_a_valid,
+  input  [2:0]  auto_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_control_xing_in_a_bits_param,
+  input  [1:0]  auto_control_xing_in_a_bits_size,
+  input  [6:0]  auto_control_xing_in_a_bits_source,
+  input  [28:0] auto_control_xing_in_a_bits_address,
+  input  [3:0]  auto_control_xing_in_a_bits_mask,
+  input  [31:0] auto_control_xing_in_a_bits_data,
+  input         auto_control_xing_in_a_bits_corrupt,
+  input         auto_control_xing_in_d_ready,
+  output        auto_control_xing_in_d_valid,
+  output [2:0]  auto_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_control_xing_in_d_bits_size,
+  output [6:0]  auto_control_xing_in_d_bits_source,
+  output [31:0] auto_control_xing_in_d_bits_data,
+  output        auto_io_out_txd,
+  input         auto_io_out_rxd
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  intsource_clock; // @[Crossing.scala 26:31]
+  wire  intsource_reset; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  txm_clock; // @[UART.scala 79:19]
+  wire  txm_reset; // @[UART.scala 79:19]
+  wire  txm_io_en; // @[UART.scala 79:19]
+  wire  txm_io_in_ready; // @[UART.scala 79:19]
+  wire  txm_io_in_valid; // @[UART.scala 79:19]
+  wire [7:0] txm_io_in_bits; // @[UART.scala 79:19]
+  wire  txm_io_out; // @[UART.scala 79:19]
+  wire [15:0] txm_io_div; // @[UART.scala 79:19]
+  wire  txm_io_nstop; // @[UART.scala 79:19]
+  wire  txq_clock; // @[UART.scala 80:19]
+  wire  txq_reset; // @[UART.scala 80:19]
+  wire  txq_io_enq_ready; // @[UART.scala 80:19]
+  wire  txq_io_enq_valid; // @[UART.scala 80:19]
+  wire [7:0] txq_io_enq_bits; // @[UART.scala 80:19]
+  wire  txq_io_deq_ready; // @[UART.scala 80:19]
+  wire  txq_io_deq_valid; // @[UART.scala 80:19]
+  wire [7:0] txq_io_deq_bits; // @[UART.scala 80:19]
+  wire [3:0] txq_io_count; // @[UART.scala 80:19]
+  wire  rxm_clock; // @[UART.scala 82:19]
+  wire  rxm_reset; // @[UART.scala 82:19]
+  wire  rxm_io_en; // @[UART.scala 82:19]
+  wire  rxm_io_in; // @[UART.scala 82:19]
+  wire  rxm_io_out_valid; // @[UART.scala 82:19]
+  wire [7:0] rxm_io_out_bits; // @[UART.scala 82:19]
+  wire [15:0] rxm_io_div; // @[UART.scala 82:19]
+  wire  rxq_clock; // @[UART.scala 83:19]
+  wire  rxq_reset; // @[UART.scala 83:19]
+  wire  rxq_io_enq_ready; // @[UART.scala 83:19]
+  wire  rxq_io_enq_valid; // @[UART.scala 83:19]
+  wire [7:0] rxq_io_enq_bits; // @[UART.scala 83:19]
+  wire  rxq_io_deq_ready; // @[UART.scala 83:19]
+  wire  rxq_io_deq_valid; // @[UART.scala 83:19]
+  wire [7:0] rxq_io_deq_bits; // @[UART.scala 83:19]
+  wire [3:0] rxq_io_count; // @[UART.scala 83:19]
+  reg [15:0] div; // @[UART.scala 85:16]
+  reg  txen; // @[UART.scala 91:17]
+  reg  rxen; // @[UART.scala 92:17]
+  reg [3:0] txwm; // @[UART.scala 99:17]
+  reg [3:0] rxwm; // @[UART.scala 100:17]
+  reg  nstop; // @[UART.scala 101:18]
+  reg  ie_rxwm; // @[UART.scala 135:15]
+  reg  ie_txwm; // @[UART.scala 135:15]
+  wire  ip_txwm = txq_io_count < txwm; // @[UART.scala 138:28]
+  wire  ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 139:28]
+  wire  _T = ~txq_io_enq_ready; // @[RegMapFIFO.scala 25:9]
+  wire  _T_1 = ~rxq_io_deq_valid; // @[RegMapFIFO.scala 46:21]
+  wire [2:0] bundleIn_0_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  in_bits_read = bundleIn_0_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [28:0] bundleIn_0_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [9:0] in_bits_index = bundleIn_0_a_bits_address[11:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire [9:0] out_findex = in_bits_index & 10'h3f8; // @[RegisterRouter.scala 83:24]
+  wire  _out_T = out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] bundleIn_0_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_frontMask_T_5 = bundleIn_0_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_7 = bundleIn_0_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_9 = bundleIn_0_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_11 = bundleIn_0_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_frontMask = {_out_frontMask_T_11,_out_frontMask_T_9,_out_frontMask_T_7,_out_frontMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_rimask = |out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask = &out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  bundleIn_0_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  bundleIn_0_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [2:0] out_oindex = {in_bits_index[2],in_bits_index[1],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [7:0] _out_frontSel_T = 8'h1 << out_oindex; // @[OneHot.scala 57:35]
+  wire  out_frontSel_0 = _out_frontSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_0 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_0 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid = out_wivalid_0 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire [31:0] bundleIn_0_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  out_womask_2 = &out_frontMask[31]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_2 = out_wivalid_0 & out_womask_2; // @[RegisterRouter.scala 83:24]
+  wire  quash = out_f_woready_2 & bundleIn_0_a_bits_data[31]; // @[RegMapFIFO.scala 27:26]
+  wire [31:0] out_prepend_1 = {_T,31'h0}; // @[Cat.scala 31:58]
+  wire  out_wimask_3 = &out_frontMask[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_4 = &out_frontMask[1]; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_2 = {ip_rxwm,ip_txwm}; // @[Cat.scala 31:58]
+  wire  out_frontSel_1 = _out_frontSel_T[1]; // @[RegisterRouter.scala 83:24]
+  wire  out_rivalid_5 = bundleIn_0_a_valid & bundleIn_0_d_ready & in_bits_read & out_frontSel_1 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [7:0] _out_T_66 = rxq_io_deq_bits; // @[RegisterRouter.scala 83:24]
+  wire [8:0] out_prepend_3 = {1'h0,_out_T_66}; // @[Cat.scala 31:58]
+  wire [30:0] _out_T_75 = {{22'd0}, out_prepend_3}; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_4 = {_T_1,_out_T_75}; // @[Cat.scala 31:58]
+  wire  out_wimask_8 = &out_frontMask[15:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_6 = _out_frontSel_T[6]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_8 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_6 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_8 = out_wivalid_8 & out_wimask_8; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_2 = _out_frontSel_T[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_9 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_2 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_9 = out_wivalid_9 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_10 = out_wivalid_9 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_5 = {nstop,txen}; // @[Cat.scala 31:58]
+  wire  out_wimask_11 = &out_frontMask[19:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_11 = out_wivalid_9 & out_wimask_11; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_6 = {{14'd0}, out_prepend_5}; // @[RegisterRouter.scala 83:24]
+  wire [19:0] out_prepend_6 = {txwm,_out_prepend_T_6}; // @[Cat.scala 31:58]
+  wire  out_frontSel_3 = _out_frontSel_T[3]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_12 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_3 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_12 = out_wivalid_12 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_13 = out_wivalid_12 & out_wimask_11; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_7 = {{15'd0}, rxen}; // @[RegisterRouter.scala 83:24]
+  wire [19:0] out_prepend_7 = {rxwm,_out_prepend_T_7}; // @[Cat.scala 31:58]
+  wire  out_frontSel_4 = _out_frontSel_T[4]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_14 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_4 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_14 = out_wivalid_14 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_15 = out_wivalid_14 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_8 = {ie_rxwm,ie_txwm}; // @[Cat.scala 31:58]
+  wire  _GEN_41 = 3'h1 == out_oindex ? _out_T : _out_T; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_42 = 3'h2 == out_oindex ? _out_T : _GEN_41; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_43 = 3'h3 == out_oindex ? _out_T : _GEN_42; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_44 = 3'h4 == out_oindex ? _out_T : _GEN_43; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_45 = 3'h5 == out_oindex ? _out_T : _GEN_44; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_46 = 3'h6 == out_oindex ? _out_T : _GEN_45; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_47 = 3'h7 == out_oindex | _GEN_46; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_49 = 3'h1 == out_oindex ? out_prepend_4 : out_prepend_1; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_2 = {{12'd0}, out_prepend_6}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_50 = 3'h2 == out_oindex ? _out_out_bits_data_WIRE_1_2 : _GEN_49; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_3 = {{12'd0}, out_prepend_7}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_51 = 3'h3 == out_oindex ? _out_out_bits_data_WIRE_1_3 : _GEN_50; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_4 = {{30'd0}, out_prepend_8}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_52 = 3'h4 == out_oindex ? _out_out_bits_data_WIRE_1_4 : _GEN_51; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_5 = {{30'd0}, out_prepend_2}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_53 = 3'h5 == out_oindex ? _out_out_bits_data_WIRE_1_5 : _GEN_52; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_54 = 3'h6 == out_oindex ? _out_out_bits_data_WIRE_1_6 : _GEN_53; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_55 = 3'h7 == out_oindex ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:{10,10}]
+  TLBuffer_13 buffer ( // @[Buffer.scala 68:28]
+    .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_1 intsource ( // @[Crossing.scala 26:31]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_59 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  UARTTx txm ( // @[UART.scala 79:19]
+    .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)
+  );
+  QueueCompatibility txq ( // @[UART.scala 80:19]
+    .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 82:19]
+    .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)
+  );
+  QueueCompatibility rxq ( // @[UART.scala 83:19]
+    .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 auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_io_out_txd = txm_io_out; // @[Nodes.scala 1207:84 UART.scala 113:12]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign buffer_auto_out_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign intsource_clock = clock;
+  assign intsource_reset = reset;
+  assign intsource_auto_in_0 = ip_txwm & ie_txwm | ip_rxwm & ie_rxwm; // @[UART.scala 140:41]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign txm_clock = clock;
+  assign txm_reset = reset;
+  assign txm_io_en = txen; // @[UART.scala 109:15]
+  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 110:13]
+  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 110:13]
+  assign txm_io_div = div; // @[UART.scala 111:14]
+  assign txm_io_nstop = nstop; // @[UART.scala 112:16]
+  assign txq_clock = clock;
+  assign txq_reset = reset;
+  assign txq_io_enq_valid = out_f_wivalid & ~quash; // @[RegMapFIFO.scala 19:30]
+  assign txq_io_enq_bits = bundleIn_0_a_bits_data[7:0]; // @[RegisterRouter.scala 83:24]
+  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 110:13]
+  assign rxm_clock = clock;
+  assign rxm_reset = reset;
+  assign rxm_io_en = rxen; // @[UART.scala 120:13]
+  assign rxm_io_in = auto_io_out_rxd; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign rxm_io_div = div; // @[UART.scala 123:14]
+  assign rxq_clock = clock;
+  assign rxq_reset = reset;
+  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 122:14]
+  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 122:14]
+  assign rxq_io_deq_ready = out_rivalid_5 & out_rimask; // @[RegisterRouter.scala 83:24]
+  always @(posedge clock) begin
+    if (reset) begin // @[UART.scala 85:16]
+      div <= 16'h364; // @[UART.scala 85:16]
+    end else if (out_f_wivalid_8) begin // @[RegField.scala 74:88]
+      div <= bundleIn_0_a_bits_data[15:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 91:17]
+      txen <= 1'h0; // @[UART.scala 91:17]
+    end else if (out_f_wivalid_9) begin // @[RegField.scala 74:88]
+      txen <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 92:17]
+      rxen <= 1'h0; // @[UART.scala 92:17]
+    end else if (out_f_wivalid_12) begin // @[RegField.scala 74:88]
+      rxen <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 99:17]
+      txwm <= 4'h0; // @[UART.scala 99:17]
+    end else if (out_f_wivalid_11) begin // @[RegField.scala 74:88]
+      txwm <= bundleIn_0_a_bits_data[19:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 100:17]
+      rxwm <= 4'h0; // @[UART.scala 100:17]
+    end else if (out_f_wivalid_13) begin // @[RegField.scala 74:88]
+      rxwm <= bundleIn_0_a_bits_data[19:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 101:18]
+      nstop <= 1'h0; // @[UART.scala 101:18]
+    end else if (out_f_wivalid_10) begin // @[RegField.scala 74:88]
+      nstop <= bundleIn_0_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 135:15]
+      ie_rxwm <= 1'h0; // @[UART.scala 135:15]
+    end else if (out_f_wivalid_15) begin // @[RegField.scala 74:88]
+      ie_rxwm <= bundleIn_0_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 135:15]
+      ie_txwm <= 1'h0; // @[UART.scala 135:15]
+    end else if (out_f_wivalid_14) begin // @[RegField.scala 74:88]
+      ie_txwm <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  txen = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  rxen = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  txwm = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  rxwm = _RAND_4[3:0];
+  _RAND_5 = {1{`RANDOM}};
+  nstop = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  ie_rxwm = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  ie_txwm = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ClockSinkDomain_4(
+  output        auto_uart_3_int_xing_out_sync_0,
+  output        auto_uart_3_control_xing_in_a_ready,
+  input         auto_uart_3_control_xing_in_a_valid,
+  input  [2:0]  auto_uart_3_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_uart_3_control_xing_in_a_bits_param,
+  input  [1:0]  auto_uart_3_control_xing_in_a_bits_size,
+  input  [6:0]  auto_uart_3_control_xing_in_a_bits_source,
+  input  [28:0] auto_uart_3_control_xing_in_a_bits_address,
+  input  [3:0]  auto_uart_3_control_xing_in_a_bits_mask,
+  input  [31:0] auto_uart_3_control_xing_in_a_bits_data,
+  input         auto_uart_3_control_xing_in_a_bits_corrupt,
+  input         auto_uart_3_control_xing_in_d_ready,
+  output        auto_uart_3_control_xing_in_d_valid,
+  output [2:0]  auto_uart_3_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_uart_3_control_xing_in_d_bits_size,
+  output [6:0]  auto_uart_3_control_xing_in_d_bits_source,
+  output [31:0] auto_uart_3_control_xing_in_d_bits_data,
+  output        auto_uart_3_io_out_txd,
+  input         auto_uart_3_io_out_rxd,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  uart_3_clock; // @[UART.scala 243:51]
+  wire  uart_3_reset; // @[UART.scala 243:51]
+  wire  uart_3_auto_int_xing_out_sync_0; // @[UART.scala 243:51]
+  wire  uart_3_auto_control_xing_in_a_ready; // @[UART.scala 243:51]
+  wire  uart_3_auto_control_xing_in_a_valid; // @[UART.scala 243:51]
+  wire [2:0] uart_3_auto_control_xing_in_a_bits_opcode; // @[UART.scala 243:51]
+  wire [2:0] uart_3_auto_control_xing_in_a_bits_param; // @[UART.scala 243:51]
+  wire [1:0] uart_3_auto_control_xing_in_a_bits_size; // @[UART.scala 243:51]
+  wire [6:0] uart_3_auto_control_xing_in_a_bits_source; // @[UART.scala 243:51]
+  wire [28:0] uart_3_auto_control_xing_in_a_bits_address; // @[UART.scala 243:51]
+  wire [3:0] uart_3_auto_control_xing_in_a_bits_mask; // @[UART.scala 243:51]
+  wire [31:0] uart_3_auto_control_xing_in_a_bits_data; // @[UART.scala 243:51]
+  wire  uart_3_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 243:51]
+  wire  uart_3_auto_control_xing_in_d_ready; // @[UART.scala 243:51]
+  wire  uart_3_auto_control_xing_in_d_valid; // @[UART.scala 243:51]
+  wire [2:0] uart_3_auto_control_xing_in_d_bits_opcode; // @[UART.scala 243:51]
+  wire [1:0] uart_3_auto_control_xing_in_d_bits_size; // @[UART.scala 243:51]
+  wire [6:0] uart_3_auto_control_xing_in_d_bits_source; // @[UART.scala 243:51]
+  wire [31:0] uart_3_auto_control_xing_in_d_bits_data; // @[UART.scala 243:51]
+  wire  uart_3_auto_io_out_txd; // @[UART.scala 243:51]
+  wire  uart_3_auto_io_out_rxd; // @[UART.scala 243:51]
+  TLUART_3 uart_3 ( // @[UART.scala 243:51]
+    .clock(uart_3_clock),
+    .reset(uart_3_reset),
+    .auto_int_xing_out_sync_0(uart_3_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(uart_3_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(uart_3_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(uart_3_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(uart_3_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(uart_3_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(uart_3_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(uart_3_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(uart_3_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(uart_3_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(uart_3_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(uart_3_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(uart_3_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(uart_3_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(uart_3_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(uart_3_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(uart_3_auto_control_xing_in_d_bits_data),
+    .auto_io_out_txd(uart_3_auto_io_out_txd),
+    .auto_io_out_rxd(uart_3_auto_io_out_rxd)
+  );
+  assign auto_uart_3_int_xing_out_sync_0 = uart_3_auto_int_xing_out_sync_0; // @[LazyModule.scala 311:12]
+  assign auto_uart_3_control_xing_in_a_ready = uart_3_auto_control_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_uart_3_control_xing_in_d_valid = uart_3_auto_control_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_uart_3_control_xing_in_d_bits_opcode = uart_3_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_uart_3_control_xing_in_d_bits_size = uart_3_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_uart_3_control_xing_in_d_bits_source = uart_3_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_uart_3_control_xing_in_d_bits_data = uart_3_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_uart_3_io_out_txd = uart_3_auto_io_out_txd; // @[LazyModule.scala 311:12]
+  assign uart_3_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign uart_3_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign uart_3_auto_control_xing_in_a_valid = auto_uart_3_control_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign uart_3_auto_control_xing_in_a_bits_opcode = auto_uart_3_control_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign uart_3_auto_control_xing_in_a_bits_param = auto_uart_3_control_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign uart_3_auto_control_xing_in_a_bits_size = auto_uart_3_control_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign uart_3_auto_control_xing_in_a_bits_source = auto_uart_3_control_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign uart_3_auto_control_xing_in_a_bits_address = auto_uart_3_control_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign uart_3_auto_control_xing_in_a_bits_mask = auto_uart_3_control_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign uart_3_auto_control_xing_in_a_bits_data = auto_uart_3_control_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign uart_3_auto_control_xing_in_a_bits_corrupt = auto_uart_3_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign uart_3_auto_control_xing_in_d_ready = auto_uart_3_control_xing_in_d_ready; // @[LazyModule.scala 309:16]
+  assign uart_3_auto_io_out_rxd = auto_uart_3_io_out_rxd; // @[LazyModule.scala 311:12]
+endmodule
+module TLMonitor_60(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10053000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_663 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_663) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLUART_4(
+  input         clock,
+  input         reset,
+  output        auto_int_xing_out_sync_0,
+  output        auto_control_xing_in_a_ready,
+  input         auto_control_xing_in_a_valid,
+  input  [2:0]  auto_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_control_xing_in_a_bits_param,
+  input  [1:0]  auto_control_xing_in_a_bits_size,
+  input  [6:0]  auto_control_xing_in_a_bits_source,
+  input  [28:0] auto_control_xing_in_a_bits_address,
+  input  [3:0]  auto_control_xing_in_a_bits_mask,
+  input  [31:0] auto_control_xing_in_a_bits_data,
+  input         auto_control_xing_in_a_bits_corrupt,
+  input         auto_control_xing_in_d_ready,
+  output        auto_control_xing_in_d_valid,
+  output [2:0]  auto_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_control_xing_in_d_bits_size,
+  output [6:0]  auto_control_xing_in_d_bits_source,
+  output [31:0] auto_control_xing_in_d_bits_data,
+  output        auto_io_out_txd,
+  input         auto_io_out_rxd
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  intsource_clock; // @[Crossing.scala 26:31]
+  wire  intsource_reset; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  txm_clock; // @[UART.scala 79:19]
+  wire  txm_reset; // @[UART.scala 79:19]
+  wire  txm_io_en; // @[UART.scala 79:19]
+  wire  txm_io_in_ready; // @[UART.scala 79:19]
+  wire  txm_io_in_valid; // @[UART.scala 79:19]
+  wire [7:0] txm_io_in_bits; // @[UART.scala 79:19]
+  wire  txm_io_out; // @[UART.scala 79:19]
+  wire [15:0] txm_io_div; // @[UART.scala 79:19]
+  wire  txm_io_nstop; // @[UART.scala 79:19]
+  wire  txq_clock; // @[UART.scala 80:19]
+  wire  txq_reset; // @[UART.scala 80:19]
+  wire  txq_io_enq_ready; // @[UART.scala 80:19]
+  wire  txq_io_enq_valid; // @[UART.scala 80:19]
+  wire [7:0] txq_io_enq_bits; // @[UART.scala 80:19]
+  wire  txq_io_deq_ready; // @[UART.scala 80:19]
+  wire  txq_io_deq_valid; // @[UART.scala 80:19]
+  wire [7:0] txq_io_deq_bits; // @[UART.scala 80:19]
+  wire [3:0] txq_io_count; // @[UART.scala 80:19]
+  wire  rxm_clock; // @[UART.scala 82:19]
+  wire  rxm_reset; // @[UART.scala 82:19]
+  wire  rxm_io_en; // @[UART.scala 82:19]
+  wire  rxm_io_in; // @[UART.scala 82:19]
+  wire  rxm_io_out_valid; // @[UART.scala 82:19]
+  wire [7:0] rxm_io_out_bits; // @[UART.scala 82:19]
+  wire [15:0] rxm_io_div; // @[UART.scala 82:19]
+  wire  rxq_clock; // @[UART.scala 83:19]
+  wire  rxq_reset; // @[UART.scala 83:19]
+  wire  rxq_io_enq_ready; // @[UART.scala 83:19]
+  wire  rxq_io_enq_valid; // @[UART.scala 83:19]
+  wire [7:0] rxq_io_enq_bits; // @[UART.scala 83:19]
+  wire  rxq_io_deq_ready; // @[UART.scala 83:19]
+  wire  rxq_io_deq_valid; // @[UART.scala 83:19]
+  wire [7:0] rxq_io_deq_bits; // @[UART.scala 83:19]
+  wire [3:0] rxq_io_count; // @[UART.scala 83:19]
+  reg [15:0] div; // @[UART.scala 85:16]
+  reg  txen; // @[UART.scala 91:17]
+  reg  rxen; // @[UART.scala 92:17]
+  reg [3:0] txwm; // @[UART.scala 99:17]
+  reg [3:0] rxwm; // @[UART.scala 100:17]
+  reg  nstop; // @[UART.scala 101:18]
+  reg  ie_rxwm; // @[UART.scala 135:15]
+  reg  ie_txwm; // @[UART.scala 135:15]
+  wire  ip_txwm = txq_io_count < txwm; // @[UART.scala 138:28]
+  wire  ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 139:28]
+  wire  _T = ~txq_io_enq_ready; // @[RegMapFIFO.scala 25:9]
+  wire  _T_1 = ~rxq_io_deq_valid; // @[RegMapFIFO.scala 46:21]
+  wire [2:0] bundleIn_0_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  in_bits_read = bundleIn_0_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [28:0] bundleIn_0_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [9:0] in_bits_index = bundleIn_0_a_bits_address[11:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire [9:0] out_findex = in_bits_index & 10'h3f8; // @[RegisterRouter.scala 83:24]
+  wire  _out_T = out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] bundleIn_0_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_frontMask_T_5 = bundleIn_0_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_7 = bundleIn_0_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_9 = bundleIn_0_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_11 = bundleIn_0_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_frontMask = {_out_frontMask_T_11,_out_frontMask_T_9,_out_frontMask_T_7,_out_frontMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_rimask = |out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask = &out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  bundleIn_0_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  bundleIn_0_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [2:0] out_oindex = {in_bits_index[2],in_bits_index[1],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [7:0] _out_frontSel_T = 8'h1 << out_oindex; // @[OneHot.scala 57:35]
+  wire  out_frontSel_0 = _out_frontSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_0 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_0 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid = out_wivalid_0 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire [31:0] bundleIn_0_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  out_womask_2 = &out_frontMask[31]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_2 = out_wivalid_0 & out_womask_2; // @[RegisterRouter.scala 83:24]
+  wire  quash = out_f_woready_2 & bundleIn_0_a_bits_data[31]; // @[RegMapFIFO.scala 27:26]
+  wire [31:0] out_prepend_1 = {_T,31'h0}; // @[Cat.scala 31:58]
+  wire  out_wimask_3 = &out_frontMask[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_4 = &out_frontMask[1]; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_2 = {ip_rxwm,ip_txwm}; // @[Cat.scala 31:58]
+  wire  out_frontSel_1 = _out_frontSel_T[1]; // @[RegisterRouter.scala 83:24]
+  wire  out_rivalid_5 = bundleIn_0_a_valid & bundleIn_0_d_ready & in_bits_read & out_frontSel_1 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [7:0] _out_T_66 = rxq_io_deq_bits; // @[RegisterRouter.scala 83:24]
+  wire [8:0] out_prepend_3 = {1'h0,_out_T_66}; // @[Cat.scala 31:58]
+  wire [30:0] _out_T_75 = {{22'd0}, out_prepend_3}; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_4 = {_T_1,_out_T_75}; // @[Cat.scala 31:58]
+  wire  out_wimask_8 = &out_frontMask[15:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_6 = _out_frontSel_T[6]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_8 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_6 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_8 = out_wivalid_8 & out_wimask_8; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_2 = _out_frontSel_T[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_9 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_2 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_9 = out_wivalid_9 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_10 = out_wivalid_9 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_5 = {nstop,txen}; // @[Cat.scala 31:58]
+  wire  out_wimask_11 = &out_frontMask[19:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_11 = out_wivalid_9 & out_wimask_11; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_6 = {{14'd0}, out_prepend_5}; // @[RegisterRouter.scala 83:24]
+  wire [19:0] out_prepend_6 = {txwm,_out_prepend_T_6}; // @[Cat.scala 31:58]
+  wire  out_frontSel_3 = _out_frontSel_T[3]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_12 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_3 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_12 = out_wivalid_12 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_13 = out_wivalid_12 & out_wimask_11; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_7 = {{15'd0}, rxen}; // @[RegisterRouter.scala 83:24]
+  wire [19:0] out_prepend_7 = {rxwm,_out_prepend_T_7}; // @[Cat.scala 31:58]
+  wire  out_frontSel_4 = _out_frontSel_T[4]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_14 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_4 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_14 = out_wivalid_14 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_15 = out_wivalid_14 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_8 = {ie_rxwm,ie_txwm}; // @[Cat.scala 31:58]
+  wire  _GEN_41 = 3'h1 == out_oindex ? _out_T : _out_T; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_42 = 3'h2 == out_oindex ? _out_T : _GEN_41; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_43 = 3'h3 == out_oindex ? _out_T : _GEN_42; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_44 = 3'h4 == out_oindex ? _out_T : _GEN_43; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_45 = 3'h5 == out_oindex ? _out_T : _GEN_44; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_46 = 3'h6 == out_oindex ? _out_T : _GEN_45; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_47 = 3'h7 == out_oindex | _GEN_46; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_49 = 3'h1 == out_oindex ? out_prepend_4 : out_prepend_1; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_2 = {{12'd0}, out_prepend_6}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_50 = 3'h2 == out_oindex ? _out_out_bits_data_WIRE_1_2 : _GEN_49; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_3 = {{12'd0}, out_prepend_7}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_51 = 3'h3 == out_oindex ? _out_out_bits_data_WIRE_1_3 : _GEN_50; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_4 = {{30'd0}, out_prepend_8}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_52 = 3'h4 == out_oindex ? _out_out_bits_data_WIRE_1_4 : _GEN_51; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_5 = {{30'd0}, out_prepend_2}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_53 = 3'h5 == out_oindex ? _out_out_bits_data_WIRE_1_5 : _GEN_52; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_54 = 3'h6 == out_oindex ? _out_out_bits_data_WIRE_1_6 : _GEN_53; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_55 = 3'h7 == out_oindex ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:{10,10}]
+  TLBuffer_13 buffer ( // @[Buffer.scala 68:28]
+    .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_1 intsource ( // @[Crossing.scala 26:31]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_60 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  UARTTx txm ( // @[UART.scala 79:19]
+    .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)
+  );
+  QueueCompatibility txq ( // @[UART.scala 80:19]
+    .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 82:19]
+    .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)
+  );
+  QueueCompatibility rxq ( // @[UART.scala 83:19]
+    .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 auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_io_out_txd = txm_io_out; // @[Nodes.scala 1207:84 UART.scala 113:12]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign buffer_auto_out_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign intsource_clock = clock;
+  assign intsource_reset = reset;
+  assign intsource_auto_in_0 = ip_txwm & ie_txwm | ip_rxwm & ie_rxwm; // @[UART.scala 140:41]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign txm_clock = clock;
+  assign txm_reset = reset;
+  assign txm_io_en = txen; // @[UART.scala 109:15]
+  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 110:13]
+  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 110:13]
+  assign txm_io_div = div; // @[UART.scala 111:14]
+  assign txm_io_nstop = nstop; // @[UART.scala 112:16]
+  assign txq_clock = clock;
+  assign txq_reset = reset;
+  assign txq_io_enq_valid = out_f_wivalid & ~quash; // @[RegMapFIFO.scala 19:30]
+  assign txq_io_enq_bits = bundleIn_0_a_bits_data[7:0]; // @[RegisterRouter.scala 83:24]
+  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 110:13]
+  assign rxm_clock = clock;
+  assign rxm_reset = reset;
+  assign rxm_io_en = rxen; // @[UART.scala 120:13]
+  assign rxm_io_in = auto_io_out_rxd; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign rxm_io_div = div; // @[UART.scala 123:14]
+  assign rxq_clock = clock;
+  assign rxq_reset = reset;
+  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 122:14]
+  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 122:14]
+  assign rxq_io_deq_ready = out_rivalid_5 & out_rimask; // @[RegisterRouter.scala 83:24]
+  always @(posedge clock) begin
+    if (reset) begin // @[UART.scala 85:16]
+      div <= 16'h364; // @[UART.scala 85:16]
+    end else if (out_f_wivalid_8) begin // @[RegField.scala 74:88]
+      div <= bundleIn_0_a_bits_data[15:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 91:17]
+      txen <= 1'h0; // @[UART.scala 91:17]
+    end else if (out_f_wivalid_9) begin // @[RegField.scala 74:88]
+      txen <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 92:17]
+      rxen <= 1'h0; // @[UART.scala 92:17]
+    end else if (out_f_wivalid_12) begin // @[RegField.scala 74:88]
+      rxen <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 99:17]
+      txwm <= 4'h0; // @[UART.scala 99:17]
+    end else if (out_f_wivalid_11) begin // @[RegField.scala 74:88]
+      txwm <= bundleIn_0_a_bits_data[19:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 100:17]
+      rxwm <= 4'h0; // @[UART.scala 100:17]
+    end else if (out_f_wivalid_13) begin // @[RegField.scala 74:88]
+      rxwm <= bundleIn_0_a_bits_data[19:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 101:18]
+      nstop <= 1'h0; // @[UART.scala 101:18]
+    end else if (out_f_wivalid_10) begin // @[RegField.scala 74:88]
+      nstop <= bundleIn_0_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 135:15]
+      ie_rxwm <= 1'h0; // @[UART.scala 135:15]
+    end else if (out_f_wivalid_15) begin // @[RegField.scala 74:88]
+      ie_rxwm <= bundleIn_0_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[UART.scala 135:15]
+      ie_txwm <= 1'h0; // @[UART.scala 135:15]
+    end else if (out_f_wivalid_14) begin // @[RegField.scala 74:88]
+      ie_txwm <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  txen = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  rxen = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  txwm = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  rxwm = _RAND_4[3:0];
+  _RAND_5 = {1{`RANDOM}};
+  nstop = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  ie_rxwm = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  ie_txwm = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ClockSinkDomain_5(
+  output        auto_uart_4_int_xing_out_sync_0,
+  output        auto_uart_4_control_xing_in_a_ready,
+  input         auto_uart_4_control_xing_in_a_valid,
+  input  [2:0]  auto_uart_4_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_uart_4_control_xing_in_a_bits_param,
+  input  [1:0]  auto_uart_4_control_xing_in_a_bits_size,
+  input  [6:0]  auto_uart_4_control_xing_in_a_bits_source,
+  input  [28:0] auto_uart_4_control_xing_in_a_bits_address,
+  input  [3:0]  auto_uart_4_control_xing_in_a_bits_mask,
+  input  [31:0] auto_uart_4_control_xing_in_a_bits_data,
+  input         auto_uart_4_control_xing_in_a_bits_corrupt,
+  input         auto_uart_4_control_xing_in_d_ready,
+  output        auto_uart_4_control_xing_in_d_valid,
+  output [2:0]  auto_uart_4_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_uart_4_control_xing_in_d_bits_size,
+  output [6:0]  auto_uart_4_control_xing_in_d_bits_source,
+  output [31:0] auto_uart_4_control_xing_in_d_bits_data,
+  output        auto_uart_4_io_out_txd,
+  input         auto_uart_4_io_out_rxd,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  uart_4_clock; // @[UART.scala 243:51]
+  wire  uart_4_reset; // @[UART.scala 243:51]
+  wire  uart_4_auto_int_xing_out_sync_0; // @[UART.scala 243:51]
+  wire  uart_4_auto_control_xing_in_a_ready; // @[UART.scala 243:51]
+  wire  uart_4_auto_control_xing_in_a_valid; // @[UART.scala 243:51]
+  wire [2:0] uart_4_auto_control_xing_in_a_bits_opcode; // @[UART.scala 243:51]
+  wire [2:0] uart_4_auto_control_xing_in_a_bits_param; // @[UART.scala 243:51]
+  wire [1:0] uart_4_auto_control_xing_in_a_bits_size; // @[UART.scala 243:51]
+  wire [6:0] uart_4_auto_control_xing_in_a_bits_source; // @[UART.scala 243:51]
+  wire [28:0] uart_4_auto_control_xing_in_a_bits_address; // @[UART.scala 243:51]
+  wire [3:0] uart_4_auto_control_xing_in_a_bits_mask; // @[UART.scala 243:51]
+  wire [31:0] uart_4_auto_control_xing_in_a_bits_data; // @[UART.scala 243:51]
+  wire  uart_4_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 243:51]
+  wire  uart_4_auto_control_xing_in_d_ready; // @[UART.scala 243:51]
+  wire  uart_4_auto_control_xing_in_d_valid; // @[UART.scala 243:51]
+  wire [2:0] uart_4_auto_control_xing_in_d_bits_opcode; // @[UART.scala 243:51]
+  wire [1:0] uart_4_auto_control_xing_in_d_bits_size; // @[UART.scala 243:51]
+  wire [6:0] uart_4_auto_control_xing_in_d_bits_source; // @[UART.scala 243:51]
+  wire [31:0] uart_4_auto_control_xing_in_d_bits_data; // @[UART.scala 243:51]
+  wire  uart_4_auto_io_out_txd; // @[UART.scala 243:51]
+  wire  uart_4_auto_io_out_rxd; // @[UART.scala 243:51]
+  TLUART_4 uart_4 ( // @[UART.scala 243:51]
+    .clock(uart_4_clock),
+    .reset(uart_4_reset),
+    .auto_int_xing_out_sync_0(uart_4_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(uart_4_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(uart_4_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(uart_4_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(uart_4_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(uart_4_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(uart_4_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(uart_4_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(uart_4_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(uart_4_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(uart_4_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(uart_4_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(uart_4_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(uart_4_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(uart_4_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(uart_4_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(uart_4_auto_control_xing_in_d_bits_data),
+    .auto_io_out_txd(uart_4_auto_io_out_txd),
+    .auto_io_out_rxd(uart_4_auto_io_out_rxd)
+  );
+  assign auto_uart_4_int_xing_out_sync_0 = uart_4_auto_int_xing_out_sync_0; // @[LazyModule.scala 311:12]
+  assign auto_uart_4_control_xing_in_a_ready = uart_4_auto_control_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_uart_4_control_xing_in_d_valid = uart_4_auto_control_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_uart_4_control_xing_in_d_bits_opcode = uart_4_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_uart_4_control_xing_in_d_bits_size = uart_4_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_uart_4_control_xing_in_d_bits_source = uart_4_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_uart_4_control_xing_in_d_bits_data = uart_4_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_uart_4_io_out_txd = uart_4_auto_io_out_txd; // @[LazyModule.scala 311:12]
+  assign uart_4_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign uart_4_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign uart_4_auto_control_xing_in_a_valid = auto_uart_4_control_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign uart_4_auto_control_xing_in_a_bits_opcode = auto_uart_4_control_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign uart_4_auto_control_xing_in_a_bits_param = auto_uart_4_control_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign uart_4_auto_control_xing_in_a_bits_size = auto_uart_4_control_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign uart_4_auto_control_xing_in_a_bits_source = auto_uart_4_control_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign uart_4_auto_control_xing_in_a_bits_address = auto_uart_4_control_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign uart_4_auto_control_xing_in_a_bits_mask = auto_uart_4_control_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign uart_4_auto_control_xing_in_a_bits_data = auto_uart_4_control_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign uart_4_auto_control_xing_in_a_bits_corrupt = auto_uart_4_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign uart_4_auto_control_xing_in_d_ready = auto_uart_4_control_xing_in_d_ready; // @[LazyModule.scala 309:16]
+  assign uart_4_auto_io_out_rxd = auto_uart_4_io_out_rxd; // @[LazyModule.scala 311:12]
+endmodule
+module TLBuffer_19(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input         auto_in_a_bits_size,
+  input  [8:0]  auto_in_a_bits_source,
+  input  [29:0] auto_in_a_bits_address,
+  input         auto_in_a_bits_mask,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output        auto_in_d_bits_size,
+  output [8:0]  auto_in_d_bits_source,
+  output [7:0]  auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output        auto_out_a_bits_size,
+  output [8:0]  auto_out_a_bits_source,
+  output [29:0] auto_out_a_bits_address,
+  output        auto_out_a_bits_mask,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input         auto_out_d_bits_size,
+  input  [8:0]  auto_out_d_bits_source,
+  input  [7:0]  auto_out_d_bits_data
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_61(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input         io_in_a_bits_size,
+  input  [8:0]  io_in_a_bits_source,
+  input  [29:0] io_in_a_bits_address,
+  input         io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input         io_in_d_bits_size,
+  input  [8:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [383:0] _RAND_9;
+  reg [1535:0] _RAND_10;
+  reg [767:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 9'h17f; // @[Parameters.scala 57:20]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [29:0] _T_33 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 137:31]
+  wire [30:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [30:0] _T_36 = $signed(_T_34) & -31'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 31'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire  _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = ~(~io_in_a_bits_mask); // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_163 = ~io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_170 = _T_163 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_181 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_193 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_231 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire  _T_271 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_301 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_309 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_339 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_347 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_377 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 9'h17f; // @[Parameters.scala 57:20]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg  size; // @[Monitor.scala 386:22]
+  reg [8:0] source; // @[Monitor.scala 387:22]
+  reg [29:0] address; // @[Monitor.scala 388:22]
+  wire  _T_535 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_536 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_540 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_544 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_548 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_552 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg  size_1; // @[Monitor.scala 537:22]
+  reg [8:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_559 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_572 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [383:0] inflight; // @[Monitor.scala 611:27]
+  reg [1535:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [767:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [10:0] _GEN_71 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [11:0] _a_opcode_lookup_T = {{1'd0}, _GEN_71}; // @[Monitor.scala 634:69]
+  wire [1535:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [1535:0] _GEN_72 = {{1520'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [1535:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_72; // @[Monitor.scala 634:97]
+  wire [1535:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[1535:1]}; // @[Monitor.scala 634:152]
+  wire [9:0] _a_size_lookup_T = {io_in_d_bits_source, 1'h0}; // @[Monitor.scala 638:65]
+  wire [767:0] _a_size_lookup_T_1 = inflight_sizes >> _a_size_lookup_T; // @[Monitor.scala 638:40]
+  wire [3:0] _a_size_lookup_T_5 = 4'h4 - 4'h1; // @[Monitor.scala 609:57]
+  wire [767:0] _GEN_74 = {{764'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 638:91]
+  wire [767:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_74; // @[Monitor.scala 638:91]
+  wire [767:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[767:1]}; // @[Monitor.scala 638:144]
+  wire  _T_586 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [511:0] _a_set_wo_ready_T = 512'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_589 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [1:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [1:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 2'h1; // @[Monitor.scala 655:59]
+  wire [10:0] _GEN_76 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [11:0] _a_opcodes_set_T = {{1'd0}, _GEN_76}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [4098:0] _GEN_1 = {{4095'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [4098:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [9:0] _a_sizes_set_T = {io_in_a_bits_source, 1'h0}; // @[Monitor.scala 657:77]
+  wire [1:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 2'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1024:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1024:0] _a_sizes_set_T_1 = _GEN_2 << _a_sizes_set_T; // @[Monitor.scala 657:52]
+  wire [383:0] _T_591 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_593 = ~_T_591[0]; // @[Monitor.scala 658:17]
+  wire [511:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 512'h0; // @[Monitor.scala 652:72 653:28]
+  wire [4098:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 4099'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1024:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1025'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_597 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire [511:0] _d_clr_wo_ready_T = 512'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [4110:0] _GEN_3 = {{4095'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [4110:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [1026:0] _GEN_4 = {{1023'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 678:74]
+  wire [1026:0] _d_sizes_clr_T_5 = _GEN_4 << _a_size_lookup_T; // @[Monitor.scala 678:74]
+  wire [511:0] _GEN_22 = d_first_done & d_first_1 ? _d_clr_wo_ready_T : 512'h0; // @[Monitor.scala 675:91 676:21]
+  wire [4110:0] _GEN_23 = d_first_done & d_first_1 ? _d_opcodes_clr_T_5 : 4111'h0; // @[Monitor.scala 675:91 677:21]
+  wire [1026:0] _GEN_24 = d_first_done & d_first_1 ? _d_sizes_clr_T_5 : 1027'h0; // @[Monitor.scala 675:91 678:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_586 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [383:0] _T_610 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_612 = _T_610[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_617 = 3'h1 == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_618 = 3'h1 == _GEN_32 | _T_617; // @[Monitor.scala 685:77]
+  wire  _T_622 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_629 = 3'h1 == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_630 = 3'h1 == _GEN_48 | _T_629; // @[Monitor.scala 689:72]
+  wire [1:0] a_size_lookup = _a_size_lookup_T_7[1:0];
+  wire [1:0] _GEN_78 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_634 = _GEN_78 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_642 = _T_597 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2; // @[Monitor.scala 694:65]
+  wire  _T_646 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [383:0] a_set = _GEN_16[383:0];
+  wire [383:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [383:0] d_clr = _GEN_22[383:0];
+  wire [383:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [383:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [1535:0] a_opcodes_set = _GEN_19[1535:0];
+  wire [1535:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [1535:0] d_opcodes_clr = _GEN_23[1535:0];
+  wire [1535:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [1535:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [767:0] a_sizes_set = _GEN_20[767:0];
+  wire [767:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [767:0] d_sizes_clr = _GEN_24[767:0];
+  wire [767:0] _inflight_sizes_T_1 = ~d_sizes_clr; // @[Monitor.scala 704:56]
+  wire [767:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_sizes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_655 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 384'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 1536'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 768'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_170 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_170) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_181 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_181) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_193 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_193 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_193 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_193 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_181 & (io_in_a_valid & _T_193 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_193 & ~reset & ~_T_181) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_193 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_193 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_231 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_231 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_231 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_231 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_181 & (io_in_a_valid & _T_231 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_231 & ~reset & ~_T_181) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_271 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_271 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_271 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_271 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_301 & (io_in_a_valid & _T_271 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_271 & ~reset & ~_T_301) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_271 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_271 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_309 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_309 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_309 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_309 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_339 & (io_in_a_valid & _T_309 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_309 & ~reset & ~_T_339) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_309 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_309 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_347 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_347 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_347 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_347 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_377 & (io_in_a_valid & _T_347 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_347 & ~reset & ~_T_377) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_347 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_347 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_347 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_347 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_536 & (_T_535 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_535 & ~reset & ~_T_536) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_540 & (_T_535 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_535 & ~reset & ~_T_540) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_535 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_535 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_535 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_535 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_535 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_535 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_559 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_559 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_572 & (_T_559 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_559 & _T_2 & ~_T_572) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_593 & (_T_589 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_589 & ~reset & ~_T_593) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_612 & (_T_597 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & _T_2 & ~_T_612) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_618 & (_T_597 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & same_cycle_resp & _T_2 & ~_T_618) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_622 & (_T_597 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & same_cycle_resp & _T_2 & ~_T_622) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_597 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_634 & (_T_597 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~same_cycle_resp & _T_2 & ~_T_634) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_646 & (_T_642 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_642 & _T_2 & ~_T_646) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_655 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_655) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[8:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[29:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  size_1 = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  source_1 = _RAND_8[8:0];
+  _RAND_9 = {12{`RANDOM}};
+  inflight = _RAND_9[383:0];
+  _RAND_10 = {48{`RANDOM}};
+  inflight_opcodes = _RAND_10[1535:0];
+  _RAND_11 = {24{`RANDOM}};
+  inflight_sizes = _RAND_11[767:0];
+  _RAND_12 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  watchdog = _RAND_14[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLMonitor_62(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10014000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_663 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_663) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module SPIFIFO(
+  input        clock,
+  input        reset,
+  input  [1:0] io_ctrl_fmt_proto,
+  input        io_ctrl_fmt_endian,
+  input        io_ctrl_fmt_iodir,
+  input  [3:0] io_ctrl_fmt_len,
+  input  [1:0] io_ctrl_cs_mode,
+  input  [3:0] io_ctrl_wm_tx,
+  input  [3:0] io_ctrl_wm_rx,
+  input        io_link_tx_ready,
+  output       io_link_tx_valid,
+  output [7:0] io_link_tx_bits,
+  input        io_link_rx_valid,
+  input  [7:0] io_link_rx_bits,
+  output [7:0] io_link_cnt,
+  output [1:0] io_link_fmt_proto,
+  output       io_link_fmt_endian,
+  output       io_link_fmt_iodir,
+  output       io_link_cs_set,
+  output       io_link_cs_clear,
+  output       io_link_lock,
+  output       io_tx_ready,
+  input        io_tx_valid,
+  input  [7:0] io_tx_bits,
+  input        io_rx_ready,
+  output       io_rx_valid,
+  output [7:0] io_rx_bits,
+  output       io_ip_txwm,
+  output       io_ip_rxwm
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+`endif // RANDOMIZE_REG_INIT
+  wire  txq_clock; // @[SPIFIFO.scala 22:19]
+  wire  txq_reset; // @[SPIFIFO.scala 22:19]
+  wire  txq_io_enq_ready; // @[SPIFIFO.scala 22:19]
+  wire  txq_io_enq_valid; // @[SPIFIFO.scala 22:19]
+  wire [7:0] txq_io_enq_bits; // @[SPIFIFO.scala 22:19]
+  wire  txq_io_deq_ready; // @[SPIFIFO.scala 22:19]
+  wire  txq_io_deq_valid; // @[SPIFIFO.scala 22:19]
+  wire [7:0] txq_io_deq_bits; // @[SPIFIFO.scala 22:19]
+  wire [3:0] txq_io_count; // @[SPIFIFO.scala 22:19]
+  wire  rxq_clock; // @[SPIFIFO.scala 23:19]
+  wire  rxq_reset; // @[SPIFIFO.scala 23:19]
+  wire  rxq_io_enq_ready; // @[SPIFIFO.scala 23:19]
+  wire  rxq_io_enq_valid; // @[SPIFIFO.scala 23:19]
+  wire [7:0] rxq_io_enq_bits; // @[SPIFIFO.scala 23:19]
+  wire  rxq_io_deq_ready; // @[SPIFIFO.scala 23:19]
+  wire  rxq_io_deq_valid; // @[SPIFIFO.scala 23:19]
+  wire [7:0] rxq_io_deq_bits; // @[SPIFIFO.scala 23:19]
+  wire [3:0] rxq_io_count; // @[SPIFIFO.scala 23:19]
+  wire  fire_tx = io_link_tx_ready & io_link_tx_valid; // @[Decoupled.scala 50:35]
+  reg  rxen; // @[SPIFIFO.scala 30:17]
+  wire  _T = 2'h0 == io_link_fmt_proto; // @[SPIConsts.scala 13:48]
+  wire  _T_1 = 2'h1 == io_link_fmt_proto; // @[SPIConsts.scala 13:48]
+  wire  _T_2 = 2'h2 == io_link_fmt_proto; // @[SPIConsts.scala 13:48]
+  wire [3:0] _cnt_quot_T_3 = _T ? io_ctrl_fmt_len : 4'h0; // @[Mux.scala 27:73]
+  wire [2:0] _cnt_quot_T_4 = _T_1 ? io_ctrl_fmt_len[3:1] : 3'h0; // @[Mux.scala 27:73]
+  wire [1:0] _cnt_quot_T_5 = _T_2 ? io_ctrl_fmt_len[3:2] : 2'h0; // @[Mux.scala 27:73]
+  wire [3:0] _GEN_2 = {{1'd0}, _cnt_quot_T_4}; // @[Mux.scala 27:73]
+  wire [3:0] _cnt_quot_T_6 = _cnt_quot_T_3 | _GEN_2; // @[Mux.scala 27:73]
+  wire [3:0] _GEN_3 = {{2'd0}, _cnt_quot_T_5}; // @[Mux.scala 27:73]
+  wire [3:0] cnt_quot = _cnt_quot_T_6 | _GEN_3; // @[Mux.scala 27:73]
+  wire  _cnt_rmdr_T_1 = |io_ctrl_fmt_len[0]; // @[SPIFIFO.scala 45:92]
+  wire  _cnt_rmdr_T_3 = |io_ctrl_fmt_len[1:0]; // @[SPIFIFO.scala 45:92]
+  wire  cnt_rmdr = _T_1 & _cnt_rmdr_T_1 | _T_2 & _cnt_rmdr_T_3; // @[Mux.scala 27:73]
+  wire [3:0] _GEN_4 = {{3'd0}, cnt_rmdr}; // @[SPIFIFO.scala 47:27]
+  wire [3:0] _io_link_cnt_T_1 = cnt_quot + _GEN_4; // @[SPIFIFO.scala 47:27]
+  reg [1:0] cs_mode; // @[SPIFIFO.scala 49:24]
+  wire  cs_mode_hold = cs_mode == 2'h2; // @[SPIFIFO.scala 50:31]
+  wire  cs_mode_off = cs_mode == 2'h3; // @[SPIFIFO.scala 51:30]
+  wire  cs_update = cs_mode != io_ctrl_cs_mode; // @[SPIFIFO.scala 52:28]
+  wire  cs_clear = ~(cs_mode_hold | cs_mode_off); // @[SPIFIFO.scala 53:18]
+  QueueCompatibility txq ( // @[SPIFIFO.scala 22:19]
+    .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)
+  );
+  QueueCompatibility rxq ( // @[SPIFIFO.scala 23:19]
+    .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 io_link_tx_valid = txq_io_deq_valid; // @[SPIFIFO.scala 26:14]
+  assign io_link_tx_bits = txq_io_deq_bits; // @[SPIFIFO.scala 26:14]
+  assign io_link_cnt = {{4'd0}, _io_link_cnt_T_1}; // @[SPIFIFO.scala 47:15]
+  assign io_link_fmt_proto = io_ctrl_fmt_proto; // @[SPIFIFO.scala 46:15]
+  assign io_link_fmt_endian = io_ctrl_fmt_endian; // @[SPIFIFO.scala 46:15]
+  assign io_link_fmt_iodir = io_ctrl_fmt_iodir; // @[SPIFIFO.scala 46:15]
+  assign io_link_cs_set = ~cs_mode_off; // @[SPIFIFO.scala 55:21]
+  assign io_link_cs_clear = cs_update | fire_tx & cs_clear; // @[SPIFIFO.scala 56:33]
+  assign io_link_lock = io_link_tx_valid | rxen; // @[SPIFIFO.scala 59:36]
+  assign io_tx_ready = txq_io_enq_ready; // @[SPIFIFO.scala 25:14]
+  assign io_rx_valid = rxq_io_deq_valid; // @[SPIFIFO.scala 34:9]
+  assign io_rx_bits = rxq_io_deq_bits; // @[SPIFIFO.scala 34:9]
+  assign io_ip_txwm = txq_io_count < io_ctrl_wm_tx; // @[SPIFIFO.scala 61:31]
+  assign io_ip_rxwm = rxq_io_count > io_ctrl_wm_rx; // @[SPIFIFO.scala 62:31]
+  assign txq_clock = clock;
+  assign txq_reset = reset;
+  assign txq_io_enq_valid = io_tx_valid; // @[SPIFIFO.scala 25:14]
+  assign txq_io_enq_bits = io_tx_bits; // @[SPIFIFO.scala 25:14]
+  assign txq_io_deq_ready = io_link_tx_ready; // @[SPIFIFO.scala 26:14]
+  assign rxq_clock = clock;
+  assign rxq_reset = reset;
+  assign rxq_io_enq_valid = io_link_rx_valid & rxen; // @[SPIFIFO.scala 32:40]
+  assign rxq_io_enq_bits = io_link_rx_bits; // @[SPIFIFO.scala 33:19]
+  assign rxq_io_deq_ready = io_rx_ready; // @[SPIFIFO.scala 34:9]
+  always @(posedge clock) begin
+    if (reset) begin // @[SPIFIFO.scala 30:17]
+      rxen <= 1'h0; // @[SPIFIFO.scala 30:17]
+    end else if (fire_tx) begin // @[SPIFIFO.scala 39:18]
+      rxen <= ~io_link_fmt_iodir; // @[SPIFIFO.scala 40:10]
+    end else if (io_link_rx_valid) begin // @[SPIFIFO.scala 36:18]
+      rxen <= 1'h0; // @[SPIFIFO.scala 37:10]
+    end
+    if (reset) begin // @[SPIFIFO.scala 49:24]
+      cs_mode <= 2'h0; // @[SPIFIFO.scala 49:24]
+    end else begin
+      cs_mode <= io_ctrl_cs_mode; // @[SPIFIFO.scala 49:24]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  cs_mode = _RAND_1[1:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module SPIPhysical(
+  input         clock,
+  input         reset,
+  output        io_port_sck,
+  input         io_port_dq_0_i,
+  output        io_port_dq_0_o,
+  output        io_port_dq_0_oe,
+  input         io_port_dq_1_i,
+  output        io_port_dq_1_o,
+  output        io_port_dq_1_oe,
+  input         io_port_dq_2_i,
+  output        io_port_dq_2_o,
+  output        io_port_dq_2_oe,
+  input         io_port_dq_3_i,
+  output        io_port_dq_3_o,
+  output        io_port_dq_3_oe,
+  input  [11:0] io_ctrl_sck_div,
+  input         io_ctrl_sck_pol,
+  input         io_ctrl_sck_pha,
+  input  [1:0]  io_ctrl_fmt_proto,
+  input         io_ctrl_fmt_endian,
+  input         io_ctrl_fmt_iodir,
+  input  [11:0] io_ctrl_extradel_coarse,
+  input  [4:0]  io_ctrl_sampledel_sd,
+  output        io_op_ready,
+  input         io_op_valid,
+  input         io_op_bits_fn,
+  input         io_op_bits_stb,
+  input  [7:0]  io_op_bits_cnt,
+  input  [7:0]  io_op_bits_data,
+  output        io_rx_valid,
+  output [7:0]  io_rx_bits
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+`endif // RANDOMIZE_REG_INIT
+  reg [11:0] ctrl_sck_div; // @[SPIPhysical.scala 52:17]
+  reg  ctrl_sck_pol; // @[SPIPhysical.scala 52:17]
+  reg  ctrl_sck_pha; // @[SPIPhysical.scala 52:17]
+  reg [1:0] ctrl_fmt_proto; // @[SPIPhysical.scala 52:17]
+  reg  ctrl_fmt_endian; // @[SPIPhysical.scala 52:17]
+  reg  ctrl_fmt_iodir; // @[SPIPhysical.scala 52:17]
+  wire  proto_0 = 2'h0 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48]
+  wire  proto_1 = 2'h1 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48]
+  wire  proto_2 = 2'h2 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48]
+  reg  setup_d; // @[SPIPhysical.scala 60:20]
+  reg [7:0] scnt; // @[SPIPhysical.scala 62:17]
+  reg [11:0] tcnt; // @[SPIPhysical.scala 63:17]
+  wire  stop = scnt == 8'h0; // @[SPIPhysical.scala 65:20]
+  wire  beat = tcnt == 12'h0; // @[SPIPhysical.scala 66:20]
+  wire [11:0] _GEN_78 = {{7'd0}, io_ctrl_sampledel_sd}; // @[SPIPhysical.scala 69:49]
+  wire [11:0] totalCoarseDel = io_ctrl_extradel_coarse + _GEN_78; // @[SPIPhysical.scala 69:49]
+  reg  sample_d; // @[SPIPhysical.scala 70:25]
+  reg [11:0] del_cntr; // @[SPIPhysical.scala 71:25]
+  reg  xfr; // @[SPIPhysical.scala 182:16]
+  reg  cref; // @[SPIPhysical.scala 117:17]
+  wire  _GEN_10 = xfr & cref; // @[SPIPhysical.scala 190:18 192:16]
+  wire  _GEN_15 = beat & _GEN_10; // @[SPIPhysical.scala 188:17]
+  wire  sample = stop ? 1'h0 : _GEN_15; // @[SPIPhysical.scala 184:15]
+  wire [11:0] _del_cntr_T_1 = totalCoarseDel - 12'h1; // @[SPIPhysical.scala 75:34]
+  wire [11:0] _del_cntr_T_3 = del_cntr - 12'h1; // @[SPIPhysical.scala 82:28]
+  wire  _T_3 = del_cntr == 12'h1; // @[SPIPhysical.scala 86:18]
+  reg  last_d; // @[SPIPhysical.scala 92:23]
+  reg [11:0] del_cntr_last; // @[SPIPhysical.scala 93:30]
+  wire  last = scnt == 8'h1 & (beat & cref & xfr); // @[SPIPhysical.scala 201:27 202:10]
+  wire [11:0] _del_cntr_last_T_3 = del_cntr_last - 12'h1; // @[SPIPhysical.scala 103:38]
+  wire  _T_7 = del_cntr_last == 12'h1; // @[SPIPhysical.scala 107:23]
+  wire [11:0] _decr_T = beat ? {{4'd0}, scnt} : tcnt; // @[SPIPhysical.scala 112:17]
+  wire [11:0] decr = _decr_T - 12'h1; // @[SPIPhysical.scala 112:36]
+  wire  sched = stop | beat; // @[SPIPhysical.scala 184:15 185:11]
+  reg  sck; // @[SPIPhysical.scala 116:16]
+  wire  cinv = ctrl_sck_pha ^ ctrl_sck_pol; // @[SPIPhysical.scala 118:27]
+  wire [3:0] rxd = {io_port_dq_3_i,io_port_dq_2_i,io_port_dq_1_i,io_port_dq_0_i}; // @[Cat.scala 31:58]
+  wire  rxd_delayed_0 = rxd[0]; // @[SPIPhysical.scala 135:24]
+  wire  rxd_delayed_1 = rxd[1]; // @[SPIPhysical.scala 135:24]
+  wire  rxd_delayed_2 = rxd[2]; // @[SPIPhysical.scala 135:24]
+  wire  rxd_delayed_3 = rxd[3]; // @[SPIPhysical.scala 135:24]
+  wire [3:0] rxd_fin = {rxd_delayed_3,rxd_delayed_2,rxd_delayed_1,rxd_delayed_0}; // @[SPIPhysical.scala 138:29]
+  wire  samples_0 = rxd_fin[1]; // @[SPIPhysical.scala 139:28]
+  wire [1:0] samples_1 = rxd_fin[1:0]; // @[SPIPhysical.scala 139:40]
+  reg [7:0] buffer; // @[SPIPhysical.scala 141:19]
+  wire [7:0] _buffer_in_T_9 = {io_op_bits_data[0],io_op_bits_data[1],io_op_bits_data[2],io_op_bits_data[3],
+    io_op_bits_data[4],io_op_bits_data[5],io_op_bits_data[6],io_op_bits_data[7]}; // @[Cat.scala 31:58]
+  wire [7:0] buffer_in = ~io_ctrl_fmt_endian ? io_op_bits_data : _buffer_in_T_9; // @[SPIPhysical.scala 121:8]
+  wire  shift = totalCoarseDel > 12'h0 ? setup_d | sample_d & stop : sample_d; // @[SPIPhysical.scala 143:19]
+  wire [6:0] _buffer_T_2 = shift ? buffer[6:0] : buffer[7:1]; // @[SPIPhysical.scala 147:12]
+  wire  _buffer_T_4 = sample_d ? samples_0 : buffer[0]; // @[SPIPhysical.scala 148:12]
+  wire [7:0] _buffer_T_5 = {_buffer_T_2,_buffer_T_4}; // @[Cat.scala 31:58]
+  wire [5:0] _buffer_T_8 = shift ? buffer[5:0] : buffer[7:2]; // @[SPIPhysical.scala 147:12]
+  wire [1:0] _buffer_T_10 = sample_d ? samples_1 : buffer[1:0]; // @[SPIPhysical.scala 148:12]
+  wire [7:0] _buffer_T_11 = {_buffer_T_8,_buffer_T_10}; // @[Cat.scala 31:58]
+  wire [3:0] _buffer_T_14 = shift ? buffer[3:0] : buffer[7:4]; // @[SPIPhysical.scala 147:12]
+  wire [3:0] _buffer_T_16 = sample_d ? rxd_fin : buffer[3:0]; // @[SPIPhysical.scala 148:12]
+  wire [7:0] _buffer_T_17 = {_buffer_T_14,_buffer_T_16}; // @[Cat.scala 31:58]
+  wire [7:0] _buffer_T_18 = proto_0 ? _buffer_T_5 : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _buffer_T_19 = proto_1 ? _buffer_T_11 : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _buffer_T_20 = proto_2 ? _buffer_T_17 : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _buffer_T_21 = _buffer_T_18 | _buffer_T_19; // @[Mux.scala 27:73]
+  wire [7:0] _buffer_T_22 = _buffer_T_21 | _buffer_T_20; // @[Mux.scala 27:73]
+  reg [3:0] txd; // @[SPIPhysical.scala 153:16]
+  wire  _T_18 = ~cref; // @[SPIPhysical.scala 203:19]
+  wire  _GEN_25 = beat & ~cref | stop; // @[SPIPhysical.scala 203:26 204:14]
+  wire  accept = scnt == 8'h1 ? _GEN_25 : stop; // @[SPIPhysical.scala 201:27]
+  wire [3:0] txd_in = accept ? buffer_in[7:4] : buffer[7:4]; // @[SPIPhysical.scala 154:19]
+  wire [1:0] _txd_sel_T = accept ? io_ctrl_fmt_proto : ctrl_fmt_proto; // @[SPIPhysical.scala 155:39]
+  wire  txd_sel_0 = 2'h0 == _txd_sel_T; // @[SPIConsts.scala 13:48]
+  wire  txd_sel_1 = 2'h1 == _txd_sel_T; // @[SPIConsts.scala 13:48]
+  wire  txd_sel_2 = 2'h2 == _txd_sel_T; // @[SPIConsts.scala 13:48]
+  wire  txd_shf_0 = txd_in[3]; // @[SPIPhysical.scala 156:55]
+  wire [1:0] txd_shf_1 = txd_in[3:2]; // @[SPIPhysical.scala 156:55]
+  wire  _txd_T = txd_sel_0 & txd_shf_0; // @[Mux.scala 27:73]
+  wire [1:0] _txd_T_1 = txd_sel_1 ? txd_shf_1 : 2'h0; // @[Mux.scala 27:73]
+  wire [3:0] _txd_T_2 = txd_sel_2 ? txd_in : 4'h0; // @[Mux.scala 27:73]
+  wire [1:0] _GEN_79 = {{1'd0}, _txd_T}; // @[Mux.scala 27:73]
+  wire [1:0] _txd_T_3 = _GEN_79 | _txd_T_1; // @[Mux.scala 27:73]
+  wire [3:0] _GEN_80 = {{2'd0}, _txd_T_3}; // @[Mux.scala 27:73]
+  wire [3:0] _txd_T_4 = _GEN_80 | _txd_T_2; // @[Mux.scala 27:73]
+  reg  done; // @[SPIPhysical.scala 176:17]
+  wire  _T_21 = ~io_op_bits_fn; // @[SPIPhysical.scala 220:22]
+  wire  _GEN_11 = xfr & _T_18; // @[SPIPhysical.scala 190:18 193:15]
+  wire  _GEN_16 = beat & _GEN_11; // @[SPIPhysical.scala 188:17]
+  wire  _GEN_23 = stop ? 1'h0 : _GEN_16; // @[SPIPhysical.scala 184:15]
+  wire  _GEN_26 = beat & ~cref ? 1'h0 : _GEN_23; // @[SPIPhysical.scala 203:26 205:13]
+  wire  _GEN_30 = scnt == 8'h1 ? _GEN_26 : _GEN_23; // @[SPIPhysical.scala 201:27]
+  wire  _GEN_45 = ~io_op_bits_fn | _GEN_30; // @[SPIPhysical.scala 220:22 224:17]
+  wire  _GEN_59 = io_op_valid ? _GEN_45 : _GEN_30; // @[SPIPhysical.scala 212:24]
+  wire  setup = accept & done ? _GEN_59 : _GEN_30; // @[SPIPhysical.scala 210:25]
+  wire  txen_2 = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 162:49]
+  wire  txen_1 = proto_1 & ctrl_fmt_iodir | txen_2; // @[SPIPhysical.scala 162:82]
+  wire [7:0] _io_rx_bits_T_9 = {buffer[0],buffer[1],buffer[2],buffer[3],buffer[4],buffer[5],buffer[6],buffer[7]}; // @[Cat.scala 31:58]
+  wire  _GEN_9 = xfr ? cref ^ cinv : sck; // @[SPIPhysical.scala 190:18 191:13 116:16]
+  wire [11:0] _GEN_12 = _T_18 ? decr : {{4'd0}, scnt}; // @[SPIPhysical.scala 195:20 196:14 62:17]
+  wire  _GEN_13 = beat ? _T_18 : cref; // @[SPIPhysical.scala 188:17 189:12 117:17]
+  wire  _GEN_14 = beat ? _GEN_9 : sck; // @[SPIPhysical.scala 116:16 188:17]
+  wire [11:0] _GEN_17 = beat ? _GEN_12 : {{4'd0}, scnt}; // @[SPIPhysical.scala 188:17 62:17]
+  wire  _GEN_20 = stop ? cref : _GEN_13; // @[SPIPhysical.scala 184:15 117:17]
+  wire  _GEN_21 = stop ? sck : _GEN_14; // @[SPIPhysical.scala 184:15 116:16]
+  wire [11:0] _GEN_24 = stop ? {{4'd0}, scnt} : _GEN_17; // @[SPIPhysical.scala 184:15 62:17]
+  wire  _GEN_27 = beat & ~cref ? ctrl_sck_pol : _GEN_21; // @[SPIPhysical.scala 203:26 206:11]
+  wire  _GEN_31 = scnt == 8'h1 ? _GEN_27 : _GEN_21; // @[SPIPhysical.scala 201:27]
+  wire  _GEN_35 = io_op_bits_stb ? io_ctrl_sck_pol : _GEN_31; // @[SPIPhysical.scala 229:25 230:17]
+  wire [11:0] _GEN_36 = io_op_bits_stb ? io_ctrl_sck_div : ctrl_sck_div; // @[SPIPhysical.scala 229:25 231:22 52:17]
+  wire  _GEN_37 = io_op_bits_stb ? io_ctrl_sck_pol : ctrl_sck_pol; // @[SPIPhysical.scala 229:25 231:22 52:17]
+  wire  _GEN_38 = io_op_bits_stb ? io_ctrl_sck_pha : ctrl_sck_pha; // @[SPIPhysical.scala 229:25 231:22 52:17]
+  wire  _GEN_46 = ~io_op_bits_fn ? io_op_bits_cnt == 8'h0 : done | last_d; // @[SPIPhysical.scala 220:22 225:16 177:8]
+  wire [11:0] _GEN_51 = io_op_valid ? {{4'd0}, io_op_bits_cnt} : _GEN_24; // @[SPIPhysical.scala 212:24 213:12]
+  wire  _GEN_60 = io_op_valid ? _GEN_46 : done | last_d; // @[SPIPhysical.scala 212:24 177:8]
+  wire [11:0] _GEN_65 = accept & done ? _GEN_51 : _GEN_24; // @[SPIPhysical.scala 210:25]
+  wire  _GEN_74 = accept & done ? _GEN_60 : done | last_d; // @[SPIPhysical.scala 210:25 177:8]
+  assign io_port_sck = sck; // @[SPIPhysical.scala 166:15]
+  assign io_port_dq_0_o = txd[0]; // @[SPIPhysical.scala 168:24]
+  assign io_port_dq_0_oe = proto_0 | txen_1; // @[SPIPhysical.scala 162:82]
+  assign io_port_dq_1_o = txd[1]; // @[SPIPhysical.scala 168:24]
+  assign io_port_dq_1_oe = proto_1 & ctrl_fmt_iodir | txen_2; // @[SPIPhysical.scala 162:82]
+  assign io_port_dq_2_o = txd[2]; // @[SPIPhysical.scala 168:24]
+  assign io_port_dq_2_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 162:49]
+  assign io_port_dq_3_o = txd[3]; // @[SPIPhysical.scala 168:24]
+  assign io_port_dq_3_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 162:49]
+  assign io_op_ready = accept & done; // @[SPIPhysical.scala 210:16]
+  assign io_rx_valid = done; // @[SPIPhysical.scala 179:15]
+  assign io_rx_bits = ~ctrl_fmt_endian ? buffer : _io_rx_bits_T_9; // @[SPIPhysical.scala 121:8]
+  always @(posedge clock) begin
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (!(~io_op_bits_fn)) begin // @[SPIPhysical.scala 220:22]
+          if (io_op_bits_fn) begin // @[SPIPhysical.scala 220:22]
+            ctrl_sck_div <= _GEN_36;
+          end
+        end
+      end
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (!(~io_op_bits_fn)) begin // @[SPIPhysical.scala 220:22]
+          if (io_op_bits_fn) begin // @[SPIPhysical.scala 220:22]
+            ctrl_sck_pol <= _GEN_37;
+          end
+        end
+      end
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (!(~io_op_bits_fn)) begin // @[SPIPhysical.scala 220:22]
+          if (io_op_bits_fn) begin // @[SPIPhysical.scala 220:22]
+            ctrl_sck_pha <= _GEN_38;
+          end
+        end
+      end
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (io_op_bits_stb) begin // @[SPIPhysical.scala 215:21]
+          ctrl_fmt_proto <= io_ctrl_fmt_proto; // @[SPIPhysical.scala 216:18]
+        end
+      end
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (io_op_bits_stb) begin // @[SPIPhysical.scala 215:21]
+          ctrl_fmt_endian <= io_ctrl_fmt_endian; // @[SPIPhysical.scala 216:18]
+        end
+      end
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (io_op_bits_stb) begin // @[SPIPhysical.scala 215:21]
+          ctrl_fmt_iodir <= io_ctrl_fmt_iodir; // @[SPIPhysical.scala 216:18]
+        end
+      end
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        setup_d <= _GEN_45;
+      end else begin
+        setup_d <= _GEN_30;
+      end
+    end else begin
+      setup_d <= _GEN_30;
+    end
+    if (reset) begin // @[SPIPhysical.scala 62:17]
+      scnt <= 8'h0; // @[SPIPhysical.scala 62:17]
+    end else begin
+      scnt <= _GEN_65[7:0];
+    end
+    if (sched) begin // @[SPIPhysical.scala 114:14]
+      tcnt <= ctrl_sck_div;
+    end else begin
+      tcnt <= decr;
+    end
+    if (reset) begin // @[SPIPhysical.scala 70:25]
+      sample_d <= 1'h0; // @[SPIPhysical.scala 70:25]
+    end else begin
+      sample_d <= _T_3;
+    end
+    if (reset) begin // @[SPIPhysical.scala 71:25]
+      del_cntr <= 12'h3; // @[SPIPhysical.scala 71:25]
+    end else if (beat & sample) begin // @[SPIPhysical.scala 73:25]
+      if (totalCoarseDel > 12'h1) begin // @[SPIPhysical.scala 74:32]
+        del_cntr <= _del_cntr_T_1; // @[SPIPhysical.scala 75:16]
+      end else begin
+        del_cntr <= 12'h1; // @[SPIPhysical.scala 78:16]
+      end
+    end else if (del_cntr != 12'h0) begin // @[SPIPhysical.scala 81:27]
+      del_cntr <= _del_cntr_T_3; // @[SPIPhysical.scala 82:16]
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        xfr <= _T_21;
+      end
+    end
+    cref <= reset | _GEN_20; // @[SPIPhysical.scala 117:{17,17}]
+    if (reset) begin // @[SPIPhysical.scala 92:23]
+      last_d <= 1'h0; // @[SPIPhysical.scala 92:23]
+    end else begin
+      last_d <= _T_7;
+    end
+    if (reset) begin // @[SPIPhysical.scala 93:30]
+      del_cntr_last <= 12'h3; // @[SPIPhysical.scala 93:30]
+    end else if (beat & last) begin // @[SPIPhysical.scala 94:23]
+      if (totalCoarseDel > 12'h1) begin // @[SPIPhysical.scala 74:32]
+        del_cntr_last <= _del_cntr_T_1; // @[SPIPhysical.scala 75:16]
+      end else begin
+        del_cntr_last <= 12'h1; // @[SPIPhysical.scala 78:16]
+      end
+    end else if (del_cntr_last != 12'h0) begin // @[SPIPhysical.scala 102:33]
+      del_cntr_last <= _del_cntr_last_T_3; // @[SPIPhysical.scala 103:21]
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (~io_op_bits_fn) begin // @[SPIPhysical.scala 220:22]
+          sck <= cinv; // @[SPIPhysical.scala 223:15]
+        end else if (io_op_bits_fn) begin // @[SPIPhysical.scala 220:22]
+          sck <= _GEN_35;
+        end else begin
+          sck <= _GEN_31;
+        end
+      end else begin
+        sck <= _GEN_31;
+      end
+    end else begin
+      sck <= _GEN_31;
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (~io_op_bits_fn) begin // @[SPIPhysical.scala 220:22]
+          if (~io_ctrl_fmt_endian) begin // @[SPIPhysical.scala 121:8]
+            buffer <= io_op_bits_data;
+          end else begin
+            buffer <= _buffer_in_T_9;
+          end
+        end else begin
+          buffer <= _buffer_T_22; // @[SPIPhysical.scala 144:10]
+        end
+      end else begin
+        buffer <= _buffer_T_22; // @[SPIPhysical.scala 144:10]
+      end
+    end else begin
+      buffer <= _buffer_T_22; // @[SPIPhysical.scala 144:10]
+    end
+    if (reset) begin // @[SPIPhysical.scala 153:16]
+      txd <= 4'h0; // @[SPIPhysical.scala 153:16]
+    end else if (setup) begin // @[SPIPhysical.scala 157:16]
+      txd <= _txd_T_4; // @[SPIPhysical.scala 158:9]
+    end
+    done <= reset | _GEN_74; // @[SPIPhysical.scala 176:{17,17}]
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  ctrl_sck_pol = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  ctrl_sck_pha = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  ctrl_fmt_proto = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  ctrl_fmt_endian = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  ctrl_fmt_iodir = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  setup_d = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  scnt = _RAND_7[7:0];
+  _RAND_8 = {1{`RANDOM}};
+  tcnt = _RAND_8[11:0];
+  _RAND_9 = {1{`RANDOM}};
+  sample_d = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  del_cntr = _RAND_10[11:0];
+  _RAND_11 = {1{`RANDOM}};
+  xfr = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  cref = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  last_d = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  del_cntr_last = _RAND_14[11:0];
+  _RAND_15 = {1{`RANDOM}};
+  sck = _RAND_15[0:0];
+  _RAND_16 = {1{`RANDOM}};
+  buffer = _RAND_16[7:0];
+  _RAND_17 = {1{`RANDOM}};
+  txd = _RAND_17[3:0];
+  _RAND_18 = {1{`RANDOM}};
+  done = _RAND_18[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module SPIMedia(
+  input         clock,
+  input         reset,
+  output        io_port_sck,
+  input         io_port_dq_0_i,
+  output        io_port_dq_0_o,
+  output        io_port_dq_0_oe,
+  input         io_port_dq_1_i,
+  output        io_port_dq_1_o,
+  output        io_port_dq_1_oe,
+  input         io_port_dq_2_i,
+  output        io_port_dq_2_o,
+  output        io_port_dq_2_oe,
+  input         io_port_dq_3_i,
+  output        io_port_dq_3_o,
+  output        io_port_dq_3_oe,
+  output        io_port_cs_0,
+  input  [11:0] io_ctrl_sck_div,
+  input         io_ctrl_sck_pol,
+  input         io_ctrl_sck_pha,
+  input  [7:0]  io_ctrl_dla_cssck,
+  input  [7:0]  io_ctrl_dla_sckcs,
+  input  [7:0]  io_ctrl_dla_intercs,
+  input  [7:0]  io_ctrl_dla_interxfr,
+  input         io_ctrl_cs_id,
+  input         io_ctrl_cs_dflt_0,
+  input  [11:0] io_ctrl_extradel_coarse,
+  input  [4:0]  io_ctrl_sampledel_sd,
+  output        io_link_tx_ready,
+  input         io_link_tx_valid,
+  input  [7:0]  io_link_tx_bits,
+  output        io_link_rx_valid,
+  output [7:0]  io_link_rx_bits,
+  input  [7:0]  io_link_cnt,
+  input  [1:0]  io_link_fmt_proto,
+  input         io_link_fmt_endian,
+  input         io_link_fmt_iodir,
+  input         io_link_cs_set,
+  input         io_link_cs_clear,
+  input         io_link_cs_hold,
+  output        io_link_active
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+`endif // RANDOMIZE_REG_INIT
+  wire  phy_clock; // @[SPIMedia.scala 36:19]
+  wire  phy_reset; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_sck; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_0_i; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_0_o; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_0_oe; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_1_i; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_1_o; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_1_oe; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_2_i; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_2_o; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_2_oe; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_3_i; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_3_o; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_3_oe; // @[SPIMedia.scala 36:19]
+  wire [11:0] phy_io_ctrl_sck_div; // @[SPIMedia.scala 36:19]
+  wire  phy_io_ctrl_sck_pol; // @[SPIMedia.scala 36:19]
+  wire  phy_io_ctrl_sck_pha; // @[SPIMedia.scala 36:19]
+  wire [1:0] phy_io_ctrl_fmt_proto; // @[SPIMedia.scala 36:19]
+  wire  phy_io_ctrl_fmt_endian; // @[SPIMedia.scala 36:19]
+  wire  phy_io_ctrl_fmt_iodir; // @[SPIMedia.scala 36:19]
+  wire [11:0] phy_io_ctrl_extradel_coarse; // @[SPIMedia.scala 36:19]
+  wire [4:0] phy_io_ctrl_sampledel_sd; // @[SPIMedia.scala 36:19]
+  wire  phy_io_op_ready; // @[SPIMedia.scala 36:19]
+  wire  phy_io_op_valid; // @[SPIMedia.scala 36:19]
+  wire  phy_io_op_bits_fn; // @[SPIMedia.scala 36:19]
+  wire  phy_io_op_bits_stb; // @[SPIMedia.scala 36:19]
+  wire [7:0] phy_io_op_bits_cnt; // @[SPIMedia.scala 36:19]
+  wire [7:0] phy_io_op_bits_data; // @[SPIMedia.scala 36:19]
+  wire  phy_io_rx_valid; // @[SPIMedia.scala 36:19]
+  wire [7:0] phy_io_rx_bits; // @[SPIMedia.scala 36:19]
+  reg  cs_id; // @[SPIMedia.scala 50:15]
+  reg  cs_dflt_0; // @[SPIMedia.scala 50:15]
+  reg  cs_set; // @[SPIMedia.scala 51:19]
+  wire [1:0] _GEN_4 = {{1'd0}, io_link_cs_set}; // @[SPIBundle.scala 49:19]
+  wire [1:0] cs_active_mask = _GEN_4 << io_ctrl_cs_id; // @[SPIBundle.scala 49:19]
+  wire [1:0] _GEN_54 = {{1'd0}, io_ctrl_cs_dflt_0}; // @[SPIBundle.scala 50:33]
+  wire [1:0] cs_active_out = _GEN_54 ^ cs_active_mask; // @[SPIBundle.scala 50:33]
+  wire  cs_active_0 = cs_active_out[0]; // @[SPIBundle.scala 51:32]
+  wire  cs_update = cs_active_0 != cs_dflt_0; // @[SPIMedia.scala 53:37]
+  reg  clear; // @[SPIMedia.scala 55:18]
+  reg  cs_assert; // @[SPIMedia.scala 56:22]
+  wire  cs_deassert = clear | cs_update & ~io_link_cs_hold; // @[SPIMedia.scala 57:27]
+  wire  continuous = io_ctrl_dla_interxfr == 8'h0; // @[SPIMedia.scala 61:42]
+  reg [1:0] state; // @[SPIMedia.scala 72:18]
+  wire [1:0] _GEN_0 = phy_io_op_ready ? 2'h2 : state; // @[SPIMedia.scala 72:18 79:27 80:19]
+  wire  _T_1 = phy_io_op_ready & phy_io_op_valid; // @[Decoupled.scala 50:35]
+  wire [1:0] _GEN_1 = _T_1 ? 2'h1 : state; // @[SPIMedia.scala 72:18 88:28 89:19]
+  wire [7:0] _GEN_2 = cs_deassert ? io_ctrl_dla_sckcs : io_link_cnt; // @[SPIMedia.scala 46:15 77:28 78:23]
+  wire  _GEN_5 = cs_deassert ? 1'h0 : 1'h1; // @[SPIMedia.scala 45:15 77:28 84:23]
+  wire  _GEN_6 = cs_deassert | io_link_tx_valid; // @[SPIMedia.scala 43:12 77:28 86:20]
+  wire  _GEN_7 = cs_deassert ? 1'h0 : phy_io_op_ready; // @[SPIMedia.scala 68:20 77:28 87:28]
+  wire  _GEN_8 = phy_io_op_ready | cs_assert; // @[SPIMedia.scala 95:25 96:21 56:22]
+  wire [7:0] _GEN_11 = io_link_tx_valid ? io_ctrl_dla_cssck : 8'h0; // @[SPIMedia.scala 102:21 92:38 94:21]
+  wire  _GEN_15 = io_link_tx_valid ? 1'h0 : 1'h1; // @[SPIMedia.scala 45:15 103:21 92:38]
+  wire [7:0] _GEN_17 = cs_assert ? _GEN_2 : _GEN_11; // @[SPIMedia.scala 76:24]
+  wire  _GEN_19 = cs_assert ? cs_deassert : 1'h1; // @[SPIMedia.scala 44:14 76:24]
+  wire  _GEN_20 = cs_assert ? _GEN_5 : _GEN_15; // @[SPIMedia.scala 76:24]
+  wire  _GEN_21 = cs_assert ? _GEN_6 : 1'h1; // @[SPIMedia.scala 43:12 76:24]
+  wire  _GEN_22 = cs_assert & _GEN_7; // @[SPIMedia.scala 68:20 76:24]
+  wire [1:0] _GEN_31 = {{1'd0}, cs_set}; // @[SPIBundle.scala 49:19]
+  wire [1:0] mask = _GEN_31 << cs_id; // @[SPIBundle.scala 49:19]
+  wire [1:0] _GEN_55 = {{1'd0}, cs_dflt_0}; // @[SPIBundle.scala 50:33]
+  wire [1:0] out = _GEN_55 ^ mask; // @[SPIBundle.scala 50:33]
+  wire [1:0] _GEN_29 = phy_io_op_ready ? 2'h0 : state; // @[SPIMedia.scala 123:23 125:15 72:18]
+  wire [7:0] _GEN_30 = 2'h2 == state ? io_ctrl_dla_intercs : io_link_cnt; // @[SPIMedia.scala 74:18 119:19 46:15]
+  wire  _GEN_36 = 2'h1 == state ? ~continuous : 1'h1; // @[SPIMedia.scala 110:16 43:12 74:18]
+  wire [7:0] _GEN_37 = 2'h1 == state ? io_ctrl_dla_interxfr : _GEN_30; // @[SPIMedia.scala 74:18 111:19]
+  wire  _GEN_39 = 2'h1 == state ? 1'h0 : 2'h2 == state; // @[SPIMedia.scala 45:15 74:18]
+  SPIPhysical phy ( // @[SPIMedia.scala 36:19]
+    .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 io_port_sck = phy_io_port_sck; // @[SPIMedia.scala 63:15]
+  assign io_port_dq_0_o = phy_io_port_dq_0_o; // @[SPIMedia.scala 64:14]
+  assign io_port_dq_0_oe = phy_io_port_dq_0_oe; // @[SPIMedia.scala 64:14]
+  assign io_port_dq_1_o = phy_io_port_dq_1_o; // @[SPIMedia.scala 64:14]
+  assign io_port_dq_1_oe = phy_io_port_dq_1_oe; // @[SPIMedia.scala 64:14]
+  assign io_port_dq_2_o = phy_io_port_dq_2_o; // @[SPIMedia.scala 64:14]
+  assign io_port_dq_2_oe = phy_io_port_dq_2_oe; // @[SPIMedia.scala 64:14]
+  assign io_port_dq_3_o = phy_io_port_dq_3_o; // @[SPIMedia.scala 64:14]
+  assign io_port_dq_3_oe = phy_io_port_dq_3_oe; // @[SPIMedia.scala 64:14]
+  assign io_port_cs_0 = cs_dflt_0; // @[SPIMedia.scala 65:14]
+  assign io_link_tx_ready = 2'h0 == state & _GEN_22; // @[SPIMedia.scala 74:18 68:20]
+  assign io_link_rx_valid = phy_io_rx_valid; // @[SPIMedia.scala 67:14]
+  assign io_link_rx_bits = phy_io_rx_bits; // @[SPIMedia.scala 67:14]
+  assign io_link_active = cs_assert; // @[SPIMedia.scala 69:18]
+  assign phy_clock = clock;
+  assign phy_reset = reset;
+  assign phy_io_port_dq_0_i = io_port_dq_0_i; // @[SPIMedia.scala 64:14]
+  assign phy_io_port_dq_1_i = io_port_dq_1_i; // @[SPIMedia.scala 64:14]
+  assign phy_io_port_dq_2_i = io_port_dq_2_i; // @[SPIMedia.scala 64:14]
+  assign phy_io_port_dq_3_i = io_port_dq_3_i; // @[SPIMedia.scala 64:14]
+  assign phy_io_ctrl_sck_div = io_ctrl_sck_div; // @[SPIMedia.scala 37:19]
+  assign phy_io_ctrl_sck_pol = io_ctrl_sck_pol; // @[SPIMedia.scala 37:19]
+  assign phy_io_ctrl_sck_pha = io_ctrl_sck_pha; // @[SPIMedia.scala 37:19]
+  assign phy_io_ctrl_fmt_proto = io_link_fmt_proto; // @[SPIMedia.scala 38:19]
+  assign phy_io_ctrl_fmt_endian = io_link_fmt_endian; // @[SPIMedia.scala 38:19]
+  assign phy_io_ctrl_fmt_iodir = io_link_fmt_iodir; // @[SPIMedia.scala 38:19]
+  assign phy_io_ctrl_extradel_coarse = io_ctrl_extradel_coarse; // @[SPIMedia.scala 39:24]
+  assign phy_io_ctrl_sampledel_sd = io_ctrl_sampledel_sd; // @[SPIMedia.scala 40:25]
+  assign phy_io_op_valid = 2'h0 == state ? _GEN_21 : _GEN_36; // @[SPIMedia.scala 74:18]
+  assign phy_io_op_bits_fn = 2'h0 == state ? _GEN_19 : 1'h1; // @[SPIMedia.scala 44:14 74:18]
+  assign phy_io_op_bits_stb = 2'h0 == state ? _GEN_20 : _GEN_39; // @[SPIMedia.scala 74:18]
+  assign phy_io_op_bits_cnt = 2'h0 == state ? _GEN_17 : _GEN_37; // @[SPIMedia.scala 74:18]
+  assign phy_io_op_bits_data = io_link_tx_bits; // @[SPIMedia.scala 47:16]
+  always @(posedge clock) begin
+    if (2'h0 == state) begin // @[SPIMedia.scala 74:18]
+      if (!(cs_assert)) begin // @[SPIMedia.scala 76:24]
+        if (!(io_link_tx_valid)) begin // @[SPIMedia.scala 92:38]
+          cs_id <= io_ctrl_cs_id; // @[SPIMedia.scala 104:12]
+        end
+      end
+    end
+    if (2'h0 == state) begin // @[SPIMedia.scala 74:18]
+      if (!(cs_assert)) begin // @[SPIMedia.scala 76:24]
+        if (io_link_tx_valid) begin // @[SPIMedia.scala 92:38]
+          if (phy_io_op_ready) begin // @[SPIMedia.scala 95:25]
+            cs_dflt_0 <= cs_active_0; // @[SPIMedia.scala 98:19]
+          end
+        end else begin
+          cs_dflt_0 <= io_ctrl_cs_dflt_0; // @[SPIMedia.scala 104:12]
+        end
+      end
+    end else if (!(2'h1 == state)) begin // @[SPIMedia.scala 74:18]
+      if (2'h2 == state) begin // @[SPIMedia.scala 74:18]
+        if (phy_io_op_ready) begin // @[SPIMedia.scala 123:23]
+          cs_dflt_0 <= out[0]; // @[SPIMedia.scala 124:17]
+        end
+      end
+    end
+    if (2'h0 == state) begin // @[SPIMedia.scala 74:18]
+      if (!(cs_assert)) begin // @[SPIMedia.scala 76:24]
+        if (io_link_tx_valid) begin // @[SPIMedia.scala 92:38]
+          if (phy_io_op_ready) begin // @[SPIMedia.scala 95:25]
+            cs_set <= io_link_cs_set; // @[SPIMedia.scala 97:18]
+          end
+        end
+      end
+    end
+    if (reset) begin // @[SPIMedia.scala 55:18]
+      clear <= 1'h0; // @[SPIMedia.scala 55:18]
+    end else if (2'h0 == state) begin // @[SPIMedia.scala 74:18]
+      clear <= clear | io_link_cs_clear & cs_assert; // @[SPIMedia.scala 59:9]
+    end else if (2'h1 == state) begin // @[SPIMedia.scala 74:18]
+      clear <= clear | io_link_cs_clear & cs_assert; // @[SPIMedia.scala 59:9]
+    end else if (2'h2 == state) begin // @[SPIMedia.scala 74:18]
+      clear <= 1'h0; // @[SPIMedia.scala 122:13]
+    end else begin
+      clear <= clear | io_link_cs_clear & cs_assert; // @[SPIMedia.scala 59:9]
+    end
+    if (reset) begin // @[SPIMedia.scala 56:22]
+      cs_assert <= 1'h0; // @[SPIMedia.scala 56:22]
+    end else if (2'h0 == state) begin // @[SPIMedia.scala 74:18]
+      if (!(cs_assert)) begin // @[SPIMedia.scala 76:24]
+        if (io_link_tx_valid) begin // @[SPIMedia.scala 92:38]
+          cs_assert <= _GEN_8;
+        end
+      end
+    end else if (!(2'h1 == state)) begin // @[SPIMedia.scala 74:18]
+      if (2'h2 == state) begin // @[SPIMedia.scala 74:18]
+        cs_assert <= 1'h0; // @[SPIMedia.scala 121:17]
+      end
+    end
+    if (reset) begin // @[SPIMedia.scala 72:18]
+      state <= 2'h0; // @[SPIMedia.scala 72:18]
+    end else if (2'h0 == state) begin // @[SPIMedia.scala 74:18]
+      if (cs_assert) begin // @[SPIMedia.scala 76:24]
+        if (cs_deassert) begin // @[SPIMedia.scala 77:28]
+          state <= _GEN_0;
+        end else begin
+          state <= _GEN_1;
+        end
+      end
+    end else if (2'h1 == state) begin // @[SPIMedia.scala 74:18]
+      if (phy_io_op_ready | continuous) begin // @[SPIMedia.scala 112:37]
+        state <= 2'h0; // @[SPIMedia.scala 113:15]
+      end
+    end else if (2'h2 == state) begin // @[SPIMedia.scala 74:18]
+      state <= _GEN_29;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  cs_dflt_0 = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  cs_set = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  clear = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  cs_assert = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  state = _RAND_5[1:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module SPIFlashMap(
+  input         clock,
+  input         reset,
+  input         io_en,
+  input  [1:0]  io_ctrl_insn_cmd_proto,
+  input  [7:0]  io_ctrl_insn_cmd_code,
+  input         io_ctrl_insn_cmd_en,
+  input  [1:0]  io_ctrl_insn_addr_proto,
+  input  [2:0]  io_ctrl_insn_addr_len,
+  input  [7:0]  io_ctrl_insn_pad_code,
+  input  [3:0]  io_ctrl_insn_pad_cnt,
+  input  [1:0]  io_ctrl_insn_data_proto,
+  input         io_ctrl_fmt_endian,
+  output        io_addr_ready,
+  input         io_addr_valid,
+  input  [31:0] io_addr_bits_next,
+  input  [31:0] io_addr_bits_hold,
+  input         io_data_ready,
+  output        io_data_valid,
+  output [7:0]  io_data_bits,
+  input         io_link_tx_ready,
+  output        io_link_tx_valid,
+  output [7:0]  io_link_tx_bits,
+  input         io_link_rx_valid,
+  input  [7:0]  io_link_rx_bits,
+  output [7:0]  io_link_cnt,
+  output [1:0]  io_link_fmt_proto,
+  output        io_link_fmt_endian,
+  output        io_link_fmt_iodir,
+  output        io_link_cs_clear,
+  input         io_link_active,
+  output        io_link_lock
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] addr = io_addr_bits_hold + 32'h1; // @[SPIFlash.scala 59:32]
+  wire  merge = io_link_active & io_addr_bits_next == addr; // @[SPIFlash.scala 60:30]
+  wire  _io_link_cnt_T = 2'h0 == io_link_fmt_proto; // @[SPIConsts.scala 13:48]
+  wire  _io_link_cnt_T_1 = 2'h1 == io_link_fmt_proto; // @[SPIConsts.scala 13:48]
+  wire  _io_link_cnt_T_2 = 2'h2 == io_link_fmt_proto; // @[SPIConsts.scala 13:48]
+  wire [3:0] _io_link_cnt_T_3 = _io_link_cnt_T ? 4'h8 : 4'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_link_cnt_T_4 = _io_link_cnt_T_1 ? 3'h4 : 3'h0; // @[Mux.scala 27:73]
+  wire [1:0] _io_link_cnt_T_5 = _io_link_cnt_T_2 ? 2'h2 : 2'h0; // @[Mux.scala 27:73]
+  wire [3:0] _GEN_73 = {{1'd0}, _io_link_cnt_T_4}; // @[Mux.scala 27:73]
+  wire [3:0] _io_link_cnt_T_6 = _io_link_cnt_T_3 | _GEN_73; // @[Mux.scala 27:73]
+  wire [3:0] _GEN_74 = {{2'd0}, _io_link_cnt_T_5}; // @[Mux.scala 27:73]
+  wire [3:0] _io_link_cnt_T_7 = _io_link_cnt_T_6 | _GEN_74; // @[Mux.scala 27:73]
+  reg [3:0] cnt; // @[SPIFlash.scala 81:16]
+  wire  cnt_cmp_0 = cnt == 4'h0; // @[SPIFlash.scala 83:48]
+  wire  cnt_cmp_1 = cnt == 4'h1; // @[SPIFlash.scala 83:48]
+  wire  cnt_cmp_2 = cnt == 4'h2; // @[SPIFlash.scala 83:48]
+  wire  cnt_cmp_3 = cnt == 4'h3; // @[SPIFlash.scala 83:48]
+  wire  cnt_cmp_4 = cnt == 4'h4; // @[SPIFlash.scala 83:48]
+  wire  cnt_last = cnt_cmp_1 & io_link_tx_ready; // @[SPIFlash.scala 85:29]
+  wire  cnt_done = cnt_last | cnt_cmp_0; // @[SPIFlash.scala 86:27]
+  wire  _T = io_link_tx_ready & io_link_tx_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _cnt_T_1 = cnt - 4'h1; // @[SPIFlash.scala 90:18]
+  wire [3:0] _GEN_0 = _T ? _cnt_T_1 : cnt; // @[SPIFlash.scala 89:30 90:11 81:16]
+  reg [2:0] state; // @[SPIFlash.scala 95:18]
+  wire  _GEN_54 = 3'h1 == state ? 1'h0 : 3'h2 == state; // @[SPIFlash.scala 97:18]
+  wire  cnt_en = 3'h0 == state ? 1'h0 : _GEN_54; // @[SPIFlash.scala 97:18]
+  wire  _GEN_1 = cnt_en ? ~cnt_cmp_0 : 1'h1; // @[SPIFlash.scala 87:17 63:20 88:22]
+  wire [3:0] _GEN_2 = cnt_en ? _GEN_0 : cnt; // @[SPIFlash.scala 81:16 87:17]
+  wire [2:0] _state_T = io_ctrl_insn_cmd_en ? 3'h1 : 3'h2; // @[SPIFlash.scala 106:25]
+  wire [2:0] _GEN_3 = merge ? 3'h4 : _state_T; // @[SPIFlash.scala 103:24 104:19 106:19]
+  wire  _GEN_4 = merge ? 1'h0 : 1'h1; // @[SPIFlash.scala 103:24 72:20 107:30]
+  wire  _GEN_6 = io_addr_valid & _GEN_4; // @[SPIFlash.scala 102:30 72:20]
+  wire  _GEN_11 = io_en & _GEN_6; // @[SPIFlash.scala 100:20 72:20]
+  wire  _GEN_12 = io_en & io_addr_valid; // @[SPIFlash.scala 100:20 114:22]
+  wire [7:0] _io_link_tx_bits_T_4 = cnt_cmp_1 ? io_addr_bits_hold[7:0] : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _io_link_tx_bits_T_5 = cnt_cmp_2 ? io_addr_bits_hold[15:8] : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _io_link_tx_bits_T_6 = cnt_cmp_3 ? io_addr_bits_hold[23:16] : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _io_link_tx_bits_T_7 = cnt_cmp_4 ? io_addr_bits_hold[31:24] : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _io_link_tx_bits_T_8 = _io_link_tx_bits_T_4 | _io_link_tx_bits_T_5; // @[Mux.scala 27:73]
+  wire [7:0] _io_link_tx_bits_T_9 = _io_link_tx_bits_T_8 | _io_link_tx_bits_T_6; // @[Mux.scala 27:73]
+  wire [7:0] _io_link_tx_bits_T_10 = _io_link_tx_bits_T_9 | _io_link_tx_bits_T_7; // @[Mux.scala 27:73]
+  wire [2:0] _GEN_15 = cnt_done ? 3'h3 : state; // @[SPIFlash.scala 139:23 140:15 95:18]
+  wire [2:0] _GEN_16 = io_link_tx_ready ? 3'h4 : state; // @[SPIFlash.scala 148:31 149:15 95:18]
+  wire [2:0] _GEN_17 = io_link_tx_ready ? 3'h5 : state; // @[SPIFlash.scala 156:31 157:15 95:18]
+  wire  _T_7 = io_data_ready & io_data_valid; // @[Decoupled.scala 50:35]
+  wire [2:0] _GEN_18 = _T_7 ? 3'h0 : state; // @[SPIFlash.scala 164:29 165:15 95:18]
+  wire [2:0] _GEN_19 = io_data_ready ? 3'h0 : state; // @[SPIFlash.scala 172:28 173:15 95:18]
+  wire [7:0] _GEN_21 = 3'h6 == state ? 8'h0 : io_link_rx_bits; // @[SPIFlash.scala 97:18 171:20 79:16]
+  wire [2:0] _GEN_22 = 3'h6 == state ? _GEN_19 : state; // @[SPIFlash.scala 95:18 97:18]
+  wire  _GEN_23 = 3'h5 == state ? 1'h0 : _GEN_1; // @[SPIFlash.scala 97:18 162:24]
+  wire  _GEN_24 = 3'h5 == state ? io_link_rx_valid : 3'h6 == state; // @[SPIFlash.scala 97:18 163:21]
+  wire [2:0] _GEN_25 = 3'h5 == state ? _GEN_18 : _GEN_22; // @[SPIFlash.scala 97:18]
+  wire [7:0] _GEN_26 = 3'h5 == state ? io_link_rx_bits : _GEN_21; // @[SPIFlash.scala 79:16 97:18]
+  wire [1:0] _GEN_27 = 3'h4 == state ? io_ctrl_insn_data_proto : io_ctrl_insn_addr_proto; // @[SPIFlash.scala 97:18 154:25 64:21]
+  wire  _GEN_28 = 3'h4 == state ? 1'h0 : 1'h1; // @[SPIFlash.scala 97:18 155:25 65:21]
+  wire [2:0] _GEN_29 = 3'h4 == state ? _GEN_17 : _GEN_25; // @[SPIFlash.scala 97:18]
+  wire  _GEN_30 = 3'h4 == state ? _GEN_1 : _GEN_23; // @[SPIFlash.scala 97:18]
+  wire  _GEN_31 = 3'h4 == state ? 1'h0 : _GEN_24; // @[SPIFlash.scala 78:17 97:18]
+  wire [7:0] _GEN_32 = 3'h4 == state ? io_link_rx_bits : _GEN_26; // @[SPIFlash.scala 79:16 97:18]
+  wire [3:0] _GEN_33 = 3'h3 == state ? io_ctrl_insn_pad_cnt : _io_link_cnt_T_7; // @[SPIFlash.scala 97:18 145:19 67:15]
+  wire [2:0] _GEN_35 = 3'h3 == state ? _GEN_16 : _GEN_29; // @[SPIFlash.scala 97:18]
+  wire [1:0] _GEN_36 = 3'h3 == state ? io_ctrl_insn_addr_proto : _GEN_27; // @[SPIFlash.scala 97:18 64:21]
+  wire  _GEN_38 = 3'h3 == state ? _GEN_1 : _GEN_30; // @[SPIFlash.scala 97:18]
+  wire  _GEN_39 = 3'h3 == state ? 1'h0 : _GEN_31; // @[SPIFlash.scala 78:17 97:18]
+  wire [7:0] _GEN_40 = 3'h3 == state ? io_link_rx_bits : _GEN_32; // @[SPIFlash.scala 79:16 97:18]
+  wire [7:0] _GEN_41 = 3'h2 == state ? _io_link_tx_bits_T_10 : io_ctrl_insn_pad_code; // @[SPIFlash.scala 97:18 131:23]
+  wire [3:0] _GEN_44 = 3'h2 == state ? _io_link_cnt_T_7 : _GEN_33; // @[SPIFlash.scala 67:15 97:18]
+  wire [1:0] _GEN_45 = 3'h2 == state ? io_ctrl_insn_addr_proto : _GEN_36; // @[SPIFlash.scala 97:18 64:21]
+  wire  _GEN_47 = 3'h2 == state ? _GEN_1 : _GEN_38; // @[SPIFlash.scala 97:18]
+  wire  _GEN_48 = 3'h2 == state ? 1'h0 : _GEN_39; // @[SPIFlash.scala 78:17 97:18]
+  wire [7:0] _GEN_49 = 3'h2 == state ? io_link_rx_bits : _GEN_40; // @[SPIFlash.scala 79:16 97:18]
+  wire [1:0] _GEN_50 = 3'h1 == state ? io_ctrl_insn_cmd_proto : _GEN_45; // @[SPIFlash.scala 97:18 122:25]
+  wire [3:0] _GEN_55 = 3'h1 == state ? _io_link_cnt_T_7 : _GEN_44; // @[SPIFlash.scala 67:15 97:18]
+  wire  _GEN_57 = 3'h1 == state ? _GEN_1 : _GEN_47; // @[SPIFlash.scala 97:18]
+  wire  _GEN_58 = 3'h1 == state ? 1'h0 : _GEN_48; // @[SPIFlash.scala 78:17 97:18]
+  wire [7:0] _GEN_59 = 3'h1 == state ? io_link_rx_bits : _GEN_49; // @[SPIFlash.scala 79:16 97:18]
+  wire [3:0] _GEN_69 = 3'h0 == state ? _io_link_cnt_T_7 : _GEN_55; // @[SPIFlash.scala 67:15 97:18]
+  assign io_addr_ready = 3'h0 == state; // @[SPIFlash.scala 97:18]
+  assign io_data_valid = 3'h0 == state ? 1'h0 : _GEN_58; // @[SPIFlash.scala 78:17 97:18]
+  assign io_data_bits = 3'h0 == state ? io_link_rx_bits : _GEN_59; // @[SPIFlash.scala 79:16 97:18]
+  assign io_link_tx_valid = 3'h0 == state ? 1'h0 : _GEN_57; // @[SPIFlash.scala 97:18 99:24]
+  assign io_link_tx_bits = 3'h1 == state ? io_ctrl_insn_cmd_code : _GEN_41; // @[SPIFlash.scala 97:18 123:23]
+  assign io_link_cnt = {{4'd0}, _GEN_69};
+  assign io_link_fmt_proto = 3'h0 == state ? io_ctrl_insn_addr_proto : _GEN_50; // @[SPIFlash.scala 97:18 64:21]
+  assign io_link_fmt_endian = io_ctrl_fmt_endian; // @[SPIFlash.scala 66:22]
+  assign io_link_fmt_iodir = 3'h0 == state | (3'h1 == state | (3'h2 == state | (3'h3 == state | _GEN_28))); // @[SPIFlash.scala 97:18 65:21]
+  assign io_link_cs_clear = 3'h0 == state & _GEN_11; // @[SPIFlash.scala 97:18 72:20]
+  assign io_link_lock = 3'h0 == state ? _GEN_12 : 1'h1; // @[SPIFlash.scala 74:16 97:18]
+  always @(posedge clock) begin
+    if (3'h0 == state) begin // @[SPIFlash.scala 97:18]
+      cnt <= _GEN_2;
+    end else if (3'h1 == state) begin // @[SPIFlash.scala 97:18]
+      if (io_link_tx_ready) begin // @[SPIFlash.scala 124:31]
+        cnt <= {{1'd0}, io_ctrl_insn_addr_len}; // @[SPIFlash.scala 126:13]
+      end else begin
+        cnt <= _GEN_2;
+      end
+    end else begin
+      cnt <= _GEN_2;
+    end
+    if (reset) begin // @[SPIFlash.scala 95:18]
+      state <= 3'h0; // @[SPIFlash.scala 95:18]
+    end else if (3'h0 == state) begin // @[SPIFlash.scala 97:18]
+      if (io_en) begin // @[SPIFlash.scala 100:20]
+        if (io_addr_valid) begin // @[SPIFlash.scala 102:30]
+          state <= _GEN_3;
+        end
+      end else if (io_addr_valid) begin // @[SPIFlash.scala 115:30]
+        state <= 3'h6; // @[SPIFlash.scala 116:17]
+      end
+    end else if (3'h1 == state) begin // @[SPIFlash.scala 97:18]
+      if (io_link_tx_ready) begin // @[SPIFlash.scala 124:31]
+        state <= 3'h2; // @[SPIFlash.scala 125:15]
+      end
+    end else if (3'h2 == state) begin // @[SPIFlash.scala 97:18]
+      state <= _GEN_15;
+    end else begin
+      state <= _GEN_35;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  state = _RAND_1[2:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module SPIArbiter(
+  input        clock,
+  input        reset,
+  output       io_inner_0_tx_ready,
+  input        io_inner_0_tx_valid,
+  input  [7:0] io_inner_0_tx_bits,
+  output       io_inner_0_rx_valid,
+  output [7:0] io_inner_0_rx_bits,
+  input  [7:0] io_inner_0_cnt,
+  input  [1:0] io_inner_0_fmt_proto,
+  input        io_inner_0_fmt_endian,
+  input        io_inner_0_fmt_iodir,
+  input        io_inner_0_cs_clear,
+  output       io_inner_0_active,
+  input        io_inner_0_lock,
+  output       io_inner_1_tx_ready,
+  input        io_inner_1_tx_valid,
+  input  [7:0] io_inner_1_tx_bits,
+  output       io_inner_1_rx_valid,
+  output [7:0] io_inner_1_rx_bits,
+  input  [7:0] io_inner_1_cnt,
+  input  [1:0] io_inner_1_fmt_proto,
+  input        io_inner_1_fmt_endian,
+  input        io_inner_1_fmt_iodir,
+  input        io_inner_1_cs_set,
+  input        io_inner_1_cs_clear,
+  input        io_inner_1_lock,
+  input        io_outer_tx_ready,
+  output       io_outer_tx_valid,
+  output [7:0] io_outer_tx_bits,
+  input        io_outer_rx_valid,
+  input  [7:0] io_outer_rx_bits,
+  output [7:0] io_outer_cnt,
+  output [1:0] io_outer_fmt_proto,
+  output       io_outer_fmt_endian,
+  output       io_outer_fmt_iodir,
+  output       io_outer_cs_set,
+  output       io_outer_cs_clear,
+  output       io_outer_cs_hold,
+  input        io_outer_active,
+  input        io_sel
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+`endif // RANDOMIZE_REG_INIT
+  reg  sel_0; // @[SPIArbiter.scala 18:16]
+  reg  sel_1; // @[SPIArbiter.scala 18:16]
+  wire [7:0] _io_outer_tx_bits_T = sel_0 ? io_inner_0_tx_bits : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _io_outer_tx_bits_T_1 = sel_1 ? io_inner_1_tx_bits : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _io_outer_cnt_T = sel_0 ? io_inner_0_cnt : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _io_outer_cnt_T_1 = sel_1 ? io_inner_1_cnt : 8'h0; // @[Mux.scala 27:73]
+  wire [1:0] _io_outer_fmt_T_6 = sel_0 ? io_inner_0_fmt_proto : 2'h0; // @[Mux.scala 27:73]
+  wire [1:0] _io_outer_fmt_T_7 = sel_1 ? io_inner_1_fmt_proto : 2'h0; // @[Mux.scala 27:73]
+  wire  _io_outer_cs_T_clear = sel_0 ? io_inner_0_cs_clear : io_inner_1_cs_clear; // @[SPIArbiter.scala 25:21]
+  wire  nsel_0 = ~io_sel; // @[SPIArbiter.scala 36:37]
+  wire  lock = sel_0 & io_inner_0_lock | sel_1 & io_inner_1_lock; // @[Mux.scala 27:73]
+  wire [1:0] _T_1 = {sel_1,sel_0}; // @[SPIArbiter.scala 40:15]
+  wire [1:0] _T_2 = {io_sel,nsel_0}; // @[SPIArbiter.scala 40:31]
+  wire  _GEN_0 = _T_1 != _T_2 | _io_outer_cs_T_clear; // @[SPIArbiter.scala 25:15 40:39 41:25]
+  wire  _GEN_1 = ~lock ? nsel_0 : sel_0; // @[SPIArbiter.scala 18:16 38:16 39:9]
+  assign io_inner_0_tx_ready = io_outer_tx_ready & sel_0; // @[SPIArbiter.scala 30:41]
+  assign io_inner_0_rx_valid = io_outer_rx_valid & sel_0; // @[SPIArbiter.scala 31:41]
+  assign io_inner_0_rx_bits = io_outer_rx_bits; // @[SPIArbiter.scala 32:19]
+  assign io_inner_0_active = io_outer_active & sel_0; // @[SPIArbiter.scala 33:37]
+  assign io_inner_1_tx_ready = io_outer_tx_ready & sel_1; // @[SPIArbiter.scala 30:41]
+  assign io_inner_1_rx_valid = io_outer_rx_valid & sel_1; // @[SPIArbiter.scala 31:41]
+  assign io_inner_1_rx_bits = io_outer_rx_bits; // @[SPIArbiter.scala 32:19]
+  assign io_outer_tx_valid = sel_0 & io_inner_0_tx_valid | sel_1 & io_inner_1_tx_valid; // @[Mux.scala 27:73]
+  assign io_outer_tx_bits = _io_outer_tx_bits_T | _io_outer_tx_bits_T_1; // @[Mux.scala 27:73]
+  assign io_outer_cnt = _io_outer_cnt_T | _io_outer_cnt_T_1; // @[Mux.scala 27:73]
+  assign io_outer_fmt_proto = _io_outer_fmt_T_6 | _io_outer_fmt_T_7; // @[Mux.scala 27:73]
+  assign io_outer_fmt_endian = sel_0 & io_inner_0_fmt_endian | sel_1 & io_inner_1_fmt_endian; // @[Mux.scala 27:73]
+  assign io_outer_fmt_iodir = sel_0 & io_inner_0_fmt_iodir | sel_1 & io_inner_1_fmt_iodir; // @[Mux.scala 27:73]
+  assign io_outer_cs_set = sel_0 | io_inner_1_cs_set; // @[SPIArbiter.scala 25:21]
+  assign io_outer_cs_clear = ~lock ? _GEN_0 : _io_outer_cs_T_clear; // @[SPIArbiter.scala 25:15 38:16]
+  assign io_outer_cs_hold = sel_0; // @[SPIArbiter.scala 25:21]
+  always @(posedge clock) begin
+    sel_0 <= reset | _GEN_1; // @[SPIArbiter.scala 18:{16,16}]
+    if (reset) begin // @[SPIArbiter.scala 18:16]
+      sel_1 <= 1'h0; // @[SPIArbiter.scala 18:16]
+    end else if (~lock) begin // @[SPIArbiter.scala 38:16]
+      sel_1 <= io_sel; // @[SPIArbiter.scala 39:9]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  sel_1 = _RAND_1[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLSPIFlash(
+  input         clock,
+  input         reset,
+  output        auto_int_xing_out_sync_0,
+  output        auto_mem_xing_in_a_ready,
+  input         auto_mem_xing_in_a_valid,
+  input  [2:0]  auto_mem_xing_in_a_bits_opcode,
+  input  [2:0]  auto_mem_xing_in_a_bits_param,
+  input         auto_mem_xing_in_a_bits_size,
+  input  [8:0]  auto_mem_xing_in_a_bits_source,
+  input  [29:0] auto_mem_xing_in_a_bits_address,
+  input         auto_mem_xing_in_a_bits_mask,
+  input         auto_mem_xing_in_a_bits_corrupt,
+  input         auto_mem_xing_in_d_ready,
+  output        auto_mem_xing_in_d_valid,
+  output        auto_mem_xing_in_d_bits_size,
+  output [8:0]  auto_mem_xing_in_d_bits_source,
+  output [7:0]  auto_mem_xing_in_d_bits_data,
+  output        auto_control_xing_in_a_ready,
+  input         auto_control_xing_in_a_valid,
+  input  [2:0]  auto_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_control_xing_in_a_bits_param,
+  input  [1:0]  auto_control_xing_in_a_bits_size,
+  input  [6:0]  auto_control_xing_in_a_bits_source,
+  input  [28:0] auto_control_xing_in_a_bits_address,
+  input  [3:0]  auto_control_xing_in_a_bits_mask,
+  input  [31:0] auto_control_xing_in_a_bits_data,
+  input         auto_control_xing_in_a_bits_corrupt,
+  input         auto_control_xing_in_d_ready,
+  output        auto_control_xing_in_d_valid,
+  output [2:0]  auto_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_control_xing_in_d_bits_size,
+  output [6:0]  auto_control_xing_in_d_bits_source,
+  output [31:0] auto_control_xing_in_d_bits_data,
+  output        auto_io_out_sck,
+  input         auto_io_out_dq_0_i,
+  output        auto_io_out_dq_0_o,
+  output        auto_io_out_dq_0_oe,
+  input         auto_io_out_dq_1_i,
+  output        auto_io_out_dq_1_o,
+  output        auto_io_out_dq_1_oe,
+  input         auto_io_out_dq_2_i,
+  output        auto_io_out_dq_2_o,
+  output        auto_io_out_dq_2_oe,
+  input         auto_io_out_dq_3_i,
+  output        auto_io_out_dq_3_o,
+  output        auto_io_out_dq_3_oe,
+  output        auto_io_out_cs_0
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+`endif // RANDOMIZE_REG_INIT
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [8:0] buffer_1_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [29:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [8:0] buffer_1_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [7:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [8:0] buffer_1_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [29:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [8:0] buffer_1_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [7:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  intsource_clock; // @[Crossing.scala 26:31]
+  wire  intsource_reset; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [8:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [29:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [8:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_1_clock; // @[Nodes.scala 24:25]
+  wire  monitor_1_reset; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_1_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_1_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_1_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_1_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_1_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_1_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_1_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_1_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_1_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  fifo_clock; // @[TLSPI.scala 69:20]
+  wire  fifo_reset; // @[TLSPI.scala 69:20]
+  wire [1:0] fifo_io_ctrl_fmt_proto; // @[TLSPI.scala 69:20]
+  wire  fifo_io_ctrl_fmt_endian; // @[TLSPI.scala 69:20]
+  wire  fifo_io_ctrl_fmt_iodir; // @[TLSPI.scala 69:20]
+  wire [3:0] fifo_io_ctrl_fmt_len; // @[TLSPI.scala 69:20]
+  wire [1:0] fifo_io_ctrl_cs_mode; // @[TLSPI.scala 69:20]
+  wire [3:0] fifo_io_ctrl_wm_tx; // @[TLSPI.scala 69:20]
+  wire [3:0] fifo_io_ctrl_wm_rx; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_tx_ready; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_tx_valid; // @[TLSPI.scala 69:20]
+  wire [7:0] fifo_io_link_tx_bits; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_rx_valid; // @[TLSPI.scala 69:20]
+  wire [7:0] fifo_io_link_rx_bits; // @[TLSPI.scala 69:20]
+  wire [7:0] fifo_io_link_cnt; // @[TLSPI.scala 69:20]
+  wire [1:0] fifo_io_link_fmt_proto; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_fmt_endian; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_fmt_iodir; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_cs_set; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_cs_clear; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_lock; // @[TLSPI.scala 69:20]
+  wire  fifo_io_tx_ready; // @[TLSPI.scala 69:20]
+  wire  fifo_io_tx_valid; // @[TLSPI.scala 69:20]
+  wire [7:0] fifo_io_tx_bits; // @[TLSPI.scala 69:20]
+  wire  fifo_io_rx_ready; // @[TLSPI.scala 69:20]
+  wire  fifo_io_rx_valid; // @[TLSPI.scala 69:20]
+  wire [7:0] fifo_io_rx_bits; // @[TLSPI.scala 69:20]
+  wire  fifo_io_ip_txwm; // @[TLSPI.scala 69:20]
+  wire  fifo_io_ip_rxwm; // @[TLSPI.scala 69:20]
+  wire  mac_clock; // @[TLSPI.scala 70:19]
+  wire  mac_reset; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_sck; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_0_i; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_0_o; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_0_oe; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_1_i; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_1_o; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_1_oe; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_2_i; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_2_o; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_2_oe; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_3_i; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_3_o; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_3_oe; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_cs_0; // @[TLSPI.scala 70:19]
+  wire [11:0] mac_io_ctrl_sck_div; // @[TLSPI.scala 70:19]
+  wire  mac_io_ctrl_sck_pol; // @[TLSPI.scala 70:19]
+  wire  mac_io_ctrl_sck_pha; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_ctrl_dla_cssck; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_ctrl_dla_sckcs; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_ctrl_dla_intercs; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_ctrl_dla_interxfr; // @[TLSPI.scala 70:19]
+  wire  mac_io_ctrl_cs_id; // @[TLSPI.scala 70:19]
+  wire  mac_io_ctrl_cs_dflt_0; // @[TLSPI.scala 70:19]
+  wire [11:0] mac_io_ctrl_extradel_coarse; // @[TLSPI.scala 70:19]
+  wire [4:0] mac_io_ctrl_sampledel_sd; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_tx_ready; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_tx_valid; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_link_tx_bits; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_rx_valid; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_link_rx_bits; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_link_cnt; // @[TLSPI.scala 70:19]
+  wire [1:0] mac_io_link_fmt_proto; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_fmt_endian; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_fmt_iodir; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_cs_set; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_cs_clear; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_cs_hold; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_active; // @[TLSPI.scala 70:19]
+  wire  flash_clock; // @[TLSPIFlash.scala 57:21]
+  wire  flash_reset; // @[TLSPIFlash.scala 57:21]
+  wire  flash_io_en; // @[TLSPIFlash.scala 57:21]
+  wire [1:0] flash_io_ctrl_insn_cmd_proto; // @[TLSPIFlash.scala 57:21]
+  wire [7:0] flash_io_ctrl_insn_cmd_code; // @[TLSPIFlash.scala 57:21]
+  wire  flash_io_ctrl_insn_cmd_en; // @[TLSPIFlash.scala 57:21]
+  wire [1:0] flash_io_ctrl_insn_addr_proto; // @[TLSPIFlash.scala 57:21]
+  wire [2:0] flash_io_ctrl_insn_addr_len; // @[TLSPIFlash.scala 57:21]
+  wire [7:0] flash_io_ctrl_insn_pad_code; // @[TLSPIFlash.scala 57:21]
+  wire [3:0] flash_io_ctrl_insn_pad_cnt; // @[TLSPIFlash.scala 57:21]
+  wire [1:0] flash_io_ctrl_insn_data_proto; // @[TLSPIFlash.scala 57:21]
+  wire  flash_io_ctrl_fmt_endian; // @[TLSPIFlash.scala 57:21]
+  wire  flash_io_addr_ready; // @[TLSPIFlash.scala 57:21]
+  wire  flash_io_addr_valid; // @[TLSPIFlash.scala 57:21]
+  wire [31:0] flash_io_addr_bits_next; // @[TLSPIFlash.scala 57:21]
+  wire [31:0] flash_io_addr_bits_hold; // @[TLSPIFlash.scala 57:21]
+  wire  flash_io_data_ready; // @[TLSPIFlash.scala 57:21]
+  wire  flash_io_data_valid; // @[TLSPIFlash.scala 57:21]
+  wire [7:0] flash_io_data_bits; // @[TLSPIFlash.scala 57:21]
+  wire  flash_io_link_tx_ready; // @[TLSPIFlash.scala 57:21]
+  wire  flash_io_link_tx_valid; // @[TLSPIFlash.scala 57:21]
+  wire [7:0] flash_io_link_tx_bits; // @[TLSPIFlash.scala 57:21]
+  wire  flash_io_link_rx_valid; // @[TLSPIFlash.scala 57:21]
+  wire [7:0] flash_io_link_rx_bits; // @[TLSPIFlash.scala 57:21]
+  wire [7:0] flash_io_link_cnt; // @[TLSPIFlash.scala 57:21]
+  wire [1:0] flash_io_link_fmt_proto; // @[TLSPIFlash.scala 57:21]
+  wire  flash_io_link_fmt_endian; // @[TLSPIFlash.scala 57:21]
+  wire  flash_io_link_fmt_iodir; // @[TLSPIFlash.scala 57:21]
+  wire  flash_io_link_cs_clear; // @[TLSPIFlash.scala 57:21]
+  wire  flash_io_link_active; // @[TLSPIFlash.scala 57:21]
+  wire  flash_io_link_lock; // @[TLSPIFlash.scala 57:21]
+  wire  arb_clock; // @[TLSPIFlash.scala 58:19]
+  wire  arb_reset; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_0_tx_ready; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_0_tx_valid; // @[TLSPIFlash.scala 58:19]
+  wire [7:0] arb_io_inner_0_tx_bits; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_0_rx_valid; // @[TLSPIFlash.scala 58:19]
+  wire [7:0] arb_io_inner_0_rx_bits; // @[TLSPIFlash.scala 58:19]
+  wire [7:0] arb_io_inner_0_cnt; // @[TLSPIFlash.scala 58:19]
+  wire [1:0] arb_io_inner_0_fmt_proto; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_0_fmt_endian; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_0_fmt_iodir; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_0_cs_clear; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_0_active; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_0_lock; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_1_tx_ready; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_1_tx_valid; // @[TLSPIFlash.scala 58:19]
+  wire [7:0] arb_io_inner_1_tx_bits; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_1_rx_valid; // @[TLSPIFlash.scala 58:19]
+  wire [7:0] arb_io_inner_1_rx_bits; // @[TLSPIFlash.scala 58:19]
+  wire [7:0] arb_io_inner_1_cnt; // @[TLSPIFlash.scala 58:19]
+  wire [1:0] arb_io_inner_1_fmt_proto; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_1_fmt_endian; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_1_fmt_iodir; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_1_cs_set; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_1_cs_clear; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_inner_1_lock; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_outer_tx_ready; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_outer_tx_valid; // @[TLSPIFlash.scala 58:19]
+  wire [7:0] arb_io_outer_tx_bits; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_outer_rx_valid; // @[TLSPIFlash.scala 58:19]
+  wire [7:0] arb_io_outer_rx_bits; // @[TLSPIFlash.scala 58:19]
+  wire [7:0] arb_io_outer_cnt; // @[TLSPIFlash.scala 58:19]
+  wire [1:0] arb_io_outer_fmt_proto; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_outer_fmt_endian; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_outer_fmt_iodir; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_outer_cs_set; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_outer_cs_clear; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_outer_cs_hold; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_outer_active; // @[TLSPIFlash.scala 58:19]
+  wire  arb_io_sel; // @[TLSPIFlash.scala 58:19]
+  reg [1:0] ctrl_fmt_proto; // @[TLSPI.scala 68:17]
+  reg  ctrl_fmt_endian; // @[TLSPI.scala 68:17]
+  reg  ctrl_fmt_iodir; // @[TLSPI.scala 68:17]
+  reg [3:0] ctrl_fmt_len; // @[TLSPI.scala 68:17]
+  reg [11:0] ctrl_sck_div; // @[TLSPI.scala 68:17]
+  reg  ctrl_sck_pol; // @[TLSPI.scala 68:17]
+  reg  ctrl_sck_pha; // @[TLSPI.scala 68:17]
+  reg  ctrl_cs_id; // @[TLSPI.scala 68:17]
+  reg  ctrl_cs_dflt_0; // @[TLSPI.scala 68:17]
+  reg [1:0] ctrl_cs_mode; // @[TLSPI.scala 68:17]
+  reg [7:0] ctrl_dla_cssck; // @[TLSPI.scala 68:17]
+  reg [7:0] ctrl_dla_sckcs; // @[TLSPI.scala 68:17]
+  reg [7:0] ctrl_dla_intercs; // @[TLSPI.scala 68:17]
+  reg [7:0] ctrl_dla_interxfr; // @[TLSPI.scala 68:17]
+  reg [3:0] ctrl_wm_tx; // @[TLSPI.scala 68:17]
+  reg [3:0] ctrl_wm_rx; // @[TLSPI.scala 68:17]
+  reg [11:0] ctrl_extradel_coarse; // @[TLSPI.scala 68:17]
+  reg [4:0] ctrl_sampledel_sd; // @[TLSPI.scala 68:17]
+  reg  ie_txwm; // @[TLSPI.scala 82:15]
+  reg  ie_rxwm; // @[TLSPI.scala 82:15]
+  wire  _T = ~fifo_io_tx_ready; // @[RegMapFIFO.scala 25:9]
+  wire  _T_1 = ~fifo_io_rx_valid; // @[RegMapFIFO.scala 46:21]
+  reg  a_size; // @[TLSPIFlash.scala 66:14]
+  reg [8:0] a_source; // @[TLSPIFlash.scala 66:14]
+  reg [29:0] a_address; // @[TLSPIFlash.scala 66:14]
+  wire  bundleIn_0_a_ready = flash_io_addr_ready; // @[Nodes.scala 1210:84 TLSPIFlash.scala 76:13]
+  wire  bundleIn_0_a_valid = buffer_1_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  _T_2 = bundleIn_0_a_ready & bundleIn_0_a_valid; // @[Decoupled.scala 50:35]
+  wire  bundleIn_0_a_bits_size = buffer_1_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [8:0] bundleIn_0_a_bits_source = buffer_1_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [29:0] bundleIn_0_a_bits_address = buffer_1_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  reg [1:0] insn_cmd_proto; // @[TLSPIFlash.scala 82:17]
+  reg [7:0] insn_cmd_code; // @[TLSPIFlash.scala 82:17]
+  reg  insn_cmd_en; // @[TLSPIFlash.scala 82:17]
+  reg [1:0] insn_addr_proto; // @[TLSPIFlash.scala 82:17]
+  reg [2:0] insn_addr_len; // @[TLSPIFlash.scala 82:17]
+  reg [7:0] insn_pad_code; // @[TLSPIFlash.scala 82:17]
+  reg [3:0] insn_pad_cnt; // @[TLSPIFlash.scala 82:17]
+  reg [1:0] insn_data_proto; // @[TLSPIFlash.scala 82:17]
+  reg  flash_en; // @[TLSPIFlash.scala 83:21]
+  wire [2:0] bundleIn_0_1_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  in_bits_read = bundleIn_0_1_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [28:0] bundleIn_0_1_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [9:0] in_bits_index = bundleIn_0_1_a_bits_address[11:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire [9:0] out_findex = in_bits_index & 10'h3e0; // @[RegisterRouter.scala 83:24]
+  wire  _out_T = out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] bundleIn_0_1_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_frontMask_T_5 = bundleIn_0_1_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_7 = bundleIn_0_1_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_9 = bundleIn_0_1_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_11 = bundleIn_0_1_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_frontMask = {_out_frontMask_T_11,_out_frontMask_T_9,_out_frontMask_T_7,_out_frontMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_wimask = &out_frontMask[11:0]; // @[RegisterRouter.scala 83:24]
+  wire  bundleIn_0_1_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  bundleIn_0_1_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [4:0] out_oindex = {in_bits_index[4],in_bits_index[3],in_bits_index[2],in_bits_index[1],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [31:0] _out_frontSel_T = 32'h1 << out_oindex; // @[OneHot.scala 57:35]
+  wire  out_frontSel_0 = _out_frontSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_0 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_0 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid = out_wivalid_0 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire [31:0] bundleIn_0_1_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  out_wimask_1 = &out_frontMask[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_5 = _out_frontSel_T[5]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_5 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1 = out_wivalid_1 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_9 = out_f_wivalid_1 ? bundleIn_0_1_a_bits_data[0] : ctrl_cs_dflt_0; // @[RegField.scala 74:{88,92} TLSPI.scala 68:17]
+  wire  out_rimask_2 = |out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_2 = &out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_10 = _out_frontSel_T[10]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_2 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_10 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_2 = out_wivalid_2 & out_wimask_2; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_3 = &out_frontMask[23:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_3 = out_wivalid_2 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T = {{8'd0}, ctrl_dla_cssck}; // @[RegisterRouter.scala 83:24]
+  wire [23:0] out_prepend = {ctrl_dla_sckcs,_out_prepend_T}; // @[Cat.scala 31:58]
+  wire  out_frontSel_24 = _out_frontSel_T[24]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_4 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_24 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_4 = out_wivalid_4 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_12 = out_f_wivalid_4 ? bundleIn_0_1_a_bits_data[0] : flash_en; // @[RegField.scala 74:{88,92} TLSPIFlash.scala 83:21]
+  wire  out_frontSel_25 = _out_frontSel_T[25]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_5 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_25 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_5 = out_wivalid_5 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_13 = out_f_wivalid_5 ? bundleIn_0_1_a_bits_data[0] : insn_cmd_en; // @[RegField.scala 74:{88,92} TLSPIFlash.scala 82:17]
+  wire  out_wimask_6 = &out_frontMask[3:1]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_6 = out_wivalid_5 & out_wimask_6; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_7 = &out_frontMask[7:4]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_7 = out_wivalid_5 & out_wimask_7; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_8 = &out_frontMask[9:8]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_8 = out_wivalid_5 & out_wimask_8; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_9 = &out_frontMask[11:10]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_9 = out_wivalid_5 & out_wimask_9; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_10 = &out_frontMask[13:12]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_10 = out_wivalid_5 & out_wimask_10; // @[RegisterRouter.scala 83:24]
+  wire [13:0] out_prepend_5 = {insn_data_proto,insn_addr_proto,insn_cmd_proto,insn_pad_cnt,insn_addr_len,insn_cmd_en}; // @[Cat.scala 31:58]
+  wire  out_f_wivalid_11 = out_wivalid_5 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_6 = {{2'd0}, out_prepend_5}; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_12 = &out_frontMask[31:24]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_12 = out_wivalid_5 & out_wimask_12; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_7 = {insn_pad_code,insn_cmd_code,_out_prepend_T_6}; // @[Cat.scala 31:58]
+  wire  out_frontSel_14 = _out_frontSel_T[14]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_13 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_14 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_13 = out_wivalid_13 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_14 = &out_frontMask[3:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_20 = _out_frontSel_T[20]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_14 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_20 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_14 = out_wivalid_14 & out_wimask_14; // @[RegisterRouter.scala 83:24]
+  wire  _out_T_208 = fifo_io_ip_txwm; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_16 = &out_frontMask[1]; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_8 = {fifo_io_ip_rxwm,_out_T_208}; // @[Cat.scala 31:58]
+  wire  out_frontSel_1 = _out_frontSel_T[1]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_17 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_1 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_17 = out_wivalid_17 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_18 = out_wivalid_17 & out_wimask_16; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_9 = {ctrl_sck_pol,ctrl_sck_pha}; // @[Cat.scala 31:58]
+  wire  out_wimask_19 = &out_frontMask[1:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_6 = _out_frontSel_T[6]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_19 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_6 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_19 = out_wivalid_19 & out_wimask_19; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_28 = _out_frontSel_T[28]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_20 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_28 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_20 = out_wivalid_20 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_21 = out_wivalid_20 & out_wimask_16; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_10 = {ie_rxwm,ie_txwm}; // @[Cat.scala 31:58]
+  wire  out_frontSel_21 = _out_frontSel_T[21]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_22 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_21 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_22 = out_wivalid_22 & out_wimask_14; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_18 = _out_frontSel_T[18]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_23 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_18 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_23 = out_wivalid_23 & out_wimask_2; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_25 = &out_frontMask[31]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_25 = out_wivalid_23 & out_womask_25; // @[RegisterRouter.scala 83:24]
+  wire  quash = out_f_woready_25 & bundleIn_0_1_a_bits_data[31]; // @[RegMapFIFO.scala 27:26]
+  wire [31:0] out_prepend_12 = {_T,31'h0}; // @[Cat.scala 31:58]
+  wire  out_frontSel_16 = _out_frontSel_T[16]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_26 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_16 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_26 = out_wivalid_26 & out_wimask_19; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_27 = &out_frontMask[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_27 = out_wivalid_26 & out_wimask_27; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_28 = &out_frontMask[3]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_28 = out_wivalid_26 & out_wimask_28; // @[RegisterRouter.scala 83:24]
+  wire [3:0] out_prepend_14 = {ctrl_fmt_iodir,ctrl_fmt_endian,ctrl_fmt_proto}; // @[Cat.scala 31:58]
+  wire  out_wimask_29 = &out_frontMask[19:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_29 = out_wivalid_26 & out_wimask_29; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_15 = {{12'd0}, out_prepend_14}; // @[RegisterRouter.scala 83:24]
+  wire [19:0] out_prepend_15 = {ctrl_fmt_len,_out_prepend_T_15}; // @[Cat.scala 31:58]
+  wire  out_frontSel_11 = _out_frontSel_T[11]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_30 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_11 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_30 = out_wivalid_30 & out_wimask_2; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_31 = out_wivalid_30 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_16 = {{8'd0}, ctrl_dla_intercs}; // @[RegisterRouter.scala 83:24]
+  wire [23:0] out_prepend_16 = {ctrl_dla_interxfr,_out_prepend_T_16}; // @[Cat.scala 31:58]
+  wire  out_frontSel_19 = _out_frontSel_T[19]; // @[RegisterRouter.scala 83:24]
+  wire  out_rivalid_32 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & in_bits_read & out_frontSel_19 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire [7:0] _out_T_385 = fifo_io_rx_bits; // @[RegisterRouter.scala 83:24]
+  wire [8:0] out_prepend_17 = {1'h0,_out_T_385}; // @[Cat.scala 31:58]
+  wire [30:0] _out_T_394 = {{22'd0}, out_prepend_17}; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_18 = {_T_1,_out_T_394}; // @[Cat.scala 31:58]
+  wire  out_frontSel_4 = _out_frontSel_T[4]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_35 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_4 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_35 = out_wivalid_35 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_36 = &out_frontMask[4:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_15 = _out_frontSel_T[15]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_36 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_15 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_36 = out_wivalid_36 & out_wimask_36; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_166 = 5'h1 == out_oindex ? _out_T : _out_T; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_169 = 5'h4 == out_oindex ? _out_T : 5'h3 == out_oindex | (5'h2 == out_oindex | _GEN_166); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_170 = 5'h5 == out_oindex ? _out_T : _GEN_169; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_171 = 5'h6 == out_oindex ? _out_T : _GEN_170; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_175 = 5'ha == out_oindex ? _out_T : 5'h9 == out_oindex | (5'h8 == out_oindex | (5'h7 == out_oindex |
+    _GEN_171)); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_176 = 5'hb == out_oindex ? _out_T : _GEN_175; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_179 = 5'he == out_oindex ? _out_T : 5'hd == out_oindex | (5'hc == out_oindex | _GEN_176); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_180 = 5'hf == out_oindex ? _out_T : _GEN_179; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_181 = 5'h10 == out_oindex ? _out_T : _GEN_180; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_183 = 5'h12 == out_oindex ? _out_T : 5'h11 == out_oindex | _GEN_181; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_184 = 5'h13 == out_oindex ? _out_T : _GEN_183; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_185 = 5'h14 == out_oindex ? _out_T : _GEN_184; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_186 = 5'h15 == out_oindex ? _out_T : _GEN_185; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_189 = 5'h18 == out_oindex ? _out_T : 5'h17 == out_oindex | (5'h16 == out_oindex | _GEN_186); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_190 = 5'h19 == out_oindex ? _out_T : _GEN_189; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_193 = 5'h1c == out_oindex ? _out_T : 5'h1b == out_oindex | (5'h1a == out_oindex | _GEN_190); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_194 = 5'h1d == out_oindex ? _out_T : _GEN_193; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_196 = 5'h1f == out_oindex | (5'h1e == out_oindex | _GEN_194); // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_0 = {{20'd0}, ctrl_sck_div}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _out_out_bits_data_WIRE_1_1 = {{30'd0}, out_prepend_9}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_198 = 5'h1 == out_oindex ? _out_out_bits_data_WIRE_1_1 : _out_out_bits_data_WIRE_1_0; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_199 = 5'h2 == out_oindex ? 32'h0 : _GEN_198; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_200 = 5'h3 == out_oindex ? 32'h0 : _GEN_199; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_4 = {{31'd0}, ctrl_cs_id}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_201 = 5'h4 == out_oindex ? _out_out_bits_data_WIRE_1_4 : _GEN_200; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_5 = {{31'd0}, ctrl_cs_dflt_0}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_202 = 5'h5 == out_oindex ? _out_out_bits_data_WIRE_1_5 : _GEN_201; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_6 = {{30'd0}, ctrl_cs_mode}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_203 = 5'h6 == out_oindex ? _out_out_bits_data_WIRE_1_6 : _GEN_202; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_204 = 5'h7 == out_oindex ? 32'h0 : _GEN_203; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_205 = 5'h8 == out_oindex ? 32'h0 : _GEN_204; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_206 = 5'h9 == out_oindex ? 32'h0 : _GEN_205; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_10 = {{8'd0}, out_prepend}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_207 = 5'ha == out_oindex ? _out_out_bits_data_WIRE_1_10 : _GEN_206; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_11 = {{8'd0}, out_prepend_16}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_208 = 5'hb == out_oindex ? _out_out_bits_data_WIRE_1_11 : _GEN_207; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_209 = 5'hc == out_oindex ? 32'h0 : _GEN_208; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_210 = 5'hd == out_oindex ? 32'h0 : _GEN_209; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_14 = {{20'd0}, ctrl_extradel_coarse}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_211 = 5'he == out_oindex ? _out_out_bits_data_WIRE_1_14 : _GEN_210; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_15 = {{27'd0}, ctrl_sampledel_sd}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_212 = 5'hf == out_oindex ? _out_out_bits_data_WIRE_1_15 : _GEN_211; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_16 = {{12'd0}, out_prepend_15}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_213 = 5'h10 == out_oindex ? _out_out_bits_data_WIRE_1_16 : _GEN_212; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_214 = 5'h11 == out_oindex ? 32'h0 : _GEN_213; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_215 = 5'h12 == out_oindex ? out_prepend_12 : _GEN_214; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_216 = 5'h13 == out_oindex ? out_prepend_18 : _GEN_215; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_20 = {{28'd0}, ctrl_wm_tx}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_217 = 5'h14 == out_oindex ? _out_out_bits_data_WIRE_1_20 : _GEN_216; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_21 = {{28'd0}, ctrl_wm_rx}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_218 = 5'h15 == out_oindex ? _out_out_bits_data_WIRE_1_21 : _GEN_217; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_219 = 5'h16 == out_oindex ? 32'h0 : _GEN_218; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_220 = 5'h17 == out_oindex ? 32'h0 : _GEN_219; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_24 = {{31'd0}, flash_en}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_221 = 5'h18 == out_oindex ? _out_out_bits_data_WIRE_1_24 : _GEN_220; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_222 = 5'h19 == out_oindex ? out_prepend_7 : _GEN_221; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_223 = 5'h1a == out_oindex ? 32'h0 : _GEN_222; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_224 = 5'h1b == out_oindex ? 32'h0 : _GEN_223; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_28 = {{30'd0}, out_prepend_10}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_225 = 5'h1c == out_oindex ? _out_out_bits_data_WIRE_1_28 : _GEN_224; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_29 = {{30'd0}, out_prepend_8}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_226 = 5'h1d == out_oindex ? _out_out_bits_data_WIRE_1_29 : _GEN_225; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_227 = 5'h1e == out_oindex ? 32'h0 : _GEN_226; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_228 = 5'h1f == out_oindex ? 32'h0 : _GEN_227; // @[MuxLiteral.scala 48:{10,10}]
+  TLBuffer_13 buffer ( // @[Buffer.scala 68:28]
+    .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_19 buffer_1 ( // @[Buffer.scala 68:28]
+    .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_1 intsource ( // @[Crossing.scala 26:31]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_61 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  TLMonitor_62 monitor_1 ( // @[Nodes.scala 24:25]
+    .clock(monitor_1_clock),
+    .reset(monitor_1_reset),
+    .io_in_a_ready(monitor_1_io_in_a_ready),
+    .io_in_a_valid(monitor_1_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_1_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_1_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_1_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_1_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_1_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_1_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_1_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_1_io_in_d_ready),
+    .io_in_d_valid(monitor_1_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_1_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_1_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_1_io_in_d_bits_source)
+  );
+  SPIFIFO fifo ( // @[TLSPI.scala 69:20]
+    .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 70:19]
+    .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 57:21]
+    .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 58:19]
+    .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 auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_in_a_ready = buffer_1_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_mem_xing_in_d_valid = buffer_1_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_mem_xing_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_mem_xing_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_mem_xing_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_io_out_sck = mac_io_port_sck; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_0_o = mac_io_port_dq_0_o; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_0_oe = mac_io_port_dq_0_oe; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_1_o = mac_io_port_dq_1_o; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_1_oe = mac_io_port_dq_1_oe; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_2_o = mac_io_port_dq_2_o; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_2_oe = mac_io_port_dq_2_oe; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_3_o = mac_io_port_dq_3_o; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_3_oe = mac_io_port_dq_3_oe; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_cs_0 = mac_io_port_cs_0; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign buffer_auto_out_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = _GEN_196 ? _GEN_228 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign buffer_1_auto_in_a_valid = auto_mem_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_opcode = auto_mem_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_param = auto_mem_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_size = auto_mem_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_source = auto_mem_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_address = auto_mem_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_mask = auto_mem_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_corrupt = auto_mem_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_d_ready = auto_mem_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_out_a_ready = flash_io_addr_ready; // @[Nodes.scala 1210:84 TLSPIFlash.scala 76:13]
+  assign buffer_1_auto_out_d_valid = flash_io_data_valid; // @[Nodes.scala 1210:84 TLSPIFlash.scala 79:13]
+  assign buffer_1_auto_out_d_bits_size = a_size; // @[Edges.scala 771:17 774:15]
+  assign buffer_1_auto_out_d_bits_source = a_source; // @[Edges.scala 771:17 775:15]
+  assign buffer_1_auto_out_d_bits_data = flash_io_data_bits; // @[Edges.scala 771:17 778:15]
+  assign intsource_clock = clock;
+  assign intsource_reset = reset;
+  assign intsource_auto_in_0 = fifo_io_ip_txwm & ie_txwm | fifo_io_ip_rxwm & ie_rxwm; // @[TLSPI.scala 84:47]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = flash_io_addr_ready; // @[Nodes.scala 1210:84 TLSPIFlash.scala 76:13]
+  assign monitor_io_in_a_valid = buffer_1_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_ready = buffer_1_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_valid = flash_io_data_valid; // @[Nodes.scala 1210:84 TLSPIFlash.scala 79:13]
+  assign monitor_io_in_d_bits_size = a_size; // @[Edges.scala 771:17 774:15]
+  assign monitor_io_in_d_bits_source = a_source; // @[Edges.scala 771:17 775:15]
+  assign monitor_1_clock = clock;
+  assign monitor_1_reset = reset;
+  assign monitor_1_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_1_io_in_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign fifo_clock = clock;
+  assign fifo_reset = reset;
+  assign fifo_io_ctrl_fmt_proto = ctrl_fmt_proto; // @[TLSPI.scala 73:20]
+  assign fifo_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPI.scala 73:20]
+  assign fifo_io_ctrl_fmt_iodir = ctrl_fmt_iodir; // @[TLSPI.scala 73:20]
+  assign fifo_io_ctrl_fmt_len = ctrl_fmt_len; // @[TLSPI.scala 73:20]
+  assign fifo_io_ctrl_cs_mode = ctrl_cs_mode; // @[TLSPI.scala 74:19]
+  assign fifo_io_ctrl_wm_tx = ctrl_wm_tx; // @[TLSPI.scala 75:19]
+  assign fifo_io_ctrl_wm_rx = ctrl_wm_rx; // @[TLSPI.scala 75:19]
+  assign fifo_io_link_tx_ready = arb_io_inner_1_tx_ready; // @[TLSPIFlash.scala 139:21]
+  assign fifo_io_link_rx_valid = arb_io_inner_1_rx_valid; // @[TLSPIFlash.scala 139:21]
+  assign fifo_io_link_rx_bits = arb_io_inner_1_rx_bits; // @[TLSPIFlash.scala 139:21]
+  assign fifo_io_tx_valid = out_f_wivalid_23 & ~quash; // @[RegMapFIFO.scala 19:30]
+  assign fifo_io_tx_bits = bundleIn_0_1_a_bits_data[7:0]; // @[RegisterRouter.scala 83:24]
+  assign fifo_io_rx_ready = out_rivalid_32 & out_rimask_2; // @[RegisterRouter.scala 83:24]
+  assign mac_clock = clock;
+  assign mac_reset = reset;
+  assign mac_io_port_dq_0_i = auto_io_out_dq_0_i; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign mac_io_port_dq_1_i = auto_io_out_dq_1_i; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign mac_io_port_dq_2_i = auto_io_out_dq_2_i; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign mac_io_port_dq_3_i = auto_io_out_dq_3_i; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign mac_io_ctrl_sck_div = ctrl_sck_div; // @[TLSPI.scala 76:19]
+  assign mac_io_ctrl_sck_pol = ctrl_sck_pol; // @[TLSPI.scala 76:19]
+  assign mac_io_ctrl_sck_pha = ctrl_sck_pha; // @[TLSPI.scala 76:19]
+  assign mac_io_ctrl_dla_cssck = ctrl_dla_cssck; // @[TLSPI.scala 79:19]
+  assign mac_io_ctrl_dla_sckcs = ctrl_dla_sckcs; // @[TLSPI.scala 79:19]
+  assign mac_io_ctrl_dla_intercs = ctrl_dla_intercs; // @[TLSPI.scala 79:19]
+  assign mac_io_ctrl_dla_interxfr = ctrl_dla_interxfr; // @[TLSPI.scala 79:19]
+  assign mac_io_ctrl_cs_id = ctrl_cs_id; // @[TLSPI.scala 80:18]
+  assign mac_io_ctrl_cs_dflt_0 = ctrl_cs_dflt_0; // @[TLSPI.scala 80:18]
+  assign mac_io_ctrl_extradel_coarse = ctrl_extradel_coarse; // @[TLSPI.scala 77:24]
+  assign mac_io_ctrl_sampledel_sd = ctrl_sampledel_sd; // @[TLSPI.scala 78:25]
+  assign mac_io_link_tx_valid = arb_io_outer_tx_valid; // @[TLSPIFlash.scala 140:17]
+  assign mac_io_link_tx_bits = arb_io_outer_tx_bits; // @[TLSPIFlash.scala 140:17]
+  assign mac_io_link_cnt = arb_io_outer_cnt; // @[TLSPIFlash.scala 140:17]
+  assign mac_io_link_fmt_proto = arb_io_outer_fmt_proto; // @[TLSPIFlash.scala 140:17]
+  assign mac_io_link_fmt_endian = arb_io_outer_fmt_endian; // @[TLSPIFlash.scala 140:17]
+  assign mac_io_link_fmt_iodir = arb_io_outer_fmt_iodir; // @[TLSPIFlash.scala 140:17]
+  assign mac_io_link_cs_set = arb_io_outer_cs_set; // @[TLSPIFlash.scala 140:17]
+  assign mac_io_link_cs_clear = arb_io_outer_cs_clear; // @[TLSPIFlash.scala 140:17]
+  assign mac_io_link_cs_hold = arb_io_outer_cs_hold; // @[TLSPIFlash.scala 140:17]
+  assign flash_clock = clock;
+  assign flash_reset = reset;
+  assign flash_io_en = flash_en; // @[TLSPIFlash.scala 87:15]
+  assign flash_io_ctrl_insn_cmd_proto = insn_cmd_proto; // @[TLSPIFlash.scala 85:22]
+  assign flash_io_ctrl_insn_cmd_code = insn_cmd_code; // @[TLSPIFlash.scala 85:22]
+  assign flash_io_ctrl_insn_cmd_en = insn_cmd_en; // @[TLSPIFlash.scala 85:22]
+  assign flash_io_ctrl_insn_addr_proto = insn_addr_proto; // @[TLSPIFlash.scala 85:22]
+  assign flash_io_ctrl_insn_addr_len = insn_addr_len; // @[TLSPIFlash.scala 85:22]
+  assign flash_io_ctrl_insn_pad_code = insn_pad_code; // @[TLSPIFlash.scala 85:22]
+  assign flash_io_ctrl_insn_pad_cnt = insn_pad_cnt; // @[TLSPIFlash.scala 85:22]
+  assign flash_io_ctrl_insn_data_proto = insn_data_proto; // @[TLSPIFlash.scala 85:22]
+  assign flash_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPIFlash.scala 86:21]
+  assign flash_io_addr_valid = buffer_1_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign flash_io_addr_bits_next = {{3'd0}, bundleIn_0_a_bits_address[28:0]}; // @[TLSPIFlash.scala 73:27]
+  assign flash_io_addr_bits_hold = {{3'd0}, a_address[28:0]}; // @[TLSPIFlash.scala 74:27]
+  assign flash_io_data_ready = buffer_1_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign flash_io_link_tx_ready = arb_io_inner_0_tx_ready; // @[TLSPIFlash.scala 138:21]
+  assign flash_io_link_rx_valid = arb_io_inner_0_rx_valid; // @[TLSPIFlash.scala 138:21]
+  assign flash_io_link_rx_bits = arb_io_inner_0_rx_bits; // @[TLSPIFlash.scala 138:21]
+  assign flash_io_link_active = arb_io_inner_0_active; // @[TLSPIFlash.scala 138:21]
+  assign arb_clock = clock;
+  assign arb_reset = reset;
+  assign arb_io_inner_0_tx_valid = flash_io_link_tx_valid; // @[TLSPIFlash.scala 138:21]
+  assign arb_io_inner_0_tx_bits = flash_io_link_tx_bits; // @[TLSPIFlash.scala 138:21]
+  assign arb_io_inner_0_cnt = flash_io_link_cnt; // @[TLSPIFlash.scala 138:21]
+  assign arb_io_inner_0_fmt_proto = flash_io_link_fmt_proto; // @[TLSPIFlash.scala 138:21]
+  assign arb_io_inner_0_fmt_endian = flash_io_link_fmt_endian; // @[TLSPIFlash.scala 138:21]
+  assign arb_io_inner_0_fmt_iodir = flash_io_link_fmt_iodir; // @[TLSPIFlash.scala 138:21]
+  assign arb_io_inner_0_cs_clear = flash_io_link_cs_clear; // @[TLSPIFlash.scala 138:21]
+  assign arb_io_inner_0_lock = flash_io_link_lock; // @[TLSPIFlash.scala 138:21]
+  assign arb_io_inner_1_tx_valid = fifo_io_link_tx_valid; // @[TLSPIFlash.scala 139:21]
+  assign arb_io_inner_1_tx_bits = fifo_io_link_tx_bits; // @[TLSPIFlash.scala 139:21]
+  assign arb_io_inner_1_cnt = fifo_io_link_cnt; // @[TLSPIFlash.scala 139:21]
+  assign arb_io_inner_1_fmt_proto = fifo_io_link_fmt_proto; // @[TLSPIFlash.scala 139:21]
+  assign arb_io_inner_1_fmt_endian = fifo_io_link_fmt_endian; // @[TLSPIFlash.scala 139:21]
+  assign arb_io_inner_1_fmt_iodir = fifo_io_link_fmt_iodir; // @[TLSPIFlash.scala 139:21]
+  assign arb_io_inner_1_cs_set = fifo_io_link_cs_set; // @[TLSPIFlash.scala 139:21]
+  assign arb_io_inner_1_cs_clear = fifo_io_link_cs_clear; // @[TLSPIFlash.scala 139:21]
+  assign arb_io_inner_1_lock = fifo_io_link_lock; // @[TLSPIFlash.scala 139:21]
+  assign arb_io_outer_tx_ready = mac_io_link_tx_ready; // @[TLSPIFlash.scala 140:17]
+  assign arb_io_outer_rx_valid = mac_io_link_rx_valid; // @[TLSPIFlash.scala 140:17]
+  assign arb_io_outer_rx_bits = mac_io_link_rx_bits; // @[TLSPIFlash.scala 140:17]
+  assign arb_io_outer_active = mac_io_link_active; // @[TLSPIFlash.scala 140:17]
+  assign arb_io_sel = ~flash_en; // @[TLSPIFlash.scala 88:17]
+  always @(posedge clock) begin
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_fmt_proto <= 2'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_26) begin // @[RegField.scala 74:88]
+      ctrl_fmt_proto <= bundleIn_0_1_a_bits_data[1:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_fmt_endian <= 1'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_27) begin // @[RegField.scala 74:88]
+      ctrl_fmt_endian <= bundleIn_0_1_a_bits_data[2]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_fmt_iodir <= 1'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_28) begin // @[RegField.scala 74:88]
+      ctrl_fmt_iodir <= bundleIn_0_1_a_bits_data[3]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_fmt_len <= 4'h8; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_29) begin // @[RegField.scala 74:88]
+      ctrl_fmt_len <= bundleIn_0_1_a_bits_data[19:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_sck_div <= 12'h3; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid) begin // @[RegField.scala 74:88]
+      ctrl_sck_div <= bundleIn_0_1_a_bits_data[11:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_sck_pol <= 1'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_18) begin // @[RegField.scala 74:88]
+      ctrl_sck_pol <= bundleIn_0_1_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_sck_pha <= 1'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_17) begin // @[RegField.scala 74:88]
+      ctrl_sck_pha <= bundleIn_0_1_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_cs_id <= 1'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_35) begin // @[RegField.scala 74:88]
+      ctrl_cs_id <= bundleIn_0_1_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    ctrl_cs_dflt_0 <= reset | _GEN_9; // @[TLSPI.scala 68:{17,17}]
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_cs_mode <= 2'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_19) begin // @[RegField.scala 74:88]
+      ctrl_cs_mode <= bundleIn_0_1_a_bits_data[1:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_dla_cssck <= 8'h1; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_2) begin // @[RegField.scala 74:88]
+      ctrl_dla_cssck <= bundleIn_0_1_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_dla_sckcs <= 8'h1; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_3) begin // @[RegField.scala 74:88]
+      ctrl_dla_sckcs <= bundleIn_0_1_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_dla_intercs <= 8'h1; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_30) begin // @[RegField.scala 74:88]
+      ctrl_dla_intercs <= bundleIn_0_1_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_dla_interxfr <= 8'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_31) begin // @[RegField.scala 74:88]
+      ctrl_dla_interxfr <= bundleIn_0_1_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_wm_tx <= 4'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_14) begin // @[RegField.scala 74:88]
+      ctrl_wm_tx <= bundleIn_0_1_a_bits_data[3:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_wm_rx <= 4'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_22) begin // @[RegField.scala 74:88]
+      ctrl_wm_rx <= bundleIn_0_1_a_bits_data[3:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_extradel_coarse <= 12'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_13) begin // @[RegField.scala 74:88]
+      ctrl_extradel_coarse <= bundleIn_0_1_a_bits_data[11:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_sampledel_sd <= 5'h3; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_36) begin // @[RegField.scala 74:88]
+      ctrl_sampledel_sd <= bundleIn_0_1_a_bits_data[4:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 82:15]
+      ie_txwm <= 1'h0; // @[TLSPI.scala 82:15]
+    end else if (out_f_wivalid_20) begin // @[RegField.scala 74:88]
+      ie_txwm <= bundleIn_0_1_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 82:15]
+      ie_rxwm <= 1'h0; // @[TLSPI.scala 82:15]
+    end else if (out_f_wivalid_21) begin // @[RegField.scala 74:88]
+      ie_rxwm <= bundleIn_0_1_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+    if (_T_2) begin // @[TLSPIFlash.scala 69:21]
+      a_size <= bundleIn_0_a_bits_size; // @[TLSPIFlash.scala 70:7]
+    end
+    if (_T_2) begin // @[TLSPIFlash.scala 69:21]
+      a_source <= bundleIn_0_a_bits_source; // @[TLSPIFlash.scala 70:7]
+    end
+    if (_T_2) begin // @[TLSPIFlash.scala 69:21]
+      a_address <= bundleIn_0_a_bits_address; // @[TLSPIFlash.scala 70:7]
+    end
+    if (reset) begin // @[TLSPIFlash.scala 82:17]
+      insn_cmd_proto <= 2'h0; // @[TLSPIFlash.scala 82:17]
+    end else if (out_f_wivalid_8) begin // @[RegField.scala 74:88]
+      insn_cmd_proto <= bundleIn_0_1_a_bits_data[9:8]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPIFlash.scala 82:17]
+      insn_cmd_code <= 8'h3; // @[TLSPIFlash.scala 82:17]
+    end else if (out_f_wivalid_11) begin // @[RegField.scala 74:88]
+      insn_cmd_code <= bundleIn_0_1_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end
+    insn_cmd_en <= reset | _GEN_13; // @[TLSPIFlash.scala 82:{17,17}]
+    if (reset) begin // @[TLSPIFlash.scala 82:17]
+      insn_addr_proto <= 2'h0; // @[TLSPIFlash.scala 82:17]
+    end else if (out_f_wivalid_9) begin // @[RegField.scala 74:88]
+      insn_addr_proto <= bundleIn_0_1_a_bits_data[11:10]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPIFlash.scala 82:17]
+      insn_addr_len <= 3'h3; // @[TLSPIFlash.scala 82:17]
+    end else if (out_f_wivalid_6) begin // @[RegField.scala 74:88]
+      insn_addr_len <= bundleIn_0_1_a_bits_data[3:1]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPIFlash.scala 82:17]
+      insn_pad_code <= 8'h0; // @[TLSPIFlash.scala 82:17]
+    end else if (out_f_wivalid_12) begin // @[RegField.scala 74:88]
+      insn_pad_code <= bundleIn_0_1_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPIFlash.scala 82:17]
+      insn_pad_cnt <= 4'h0; // @[TLSPIFlash.scala 82:17]
+    end else if (out_f_wivalid_7) begin // @[RegField.scala 74:88]
+      insn_pad_cnt <= bundleIn_0_1_a_bits_data[7:4]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPIFlash.scala 82:17]
+      insn_data_proto <= 2'h0; // @[TLSPIFlash.scala 82:17]
+    end else if (out_f_wivalid_10) begin // @[RegField.scala 74:88]
+      insn_data_proto <= bundleIn_0_1_a_bits_data[13:12]; // @[RegField.scala 74:92]
+    end
+    flash_en <= reset | _GEN_12; // @[TLSPIFlash.scala 83:{21,21}]
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  ctrl_fmt_endian = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  ctrl_fmt_iodir = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  ctrl_fmt_len = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  ctrl_sck_div = _RAND_4[11:0];
+  _RAND_5 = {1{`RANDOM}};
+  ctrl_sck_pol = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  ctrl_sck_pha = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  ctrl_cs_id = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  ctrl_cs_dflt_0 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  ctrl_cs_mode = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  ctrl_dla_cssck = _RAND_10[7:0];
+  _RAND_11 = {1{`RANDOM}};
+  ctrl_dla_sckcs = _RAND_11[7:0];
+  _RAND_12 = {1{`RANDOM}};
+  ctrl_dla_intercs = _RAND_12[7:0];
+  _RAND_13 = {1{`RANDOM}};
+  ctrl_dla_interxfr = _RAND_13[7:0];
+  _RAND_14 = {1{`RANDOM}};
+  ctrl_wm_tx = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  ctrl_wm_rx = _RAND_15[3:0];
+  _RAND_16 = {1{`RANDOM}};
+  ctrl_extradel_coarse = _RAND_16[11:0];
+  _RAND_17 = {1{`RANDOM}};
+  ctrl_sampledel_sd = _RAND_17[4:0];
+  _RAND_18 = {1{`RANDOM}};
+  ie_txwm = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  ie_rxwm = _RAND_19[0:0];
+  _RAND_20 = {1{`RANDOM}};
+  a_size = _RAND_20[0:0];
+  _RAND_21 = {1{`RANDOM}};
+  a_source = _RAND_21[8:0];
+  _RAND_22 = {1{`RANDOM}};
+  a_address = _RAND_22[29:0];
+  _RAND_23 = {1{`RANDOM}};
+  insn_cmd_proto = _RAND_23[1:0];
+  _RAND_24 = {1{`RANDOM}};
+  insn_cmd_code = _RAND_24[7:0];
+  _RAND_25 = {1{`RANDOM}};
+  insn_cmd_en = _RAND_25[0:0];
+  _RAND_26 = {1{`RANDOM}};
+  insn_addr_proto = _RAND_26[1:0];
+  _RAND_27 = {1{`RANDOM}};
+  insn_addr_len = _RAND_27[2:0];
+  _RAND_28 = {1{`RANDOM}};
+  insn_pad_code = _RAND_28[7:0];
+  _RAND_29 = {1{`RANDOM}};
+  insn_pad_cnt = _RAND_29[3:0];
+  _RAND_30 = {1{`RANDOM}};
+  insn_data_proto = _RAND_30[1:0];
+  _RAND_31 = {1{`RANDOM}};
+  flash_en = _RAND_31[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ClockSinkDomain_6(
+  output        auto_qspi_0_int_xing_out_sync_0,
+  output        auto_qspi_0_mem_xing_in_a_ready,
+  input         auto_qspi_0_mem_xing_in_a_valid,
+  input  [2:0]  auto_qspi_0_mem_xing_in_a_bits_opcode,
+  input  [2:0]  auto_qspi_0_mem_xing_in_a_bits_param,
+  input         auto_qspi_0_mem_xing_in_a_bits_size,
+  input  [8:0]  auto_qspi_0_mem_xing_in_a_bits_source,
+  input  [29:0] auto_qspi_0_mem_xing_in_a_bits_address,
+  input         auto_qspi_0_mem_xing_in_a_bits_mask,
+  input         auto_qspi_0_mem_xing_in_a_bits_corrupt,
+  input         auto_qspi_0_mem_xing_in_d_ready,
+  output        auto_qspi_0_mem_xing_in_d_valid,
+  output        auto_qspi_0_mem_xing_in_d_bits_size,
+  output [8:0]  auto_qspi_0_mem_xing_in_d_bits_source,
+  output [7:0]  auto_qspi_0_mem_xing_in_d_bits_data,
+  output        auto_qspi_0_control_xing_in_a_ready,
+  input         auto_qspi_0_control_xing_in_a_valid,
+  input  [2:0]  auto_qspi_0_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_qspi_0_control_xing_in_a_bits_param,
+  input  [1:0]  auto_qspi_0_control_xing_in_a_bits_size,
+  input  [6:0]  auto_qspi_0_control_xing_in_a_bits_source,
+  input  [28:0] auto_qspi_0_control_xing_in_a_bits_address,
+  input  [3:0]  auto_qspi_0_control_xing_in_a_bits_mask,
+  input  [31:0] auto_qspi_0_control_xing_in_a_bits_data,
+  input         auto_qspi_0_control_xing_in_a_bits_corrupt,
+  input         auto_qspi_0_control_xing_in_d_ready,
+  output        auto_qspi_0_control_xing_in_d_valid,
+  output [2:0]  auto_qspi_0_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_qspi_0_control_xing_in_d_bits_size,
+  output [6:0]  auto_qspi_0_control_xing_in_d_bits_source,
+  output [31:0] auto_qspi_0_control_xing_in_d_bits_data,
+  output        auto_qspi_0_io_out_sck,
+  input         auto_qspi_0_io_out_dq_0_i,
+  output        auto_qspi_0_io_out_dq_0_o,
+  output        auto_qspi_0_io_out_dq_0_oe,
+  input         auto_qspi_0_io_out_dq_1_i,
+  output        auto_qspi_0_io_out_dq_1_o,
+  output        auto_qspi_0_io_out_dq_1_oe,
+  input         auto_qspi_0_io_out_dq_2_i,
+  output        auto_qspi_0_io_out_dq_2_o,
+  output        auto_qspi_0_io_out_dq_2_oe,
+  input         auto_qspi_0_io_out_dq_3_i,
+  output        auto_qspi_0_io_out_dq_3_o,
+  output        auto_qspi_0_io_out_dq_3_oe,
+  output        auto_qspi_0_io_out_cs_0,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  qspi_0_clock; // @[SPI.scala 93:51]
+  wire  qspi_0_reset; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_int_xing_out_sync_0; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_mem_xing_in_a_ready; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_mem_xing_in_a_valid; // @[SPI.scala 93:51]
+  wire [2:0] qspi_0_auto_mem_xing_in_a_bits_opcode; // @[SPI.scala 93:51]
+  wire [2:0] qspi_0_auto_mem_xing_in_a_bits_param; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_mem_xing_in_a_bits_size; // @[SPI.scala 93:51]
+  wire [8:0] qspi_0_auto_mem_xing_in_a_bits_source; // @[SPI.scala 93:51]
+  wire [29:0] qspi_0_auto_mem_xing_in_a_bits_address; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_mem_xing_in_a_bits_mask; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_mem_xing_in_a_bits_corrupt; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_mem_xing_in_d_ready; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_mem_xing_in_d_valid; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_mem_xing_in_d_bits_size; // @[SPI.scala 93:51]
+  wire [8:0] qspi_0_auto_mem_xing_in_d_bits_source; // @[SPI.scala 93:51]
+  wire [7:0] qspi_0_auto_mem_xing_in_d_bits_data; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_control_xing_in_a_ready; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_control_xing_in_a_valid; // @[SPI.scala 93:51]
+  wire [2:0] qspi_0_auto_control_xing_in_a_bits_opcode; // @[SPI.scala 93:51]
+  wire [2:0] qspi_0_auto_control_xing_in_a_bits_param; // @[SPI.scala 93:51]
+  wire [1:0] qspi_0_auto_control_xing_in_a_bits_size; // @[SPI.scala 93:51]
+  wire [6:0] qspi_0_auto_control_xing_in_a_bits_source; // @[SPI.scala 93:51]
+  wire [28:0] qspi_0_auto_control_xing_in_a_bits_address; // @[SPI.scala 93:51]
+  wire [3:0] qspi_0_auto_control_xing_in_a_bits_mask; // @[SPI.scala 93:51]
+  wire [31:0] qspi_0_auto_control_xing_in_a_bits_data; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_control_xing_in_a_bits_corrupt; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_control_xing_in_d_ready; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_control_xing_in_d_valid; // @[SPI.scala 93:51]
+  wire [2:0] qspi_0_auto_control_xing_in_d_bits_opcode; // @[SPI.scala 93:51]
+  wire [1:0] qspi_0_auto_control_xing_in_d_bits_size; // @[SPI.scala 93:51]
+  wire [6:0] qspi_0_auto_control_xing_in_d_bits_source; // @[SPI.scala 93:51]
+  wire [31:0] qspi_0_auto_control_xing_in_d_bits_data; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_io_out_sck; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_io_out_dq_0_i; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_io_out_dq_0_o; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_io_out_dq_0_oe; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_io_out_dq_1_i; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_io_out_dq_1_o; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_io_out_dq_1_oe; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_io_out_dq_2_i; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_io_out_dq_2_o; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_io_out_dq_2_oe; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_io_out_dq_3_i; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_io_out_dq_3_o; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_io_out_dq_3_oe; // @[SPI.scala 93:51]
+  wire  qspi_0_auto_io_out_cs_0; // @[SPI.scala 93:51]
+  TLSPIFlash qspi_0 ( // @[SPI.scala 93:51]
+    .clock(qspi_0_clock),
+    .reset(qspi_0_reset),
+    .auto_int_xing_out_sync_0(qspi_0_auto_int_xing_out_sync_0),
+    .auto_mem_xing_in_a_ready(qspi_0_auto_mem_xing_in_a_ready),
+    .auto_mem_xing_in_a_valid(qspi_0_auto_mem_xing_in_a_valid),
+    .auto_mem_xing_in_a_bits_opcode(qspi_0_auto_mem_xing_in_a_bits_opcode),
+    .auto_mem_xing_in_a_bits_param(qspi_0_auto_mem_xing_in_a_bits_param),
+    .auto_mem_xing_in_a_bits_size(qspi_0_auto_mem_xing_in_a_bits_size),
+    .auto_mem_xing_in_a_bits_source(qspi_0_auto_mem_xing_in_a_bits_source),
+    .auto_mem_xing_in_a_bits_address(qspi_0_auto_mem_xing_in_a_bits_address),
+    .auto_mem_xing_in_a_bits_mask(qspi_0_auto_mem_xing_in_a_bits_mask),
+    .auto_mem_xing_in_a_bits_corrupt(qspi_0_auto_mem_xing_in_a_bits_corrupt),
+    .auto_mem_xing_in_d_ready(qspi_0_auto_mem_xing_in_d_ready),
+    .auto_mem_xing_in_d_valid(qspi_0_auto_mem_xing_in_d_valid),
+    .auto_mem_xing_in_d_bits_size(qspi_0_auto_mem_xing_in_d_bits_size),
+    .auto_mem_xing_in_d_bits_source(qspi_0_auto_mem_xing_in_d_bits_source),
+    .auto_mem_xing_in_d_bits_data(qspi_0_auto_mem_xing_in_d_bits_data),
+    .auto_control_xing_in_a_ready(qspi_0_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(qspi_0_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(qspi_0_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(qspi_0_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(qspi_0_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(qspi_0_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(qspi_0_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(qspi_0_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(qspi_0_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(qspi_0_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(qspi_0_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(qspi_0_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(qspi_0_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(qspi_0_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(qspi_0_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(qspi_0_auto_control_xing_in_d_bits_data),
+    .auto_io_out_sck(qspi_0_auto_io_out_sck),
+    .auto_io_out_dq_0_i(qspi_0_auto_io_out_dq_0_i),
+    .auto_io_out_dq_0_o(qspi_0_auto_io_out_dq_0_o),
+    .auto_io_out_dq_0_oe(qspi_0_auto_io_out_dq_0_oe),
+    .auto_io_out_dq_1_i(qspi_0_auto_io_out_dq_1_i),
+    .auto_io_out_dq_1_o(qspi_0_auto_io_out_dq_1_o),
+    .auto_io_out_dq_1_oe(qspi_0_auto_io_out_dq_1_oe),
+    .auto_io_out_dq_2_i(qspi_0_auto_io_out_dq_2_i),
+    .auto_io_out_dq_2_o(qspi_0_auto_io_out_dq_2_o),
+    .auto_io_out_dq_2_oe(qspi_0_auto_io_out_dq_2_oe),
+    .auto_io_out_dq_3_i(qspi_0_auto_io_out_dq_3_i),
+    .auto_io_out_dq_3_o(qspi_0_auto_io_out_dq_3_o),
+    .auto_io_out_dq_3_oe(qspi_0_auto_io_out_dq_3_oe),
+    .auto_io_out_cs_0(qspi_0_auto_io_out_cs_0)
+  );
+  assign auto_qspi_0_int_xing_out_sync_0 = qspi_0_auto_int_xing_out_sync_0; // @[LazyModule.scala 311:12]
+  assign auto_qspi_0_mem_xing_in_a_ready = qspi_0_auto_mem_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_qspi_0_mem_xing_in_d_valid = qspi_0_auto_mem_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_qspi_0_mem_xing_in_d_bits_size = qspi_0_auto_mem_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_qspi_0_mem_xing_in_d_bits_source = qspi_0_auto_mem_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_qspi_0_mem_xing_in_d_bits_data = qspi_0_auto_mem_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_qspi_0_control_xing_in_a_ready = qspi_0_auto_control_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_qspi_0_control_xing_in_d_valid = qspi_0_auto_control_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_qspi_0_control_xing_in_d_bits_opcode = qspi_0_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_qspi_0_control_xing_in_d_bits_size = qspi_0_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_qspi_0_control_xing_in_d_bits_source = qspi_0_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_qspi_0_control_xing_in_d_bits_data = qspi_0_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_qspi_0_io_out_sck = qspi_0_auto_io_out_sck; // @[LazyModule.scala 311:12]
+  assign auto_qspi_0_io_out_dq_0_o = qspi_0_auto_io_out_dq_0_o; // @[LazyModule.scala 311:12]
+  assign auto_qspi_0_io_out_dq_0_oe = qspi_0_auto_io_out_dq_0_oe; // @[LazyModule.scala 311:12]
+  assign auto_qspi_0_io_out_dq_1_o = qspi_0_auto_io_out_dq_1_o; // @[LazyModule.scala 311:12]
+  assign auto_qspi_0_io_out_dq_1_oe = qspi_0_auto_io_out_dq_1_oe; // @[LazyModule.scala 311:12]
+  assign auto_qspi_0_io_out_dq_2_o = qspi_0_auto_io_out_dq_2_o; // @[LazyModule.scala 311:12]
+  assign auto_qspi_0_io_out_dq_2_oe = qspi_0_auto_io_out_dq_2_oe; // @[LazyModule.scala 311:12]
+  assign auto_qspi_0_io_out_dq_3_o = qspi_0_auto_io_out_dq_3_o; // @[LazyModule.scala 311:12]
+  assign auto_qspi_0_io_out_dq_3_oe = qspi_0_auto_io_out_dq_3_oe; // @[LazyModule.scala 311:12]
+  assign auto_qspi_0_io_out_cs_0 = qspi_0_auto_io_out_cs_0; // @[LazyModule.scala 311:12]
+  assign qspi_0_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign qspi_0_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign qspi_0_auto_mem_xing_in_a_valid = auto_qspi_0_mem_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_mem_xing_in_a_bits_opcode = auto_qspi_0_mem_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_mem_xing_in_a_bits_param = auto_qspi_0_mem_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_mem_xing_in_a_bits_size = auto_qspi_0_mem_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_mem_xing_in_a_bits_source = auto_qspi_0_mem_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_mem_xing_in_a_bits_address = auto_qspi_0_mem_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_mem_xing_in_a_bits_mask = auto_qspi_0_mem_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_mem_xing_in_a_bits_corrupt = auto_qspi_0_mem_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_mem_xing_in_d_ready = auto_qspi_0_mem_xing_in_d_ready; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_control_xing_in_a_valid = auto_qspi_0_control_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_control_xing_in_a_bits_opcode = auto_qspi_0_control_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_control_xing_in_a_bits_param = auto_qspi_0_control_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_control_xing_in_a_bits_size = auto_qspi_0_control_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_control_xing_in_a_bits_source = auto_qspi_0_control_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_control_xing_in_a_bits_address = auto_qspi_0_control_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_control_xing_in_a_bits_mask = auto_qspi_0_control_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_control_xing_in_a_bits_data = auto_qspi_0_control_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_control_xing_in_a_bits_corrupt = auto_qspi_0_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_control_xing_in_d_ready = auto_qspi_0_control_xing_in_d_ready; // @[LazyModule.scala 309:16]
+  assign qspi_0_auto_io_out_dq_0_i = auto_qspi_0_io_out_dq_0_i; // @[LazyModule.scala 311:12]
+  assign qspi_0_auto_io_out_dq_1_i = auto_qspi_0_io_out_dq_1_i; // @[LazyModule.scala 311:12]
+  assign qspi_0_auto_io_out_dq_2_i = auto_qspi_0_io_out_dq_2_i; // @[LazyModule.scala 311:12]
+  assign qspi_0_auto_io_out_dq_3_i = auto_qspi_0_io_out_dq_3_i; // @[LazyModule.scala 311:12]
+endmodule
+module TLBuffer_21(
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input         auto_in_a_bits_size,
+  input  [10:0] auto_in_a_bits_source,
+  input  [30:0] auto_in_a_bits_address,
+  input         auto_in_a_bits_mask,
+  input  [7:0]  auto_in_a_bits_data,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [2:0]  auto_in_d_bits_opcode,
+  output        auto_in_d_bits_size,
+  output [10:0] auto_in_d_bits_source,
+  output [7:0]  auto_in_d_bits_data,
+  input         auto_out_a_ready,
+  output        auto_out_a_valid,
+  output [2:0]  auto_out_a_bits_opcode,
+  output [2:0]  auto_out_a_bits_param,
+  output        auto_out_a_bits_size,
+  output [10:0] auto_out_a_bits_source,
+  output [30:0] auto_out_a_bits_address,
+  output        auto_out_a_bits_mask,
+  output [7:0]  auto_out_a_bits_data,
+  output        auto_out_a_bits_corrupt,
+  output        auto_out_d_ready,
+  input         auto_out_d_valid,
+  input  [2:0]  auto_out_d_bits_opcode,
+  input         auto_out_d_bits_size,
+  input  [10:0] auto_out_d_bits_source,
+  input  [7:0]  auto_out_d_bits_data
+);
+  assign auto_in_a_ready = auto_out_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_valid = auto_out_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign auto_out_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_63(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input         io_in_a_bits_size,
+  input  [10:0] io_in_a_bits_source,
+  input  [30:0] io_in_a_bits_address,
+  input         io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input         io_in_d_bits_size,
+  input  [10:0] io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [2047:0] _RAND_10;
+  reg [8191:0] _RAND_11;
+  reg [4095:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [2047:0] _RAND_16;
+  reg [4095:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [30:0] _T_33 = io_in_a_bits_address ^ 31'h40000000; // @[Parameters.scala 137:31]
+  wire [31:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [31:0] _T_36 = $signed(_T_34) & -32'sh20000000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 32'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire  _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = ~(~io_in_a_bits_mask); // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_163 = ~io_in_a_bits_size; // @[Parameters.scala 91:48]
+  wire  _T_170 = _T_163 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_181 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_193 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire  _T_272 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_302 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_310 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_340 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_348 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_378 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_390 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _T_394 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_414 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_442 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg  size; // @[Monitor.scala 386:22]
+  reg [10:0] source; // @[Monitor.scala 387:22]
+  reg [30:0] address; // @[Monitor.scala 388:22]
+  wire  _T_536 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_537 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_541 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_545 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_549 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_553 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg  size_1; // @[Monitor.scala 537:22]
+  reg [10:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_560 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_561 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_569 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_573 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [2047:0] inflight; // @[Monitor.scala 611:27]
+  reg [8191:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [4095:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [12:0] _GEN_71 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [13:0] _a_opcode_lookup_T = {{1'd0}, _GEN_71}; // @[Monitor.scala 634:69]
+  wire [8191:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [8191:0] _GEN_72 = {{8176'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [8191:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_72; // @[Monitor.scala 634:97]
+  wire [8191:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[8191:1]}; // @[Monitor.scala 634:152]
+  wire [11:0] _a_size_lookup_T = {io_in_d_bits_source, 1'h0}; // @[Monitor.scala 638:65]
+  wire [4095:0] _a_size_lookup_T_1 = inflight_sizes >> _a_size_lookup_T; // @[Monitor.scala 638:40]
+  wire [3:0] _a_size_lookup_T_5 = 4'h4 - 4'h1; // @[Monitor.scala 609:57]
+  wire [4095:0] _GEN_74 = {{4092'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 638:91]
+  wire [4095:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_74; // @[Monitor.scala 638:91]
+  wire [4095:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[4095:1]}; // @[Monitor.scala 638:144]
+  wire  _T_587 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [2047:0] _a_set_wo_ready_T = 2048'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_590 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [1:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [1:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 2'h1; // @[Monitor.scala 655:59]
+  wire [12:0] _GEN_76 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [13:0] _a_opcodes_set_T = {{1'd0}, _GEN_76}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [16386:0] _GEN_1 = {{16383'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [16386:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [11:0] _a_sizes_set_T = {io_in_a_bits_source, 1'h0}; // @[Monitor.scala 657:77]
+  wire [1:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 2'h0; // @[Monitor.scala 652:72 655:28]
+  wire [4096:0] _GEN_2 = {{4095'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [4096:0] _a_sizes_set_T_1 = _GEN_2 << _a_sizes_set_T; // @[Monitor.scala 657:52]
+  wire [2047:0] _T_592 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_594 = ~_T_592[0]; // @[Monitor.scala 658:17]
+  wire [2047:0] a_set = a_first_done & a_first_1 ? _a_set_wo_ready_T : 2048'h0; // @[Monitor.scala 652:72 653:28]
+  wire [16386:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 16387'h0; // @[Monitor.scala 652:72 656:28]
+  wire [4096:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 4097'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_598 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_600 = ~_T_394; // @[Monitor.scala 671:74]
+  wire  _T_601 = io_in_d_valid & d_first_1 & ~_T_394; // @[Monitor.scala 671:71]
+  wire [2047:0] _d_clr_wo_ready_T = 2048'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [16398:0] _GEN_3 = {{16383'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [16398:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [4098:0] _GEN_4 = {{4095'd0}, _a_size_lookup_T_5}; // @[Monitor.scala 678:74]
+  wire [4098:0] _d_sizes_clr_T_5 = _GEN_4 << _a_size_lookup_T; // @[Monitor.scala 678:74]
+  wire [2047:0] d_clr = d_first_done & d_first_1 & _T_600 ? _d_clr_wo_ready_T : 2048'h0; // @[Monitor.scala 675:91 676:21]
+  wire [16398:0] _GEN_23 = d_first_done & d_first_1 & _T_600 ? _d_opcodes_clr_T_5 : 16399'h0; // @[Monitor.scala 675:91 677:21]
+  wire [4098:0] _GEN_24 = d_first_done & d_first_1 & _T_600 ? _d_sizes_clr_T_5 : 4099'h0; // @[Monitor.scala 675:91 678:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_587 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [2047:0] _T_611 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_613 = _T_611[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_618 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_619 = io_in_d_bits_opcode == _GEN_32 | _T_618; // @[Monitor.scala 685:77]
+  wire  _T_623 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_630 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_631 = io_in_d_bits_opcode == _GEN_48 | _T_630; // @[Monitor.scala 689:72]
+  wire [1:0] a_size_lookup = _a_size_lookup_T_7[1:0];
+  wire [1:0] _GEN_78 = {{1'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_635 = _GEN_78 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_645 = _T_598 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_600; // @[Monitor.scala 694:116]
+  wire  _T_647 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [2047:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [2047:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [2047:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [8191:0] a_opcodes_set = _GEN_19[8191:0];
+  wire [8191:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [8191:0] d_opcodes_clr = _GEN_23[8191:0];
+  wire [8191:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [8191:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [4095:0] a_sizes_set = _GEN_20[4095:0];
+  wire [4095:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [4095:0] d_sizes_clr = _GEN_24[4095:0];
+  wire [4095:0] _inflight_sizes_T_1 = ~d_sizes_clr; // @[Monitor.scala 704:56]
+  wire [4095:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_sizes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_656 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [2047:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [4095:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [4095:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_size_lookup_T; // @[Monitor.scala 747:42]
+  wire [4095:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_74; // @[Monitor.scala 747:93]
+  wire [4095:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[4095:1]}; // @[Monitor.scala 747:146]
+  wire  _T_682 = io_in_d_valid & d_first_2 & _T_394; // @[Monitor.scala 779:71]
+  wire [2047:0] d_clr_1 = d_first_done & d_first_2 & _T_394 ? _d_clr_wo_ready_T : 2048'h0; // @[Monitor.scala 783:90 784:21]
+  wire [4098:0] _GEN_69 = d_first_done & d_first_2 & _T_394 ? _d_sizes_clr_T_5 : 4099'h0; // @[Monitor.scala 783:90 786:21]
+  wire [2047:0] _T_690 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [1:0] c_size_lookup = _c_size_lookup_T_7[1:0];
+  wire  _T_700 = _GEN_78 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [2047:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [2047:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [4095:0] d_sizes_clr_1 = _GEN_69[4095:0];
+  wire [4095:0] _inflight_sizes_T_4 = ~d_sizes_clr_1; // @[Monitor.scala 811:58]
+  wire [4095:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_sizes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_720 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 2048'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 8192'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 4096'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 2048'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 4096'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_170 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_170) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_181 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_181) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_170 & (io_in_a_valid & _T_193 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_193 & ~reset & ~_T_170) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_181 & (io_in_a_valid & _T_193 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_193 & ~reset & ~_T_181) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_193 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_193 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_232 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_232 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_181 & (io_in_a_valid & _T_232 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_232 & ~reset & ~_T_181) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_272 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_272 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_302 & (io_in_a_valid & _T_272 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_272 & ~reset & ~_T_302) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_272 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_272 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_310 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_310 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_340 & (io_in_a_valid & _T_310 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_310 & ~reset & ~_T_340) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_310 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_310 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_348 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_348 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_378 & (io_in_a_valid & _T_348 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_348 & ~reset & ~_T_378) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_73 & (io_in_a_valid & _T_348 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_348 & ~reset & _T_73) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_348 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_348 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_390 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_390) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_414 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_414 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_442 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_442 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_537 & (_T_536 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_536 & ~reset & ~_T_537) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_541 & (_T_536 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_536 & ~reset & ~_T_541) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_545 & (_T_536 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_536 & ~reset & ~_T_545) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_549 & (_T_536 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_536 & ~reset & ~_T_549) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_553 & (_T_536 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_536 & ~reset & ~_T_553) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_561 & (_T_560 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & _T_2 & ~_T_561) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_569 & (_T_560 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & _T_2 & ~_T_569) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_573 & (_T_560 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_560 & _T_2 & ~_T_573) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_594 & (_T_590 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_590 & ~reset & ~_T_594) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_613 & (_T_601 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_601 & _T_2 & ~_T_613) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_619 & (_T_601 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_601 & same_cycle_resp & _T_2 & ~_T_619) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_623 & (_T_601 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_601 & same_cycle_resp & _T_2 & ~_T_623) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_631 & (_T_601 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_601 & ~same_cycle_resp & _T_2 & ~_T_631) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_635 & (_T_601 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_601 & ~same_cycle_resp & _T_2 & ~_T_635) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_647 & (_T_645 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_645 & _T_2 & ~_T_647) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_656 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_656) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_690[0] & (_T_682 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_682 & _T_2 & ~_T_690[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_700 & (_T_682 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_682 & _T_2 & ~_T_700) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_720 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_720) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[10:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[30:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[10:0];
+  _RAND_10 = {64{`RANDOM}};
+  inflight = _RAND_10[2047:0];
+  _RAND_11 = {256{`RANDOM}};
+  inflight_opcodes = _RAND_11[8191:0];
+  _RAND_12 = {128{`RANDOM}};
+  inflight_sizes = _RAND_12[4095:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {64{`RANDOM}};
+  inflight_1 = _RAND_16[2047:0];
+  _RAND_17 = {128{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[4095:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLMonitor_64(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10034000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_663 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_663) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module SPIRAMMap(
+  input         clock,
+  input         reset,
+  input         io_en,
+  input  [1:0]  io_ctrl_insn_cmd_proto,
+  input  [7:0]  io_ctrl_insn_cmd_code,
+  input         io_ctrl_insn_cmd_en,
+  input  [7:0]  io_ctrl_insn_wcmd_code,
+  input  [1:0]  io_ctrl_insn_addr_proto,
+  input  [2:0]  io_ctrl_insn_addr_len,
+  input  [7:0]  io_ctrl_insn_pad_code,
+  input  [3:0]  io_ctrl_insn_pad_cnt,
+  input  [1:0]  io_ctrl_insn_data_proto,
+  input  [3:0]  io_ctrl_insn_pgsz,
+  input  [11:0] io_ctrl_insn_max_cen_cyc,
+  input         io_ctrl_fmt_endian,
+  output        io_addr_ready,
+  input         io_addr_valid,
+  input  [31:0] io_addr_bits_next,
+  input  [31:0] io_addr_bits_hold,
+  input  [2:0]  io_opcode_next,
+  input  [2:0]  io_opcode_hold,
+  input  [7:0]  io_wdata,
+  input         io_data_ready,
+  output        io_data_valid,
+  output [7:0]  io_data_bits,
+  input         io_link_tx_ready,
+  output        io_link_tx_valid,
+  output [7:0]  io_link_tx_bits,
+  input         io_link_rx_valid,
+  input  [7:0]  io_link_rx_bits,
+  output [7:0]  io_link_cnt,
+  output [1:0]  io_link_fmt_proto,
+  output        io_link_fmt_endian,
+  output        io_link_fmt_iodir,
+  output        io_link_cs_clear,
+  input         io_link_active,
+  output        io_link_lock
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] addr = io_addr_bits_hold + 32'h1; // @[SPIRAM.scala 76:32]
+  wire  _GEN_0 = io_ctrl_insn_pgsz == 4'hc ? ~(|addr[11:0]) : 1'h1; // @[SPIRAM.scala 105:31 106:13 108:13]
+  wire  _GEN_1 = io_ctrl_insn_pgsz == 4'hb ? ~(|addr[10:0]) : _GEN_0; // @[SPIRAM.scala 103:31 104:13]
+  wire  _GEN_2 = io_ctrl_insn_pgsz == 4'ha ? ~(|addr[9:0]) : _GEN_1; // @[SPIRAM.scala 101:31 102:13]
+  wire  _GEN_3 = io_ctrl_insn_pgsz == 4'h9 ? ~(|addr[8:0]) : _GEN_2; // @[SPIRAM.scala 100:13 99:30]
+  wire  _GEN_4 = io_ctrl_insn_pgsz == 4'h8 ? ~(|addr[7:0]) : _GEN_3; // @[SPIRAM.scala 97:30 98:13]
+  wire  _GEN_5 = io_ctrl_insn_pgsz == 4'h7 ? ~(|addr[6:0]) : _GEN_4; // @[SPIRAM.scala 95:30 96:13]
+  wire  _GEN_6 = io_ctrl_insn_pgsz == 4'h6 ? ~(|addr[5:0]) : _GEN_5; // @[SPIRAM.scala 93:30 94:13]
+  wire  _GEN_7 = io_ctrl_insn_pgsz == 4'h5 ? ~(|addr[4:0]) : _GEN_6; // @[SPIRAM.scala 91:30 92:13]
+  wire  _GEN_8 = io_ctrl_insn_pgsz == 4'h4 ? ~(|addr[3:0]) : _GEN_7; // @[SPIRAM.scala 89:30 90:13]
+  wire  _GEN_9 = io_ctrl_insn_pgsz == 4'h3 ? ~(|addr[2:0]) : _GEN_8; // @[SPIRAM.scala 87:30 88:13]
+  wire  _GEN_10 = io_ctrl_insn_pgsz == 4'h2 ? ~(|addr[1:0]) : _GEN_9; // @[SPIRAM.scala 85:30 86:13]
+  wire  _GEN_11 = io_ctrl_insn_pgsz == 4'h1 ? ~(|addr[0]) : _GEN_10; // @[SPIRAM.scala 83:30 84:13]
+  wire  newpage = io_ctrl_insn_pgsz == 4'h0 | _GEN_11; // @[SPIRAM.scala 81:23 82:13]
+  wire  _io_link_cnt_T = 2'h0 == io_link_fmt_proto; // @[SPIConsts.scala 13:48]
+  wire  _io_link_cnt_T_1 = 2'h1 == io_link_fmt_proto; // @[SPIConsts.scala 13:48]
+  wire  _io_link_cnt_T_2 = 2'h2 == io_link_fmt_proto; // @[SPIConsts.scala 13:48]
+  wire [3:0] _io_link_cnt_T_3 = _io_link_cnt_T ? 4'h8 : 4'h0; // @[Mux.scala 27:73]
+  wire [2:0] _io_link_cnt_T_4 = _io_link_cnt_T_1 ? 3'h4 : 3'h0; // @[Mux.scala 27:73]
+  wire [1:0] _io_link_cnt_T_5 = _io_link_cnt_T_2 ? 2'h2 : 2'h0; // @[Mux.scala 27:73]
+  wire [3:0] _GEN_116 = {{1'd0}, _io_link_cnt_T_4}; // @[Mux.scala 27:73]
+  wire [3:0] _io_link_cnt_T_6 = _io_link_cnt_T_3 | _GEN_116; // @[Mux.scala 27:73]
+  wire [3:0] _GEN_117 = {{2'd0}, _io_link_cnt_T_5}; // @[Mux.scala 27:73]
+  wire [3:0] _io_link_cnt_T_7 = _io_link_cnt_T_6 | _GEN_117; // @[Mux.scala 27:73]
+  reg [3:0] cnt; // @[SPIRAM.scala 130:16]
+  wire  cnt_cmp_0 = cnt == 4'h0; // @[SPIRAM.scala 132:48]
+  wire  cnt_cmp_1 = cnt == 4'h1; // @[SPIRAM.scala 132:48]
+  wire  cnt_cmp_2 = cnt == 4'h2; // @[SPIRAM.scala 132:48]
+  wire  cnt_cmp_3 = cnt == 4'h3; // @[SPIRAM.scala 132:48]
+  wire  cnt_cmp_4 = cnt == 4'h4; // @[SPIRAM.scala 132:48]
+  wire  cnt_last = cnt_cmp_1 & io_link_tx_ready; // @[SPIRAM.scala 134:29]
+  wire  cnt_done = cnt_last | cnt_cmp_0; // @[SPIRAM.scala 135:27]
+  wire  _T_13 = io_link_tx_ready & io_link_tx_valid; // @[Decoupled.scala 50:35]
+  wire [3:0] _cnt_T_1 = cnt - 4'h1; // @[SPIRAM.scala 139:18]
+  wire [3:0] _GEN_13 = _T_13 ? _cnt_T_1 : cnt; // @[SPIRAM.scala 138:28 139:11 130:16]
+  reg [2:0] state; // @[SPIRAM.scala 156:18]
+  wire  _GEN_94 = 3'h1 == state ? 1'h0 : 3'h2 == state; // @[SPIRAM.scala 158:18]
+  wire  cnt_en = 3'h0 == state ? 1'h0 : _GEN_94; // @[SPIRAM.scala 158:18]
+  wire  _GEN_14 = cnt_en ? ~cnt_cmp_0 : 1'h1; // @[SPIRAM.scala 136:17 112:20 137:22]
+  wire [3:0] _GEN_15 = cnt_en ? _GEN_13 : cnt; // @[SPIRAM.scala 130:16 136:17]
+  reg [15:0] cen_cnt; // @[SPIRAM.scala 144:24]
+  wire [15:0] _cen_cnt_T_1 = cen_cnt + 16'h1; // @[SPIRAM.scala 146:24]
+  reg  no_merge; // @[SPIRAM.scala 152:25]
+  wire  merge = ~no_merge & io_link_active & ~newpage & io_addr_bits_next == addr & io_opcode_next == io_opcode_hold; // @[SPIRAM.scala 153:87]
+  wire [2:0] _state_T = io_ctrl_insn_cmd_en ? 3'h1 : 3'h2; // @[SPIRAM.scala 167:25]
+  wire [2:0] _GEN_17 = merge ? 3'h4 : _state_T; // @[SPIRAM.scala 164:24 165:19 167:19]
+  wire  _GEN_18 = merge ? 1'h0 : 1'h1; // @[SPIRAM.scala 121:20 164:24 168:30]
+  wire [15:0] _GEN_118 = {{4'd0}, io_ctrl_insn_max_cen_cyc}; // @[SPIRAM.scala 174:25]
+  wire  _T_15 = cen_cnt >= _GEN_118; // @[SPIRAM.scala 174:25]
+  wire  _GEN_20 = cen_cnt >= _GEN_118 | no_merge; // @[SPIRAM.scala 174:46 176:22 152:25]
+  wire  _GEN_22 = io_addr_valid ? _GEN_18 : _T_15; // @[SPIRAM.scala 163:30]
+  wire  _GEN_28 = io_en & _GEN_22; // @[SPIRAM.scala 121:20 161:20]
+  wire  _GEN_30 = io_en & io_addr_valid; // @[SPIRAM.scala 161:20 181:22]
+  wire  _T_17 = io_opcode_hold == 3'h0; // @[SPIRAM.scala 190:28]
+  wire [7:0] _GEN_31 = io_opcode_hold == 3'h0 ? io_ctrl_insn_wcmd_code : io_ctrl_insn_cmd_code; // @[SPIRAM.scala 190:56 191:25 193:25]
+  wire [7:0] _io_link_tx_bits_T_4 = cnt_cmp_1 ? io_addr_bits_hold[7:0] : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _io_link_tx_bits_T_5 = cnt_cmp_2 ? io_addr_bits_hold[15:8] : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _io_link_tx_bits_T_6 = cnt_cmp_3 ? io_addr_bits_hold[23:16] : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _io_link_tx_bits_T_7 = cnt_cmp_4 ? io_addr_bits_hold[31:24] : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _io_link_tx_bits_T_8 = _io_link_tx_bits_T_4 | _io_link_tx_bits_T_5; // @[Mux.scala 27:73]
+  wire [7:0] _io_link_tx_bits_T_9 = _io_link_tx_bits_T_8 | _io_link_tx_bits_T_6; // @[Mux.scala 27:73]
+  wire [7:0] _io_link_tx_bits_T_10 = _io_link_tx_bits_T_9 | _io_link_tx_bits_T_7; // @[Mux.scala 27:73]
+  wire [2:0] _GEN_34 = cnt_done ? 3'h3 : state; // @[SPIRAM.scala 210:23 211:15 156:18]
+  wire [3:0] _GEN_35 = _T_17 ? 4'h0 : io_ctrl_insn_pad_cnt; // @[SPIRAM.scala 216:56 217:21 219:21]
+  wire [2:0] _GEN_36 = io_link_tx_ready ? 3'h4 : state; // @[SPIRAM.scala 224:31 225:15 156:18]
+  wire  _GEN_38 = _T_17 | _GEN_14; // @[SPIRAM.scala 231:56 233:26]
+  wire [2:0] _GEN_40 = io_link_tx_ready ? 3'h5 : state; // @[SPIRAM.scala 239:31 240:15 156:18]
+  wire  _GEN_42 = _T_17 | io_link_rx_valid; // @[SPIRAM.scala 245:56 247:23 250:23]
+  wire  _T_26 = io_data_ready & io_data_valid; // @[Decoupled.scala 50:35]
+  wire [2:0] _GEN_46 = _T_26 ? 3'h0 : state; // @[SPIRAM.scala 259:27 260:15 156:18]
+  wire [2:0] _GEN_47 = io_data_ready ? 3'h0 : state; // @[SPIRAM.scala 272:30 273:17 156:18]
+  wire [2:0] _GEN_50 = _T_17 ? 3'h0 : _GEN_47; // @[SPIRAM.scala 265:56 268:15]
+  wire [7:0] _GEN_52 = 3'h6 == state ? 8'h0 : io_link_rx_bits; // @[SPIRAM.scala 128:16 158:18]
+  wire [2:0] _GEN_53 = 3'h6 == state ? _GEN_50 : state; // @[SPIRAM.scala 156:18 158:18]
+  wire  _GEN_54 = 3'h5 == state ? 1'h0 : _GEN_14; // @[SPIRAM.scala 158:18]
+  wire  _GEN_55 = 3'h5 == state ? _GEN_42 : 3'h6 == state; // @[SPIRAM.scala 158:18]
+  wire [7:0] _GEN_56 = 3'h5 == state ? io_link_rx_bits : _GEN_52; // @[SPIRAM.scala 158:18]
+  wire  _GEN_58 = 3'h5 == state ? _GEN_20 : no_merge; // @[SPIRAM.scala 158:18 152:25]
+  wire [2:0] _GEN_59 = 3'h5 == state ? _GEN_46 : _GEN_53; // @[SPIRAM.scala 158:18]
+  wire [1:0] _GEN_60 = 3'h4 == state ? io_ctrl_insn_data_proto : io_ctrl_insn_addr_proto; // @[SPIRAM.scala 158:18 113:21 230:25]
+  wire  _GEN_61 = 3'h4 == state ? _T_17 : 1'h1; // @[SPIRAM.scala 158:18 114:21]
+  wire  _GEN_62 = 3'h4 == state ? _GEN_38 : _GEN_54; // @[SPIRAM.scala 158:18]
+  wire [2:0] _GEN_64 = 3'h4 == state ? _GEN_40 : _GEN_59; // @[SPIRAM.scala 158:18]
+  wire  _GEN_65 = 3'h4 == state ? 1'h0 : _GEN_55; // @[SPIRAM.scala 127:17 158:18]
+  wire [7:0] _GEN_66 = 3'h4 == state ? io_link_rx_bits : _GEN_56; // @[SPIRAM.scala 128:16 158:18]
+  wire  _GEN_67 = 3'h4 == state ? 1'h0 : 3'h5 == state & _T_15; // @[SPIRAM.scala 158:18 121:20]
+  wire  _GEN_68 = 3'h4 == state ? no_merge : _GEN_58; // @[SPIRAM.scala 158:18 152:25]
+  wire [3:0] _GEN_69 = 3'h3 == state ? _GEN_35 : _io_link_cnt_T_7; // @[SPIRAM.scala 116:15 158:18]
+  wire [7:0] _GEN_70 = 3'h3 == state ? io_ctrl_insn_pad_code : io_wdata; // @[SPIRAM.scala 158:18 222:23]
+  wire [2:0] _GEN_71 = 3'h3 == state ? _GEN_36 : _GEN_64; // @[SPIRAM.scala 158:18]
+  wire [1:0] _GEN_72 = 3'h3 == state ? io_ctrl_insn_addr_proto : _GEN_60; // @[SPIRAM.scala 158:18 113:21]
+  wire  _GEN_74 = 3'h3 == state ? _GEN_14 : _GEN_62; // @[SPIRAM.scala 158:18]
+  wire  _GEN_75 = 3'h3 == state ? 1'h0 : _GEN_65; // @[SPIRAM.scala 127:17 158:18]
+  wire [7:0] _GEN_76 = 3'h3 == state ? io_link_rx_bits : _GEN_66; // @[SPIRAM.scala 128:16 158:18]
+  wire  _GEN_77 = 3'h3 == state ? 1'h0 : _GEN_67; // @[SPIRAM.scala 158:18 121:20]
+  wire  _GEN_78 = 3'h3 == state ? no_merge : _GEN_68; // @[SPIRAM.scala 158:18 152:25]
+  wire [7:0] _GEN_79 = 3'h2 == state ? _io_link_tx_bits_T_10 : _GEN_70; // @[SPIRAM.scala 158:18 202:23]
+  wire [3:0] _GEN_82 = 3'h2 == state ? _io_link_cnt_T_7 : _GEN_69; // @[SPIRAM.scala 116:15 158:18]
+  wire [1:0] _GEN_83 = 3'h2 == state ? io_ctrl_insn_addr_proto : _GEN_72; // @[SPIRAM.scala 158:18 113:21]
+  wire  _GEN_85 = 3'h2 == state ? _GEN_14 : _GEN_74; // @[SPIRAM.scala 158:18]
+  wire  _GEN_86 = 3'h2 == state ? 1'h0 : _GEN_75; // @[SPIRAM.scala 127:17 158:18]
+  wire [7:0] _GEN_87 = 3'h2 == state ? io_link_rx_bits : _GEN_76; // @[SPIRAM.scala 128:16 158:18]
+  wire  _GEN_88 = 3'h2 == state ? 1'h0 : _GEN_77; // @[SPIRAM.scala 158:18 121:20]
+  wire [1:0] _GEN_90 = 3'h1 == state ? io_ctrl_insn_cmd_proto : _GEN_83; // @[SPIRAM.scala 158:18 189:25]
+  wire [3:0] _GEN_95 = 3'h1 == state ? _io_link_cnt_T_7 : _GEN_82; // @[SPIRAM.scala 116:15 158:18]
+  wire  _GEN_97 = 3'h1 == state ? _GEN_14 : _GEN_85; // @[SPIRAM.scala 158:18]
+  wire  _GEN_98 = 3'h1 == state ? 1'h0 : _GEN_86; // @[SPIRAM.scala 127:17 158:18]
+  wire [7:0] _GEN_99 = 3'h1 == state ? io_link_rx_bits : _GEN_87; // @[SPIRAM.scala 128:16 158:18]
+  wire  _GEN_100 = 3'h1 == state ? 1'h0 : _GEN_88; // @[SPIRAM.scala 158:18 121:20]
+  wire [3:0] _GEN_112 = 3'h0 == state ? _io_link_cnt_T_7 : _GEN_95; // @[SPIRAM.scala 116:15 158:18]
+  assign io_addr_ready = 3'h0 == state; // @[SPIRAM.scala 158:18]
+  assign io_data_valid = 3'h0 == state ? 1'h0 : _GEN_98; // @[SPIRAM.scala 127:17 158:18]
+  assign io_data_bits = 3'h0 == state ? io_link_rx_bits : _GEN_99; // @[SPIRAM.scala 128:16 158:18]
+  assign io_link_tx_valid = 3'h0 == state ? 1'h0 : _GEN_97; // @[SPIRAM.scala 158:18 160:24]
+  assign io_link_tx_bits = 3'h1 == state ? _GEN_31 : _GEN_79; // @[SPIRAM.scala 158:18]
+  assign io_link_cnt = {{4'd0}, _GEN_112};
+  assign io_link_fmt_proto = 3'h0 == state ? io_ctrl_insn_addr_proto : _GEN_90; // @[SPIRAM.scala 158:18 113:21]
+  assign io_link_fmt_endian = io_ctrl_fmt_endian; // @[SPIRAM.scala 115:22]
+  assign io_link_fmt_iodir = 3'h0 == state | (3'h1 == state | (3'h2 == state | (3'h3 == state | _GEN_61))); // @[SPIRAM.scala 158:18 114:21]
+  assign io_link_cs_clear = 3'h0 == state ? _GEN_28 : _GEN_100; // @[SPIRAM.scala 158:18]
+  assign io_link_lock = 3'h0 == state ? _GEN_30 : 1'h1; // @[SPIRAM.scala 123:16 158:18]
+  always @(posedge clock) begin
+    if (3'h0 == state) begin // @[SPIRAM.scala 158:18]
+      cnt <= _GEN_15;
+    end else if (3'h1 == state) begin // @[SPIRAM.scala 158:18]
+      if (io_link_tx_ready) begin // @[SPIRAM.scala 195:31]
+        cnt <= {{1'd0}, io_ctrl_insn_addr_len}; // @[SPIRAM.scala 197:13]
+      end else begin
+        cnt <= _GEN_15;
+      end
+    end else begin
+      cnt <= _GEN_15;
+    end
+    if (reset) begin // @[SPIRAM.scala 156:18]
+      state <= 3'h0; // @[SPIRAM.scala 156:18]
+    end else if (3'h0 == state) begin // @[SPIRAM.scala 158:18]
+      if (io_en) begin // @[SPIRAM.scala 161:20]
+        if (io_addr_valid) begin // @[SPIRAM.scala 163:30]
+          state <= _GEN_17;
+        end
+      end else if (io_addr_valid) begin // @[SPIRAM.scala 182:30]
+        state <= 3'h6; // @[SPIRAM.scala 183:17]
+      end
+    end else if (3'h1 == state) begin // @[SPIRAM.scala 158:18]
+      if (io_link_tx_ready) begin // @[SPIRAM.scala 195:31]
+        state <= 3'h2; // @[SPIRAM.scala 196:15]
+      end
+    end else if (3'h2 == state) begin // @[SPIRAM.scala 158:18]
+      state <= _GEN_34;
+    end else begin
+      state <= _GEN_71;
+    end
+    if (reset) begin // @[SPIRAM.scala 144:24]
+      cen_cnt <= 16'h0; // @[SPIRAM.scala 144:24]
+    end else if (io_link_active) begin // @[SPIRAM.scala 145:25]
+      cen_cnt <= _cen_cnt_T_1; // @[SPIRAM.scala 146:13]
+    end else begin
+      cen_cnt <= 16'h0; // @[SPIRAM.scala 148:13]
+    end
+    if (reset) begin // @[SPIRAM.scala 152:25]
+      no_merge <= 1'h0; // @[SPIRAM.scala 152:25]
+    end else if (3'h0 == state) begin // @[SPIRAM.scala 158:18]
+      if (io_en) begin // @[SPIRAM.scala 161:20]
+        if (io_addr_valid) begin // @[SPIRAM.scala 163:30]
+          no_merge <= 1'h0; // @[SPIRAM.scala 170:20]
+        end else begin
+          no_merge <= _GEN_20;
+        end
+      end
+    end else if (!(3'h1 == state)) begin // @[SPIRAM.scala 158:18]
+      if (!(3'h2 == state)) begin // @[SPIRAM.scala 158:18]
+        no_merge <= _GEN_78;
+      end
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  state = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  cen_cnt = _RAND_2[15:0];
+  _RAND_3 = {1{`RANDOM}};
+  no_merge = _RAND_3[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLSPIRAM(
+  input         clock,
+  input         reset,
+  output        auto_int_xing_out_sync_0,
+  output        auto_mem_xing_in_a_ready,
+  input         auto_mem_xing_in_a_valid,
+  input  [2:0]  auto_mem_xing_in_a_bits_opcode,
+  input  [2:0]  auto_mem_xing_in_a_bits_param,
+  input         auto_mem_xing_in_a_bits_size,
+  input  [10:0] auto_mem_xing_in_a_bits_source,
+  input  [30:0] auto_mem_xing_in_a_bits_address,
+  input         auto_mem_xing_in_a_bits_mask,
+  input  [7:0]  auto_mem_xing_in_a_bits_data,
+  input         auto_mem_xing_in_a_bits_corrupt,
+  input         auto_mem_xing_in_d_ready,
+  output        auto_mem_xing_in_d_valid,
+  output [2:0]  auto_mem_xing_in_d_bits_opcode,
+  output        auto_mem_xing_in_d_bits_size,
+  output [10:0] auto_mem_xing_in_d_bits_source,
+  output [7:0]  auto_mem_xing_in_d_bits_data,
+  output        auto_control_xing_in_a_ready,
+  input         auto_control_xing_in_a_valid,
+  input  [2:0]  auto_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_control_xing_in_a_bits_param,
+  input  [1:0]  auto_control_xing_in_a_bits_size,
+  input  [6:0]  auto_control_xing_in_a_bits_source,
+  input  [28:0] auto_control_xing_in_a_bits_address,
+  input  [3:0]  auto_control_xing_in_a_bits_mask,
+  input  [31:0] auto_control_xing_in_a_bits_data,
+  input         auto_control_xing_in_a_bits_corrupt,
+  input         auto_control_xing_in_d_ready,
+  output        auto_control_xing_in_d_valid,
+  output [2:0]  auto_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_control_xing_in_d_bits_size,
+  output [6:0]  auto_control_xing_in_d_bits_source,
+  output [31:0] auto_control_xing_in_d_bits_data,
+  output        auto_io_out_sck,
+  input         auto_io_out_dq_0_i,
+  output        auto_io_out_dq_0_o,
+  output        auto_io_out_dq_0_oe,
+  input         auto_io_out_dq_1_i,
+  output        auto_io_out_dq_1_o,
+  output        auto_io_out_dq_1_oe,
+  input         auto_io_out_dq_2_i,
+  output        auto_io_out_dq_2_o,
+  output        auto_io_out_dq_2_oe,
+  input         auto_io_out_dq_3_i,
+  output        auto_io_out_dq_3_o,
+  output        auto_io_out_dq_3_oe,
+  output        auto_io_out_cs_0
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+  reg [31:0] _RAND_34;
+  reg [31:0] _RAND_35;
+  reg [31:0] _RAND_36;
+`endif // RANDOMIZE_REG_INIT
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [10:0] buffer_1_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [7:0] buffer_1_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [10:0] buffer_1_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [7:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [10:0] buffer_1_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [30:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [7:0] buffer_1_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_1_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire  buffer_1_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [10:0] buffer_1_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [7:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  intsource_clock; // @[Crossing.scala 26:31]
+  wire  intsource_reset; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [10:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [30:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [10:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  monitor_1_clock; // @[Nodes.scala 24:25]
+  wire  monitor_1_reset; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_1_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_1_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_1_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_1_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_1_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_1_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_1_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_1_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_1_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_1_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  fifo_clock; // @[TLSPI.scala 69:20]
+  wire  fifo_reset; // @[TLSPI.scala 69:20]
+  wire [1:0] fifo_io_ctrl_fmt_proto; // @[TLSPI.scala 69:20]
+  wire  fifo_io_ctrl_fmt_endian; // @[TLSPI.scala 69:20]
+  wire  fifo_io_ctrl_fmt_iodir; // @[TLSPI.scala 69:20]
+  wire [3:0] fifo_io_ctrl_fmt_len; // @[TLSPI.scala 69:20]
+  wire [1:0] fifo_io_ctrl_cs_mode; // @[TLSPI.scala 69:20]
+  wire [3:0] fifo_io_ctrl_wm_tx; // @[TLSPI.scala 69:20]
+  wire [3:0] fifo_io_ctrl_wm_rx; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_tx_ready; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_tx_valid; // @[TLSPI.scala 69:20]
+  wire [7:0] fifo_io_link_tx_bits; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_rx_valid; // @[TLSPI.scala 69:20]
+  wire [7:0] fifo_io_link_rx_bits; // @[TLSPI.scala 69:20]
+  wire [7:0] fifo_io_link_cnt; // @[TLSPI.scala 69:20]
+  wire [1:0] fifo_io_link_fmt_proto; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_fmt_endian; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_fmt_iodir; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_cs_set; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_cs_clear; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_lock; // @[TLSPI.scala 69:20]
+  wire  fifo_io_tx_ready; // @[TLSPI.scala 69:20]
+  wire  fifo_io_tx_valid; // @[TLSPI.scala 69:20]
+  wire [7:0] fifo_io_tx_bits; // @[TLSPI.scala 69:20]
+  wire  fifo_io_rx_ready; // @[TLSPI.scala 69:20]
+  wire  fifo_io_rx_valid; // @[TLSPI.scala 69:20]
+  wire [7:0] fifo_io_rx_bits; // @[TLSPI.scala 69:20]
+  wire  fifo_io_ip_txwm; // @[TLSPI.scala 69:20]
+  wire  fifo_io_ip_rxwm; // @[TLSPI.scala 69:20]
+  wire  mac_clock; // @[TLSPI.scala 70:19]
+  wire  mac_reset; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_sck; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_0_i; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_0_o; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_0_oe; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_1_i; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_1_o; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_1_oe; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_2_i; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_2_o; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_2_oe; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_3_i; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_3_o; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_3_oe; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_cs_0; // @[TLSPI.scala 70:19]
+  wire [11:0] mac_io_ctrl_sck_div; // @[TLSPI.scala 70:19]
+  wire  mac_io_ctrl_sck_pol; // @[TLSPI.scala 70:19]
+  wire  mac_io_ctrl_sck_pha; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_ctrl_dla_cssck; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_ctrl_dla_sckcs; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_ctrl_dla_intercs; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_ctrl_dla_interxfr; // @[TLSPI.scala 70:19]
+  wire  mac_io_ctrl_cs_id; // @[TLSPI.scala 70:19]
+  wire  mac_io_ctrl_cs_dflt_0; // @[TLSPI.scala 70:19]
+  wire [11:0] mac_io_ctrl_extradel_coarse; // @[TLSPI.scala 70:19]
+  wire [4:0] mac_io_ctrl_sampledel_sd; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_tx_ready; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_tx_valid; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_link_tx_bits; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_rx_valid; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_link_rx_bits; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_link_cnt; // @[TLSPI.scala 70:19]
+  wire [1:0] mac_io_link_fmt_proto; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_fmt_endian; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_fmt_iodir; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_cs_set; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_cs_clear; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_cs_hold; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_active; // @[TLSPI.scala 70:19]
+  wire  ram_clock; // @[TLSPIRAM.scala 58:19]
+  wire  ram_reset; // @[TLSPIRAM.scala 58:19]
+  wire  ram_io_en; // @[TLSPIRAM.scala 58:19]
+  wire [1:0] ram_io_ctrl_insn_cmd_proto; // @[TLSPIRAM.scala 58:19]
+  wire [7:0] ram_io_ctrl_insn_cmd_code; // @[TLSPIRAM.scala 58:19]
+  wire  ram_io_ctrl_insn_cmd_en; // @[TLSPIRAM.scala 58:19]
+  wire [7:0] ram_io_ctrl_insn_wcmd_code; // @[TLSPIRAM.scala 58:19]
+  wire [1:0] ram_io_ctrl_insn_addr_proto; // @[TLSPIRAM.scala 58:19]
+  wire [2:0] ram_io_ctrl_insn_addr_len; // @[TLSPIRAM.scala 58:19]
+  wire [7:0] ram_io_ctrl_insn_pad_code; // @[TLSPIRAM.scala 58:19]
+  wire [3:0] ram_io_ctrl_insn_pad_cnt; // @[TLSPIRAM.scala 58:19]
+  wire [1:0] ram_io_ctrl_insn_data_proto; // @[TLSPIRAM.scala 58:19]
+  wire [3:0] ram_io_ctrl_insn_pgsz; // @[TLSPIRAM.scala 58:19]
+  wire [11:0] ram_io_ctrl_insn_max_cen_cyc; // @[TLSPIRAM.scala 58:19]
+  wire  ram_io_ctrl_fmt_endian; // @[TLSPIRAM.scala 58:19]
+  wire  ram_io_addr_ready; // @[TLSPIRAM.scala 58:19]
+  wire  ram_io_addr_valid; // @[TLSPIRAM.scala 58:19]
+  wire [31:0] ram_io_addr_bits_next; // @[TLSPIRAM.scala 58:19]
+  wire [31:0] ram_io_addr_bits_hold; // @[TLSPIRAM.scala 58:19]
+  wire [2:0] ram_io_opcode_next; // @[TLSPIRAM.scala 58:19]
+  wire [2:0] ram_io_opcode_hold; // @[TLSPIRAM.scala 58:19]
+  wire [7:0] ram_io_wdata; // @[TLSPIRAM.scala 58:19]
+  wire  ram_io_data_ready; // @[TLSPIRAM.scala 58:19]
+  wire  ram_io_data_valid; // @[TLSPIRAM.scala 58:19]
+  wire [7:0] ram_io_data_bits; // @[TLSPIRAM.scala 58:19]
+  wire  ram_io_link_tx_ready; // @[TLSPIRAM.scala 58:19]
+  wire  ram_io_link_tx_valid; // @[TLSPIRAM.scala 58:19]
+  wire [7:0] ram_io_link_tx_bits; // @[TLSPIRAM.scala 58:19]
+  wire  ram_io_link_rx_valid; // @[TLSPIRAM.scala 58:19]
+  wire [7:0] ram_io_link_rx_bits; // @[TLSPIRAM.scala 58:19]
+  wire [7:0] ram_io_link_cnt; // @[TLSPIRAM.scala 58:19]
+  wire [1:0] ram_io_link_fmt_proto; // @[TLSPIRAM.scala 58:19]
+  wire  ram_io_link_fmt_endian; // @[TLSPIRAM.scala 58:19]
+  wire  ram_io_link_fmt_iodir; // @[TLSPIRAM.scala 58:19]
+  wire  ram_io_link_cs_clear; // @[TLSPIRAM.scala 58:19]
+  wire  ram_io_link_active; // @[TLSPIRAM.scala 58:19]
+  wire  ram_io_link_lock; // @[TLSPIRAM.scala 58:19]
+  wire  arb_clock; // @[TLSPIRAM.scala 59:19]
+  wire  arb_reset; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_0_tx_ready; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_0_tx_valid; // @[TLSPIRAM.scala 59:19]
+  wire [7:0] arb_io_inner_0_tx_bits; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_0_rx_valid; // @[TLSPIRAM.scala 59:19]
+  wire [7:0] arb_io_inner_0_rx_bits; // @[TLSPIRAM.scala 59:19]
+  wire [7:0] arb_io_inner_0_cnt; // @[TLSPIRAM.scala 59:19]
+  wire [1:0] arb_io_inner_0_fmt_proto; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_0_fmt_endian; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_0_fmt_iodir; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_0_cs_clear; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_0_active; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_0_lock; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_1_tx_ready; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_1_tx_valid; // @[TLSPIRAM.scala 59:19]
+  wire [7:0] arb_io_inner_1_tx_bits; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_1_rx_valid; // @[TLSPIRAM.scala 59:19]
+  wire [7:0] arb_io_inner_1_rx_bits; // @[TLSPIRAM.scala 59:19]
+  wire [7:0] arb_io_inner_1_cnt; // @[TLSPIRAM.scala 59:19]
+  wire [1:0] arb_io_inner_1_fmt_proto; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_1_fmt_endian; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_1_fmt_iodir; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_1_cs_set; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_1_cs_clear; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_inner_1_lock; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_outer_tx_ready; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_outer_tx_valid; // @[TLSPIRAM.scala 59:19]
+  wire [7:0] arb_io_outer_tx_bits; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_outer_rx_valid; // @[TLSPIRAM.scala 59:19]
+  wire [7:0] arb_io_outer_rx_bits; // @[TLSPIRAM.scala 59:19]
+  wire [7:0] arb_io_outer_cnt; // @[TLSPIRAM.scala 59:19]
+  wire [1:0] arb_io_outer_fmt_proto; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_outer_fmt_endian; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_outer_fmt_iodir; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_outer_cs_set; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_outer_cs_clear; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_outer_cs_hold; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_outer_active; // @[TLSPIRAM.scala 59:19]
+  wire  arb_io_sel; // @[TLSPIRAM.scala 59:19]
+  reg [1:0] ctrl_fmt_proto; // @[TLSPI.scala 68:17]
+  reg  ctrl_fmt_endian; // @[TLSPI.scala 68:17]
+  reg  ctrl_fmt_iodir; // @[TLSPI.scala 68:17]
+  reg [3:0] ctrl_fmt_len; // @[TLSPI.scala 68:17]
+  reg [11:0] ctrl_sck_div; // @[TLSPI.scala 68:17]
+  reg  ctrl_sck_pol; // @[TLSPI.scala 68:17]
+  reg  ctrl_sck_pha; // @[TLSPI.scala 68:17]
+  reg  ctrl_cs_id; // @[TLSPI.scala 68:17]
+  reg  ctrl_cs_dflt_0; // @[TLSPI.scala 68:17]
+  reg [1:0] ctrl_cs_mode; // @[TLSPI.scala 68:17]
+  reg [7:0] ctrl_dla_cssck; // @[TLSPI.scala 68:17]
+  reg [7:0] ctrl_dla_sckcs; // @[TLSPI.scala 68:17]
+  reg [7:0] ctrl_dla_intercs; // @[TLSPI.scala 68:17]
+  reg [7:0] ctrl_dla_interxfr; // @[TLSPI.scala 68:17]
+  reg [3:0] ctrl_wm_tx; // @[TLSPI.scala 68:17]
+  reg [3:0] ctrl_wm_rx; // @[TLSPI.scala 68:17]
+  reg [11:0] ctrl_extradel_coarse; // @[TLSPI.scala 68:17]
+  reg [4:0] ctrl_sampledel_sd; // @[TLSPI.scala 68:17]
+  reg  ie_txwm; // @[TLSPI.scala 82:15]
+  reg  ie_rxwm; // @[TLSPI.scala 82:15]
+  wire  _T = ~fifo_io_tx_ready; // @[RegMapFIFO.scala 25:9]
+  wire  _T_1 = ~fifo_io_rx_valid; // @[RegMapFIFO.scala 46:21]
+  reg [2:0] a_opcode; // @[TLSPIRAM.scala 67:14]
+  reg  a_size; // @[TLSPIRAM.scala 67:14]
+  reg [10:0] a_source; // @[TLSPIRAM.scala 67:14]
+  reg [30:0] a_address; // @[TLSPIRAM.scala 67:14]
+  reg [7:0] a_data; // @[TLSPIRAM.scala 67:14]
+  wire  bundleIn_0_a_ready = ram_io_addr_ready; // @[Nodes.scala 1210:84 TLSPIRAM.scala 80:13]
+  wire  bundleIn_0_a_valid = buffer_1_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  _T_2 = bundleIn_0_a_ready & bundleIn_0_a_valid; // @[Decoupled.scala 50:35]
+  wire [2:0] bundleIn_0_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  bundleIn_0_a_bits_size = buffer_1_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [10:0] bundleIn_0_a_bits_source = buffer_1_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [30:0] bundleIn_0_a_bits_address = buffer_1_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] bundleIn_0_a_bits_data = buffer_1_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] bundleIn_0_d_bits_d_1_data = ram_io_data_bits; // @[Edges.scala 771:17 778:15]
+  reg [1:0] insn_cmd_proto; // @[TLSPIRAM.scala 90:17]
+  reg [7:0] insn_cmd_code; // @[TLSPIRAM.scala 90:17]
+  reg  insn_cmd_en; // @[TLSPIRAM.scala 90:17]
+  reg [7:0] insn_wcmd_code; // @[TLSPIRAM.scala 90:17]
+  reg [1:0] insn_addr_proto; // @[TLSPIRAM.scala 90:17]
+  reg [2:0] insn_addr_len; // @[TLSPIRAM.scala 90:17]
+  reg [7:0] insn_pad_code; // @[TLSPIRAM.scala 90:17]
+  reg [3:0] insn_pad_cnt; // @[TLSPIRAM.scala 90:17]
+  reg [1:0] insn_data_proto; // @[TLSPIRAM.scala 90:17]
+  reg [3:0] insn_pgsz; // @[TLSPIRAM.scala 90:17]
+  reg [11:0] insn_max_cen_cyc; // @[TLSPIRAM.scala 90:17]
+  reg  ram_en; // @[TLSPIRAM.scala 91:19]
+  wire [2:0] bundleIn_0_1_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  in_bits_read = bundleIn_0_1_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [28:0] bundleIn_0_1_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [9:0] in_bits_index = bundleIn_0_1_a_bits_address[11:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire [9:0] out_findex = in_bits_index & 10'h3e0; // @[RegisterRouter.scala 83:24]
+  wire  _out_T = out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] bundleIn_0_1_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_frontMask_T_5 = bundleIn_0_1_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_7 = bundleIn_0_1_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_9 = bundleIn_0_1_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_11 = bundleIn_0_1_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_frontMask = {_out_frontMask_T_11,_out_frontMask_T_9,_out_frontMask_T_7,_out_frontMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_wimask = &out_frontMask[11:0]; // @[RegisterRouter.scala 83:24]
+  wire  bundleIn_0_1_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  bundleIn_0_1_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [4:0] out_oindex = {in_bits_index[4],in_bits_index[3],in_bits_index[2],in_bits_index[1],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [31:0] _out_frontSel_T = 32'h1 << out_oindex; // @[OneHot.scala 57:35]
+  wire  out_frontSel_0 = _out_frontSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_0 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_0 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid = out_wivalid_0 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire [31:0] bundleIn_0_1_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  out_wimask_1 = &out_frontMask[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_5 = _out_frontSel_T[5]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_5 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1 = out_wivalid_1 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_17 = out_f_wivalid_1 ? bundleIn_0_1_a_bits_data[0] : ctrl_cs_dflt_0; // @[RegField.scala 74:{88,92} TLSPI.scala 68:17]
+  wire  out_rimask_2 = |out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_2 = &out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_10 = _out_frontSel_T[10]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_2 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_10 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_2 = out_wivalid_2 & out_wimask_2; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_3 = &out_frontMask[23:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_3 = out_wivalid_2 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T = {{8'd0}, ctrl_dla_cssck}; // @[RegisterRouter.scala 83:24]
+  wire [23:0] out_prepend = {ctrl_dla_sckcs,_out_prepend_T}; // @[Cat.scala 31:58]
+  wire  out_frontSel_24 = _out_frontSel_T[24]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_4 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_24 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_4 = out_wivalid_4 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_20 = out_f_wivalid_4 ? bundleIn_0_1_a_bits_data[0] : ram_en; // @[RegField.scala 74:{88,92} TLSPIRAM.scala 91:19]
+  wire  out_frontSel_25 = _out_frontSel_T[25]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_5 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_25 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_5 = out_wivalid_5 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_21 = out_f_wivalid_5 ? bundleIn_0_1_a_bits_data[0] : insn_cmd_en; // @[RegField.scala 74:{88,92} TLSPIRAM.scala 90:17]
+  wire  out_wimask_6 = &out_frontMask[3:1]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_6 = out_wivalid_5 & out_wimask_6; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_7 = &out_frontMask[7:4]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_7 = out_wivalid_5 & out_wimask_7; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_8 = &out_frontMask[9:8]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_8 = out_wivalid_5 & out_wimask_8; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_9 = &out_frontMask[11:10]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_9 = out_wivalid_5 & out_wimask_9; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_10 = &out_frontMask[13:12]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_10 = out_wivalid_5 & out_wimask_10; // @[RegisterRouter.scala 83:24]
+  wire [13:0] out_prepend_5 = {insn_data_proto,insn_addr_proto,insn_cmd_proto,insn_pad_cnt,insn_addr_len,insn_cmd_en}; // @[Cat.scala 31:58]
+  wire  out_f_wivalid_11 = out_wivalid_5 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_6 = {{2'd0}, out_prepend_5}; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_12 = &out_frontMask[31:24]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_12 = out_wivalid_5 & out_wimask_12; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_7 = {insn_pad_code,insn_cmd_code,_out_prepend_T_6}; // @[Cat.scala 31:58]
+  wire  out_frontSel_14 = _out_frontSel_T[14]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_13 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_14 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_13 = out_wivalid_13 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_14 = &out_frontMask[3:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_20 = _out_frontSel_T[20]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_14 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_20 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_14 = out_wivalid_14 & out_wimask_14; // @[RegisterRouter.scala 83:24]
+  wire  _out_T_210 = fifo_io_ip_txwm; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_16 = &out_frontMask[1]; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_8 = {fifo_io_ip_rxwm,_out_T_210}; // @[Cat.scala 31:58]
+  wire  out_frontSel_1 = _out_frontSel_T[1]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_17 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_1 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_17 = out_wivalid_17 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_18 = out_wivalid_17 & out_wimask_16; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_9 = {ctrl_sck_pol,ctrl_sck_pha}; // @[Cat.scala 31:58]
+  wire  out_wimask_19 = &out_frontMask[1:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_6 = _out_frontSel_T[6]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_19 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_6 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_19 = out_wivalid_19 & out_wimask_19; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_28 = _out_frontSel_T[28]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_20 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_28 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_20 = out_wivalid_20 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_21 = out_wivalid_20 & out_wimask_16; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_10 = {ie_rxwm,ie_txwm}; // @[Cat.scala 31:58]
+  wire  out_frontSel_21 = _out_frontSel_T[21]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_22 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_21 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_22 = out_wivalid_22 & out_wimask_14; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_18 = _out_frontSel_T[18]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_23 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_18 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_23 = out_wivalid_23 & out_wimask_2; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_25 = &out_frontMask[31]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_25 = out_wivalid_23 & out_womask_25; // @[RegisterRouter.scala 83:24]
+  wire  quash = out_f_woready_25 & bundleIn_0_1_a_bits_data[31]; // @[RegMapFIFO.scala 27:26]
+  wire [31:0] out_prepend_12 = {_T,31'h0}; // @[Cat.scala 31:58]
+  wire  out_frontSel_16 = _out_frontSel_T[16]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_26 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_16 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_26 = out_wivalid_26 & out_wimask_19; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_27 = &out_frontMask[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_27 = out_wivalid_26 & out_wimask_27; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_28 = &out_frontMask[3]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_28 = out_wivalid_26 & out_wimask_28; // @[RegisterRouter.scala 83:24]
+  wire [3:0] out_prepend_14 = {ctrl_fmt_iodir,ctrl_fmt_endian,ctrl_fmt_proto}; // @[Cat.scala 31:58]
+  wire  out_wimask_29 = &out_frontMask[19:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_29 = out_wivalid_26 & out_wimask_29; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_15 = {{12'd0}, out_prepend_14}; // @[RegisterRouter.scala 83:24]
+  wire [19:0] out_prepend_15 = {ctrl_fmt_len,_out_prepend_T_15}; // @[Cat.scala 31:58]
+  wire  out_frontSel_11 = _out_frontSel_T[11]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_30 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_11 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_30 = out_wivalid_30 & out_wimask_2; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_31 = out_wivalid_30 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_16 = {{8'd0}, ctrl_dla_intercs}; // @[RegisterRouter.scala 83:24]
+  wire [23:0] out_prepend_16 = {ctrl_dla_interxfr,_out_prepend_T_16}; // @[Cat.scala 31:58]
+  wire  out_frontSel_26 = _out_frontSel_T[26]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_32 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_26 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_32 = out_wivalid_32 & out_wimask_2; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_33 = &out_frontMask[11:8]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_33 = out_wivalid_32 & out_wimask_33; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_34 = &out_frontMask[23:12]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_34 = out_wivalid_32 & out_wimask_34; // @[RegisterRouter.scala 83:24]
+  wire [23:0] out_prepend_18 = {insn_max_cen_cyc,insn_pgsz,insn_wcmd_code}; // @[Cat.scala 31:58]
+  wire  out_frontSel_19 = _out_frontSel_T[19]; // @[RegisterRouter.scala 83:24]
+  wire  out_rivalid_35 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & in_bits_read & out_frontSel_19 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire [7:0] _out_T_420 = fifo_io_rx_bits; // @[RegisterRouter.scala 83:24]
+  wire [8:0] out_prepend_19 = {1'h0,_out_T_420}; // @[Cat.scala 31:58]
+  wire [30:0] _out_T_429 = {{22'd0}, out_prepend_19}; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_20 = {_T_1,_out_T_429}; // @[Cat.scala 31:58]
+  wire  out_frontSel_4 = _out_frontSel_T[4]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_38 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_4 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_38 = out_wivalid_38 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_39 = &out_frontMask[4:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_15 = _out_frontSel_T[15]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_39 = bundleIn_0_1_a_valid & bundleIn_0_1_d_ready & ~in_bits_read & out_frontSel_15 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_39 = out_wivalid_39 & out_wimask_39; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_177 = 5'h1 == out_oindex ? _out_T : _out_T; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_180 = 5'h4 == out_oindex ? _out_T : 5'h3 == out_oindex | (5'h2 == out_oindex | _GEN_177); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_181 = 5'h5 == out_oindex ? _out_T : _GEN_180; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_182 = 5'h6 == out_oindex ? _out_T : _GEN_181; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_186 = 5'ha == out_oindex ? _out_T : 5'h9 == out_oindex | (5'h8 == out_oindex | (5'h7 == out_oindex |
+    _GEN_182)); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_187 = 5'hb == out_oindex ? _out_T : _GEN_186; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_190 = 5'he == out_oindex ? _out_T : 5'hd == out_oindex | (5'hc == out_oindex | _GEN_187); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_191 = 5'hf == out_oindex ? _out_T : _GEN_190; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_192 = 5'h10 == out_oindex ? _out_T : _GEN_191; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_194 = 5'h12 == out_oindex ? _out_T : 5'h11 == out_oindex | _GEN_192; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_195 = 5'h13 == out_oindex ? _out_T : _GEN_194; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_196 = 5'h14 == out_oindex ? _out_T : _GEN_195; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_197 = 5'h15 == out_oindex ? _out_T : _GEN_196; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_200 = 5'h18 == out_oindex ? _out_T : 5'h17 == out_oindex | (5'h16 == out_oindex | _GEN_197); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_201 = 5'h19 == out_oindex ? _out_T : _GEN_200; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_202 = 5'h1a == out_oindex ? _out_T : _GEN_201; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_204 = 5'h1c == out_oindex ? _out_T : 5'h1b == out_oindex | _GEN_202; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_205 = 5'h1d == out_oindex ? _out_T : _GEN_204; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_207 = 5'h1f == out_oindex | (5'h1e == out_oindex | _GEN_205); // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_0 = {{20'd0}, ctrl_sck_div}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _out_out_bits_data_WIRE_1_1 = {{30'd0}, out_prepend_9}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_209 = 5'h1 == out_oindex ? _out_out_bits_data_WIRE_1_1 : _out_out_bits_data_WIRE_1_0; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_210 = 5'h2 == out_oindex ? 32'h0 : _GEN_209; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_211 = 5'h3 == out_oindex ? 32'h0 : _GEN_210; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_4 = {{31'd0}, ctrl_cs_id}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_212 = 5'h4 == out_oindex ? _out_out_bits_data_WIRE_1_4 : _GEN_211; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_5 = {{31'd0}, ctrl_cs_dflt_0}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_213 = 5'h5 == out_oindex ? _out_out_bits_data_WIRE_1_5 : _GEN_212; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_6 = {{30'd0}, ctrl_cs_mode}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_214 = 5'h6 == out_oindex ? _out_out_bits_data_WIRE_1_6 : _GEN_213; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_215 = 5'h7 == out_oindex ? 32'h0 : _GEN_214; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_216 = 5'h8 == out_oindex ? 32'h0 : _GEN_215; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_217 = 5'h9 == out_oindex ? 32'h0 : _GEN_216; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_10 = {{8'd0}, out_prepend}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_218 = 5'ha == out_oindex ? _out_out_bits_data_WIRE_1_10 : _GEN_217; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_11 = {{8'd0}, out_prepend_16}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_219 = 5'hb == out_oindex ? _out_out_bits_data_WIRE_1_11 : _GEN_218; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_220 = 5'hc == out_oindex ? 32'h0 : _GEN_219; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_221 = 5'hd == out_oindex ? 32'h0 : _GEN_220; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_14 = {{20'd0}, ctrl_extradel_coarse}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_222 = 5'he == out_oindex ? _out_out_bits_data_WIRE_1_14 : _GEN_221; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_15 = {{27'd0}, ctrl_sampledel_sd}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_223 = 5'hf == out_oindex ? _out_out_bits_data_WIRE_1_15 : _GEN_222; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_16 = {{12'd0}, out_prepend_15}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_224 = 5'h10 == out_oindex ? _out_out_bits_data_WIRE_1_16 : _GEN_223; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_225 = 5'h11 == out_oindex ? 32'h0 : _GEN_224; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_226 = 5'h12 == out_oindex ? out_prepend_12 : _GEN_225; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_227 = 5'h13 == out_oindex ? out_prepend_20 : _GEN_226; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_20 = {{28'd0}, ctrl_wm_tx}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_228 = 5'h14 == out_oindex ? _out_out_bits_data_WIRE_1_20 : _GEN_227; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_21 = {{28'd0}, ctrl_wm_rx}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_229 = 5'h15 == out_oindex ? _out_out_bits_data_WIRE_1_21 : _GEN_228; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_230 = 5'h16 == out_oindex ? 32'h0 : _GEN_229; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_231 = 5'h17 == out_oindex ? 32'h0 : _GEN_230; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_24 = {{31'd0}, ram_en}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_232 = 5'h18 == out_oindex ? _out_out_bits_data_WIRE_1_24 : _GEN_231; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_233 = 5'h19 == out_oindex ? out_prepend_7 : _GEN_232; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_26 = {{8'd0}, out_prepend_18}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_234 = 5'h1a == out_oindex ? _out_out_bits_data_WIRE_1_26 : _GEN_233; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_235 = 5'h1b == out_oindex ? 32'h0 : _GEN_234; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_28 = {{30'd0}, out_prepend_10}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_236 = 5'h1c == out_oindex ? _out_out_bits_data_WIRE_1_28 : _GEN_235; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_29 = {{30'd0}, out_prepend_8}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_237 = 5'h1d == out_oindex ? _out_out_bits_data_WIRE_1_29 : _GEN_236; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_238 = 5'h1e == out_oindex ? 32'h0 : _GEN_237; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_239 = 5'h1f == out_oindex ? 32'h0 : _GEN_238; // @[MuxLiteral.scala 48:{10,10}]
+  TLBuffer_13 buffer ( // @[Buffer.scala 68:28]
+    .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_21 buffer_1 ( // @[Buffer.scala 68:28]
+    .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_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_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_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_1 intsource ( // @[Crossing.scala 26:31]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_63 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  TLMonitor_64 monitor_1 ( // @[Nodes.scala 24:25]
+    .clock(monitor_1_clock),
+    .reset(monitor_1_reset),
+    .io_in_a_ready(monitor_1_io_in_a_ready),
+    .io_in_a_valid(monitor_1_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_1_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_1_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_1_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_1_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_1_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_1_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_1_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_1_io_in_d_ready),
+    .io_in_d_valid(monitor_1_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_1_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_1_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_1_io_in_d_bits_source)
+  );
+  SPIFIFO fifo ( // @[TLSPI.scala 69:20]
+    .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 70:19]
+    .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)
+  );
+  SPIRAMMap ram ( // @[TLSPIRAM.scala 58:19]
+    .clock(ram_clock),
+    .reset(ram_reset),
+    .io_en(ram_io_en),
+    .io_ctrl_insn_cmd_proto(ram_io_ctrl_insn_cmd_proto),
+    .io_ctrl_insn_cmd_code(ram_io_ctrl_insn_cmd_code),
+    .io_ctrl_insn_cmd_en(ram_io_ctrl_insn_cmd_en),
+    .io_ctrl_insn_wcmd_code(ram_io_ctrl_insn_wcmd_code),
+    .io_ctrl_insn_addr_proto(ram_io_ctrl_insn_addr_proto),
+    .io_ctrl_insn_addr_len(ram_io_ctrl_insn_addr_len),
+    .io_ctrl_insn_pad_code(ram_io_ctrl_insn_pad_code),
+    .io_ctrl_insn_pad_cnt(ram_io_ctrl_insn_pad_cnt),
+    .io_ctrl_insn_data_proto(ram_io_ctrl_insn_data_proto),
+    .io_ctrl_insn_pgsz(ram_io_ctrl_insn_pgsz),
+    .io_ctrl_insn_max_cen_cyc(ram_io_ctrl_insn_max_cen_cyc),
+    .io_ctrl_fmt_endian(ram_io_ctrl_fmt_endian),
+    .io_addr_ready(ram_io_addr_ready),
+    .io_addr_valid(ram_io_addr_valid),
+    .io_addr_bits_next(ram_io_addr_bits_next),
+    .io_addr_bits_hold(ram_io_addr_bits_hold),
+    .io_opcode_next(ram_io_opcode_next),
+    .io_opcode_hold(ram_io_opcode_hold),
+    .io_wdata(ram_io_wdata),
+    .io_data_ready(ram_io_data_ready),
+    .io_data_valid(ram_io_data_valid),
+    .io_data_bits(ram_io_data_bits),
+    .io_link_tx_ready(ram_io_link_tx_ready),
+    .io_link_tx_valid(ram_io_link_tx_valid),
+    .io_link_tx_bits(ram_io_link_tx_bits),
+    .io_link_rx_valid(ram_io_link_rx_valid),
+    .io_link_rx_bits(ram_io_link_rx_bits),
+    .io_link_cnt(ram_io_link_cnt),
+    .io_link_fmt_proto(ram_io_link_fmt_proto),
+    .io_link_fmt_endian(ram_io_link_fmt_endian),
+    .io_link_fmt_iodir(ram_io_link_fmt_iodir),
+    .io_link_cs_clear(ram_io_link_cs_clear),
+    .io_link_active(ram_io_link_active),
+    .io_link_lock(ram_io_link_lock)
+  );
+  SPIArbiter arb ( // @[TLSPIRAM.scala 59:19]
+    .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 auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_mem_xing_in_a_ready = buffer_1_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_mem_xing_in_d_valid = buffer_1_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_mem_xing_in_d_bits_opcode = buffer_1_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_mem_xing_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_mem_xing_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_mem_xing_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_io_out_sck = mac_io_port_sck; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_0_o = mac_io_port_dq_0_o; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_0_oe = mac_io_port_dq_0_oe; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_1_o = mac_io_port_dq_1_o; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_1_oe = mac_io_port_dq_1_oe; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_2_o = mac_io_port_dq_2_o; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_2_oe = mac_io_port_dq_2_oe; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_3_o = mac_io_port_dq_3_o; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_3_oe = mac_io_port_dq_3_oe; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_cs_0 = mac_io_port_cs_0; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign buffer_auto_out_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = _GEN_207 ? _GEN_239 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign buffer_1_auto_in_a_valid = auto_mem_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_opcode = auto_mem_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_param = auto_mem_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_size = auto_mem_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_source = auto_mem_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_address = auto_mem_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_mask = auto_mem_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_data = auto_mem_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_a_bits_corrupt = auto_mem_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_in_d_ready = auto_mem_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_1_auto_out_a_ready = ram_io_addr_ready; // @[Nodes.scala 1210:84 TLSPIRAM.scala 80:13]
+  assign buffer_1_auto_out_d_valid = ram_io_data_valid; // @[Nodes.scala 1210:84 TLSPIRAM.scala 87:13]
+  assign buffer_1_auto_out_d_bits_opcode = a_opcode == 3'h0 ? 3'h0 : 3'h1; // @[TLSPIRAM.scala 82:46 83:14 85:14]
+  assign buffer_1_auto_out_d_bits_size = a_size; // @[TLSPIRAM.scala 82:46 83:14 85:14]
+  assign buffer_1_auto_out_d_bits_source = a_source; // @[TLSPIRAM.scala 82:46 83:14 85:14]
+  assign buffer_1_auto_out_d_bits_data = a_opcode == 3'h0 ? 8'h0 : bundleIn_0_d_bits_d_1_data; // @[TLSPIRAM.scala 82:46 83:14 85:14]
+  assign intsource_clock = clock;
+  assign intsource_reset = reset;
+  assign intsource_auto_in_0 = fifo_io_ip_txwm & ie_txwm | fifo_io_ip_rxwm & ie_rxwm; // @[TLSPI.scala 84:47]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = ram_io_addr_ready; // @[Nodes.scala 1210:84 TLSPIRAM.scala 80:13]
+  assign monitor_io_in_a_valid = buffer_1_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_ready = buffer_1_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_valid = ram_io_data_valid; // @[Nodes.scala 1210:84 TLSPIRAM.scala 87:13]
+  assign monitor_io_in_d_bits_opcode = a_opcode == 3'h0 ? 3'h0 : 3'h1; // @[TLSPIRAM.scala 82:46 83:14 85:14]
+  assign monitor_io_in_d_bits_size = a_size; // @[TLSPIRAM.scala 82:46 83:14 85:14]
+  assign monitor_io_in_d_bits_source = a_source; // @[TLSPIRAM.scala 82:46 83:14 85:14]
+  assign monitor_1_clock = clock;
+  assign monitor_1_reset = reset;
+  assign monitor_1_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_1_io_in_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_1_io_in_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign fifo_clock = clock;
+  assign fifo_reset = reset;
+  assign fifo_io_ctrl_fmt_proto = ctrl_fmt_proto; // @[TLSPI.scala 73:20]
+  assign fifo_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPI.scala 73:20]
+  assign fifo_io_ctrl_fmt_iodir = ctrl_fmt_iodir; // @[TLSPI.scala 73:20]
+  assign fifo_io_ctrl_fmt_len = ctrl_fmt_len; // @[TLSPI.scala 73:20]
+  assign fifo_io_ctrl_cs_mode = ctrl_cs_mode; // @[TLSPI.scala 74:19]
+  assign fifo_io_ctrl_wm_tx = ctrl_wm_tx; // @[TLSPI.scala 75:19]
+  assign fifo_io_ctrl_wm_rx = ctrl_wm_rx; // @[TLSPI.scala 75:19]
+  assign fifo_io_link_tx_ready = arb_io_inner_1_tx_ready; // @[TLSPIRAM.scala 157:21]
+  assign fifo_io_link_rx_valid = arb_io_inner_1_rx_valid; // @[TLSPIRAM.scala 157:21]
+  assign fifo_io_link_rx_bits = arb_io_inner_1_rx_bits; // @[TLSPIRAM.scala 157:21]
+  assign fifo_io_tx_valid = out_f_wivalid_23 & ~quash; // @[RegMapFIFO.scala 19:30]
+  assign fifo_io_tx_bits = bundleIn_0_1_a_bits_data[7:0]; // @[RegisterRouter.scala 83:24]
+  assign fifo_io_rx_ready = out_rivalid_35 & out_rimask_2; // @[RegisterRouter.scala 83:24]
+  assign mac_clock = clock;
+  assign mac_reset = reset;
+  assign mac_io_port_dq_0_i = auto_io_out_dq_0_i; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign mac_io_port_dq_1_i = auto_io_out_dq_1_i; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign mac_io_port_dq_2_i = auto_io_out_dq_2_i; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign mac_io_port_dq_3_i = auto_io_out_dq_3_i; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign mac_io_ctrl_sck_div = ctrl_sck_div; // @[TLSPI.scala 76:19]
+  assign mac_io_ctrl_sck_pol = ctrl_sck_pol; // @[TLSPI.scala 76:19]
+  assign mac_io_ctrl_sck_pha = ctrl_sck_pha; // @[TLSPI.scala 76:19]
+  assign mac_io_ctrl_dla_cssck = ctrl_dla_cssck; // @[TLSPI.scala 79:19]
+  assign mac_io_ctrl_dla_sckcs = ctrl_dla_sckcs; // @[TLSPI.scala 79:19]
+  assign mac_io_ctrl_dla_intercs = ctrl_dla_intercs; // @[TLSPI.scala 79:19]
+  assign mac_io_ctrl_dla_interxfr = ctrl_dla_interxfr; // @[TLSPI.scala 79:19]
+  assign mac_io_ctrl_cs_id = ctrl_cs_id; // @[TLSPI.scala 80:18]
+  assign mac_io_ctrl_cs_dflt_0 = ctrl_cs_dflt_0; // @[TLSPI.scala 80:18]
+  assign mac_io_ctrl_extradel_coarse = ctrl_extradel_coarse; // @[TLSPI.scala 77:24]
+  assign mac_io_ctrl_sampledel_sd = ctrl_sampledel_sd; // @[TLSPI.scala 78:25]
+  assign mac_io_link_tx_valid = arb_io_outer_tx_valid; // @[TLSPIRAM.scala 158:17]
+  assign mac_io_link_tx_bits = arb_io_outer_tx_bits; // @[TLSPIRAM.scala 158:17]
+  assign mac_io_link_cnt = arb_io_outer_cnt; // @[TLSPIRAM.scala 158:17]
+  assign mac_io_link_fmt_proto = arb_io_outer_fmt_proto; // @[TLSPIRAM.scala 158:17]
+  assign mac_io_link_fmt_endian = arb_io_outer_fmt_endian; // @[TLSPIRAM.scala 158:17]
+  assign mac_io_link_fmt_iodir = arb_io_outer_fmt_iodir; // @[TLSPIRAM.scala 158:17]
+  assign mac_io_link_cs_set = arb_io_outer_cs_set; // @[TLSPIRAM.scala 158:17]
+  assign mac_io_link_cs_clear = arb_io_outer_cs_clear; // @[TLSPIRAM.scala 158:17]
+  assign mac_io_link_cs_hold = arb_io_outer_cs_hold; // @[TLSPIRAM.scala 158:17]
+  assign ram_clock = clock;
+  assign ram_reset = reset;
+  assign ram_io_en = ram_en; // @[TLSPIRAM.scala 95:13]
+  assign ram_io_ctrl_insn_cmd_proto = insn_cmd_proto; // @[TLSPIRAM.scala 93:20]
+  assign ram_io_ctrl_insn_cmd_code = insn_cmd_code; // @[TLSPIRAM.scala 93:20]
+  assign ram_io_ctrl_insn_cmd_en = insn_cmd_en; // @[TLSPIRAM.scala 93:20]
+  assign ram_io_ctrl_insn_wcmd_code = insn_wcmd_code; // @[TLSPIRAM.scala 93:20]
+  assign ram_io_ctrl_insn_addr_proto = insn_addr_proto; // @[TLSPIRAM.scala 93:20]
+  assign ram_io_ctrl_insn_addr_len = insn_addr_len; // @[TLSPIRAM.scala 93:20]
+  assign ram_io_ctrl_insn_pad_code = insn_pad_code; // @[TLSPIRAM.scala 93:20]
+  assign ram_io_ctrl_insn_pad_cnt = insn_pad_cnt; // @[TLSPIRAM.scala 93:20]
+  assign ram_io_ctrl_insn_data_proto = insn_data_proto; // @[TLSPIRAM.scala 93:20]
+  assign ram_io_ctrl_insn_pgsz = insn_pgsz; // @[TLSPIRAM.scala 93:20]
+  assign ram_io_ctrl_insn_max_cen_cyc = insn_max_cen_cyc; // @[TLSPIRAM.scala 93:20]
+  assign ram_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPIRAM.scala 94:19]
+  assign ram_io_addr_valid = buffer_1_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign ram_io_addr_bits_next = {{3'd0}, bundleIn_0_a_bits_address[28:0]}; // @[TLSPIRAM.scala 74:25]
+  assign ram_io_addr_bits_hold = {{3'd0}, a_address[28:0]}; // @[TLSPIRAM.scala 75:25]
+  assign ram_io_opcode_next = buffer_1_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign ram_io_opcode_hold = a_opcode; // @[TLSPIRAM.scala 77:22]
+  assign ram_io_wdata = a_data; // @[TLSPIRAM.scala 78:16]
+  assign ram_io_data_ready = buffer_1_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign ram_io_link_tx_ready = arb_io_inner_0_tx_ready; // @[TLSPIRAM.scala 156:21]
+  assign ram_io_link_rx_valid = arb_io_inner_0_rx_valid; // @[TLSPIRAM.scala 156:21]
+  assign ram_io_link_rx_bits = arb_io_inner_0_rx_bits; // @[TLSPIRAM.scala 156:21]
+  assign ram_io_link_active = arb_io_inner_0_active; // @[TLSPIRAM.scala 156:21]
+  assign arb_clock = clock;
+  assign arb_reset = reset;
+  assign arb_io_inner_0_tx_valid = ram_io_link_tx_valid; // @[TLSPIRAM.scala 156:21]
+  assign arb_io_inner_0_tx_bits = ram_io_link_tx_bits; // @[TLSPIRAM.scala 156:21]
+  assign arb_io_inner_0_cnt = ram_io_link_cnt; // @[TLSPIRAM.scala 156:21]
+  assign arb_io_inner_0_fmt_proto = ram_io_link_fmt_proto; // @[TLSPIRAM.scala 156:21]
+  assign arb_io_inner_0_fmt_endian = ram_io_link_fmt_endian; // @[TLSPIRAM.scala 156:21]
+  assign arb_io_inner_0_fmt_iodir = ram_io_link_fmt_iodir; // @[TLSPIRAM.scala 156:21]
+  assign arb_io_inner_0_cs_clear = ram_io_link_cs_clear; // @[TLSPIRAM.scala 156:21]
+  assign arb_io_inner_0_lock = ram_io_link_lock; // @[TLSPIRAM.scala 156:21]
+  assign arb_io_inner_1_tx_valid = fifo_io_link_tx_valid; // @[TLSPIRAM.scala 157:21]
+  assign arb_io_inner_1_tx_bits = fifo_io_link_tx_bits; // @[TLSPIRAM.scala 157:21]
+  assign arb_io_inner_1_cnt = fifo_io_link_cnt; // @[TLSPIRAM.scala 157:21]
+  assign arb_io_inner_1_fmt_proto = fifo_io_link_fmt_proto; // @[TLSPIRAM.scala 157:21]
+  assign arb_io_inner_1_fmt_endian = fifo_io_link_fmt_endian; // @[TLSPIRAM.scala 157:21]
+  assign arb_io_inner_1_fmt_iodir = fifo_io_link_fmt_iodir; // @[TLSPIRAM.scala 157:21]
+  assign arb_io_inner_1_cs_set = fifo_io_link_cs_set; // @[TLSPIRAM.scala 157:21]
+  assign arb_io_inner_1_cs_clear = fifo_io_link_cs_clear; // @[TLSPIRAM.scala 157:21]
+  assign arb_io_inner_1_lock = fifo_io_link_lock; // @[TLSPIRAM.scala 157:21]
+  assign arb_io_outer_tx_ready = mac_io_link_tx_ready; // @[TLSPIRAM.scala 158:17]
+  assign arb_io_outer_rx_valid = mac_io_link_rx_valid; // @[TLSPIRAM.scala 158:17]
+  assign arb_io_outer_rx_bits = mac_io_link_rx_bits; // @[TLSPIRAM.scala 158:17]
+  assign arb_io_outer_active = mac_io_link_active; // @[TLSPIRAM.scala 158:17]
+  assign arb_io_sel = ~ram_en; // @[TLSPIRAM.scala 96:17]
+  always @(posedge clock) begin
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_fmt_proto <= 2'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_26) begin // @[RegField.scala 74:88]
+      ctrl_fmt_proto <= bundleIn_0_1_a_bits_data[1:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_fmt_endian <= 1'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_27) begin // @[RegField.scala 74:88]
+      ctrl_fmt_endian <= bundleIn_0_1_a_bits_data[2]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_fmt_iodir <= 1'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_28) begin // @[RegField.scala 74:88]
+      ctrl_fmt_iodir <= bundleIn_0_1_a_bits_data[3]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_fmt_len <= 4'h8; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_29) begin // @[RegField.scala 74:88]
+      ctrl_fmt_len <= bundleIn_0_1_a_bits_data[19:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_sck_div <= 12'h3; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid) begin // @[RegField.scala 74:88]
+      ctrl_sck_div <= bundleIn_0_1_a_bits_data[11:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_sck_pol <= 1'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_18) begin // @[RegField.scala 74:88]
+      ctrl_sck_pol <= bundleIn_0_1_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_sck_pha <= 1'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_17) begin // @[RegField.scala 74:88]
+      ctrl_sck_pha <= bundleIn_0_1_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_cs_id <= 1'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_38) begin // @[RegField.scala 74:88]
+      ctrl_cs_id <= bundleIn_0_1_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    ctrl_cs_dflt_0 <= reset | _GEN_17; // @[TLSPI.scala 68:{17,17}]
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_cs_mode <= 2'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_19) begin // @[RegField.scala 74:88]
+      ctrl_cs_mode <= bundleIn_0_1_a_bits_data[1:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_dla_cssck <= 8'h1; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_2) begin // @[RegField.scala 74:88]
+      ctrl_dla_cssck <= bundleIn_0_1_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_dla_sckcs <= 8'h1; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_3) begin // @[RegField.scala 74:88]
+      ctrl_dla_sckcs <= bundleIn_0_1_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_dla_intercs <= 8'h1; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_30) begin // @[RegField.scala 74:88]
+      ctrl_dla_intercs <= bundleIn_0_1_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_dla_interxfr <= 8'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_31) begin // @[RegField.scala 74:88]
+      ctrl_dla_interxfr <= bundleIn_0_1_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_wm_tx <= 4'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_14) begin // @[RegField.scala 74:88]
+      ctrl_wm_tx <= bundleIn_0_1_a_bits_data[3:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_wm_rx <= 4'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_22) begin // @[RegField.scala 74:88]
+      ctrl_wm_rx <= bundleIn_0_1_a_bits_data[3:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_extradel_coarse <= 12'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_13) begin // @[RegField.scala 74:88]
+      ctrl_extradel_coarse <= bundleIn_0_1_a_bits_data[11:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_sampledel_sd <= 5'h3; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_39) begin // @[RegField.scala 74:88]
+      ctrl_sampledel_sd <= bundleIn_0_1_a_bits_data[4:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 82:15]
+      ie_txwm <= 1'h0; // @[TLSPI.scala 82:15]
+    end else if (out_f_wivalid_20) begin // @[RegField.scala 74:88]
+      ie_txwm <= bundleIn_0_1_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 82:15]
+      ie_rxwm <= 1'h0; // @[TLSPI.scala 82:15]
+    end else if (out_f_wivalid_21) begin // @[RegField.scala 74:88]
+      ie_rxwm <= bundleIn_0_1_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+    if (_T_2) begin // @[TLSPIRAM.scala 70:19]
+      a_opcode <= bundleIn_0_a_bits_opcode; // @[TLSPIRAM.scala 71:7]
+    end
+    if (_T_2) begin // @[TLSPIRAM.scala 70:19]
+      a_size <= bundleIn_0_a_bits_size; // @[TLSPIRAM.scala 71:7]
+    end
+    if (_T_2) begin // @[TLSPIRAM.scala 70:19]
+      a_source <= bundleIn_0_a_bits_source; // @[TLSPIRAM.scala 71:7]
+    end
+    if (_T_2) begin // @[TLSPIRAM.scala 70:19]
+      a_address <= bundleIn_0_a_bits_address; // @[TLSPIRAM.scala 71:7]
+    end
+    if (_T_2) begin // @[TLSPIRAM.scala 70:19]
+      a_data <= bundleIn_0_a_bits_data; // @[TLSPIRAM.scala 71:7]
+    end
+    if (reset) begin // @[TLSPIRAM.scala 90:17]
+      insn_cmd_proto <= 2'h0; // @[TLSPIRAM.scala 90:17]
+    end else if (out_f_wivalid_8) begin // @[RegField.scala 74:88]
+      insn_cmd_proto <= bundleIn_0_1_a_bits_data[9:8]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPIRAM.scala 90:17]
+      insn_cmd_code <= 8'h3; // @[TLSPIRAM.scala 90:17]
+    end else if (out_f_wivalid_11) begin // @[RegField.scala 74:88]
+      insn_cmd_code <= bundleIn_0_1_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end
+    insn_cmd_en <= reset | _GEN_21; // @[TLSPIRAM.scala 90:{17,17}]
+    if (reset) begin // @[TLSPIRAM.scala 90:17]
+      insn_wcmd_code <= 8'h2; // @[TLSPIRAM.scala 90:17]
+    end else if (out_f_wivalid_32) begin // @[RegField.scala 74:88]
+      insn_wcmd_code <= bundleIn_0_1_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPIRAM.scala 90:17]
+      insn_addr_proto <= 2'h0; // @[TLSPIRAM.scala 90:17]
+    end else if (out_f_wivalid_9) begin // @[RegField.scala 74:88]
+      insn_addr_proto <= bundleIn_0_1_a_bits_data[11:10]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPIRAM.scala 90:17]
+      insn_addr_len <= 3'h3; // @[TLSPIRAM.scala 90:17]
+    end else if (out_f_wivalid_6) begin // @[RegField.scala 74:88]
+      insn_addr_len <= bundleIn_0_1_a_bits_data[3:1]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPIRAM.scala 90:17]
+      insn_pad_code <= 8'h0; // @[TLSPIRAM.scala 90:17]
+    end else if (out_f_wivalid_12) begin // @[RegField.scala 74:88]
+      insn_pad_code <= bundleIn_0_1_a_bits_data[31:24]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPIRAM.scala 90:17]
+      insn_pad_cnt <= 4'h0; // @[TLSPIRAM.scala 90:17]
+    end else if (out_f_wivalid_7) begin // @[RegField.scala 74:88]
+      insn_pad_cnt <= bundleIn_0_1_a_bits_data[7:4]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPIRAM.scala 90:17]
+      insn_data_proto <= 2'h0; // @[TLSPIRAM.scala 90:17]
+    end else if (out_f_wivalid_10) begin // @[RegField.scala 74:88]
+      insn_data_proto <= bundleIn_0_1_a_bits_data[13:12]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPIRAM.scala 90:17]
+      insn_pgsz <= 4'h9; // @[TLSPIRAM.scala 90:17]
+    end else if (out_f_wivalid_33) begin // @[RegField.scala 74:88]
+      insn_pgsz <= bundleIn_0_1_a_bits_data[11:8]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPIRAM.scala 90:17]
+      insn_max_cen_cyc <= 12'h80; // @[TLSPIRAM.scala 90:17]
+    end else if (out_f_wivalid_34) begin // @[RegField.scala 74:88]
+      insn_max_cen_cyc <= bundleIn_0_1_a_bits_data[23:12]; // @[RegField.scala 74:92]
+    end
+    ram_en <= reset | _GEN_20; // @[TLSPIRAM.scala 91:{19,19}]
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  ctrl_fmt_endian = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  ctrl_fmt_iodir = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  ctrl_fmt_len = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  ctrl_sck_div = _RAND_4[11:0];
+  _RAND_5 = {1{`RANDOM}};
+  ctrl_sck_pol = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  ctrl_sck_pha = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  ctrl_cs_id = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  ctrl_cs_dflt_0 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  ctrl_cs_mode = _RAND_9[1:0];
+  _RAND_10 = {1{`RANDOM}};
+  ctrl_dla_cssck = _RAND_10[7:0];
+  _RAND_11 = {1{`RANDOM}};
+  ctrl_dla_sckcs = _RAND_11[7:0];
+  _RAND_12 = {1{`RANDOM}};
+  ctrl_dla_intercs = _RAND_12[7:0];
+  _RAND_13 = {1{`RANDOM}};
+  ctrl_dla_interxfr = _RAND_13[7:0];
+  _RAND_14 = {1{`RANDOM}};
+  ctrl_wm_tx = _RAND_14[3:0];
+  _RAND_15 = {1{`RANDOM}};
+  ctrl_wm_rx = _RAND_15[3:0];
+  _RAND_16 = {1{`RANDOM}};
+  ctrl_extradel_coarse = _RAND_16[11:0];
+  _RAND_17 = {1{`RANDOM}};
+  ctrl_sampledel_sd = _RAND_17[4:0];
+  _RAND_18 = {1{`RANDOM}};
+  ie_txwm = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  ie_rxwm = _RAND_19[0:0];
+  _RAND_20 = {1{`RANDOM}};
+  a_opcode = _RAND_20[2:0];
+  _RAND_21 = {1{`RANDOM}};
+  a_size = _RAND_21[0:0];
+  _RAND_22 = {1{`RANDOM}};
+  a_source = _RAND_22[10:0];
+  _RAND_23 = {1{`RANDOM}};
+  a_address = _RAND_23[30:0];
+  _RAND_24 = {1{`RANDOM}};
+  a_data = _RAND_24[7:0];
+  _RAND_25 = {1{`RANDOM}};
+  insn_cmd_proto = _RAND_25[1:0];
+  _RAND_26 = {1{`RANDOM}};
+  insn_cmd_code = _RAND_26[7:0];
+  _RAND_27 = {1{`RANDOM}};
+  insn_cmd_en = _RAND_27[0:0];
+  _RAND_28 = {1{`RANDOM}};
+  insn_wcmd_code = _RAND_28[7:0];
+  _RAND_29 = {1{`RANDOM}};
+  insn_addr_proto = _RAND_29[1:0];
+  _RAND_30 = {1{`RANDOM}};
+  insn_addr_len = _RAND_30[2:0];
+  _RAND_31 = {1{`RANDOM}};
+  insn_pad_code = _RAND_31[7:0];
+  _RAND_32 = {1{`RANDOM}};
+  insn_pad_cnt = _RAND_32[3:0];
+  _RAND_33 = {1{`RANDOM}};
+  insn_data_proto = _RAND_33[1:0];
+  _RAND_34 = {1{`RANDOM}};
+  insn_pgsz = _RAND_34[3:0];
+  _RAND_35 = {1{`RANDOM}};
+  insn_max_cen_cyc = _RAND_35[11:0];
+  _RAND_36 = {1{`RANDOM}};
+  ram_en = _RAND_36[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ClockSinkDomain_7(
+  output        auto_qspi_ram_0_int_xing_out_sync_0,
+  output        auto_qspi_ram_0_mem_xing_in_a_ready,
+  input         auto_qspi_ram_0_mem_xing_in_a_valid,
+  input  [2:0]  auto_qspi_ram_0_mem_xing_in_a_bits_opcode,
+  input  [2:0]  auto_qspi_ram_0_mem_xing_in_a_bits_param,
+  input         auto_qspi_ram_0_mem_xing_in_a_bits_size,
+  input  [10:0] auto_qspi_ram_0_mem_xing_in_a_bits_source,
+  input  [30:0] auto_qspi_ram_0_mem_xing_in_a_bits_address,
+  input         auto_qspi_ram_0_mem_xing_in_a_bits_mask,
+  input  [7:0]  auto_qspi_ram_0_mem_xing_in_a_bits_data,
+  input         auto_qspi_ram_0_mem_xing_in_a_bits_corrupt,
+  input         auto_qspi_ram_0_mem_xing_in_d_ready,
+  output        auto_qspi_ram_0_mem_xing_in_d_valid,
+  output [2:0]  auto_qspi_ram_0_mem_xing_in_d_bits_opcode,
+  output        auto_qspi_ram_0_mem_xing_in_d_bits_size,
+  output [10:0] auto_qspi_ram_0_mem_xing_in_d_bits_source,
+  output [7:0]  auto_qspi_ram_0_mem_xing_in_d_bits_data,
+  output        auto_qspi_ram_0_control_xing_in_a_ready,
+  input         auto_qspi_ram_0_control_xing_in_a_valid,
+  input  [2:0]  auto_qspi_ram_0_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_qspi_ram_0_control_xing_in_a_bits_param,
+  input  [1:0]  auto_qspi_ram_0_control_xing_in_a_bits_size,
+  input  [6:0]  auto_qspi_ram_0_control_xing_in_a_bits_source,
+  input  [28:0] auto_qspi_ram_0_control_xing_in_a_bits_address,
+  input  [3:0]  auto_qspi_ram_0_control_xing_in_a_bits_mask,
+  input  [31:0] auto_qspi_ram_0_control_xing_in_a_bits_data,
+  input         auto_qspi_ram_0_control_xing_in_a_bits_corrupt,
+  input         auto_qspi_ram_0_control_xing_in_d_ready,
+  output        auto_qspi_ram_0_control_xing_in_d_valid,
+  output [2:0]  auto_qspi_ram_0_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_qspi_ram_0_control_xing_in_d_bits_size,
+  output [6:0]  auto_qspi_ram_0_control_xing_in_d_bits_source,
+  output [31:0] auto_qspi_ram_0_control_xing_in_d_bits_data,
+  output        auto_qspi_ram_0_io_out_sck,
+  input         auto_qspi_ram_0_io_out_dq_0_i,
+  output        auto_qspi_ram_0_io_out_dq_0_o,
+  output        auto_qspi_ram_0_io_out_dq_0_oe,
+  input         auto_qspi_ram_0_io_out_dq_1_i,
+  output        auto_qspi_ram_0_io_out_dq_1_o,
+  output        auto_qspi_ram_0_io_out_dq_1_oe,
+  input         auto_qspi_ram_0_io_out_dq_2_i,
+  output        auto_qspi_ram_0_io_out_dq_2_o,
+  output        auto_qspi_ram_0_io_out_dq_2_oe,
+  input         auto_qspi_ram_0_io_out_dq_3_i,
+  output        auto_qspi_ram_0_io_out_dq_3_o,
+  output        auto_qspi_ram_0_io_out_dq_3_oe,
+  output        auto_qspi_ram_0_io_out_cs_0,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  qspi_ram_0_clock; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_reset; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_int_xing_out_sync_0; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_mem_xing_in_a_ready; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_mem_xing_in_a_valid; // @[SPI.scala 40:51]
+  wire [2:0] qspi_ram_0_auto_mem_xing_in_a_bits_opcode; // @[SPI.scala 40:51]
+  wire [2:0] qspi_ram_0_auto_mem_xing_in_a_bits_param; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_mem_xing_in_a_bits_size; // @[SPI.scala 40:51]
+  wire [10:0] qspi_ram_0_auto_mem_xing_in_a_bits_source; // @[SPI.scala 40:51]
+  wire [30:0] qspi_ram_0_auto_mem_xing_in_a_bits_address; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_mem_xing_in_a_bits_mask; // @[SPI.scala 40:51]
+  wire [7:0] qspi_ram_0_auto_mem_xing_in_a_bits_data; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_mem_xing_in_a_bits_corrupt; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_mem_xing_in_d_ready; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_mem_xing_in_d_valid; // @[SPI.scala 40:51]
+  wire [2:0] qspi_ram_0_auto_mem_xing_in_d_bits_opcode; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_mem_xing_in_d_bits_size; // @[SPI.scala 40:51]
+  wire [10:0] qspi_ram_0_auto_mem_xing_in_d_bits_source; // @[SPI.scala 40:51]
+  wire [7:0] qspi_ram_0_auto_mem_xing_in_d_bits_data; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_control_xing_in_a_ready; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_control_xing_in_a_valid; // @[SPI.scala 40:51]
+  wire [2:0] qspi_ram_0_auto_control_xing_in_a_bits_opcode; // @[SPI.scala 40:51]
+  wire [2:0] qspi_ram_0_auto_control_xing_in_a_bits_param; // @[SPI.scala 40:51]
+  wire [1:0] qspi_ram_0_auto_control_xing_in_a_bits_size; // @[SPI.scala 40:51]
+  wire [6:0] qspi_ram_0_auto_control_xing_in_a_bits_source; // @[SPI.scala 40:51]
+  wire [28:0] qspi_ram_0_auto_control_xing_in_a_bits_address; // @[SPI.scala 40:51]
+  wire [3:0] qspi_ram_0_auto_control_xing_in_a_bits_mask; // @[SPI.scala 40:51]
+  wire [31:0] qspi_ram_0_auto_control_xing_in_a_bits_data; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_control_xing_in_a_bits_corrupt; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_control_xing_in_d_ready; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_control_xing_in_d_valid; // @[SPI.scala 40:51]
+  wire [2:0] qspi_ram_0_auto_control_xing_in_d_bits_opcode; // @[SPI.scala 40:51]
+  wire [1:0] qspi_ram_0_auto_control_xing_in_d_bits_size; // @[SPI.scala 40:51]
+  wire [6:0] qspi_ram_0_auto_control_xing_in_d_bits_source; // @[SPI.scala 40:51]
+  wire [31:0] qspi_ram_0_auto_control_xing_in_d_bits_data; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_io_out_sck; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_io_out_dq_0_i; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_io_out_dq_0_o; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_io_out_dq_0_oe; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_io_out_dq_1_i; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_io_out_dq_1_o; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_io_out_dq_1_oe; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_io_out_dq_2_i; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_io_out_dq_2_o; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_io_out_dq_2_oe; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_io_out_dq_3_i; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_io_out_dq_3_o; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_io_out_dq_3_oe; // @[SPI.scala 40:51]
+  wire  qspi_ram_0_auto_io_out_cs_0; // @[SPI.scala 40:51]
+  TLSPIRAM qspi_ram_0 ( // @[SPI.scala 40:51]
+    .clock(qspi_ram_0_clock),
+    .reset(qspi_ram_0_reset),
+    .auto_int_xing_out_sync_0(qspi_ram_0_auto_int_xing_out_sync_0),
+    .auto_mem_xing_in_a_ready(qspi_ram_0_auto_mem_xing_in_a_ready),
+    .auto_mem_xing_in_a_valid(qspi_ram_0_auto_mem_xing_in_a_valid),
+    .auto_mem_xing_in_a_bits_opcode(qspi_ram_0_auto_mem_xing_in_a_bits_opcode),
+    .auto_mem_xing_in_a_bits_param(qspi_ram_0_auto_mem_xing_in_a_bits_param),
+    .auto_mem_xing_in_a_bits_size(qspi_ram_0_auto_mem_xing_in_a_bits_size),
+    .auto_mem_xing_in_a_bits_source(qspi_ram_0_auto_mem_xing_in_a_bits_source),
+    .auto_mem_xing_in_a_bits_address(qspi_ram_0_auto_mem_xing_in_a_bits_address),
+    .auto_mem_xing_in_a_bits_mask(qspi_ram_0_auto_mem_xing_in_a_bits_mask),
+    .auto_mem_xing_in_a_bits_data(qspi_ram_0_auto_mem_xing_in_a_bits_data),
+    .auto_mem_xing_in_a_bits_corrupt(qspi_ram_0_auto_mem_xing_in_a_bits_corrupt),
+    .auto_mem_xing_in_d_ready(qspi_ram_0_auto_mem_xing_in_d_ready),
+    .auto_mem_xing_in_d_valid(qspi_ram_0_auto_mem_xing_in_d_valid),
+    .auto_mem_xing_in_d_bits_opcode(qspi_ram_0_auto_mem_xing_in_d_bits_opcode),
+    .auto_mem_xing_in_d_bits_size(qspi_ram_0_auto_mem_xing_in_d_bits_size),
+    .auto_mem_xing_in_d_bits_source(qspi_ram_0_auto_mem_xing_in_d_bits_source),
+    .auto_mem_xing_in_d_bits_data(qspi_ram_0_auto_mem_xing_in_d_bits_data),
+    .auto_control_xing_in_a_ready(qspi_ram_0_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(qspi_ram_0_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(qspi_ram_0_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(qspi_ram_0_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(qspi_ram_0_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(qspi_ram_0_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(qspi_ram_0_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(qspi_ram_0_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(qspi_ram_0_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(qspi_ram_0_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(qspi_ram_0_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(qspi_ram_0_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(qspi_ram_0_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(qspi_ram_0_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(qspi_ram_0_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(qspi_ram_0_auto_control_xing_in_d_bits_data),
+    .auto_io_out_sck(qspi_ram_0_auto_io_out_sck),
+    .auto_io_out_dq_0_i(qspi_ram_0_auto_io_out_dq_0_i),
+    .auto_io_out_dq_0_o(qspi_ram_0_auto_io_out_dq_0_o),
+    .auto_io_out_dq_0_oe(qspi_ram_0_auto_io_out_dq_0_oe),
+    .auto_io_out_dq_1_i(qspi_ram_0_auto_io_out_dq_1_i),
+    .auto_io_out_dq_1_o(qspi_ram_0_auto_io_out_dq_1_o),
+    .auto_io_out_dq_1_oe(qspi_ram_0_auto_io_out_dq_1_oe),
+    .auto_io_out_dq_2_i(qspi_ram_0_auto_io_out_dq_2_i),
+    .auto_io_out_dq_2_o(qspi_ram_0_auto_io_out_dq_2_o),
+    .auto_io_out_dq_2_oe(qspi_ram_0_auto_io_out_dq_2_oe),
+    .auto_io_out_dq_3_i(qspi_ram_0_auto_io_out_dq_3_i),
+    .auto_io_out_dq_3_o(qspi_ram_0_auto_io_out_dq_3_o),
+    .auto_io_out_dq_3_oe(qspi_ram_0_auto_io_out_dq_3_oe),
+    .auto_io_out_cs_0(qspi_ram_0_auto_io_out_cs_0)
+  );
+  assign auto_qspi_ram_0_int_xing_out_sync_0 = qspi_ram_0_auto_int_xing_out_sync_0; // @[LazyModule.scala 311:12]
+  assign auto_qspi_ram_0_mem_xing_in_a_ready = qspi_ram_0_auto_mem_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_qspi_ram_0_mem_xing_in_d_valid = qspi_ram_0_auto_mem_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_qspi_ram_0_mem_xing_in_d_bits_opcode = qspi_ram_0_auto_mem_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_qspi_ram_0_mem_xing_in_d_bits_size = qspi_ram_0_auto_mem_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_qspi_ram_0_mem_xing_in_d_bits_source = qspi_ram_0_auto_mem_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_qspi_ram_0_mem_xing_in_d_bits_data = qspi_ram_0_auto_mem_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_qspi_ram_0_control_xing_in_a_ready = qspi_ram_0_auto_control_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_qspi_ram_0_control_xing_in_d_valid = qspi_ram_0_auto_control_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_qspi_ram_0_control_xing_in_d_bits_opcode = qspi_ram_0_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_qspi_ram_0_control_xing_in_d_bits_size = qspi_ram_0_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_qspi_ram_0_control_xing_in_d_bits_source = qspi_ram_0_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_qspi_ram_0_control_xing_in_d_bits_data = qspi_ram_0_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_qspi_ram_0_io_out_sck = qspi_ram_0_auto_io_out_sck; // @[LazyModule.scala 311:12]
+  assign auto_qspi_ram_0_io_out_dq_0_o = qspi_ram_0_auto_io_out_dq_0_o; // @[LazyModule.scala 311:12]
+  assign auto_qspi_ram_0_io_out_dq_0_oe = qspi_ram_0_auto_io_out_dq_0_oe; // @[LazyModule.scala 311:12]
+  assign auto_qspi_ram_0_io_out_dq_1_o = qspi_ram_0_auto_io_out_dq_1_o; // @[LazyModule.scala 311:12]
+  assign auto_qspi_ram_0_io_out_dq_1_oe = qspi_ram_0_auto_io_out_dq_1_oe; // @[LazyModule.scala 311:12]
+  assign auto_qspi_ram_0_io_out_dq_2_o = qspi_ram_0_auto_io_out_dq_2_o; // @[LazyModule.scala 311:12]
+  assign auto_qspi_ram_0_io_out_dq_2_oe = qspi_ram_0_auto_io_out_dq_2_oe; // @[LazyModule.scala 311:12]
+  assign auto_qspi_ram_0_io_out_dq_3_o = qspi_ram_0_auto_io_out_dq_3_o; // @[LazyModule.scala 311:12]
+  assign auto_qspi_ram_0_io_out_dq_3_oe = qspi_ram_0_auto_io_out_dq_3_oe; // @[LazyModule.scala 311:12]
+  assign auto_qspi_ram_0_io_out_cs_0 = qspi_ram_0_auto_io_out_cs_0; // @[LazyModule.scala 311:12]
+  assign qspi_ram_0_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign qspi_ram_0_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_mem_xing_in_a_valid = auto_qspi_ram_0_mem_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_mem_xing_in_a_bits_opcode = auto_qspi_ram_0_mem_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_mem_xing_in_a_bits_param = auto_qspi_ram_0_mem_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_mem_xing_in_a_bits_size = auto_qspi_ram_0_mem_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_mem_xing_in_a_bits_source = auto_qspi_ram_0_mem_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_mem_xing_in_a_bits_address = auto_qspi_ram_0_mem_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_mem_xing_in_a_bits_mask = auto_qspi_ram_0_mem_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_mem_xing_in_a_bits_data = auto_qspi_ram_0_mem_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_mem_xing_in_a_bits_corrupt = auto_qspi_ram_0_mem_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_mem_xing_in_d_ready = auto_qspi_ram_0_mem_xing_in_d_ready; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_control_xing_in_a_valid = auto_qspi_ram_0_control_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_control_xing_in_a_bits_opcode = auto_qspi_ram_0_control_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_control_xing_in_a_bits_param = auto_qspi_ram_0_control_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_control_xing_in_a_bits_size = auto_qspi_ram_0_control_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_control_xing_in_a_bits_source = auto_qspi_ram_0_control_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_control_xing_in_a_bits_address = auto_qspi_ram_0_control_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_control_xing_in_a_bits_mask = auto_qspi_ram_0_control_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_control_xing_in_a_bits_data = auto_qspi_ram_0_control_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_control_xing_in_a_bits_corrupt = auto_qspi_ram_0_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_control_xing_in_d_ready = auto_qspi_ram_0_control_xing_in_d_ready; // @[LazyModule.scala 309:16]
+  assign qspi_ram_0_auto_io_out_dq_0_i = auto_qspi_ram_0_io_out_dq_0_i; // @[LazyModule.scala 311:12]
+  assign qspi_ram_0_auto_io_out_dq_1_i = auto_qspi_ram_0_io_out_dq_1_i; // @[LazyModule.scala 311:12]
+  assign qspi_ram_0_auto_io_out_dq_2_i = auto_qspi_ram_0_io_out_dq_2_i; // @[LazyModule.scala 311:12]
+  assign qspi_ram_0_auto_io_out_dq_3_i = auto_qspi_ram_0_io_out_dq_3_i; // @[LazyModule.scala 311:12]
+endmodule
+module TLMonitor_65(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10024000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_663 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_663) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module SPIPhysical_2(
+  input         clock,
+  input         reset,
+  output        io_port_sck,
+  input         io_port_dq_0_i,
+  output        io_port_dq_0_o,
+  output        io_port_dq_0_oe,
+  input         io_port_dq_1_i,
+  output        io_port_dq_1_o,
+  output        io_port_dq_1_oe,
+  input         io_port_dq_2_i,
+  output        io_port_dq_2_o,
+  output        io_port_dq_2_oe,
+  input         io_port_dq_3_i,
+  output        io_port_dq_3_o,
+  output        io_port_dq_3_oe,
+  input  [11:0] io_ctrl_sck_div,
+  input         io_ctrl_sck_pol,
+  input         io_ctrl_sck_pha,
+  input  [1:0]  io_ctrl_fmt_proto,
+  input         io_ctrl_fmt_endian,
+  input         io_ctrl_fmt_iodir,
+  input  [11:0] io_ctrl_extradel_coarse,
+  input  [4:0]  io_ctrl_sampledel_sd,
+  output        io_op_ready,
+  input         io_op_valid,
+  input         io_op_bits_fn,
+  input         io_op_bits_stb,
+  input  [7:0]  io_op_bits_cnt,
+  input  [7:0]  io_op_bits_data,
+  output        io_rx_valid,
+  output [7:0]  io_rx_bits
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+`endif // RANDOMIZE_REG_INIT
+  reg [11:0] ctrl_sck_div; // @[SPIPhysical.scala 52:17]
+  reg  ctrl_sck_pol; // @[SPIPhysical.scala 52:17]
+  reg  ctrl_sck_pha; // @[SPIPhysical.scala 52:17]
+  reg [1:0] ctrl_fmt_proto; // @[SPIPhysical.scala 52:17]
+  reg  ctrl_fmt_endian; // @[SPIPhysical.scala 52:17]
+  reg  ctrl_fmt_iodir; // @[SPIPhysical.scala 52:17]
+  wire  proto_0 = 2'h0 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48]
+  wire  proto_1 = 2'h1 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48]
+  wire  proto_2 = 2'h2 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48]
+  reg  setup_d; // @[SPIPhysical.scala 60:20]
+  reg [7:0] scnt; // @[SPIPhysical.scala 62:17]
+  reg [11:0] tcnt; // @[SPIPhysical.scala 63:17]
+  wire  stop = scnt == 8'h0; // @[SPIPhysical.scala 65:20]
+  wire  beat = tcnt == 12'h0; // @[SPIPhysical.scala 66:20]
+  wire [11:0] _GEN_78 = {{7'd0}, io_ctrl_sampledel_sd}; // @[SPIPhysical.scala 69:49]
+  wire [11:0] totalCoarseDel = io_ctrl_extradel_coarse + _GEN_78; // @[SPIPhysical.scala 69:49]
+  reg  sample_d; // @[SPIPhysical.scala 70:25]
+  reg [11:0] del_cntr; // @[SPIPhysical.scala 71:25]
+  reg  xfr; // @[SPIPhysical.scala 182:16]
+  reg  cref; // @[SPIPhysical.scala 117:17]
+  wire  _GEN_10 = xfr & cref; // @[SPIPhysical.scala 190:18 192:16]
+  wire  _GEN_15 = beat & _GEN_10; // @[SPIPhysical.scala 188:17]
+  wire  sample = stop ? 1'h0 : _GEN_15; // @[SPIPhysical.scala 184:15]
+  wire [11:0] _del_cntr_T_1 = totalCoarseDel - 12'h1; // @[SPIPhysical.scala 75:34]
+  wire [11:0] _del_cntr_T_3 = del_cntr - 12'h1; // @[SPIPhysical.scala 82:28]
+  wire  _T_3 = del_cntr == 12'h1; // @[SPIPhysical.scala 86:18]
+  reg  last_d; // @[SPIPhysical.scala 92:23]
+  reg [11:0] del_cntr_last; // @[SPIPhysical.scala 93:30]
+  wire  last = scnt == 8'h1 & (beat & cref & xfr); // @[SPIPhysical.scala 201:27 202:10]
+  wire [11:0] _del_cntr_last_T_3 = del_cntr_last - 12'h1; // @[SPIPhysical.scala 103:38]
+  wire  _T_7 = del_cntr_last == 12'h1; // @[SPIPhysical.scala 107:23]
+  wire [11:0] _decr_T = beat ? {{4'd0}, scnt} : tcnt; // @[SPIPhysical.scala 112:17]
+  wire [11:0] decr = _decr_T - 12'h1; // @[SPIPhysical.scala 112:36]
+  wire  sched = stop | beat; // @[SPIPhysical.scala 184:15 185:11]
+  reg  sck; // @[SPIPhysical.scala 116:16]
+  wire  cinv = ctrl_sck_pha ^ ctrl_sck_pol; // @[SPIPhysical.scala 118:27]
+  wire [3:0] rxd = {io_port_dq_3_i,io_port_dq_2_i,io_port_dq_1_i,io_port_dq_0_i}; // @[Cat.scala 31:58]
+  wire  rxd_delayed_0 = rxd[0]; // @[SPIPhysical.scala 135:24]
+  wire  rxd_delayed_1 = rxd[1]; // @[SPIPhysical.scala 135:24]
+  wire  rxd_delayed_2 = rxd[2]; // @[SPIPhysical.scala 135:24]
+  wire  rxd_delayed_3 = rxd[3]; // @[SPIPhysical.scala 135:24]
+  wire [3:0] rxd_fin = {rxd_delayed_3,rxd_delayed_2,rxd_delayed_1,rxd_delayed_0}; // @[SPIPhysical.scala 138:29]
+  wire  samples_0 = rxd_fin[1]; // @[SPIPhysical.scala 139:28]
+  wire [1:0] samples_1 = rxd_fin[1:0]; // @[SPIPhysical.scala 139:40]
+  reg [7:0] buffer; // @[SPIPhysical.scala 141:19]
+  wire [7:0] _buffer_in_T_9 = {io_op_bits_data[0],io_op_bits_data[1],io_op_bits_data[2],io_op_bits_data[3],
+    io_op_bits_data[4],io_op_bits_data[5],io_op_bits_data[6],io_op_bits_data[7]}; // @[Cat.scala 31:58]
+  wire [7:0] buffer_in = ~io_ctrl_fmt_endian ? io_op_bits_data : _buffer_in_T_9; // @[SPIPhysical.scala 121:8]
+  wire  shift = totalCoarseDel > 12'h0 ? setup_d | sample_d & stop : sample_d; // @[SPIPhysical.scala 143:19]
+  wire [6:0] _buffer_T_2 = shift ? buffer[6:0] : buffer[7:1]; // @[SPIPhysical.scala 147:12]
+  wire  _buffer_T_4 = sample_d ? samples_0 : buffer[0]; // @[SPIPhysical.scala 148:12]
+  wire [7:0] _buffer_T_5 = {_buffer_T_2,_buffer_T_4}; // @[Cat.scala 31:58]
+  wire [5:0] _buffer_T_8 = shift ? buffer[5:0] : buffer[7:2]; // @[SPIPhysical.scala 147:12]
+  wire [1:0] _buffer_T_10 = sample_d ? samples_1 : buffer[1:0]; // @[SPIPhysical.scala 148:12]
+  wire [7:0] _buffer_T_11 = {_buffer_T_8,_buffer_T_10}; // @[Cat.scala 31:58]
+  wire [3:0] _buffer_T_14 = shift ? buffer[3:0] : buffer[7:4]; // @[SPIPhysical.scala 147:12]
+  wire [3:0] _buffer_T_16 = sample_d ? rxd_fin : buffer[3:0]; // @[SPIPhysical.scala 148:12]
+  wire [7:0] _buffer_T_17 = {_buffer_T_14,_buffer_T_16}; // @[Cat.scala 31:58]
+  wire [7:0] _buffer_T_18 = proto_0 ? _buffer_T_5 : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _buffer_T_19 = proto_1 ? _buffer_T_11 : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _buffer_T_20 = proto_2 ? _buffer_T_17 : 8'h0; // @[Mux.scala 27:73]
+  wire [7:0] _buffer_T_21 = _buffer_T_18 | _buffer_T_19; // @[Mux.scala 27:73]
+  wire [7:0] _buffer_T_22 = _buffer_T_21 | _buffer_T_20; // @[Mux.scala 27:73]
+  reg [3:0] txd; // @[SPIPhysical.scala 153:16]
+  wire  _T_18 = ~cref; // @[SPIPhysical.scala 203:19]
+  wire  _GEN_25 = beat & ~cref | stop; // @[SPIPhysical.scala 203:26 204:14]
+  wire  accept = scnt == 8'h1 ? _GEN_25 : stop; // @[SPIPhysical.scala 201:27]
+  wire [3:0] txd_in = accept ? buffer_in[7:4] : buffer[7:4]; // @[SPIPhysical.scala 154:19]
+  wire [1:0] _txd_sel_T = accept ? io_ctrl_fmt_proto : ctrl_fmt_proto; // @[SPIPhysical.scala 155:39]
+  wire  txd_sel_0 = 2'h0 == _txd_sel_T; // @[SPIConsts.scala 13:48]
+  wire  txd_sel_1 = 2'h1 == _txd_sel_T; // @[SPIConsts.scala 13:48]
+  wire  txd_sel_2 = 2'h2 == _txd_sel_T; // @[SPIConsts.scala 13:48]
+  wire  txd_shf_0 = txd_in[3]; // @[SPIPhysical.scala 156:55]
+  wire [1:0] txd_shf_1 = txd_in[3:2]; // @[SPIPhysical.scala 156:55]
+  wire  _txd_T = txd_sel_0 & txd_shf_0; // @[Mux.scala 27:73]
+  wire [1:0] _txd_T_1 = txd_sel_1 ? txd_shf_1 : 2'h0; // @[Mux.scala 27:73]
+  wire [3:0] _txd_T_2 = txd_sel_2 ? txd_in : 4'h0; // @[Mux.scala 27:73]
+  wire [1:0] _GEN_79 = {{1'd0}, _txd_T}; // @[Mux.scala 27:73]
+  wire [1:0] _txd_T_3 = _GEN_79 | _txd_T_1; // @[Mux.scala 27:73]
+  wire [3:0] _GEN_80 = {{2'd0}, _txd_T_3}; // @[Mux.scala 27:73]
+  wire [3:0] _txd_T_4 = _GEN_80 | _txd_T_2; // @[Mux.scala 27:73]
+  reg  done; // @[SPIPhysical.scala 176:17]
+  wire  _T_21 = ~io_op_bits_fn; // @[SPIPhysical.scala 220:22]
+  wire  _GEN_11 = xfr & _T_18; // @[SPIPhysical.scala 190:18 193:15]
+  wire  _GEN_16 = beat & _GEN_11; // @[SPIPhysical.scala 188:17]
+  wire  _GEN_23 = stop ? 1'h0 : _GEN_16; // @[SPIPhysical.scala 184:15]
+  wire  _GEN_26 = beat & ~cref ? 1'h0 : _GEN_23; // @[SPIPhysical.scala 203:26 205:13]
+  wire  _GEN_30 = scnt == 8'h1 ? _GEN_26 : _GEN_23; // @[SPIPhysical.scala 201:27]
+  wire  _GEN_45 = ~io_op_bits_fn | _GEN_30; // @[SPIPhysical.scala 220:22 224:17]
+  wire  _GEN_59 = io_op_valid ? _GEN_45 : _GEN_30; // @[SPIPhysical.scala 212:24]
+  wire  setup = accept & done ? _GEN_59 : _GEN_30; // @[SPIPhysical.scala 210:25]
+  wire  txen_2 = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 162:49]
+  wire  txen_1 = proto_1 & ctrl_fmt_iodir | txen_2; // @[SPIPhysical.scala 162:82]
+  wire [7:0] _io_rx_bits_T_9 = {buffer[0],buffer[1],buffer[2],buffer[3],buffer[4],buffer[5],buffer[6],buffer[7]}; // @[Cat.scala 31:58]
+  wire  _GEN_9 = xfr ? cref ^ cinv : sck; // @[SPIPhysical.scala 190:18 191:13 116:16]
+  wire [11:0] _GEN_12 = _T_18 ? decr : {{4'd0}, scnt}; // @[SPIPhysical.scala 195:20 196:14 62:17]
+  wire  _GEN_13 = beat ? _T_18 : cref; // @[SPIPhysical.scala 188:17 189:12 117:17]
+  wire  _GEN_14 = beat ? _GEN_9 : sck; // @[SPIPhysical.scala 116:16 188:17]
+  wire [11:0] _GEN_17 = beat ? _GEN_12 : {{4'd0}, scnt}; // @[SPIPhysical.scala 188:17 62:17]
+  wire  _GEN_20 = stop ? cref : _GEN_13; // @[SPIPhysical.scala 184:15 117:17]
+  wire  _GEN_21 = stop ? sck : _GEN_14; // @[SPIPhysical.scala 184:15 116:16]
+  wire [11:0] _GEN_24 = stop ? {{4'd0}, scnt} : _GEN_17; // @[SPIPhysical.scala 184:15 62:17]
+  wire  _GEN_27 = beat & ~cref ? ctrl_sck_pol : _GEN_21; // @[SPIPhysical.scala 203:26 206:11]
+  wire  _GEN_31 = scnt == 8'h1 ? _GEN_27 : _GEN_21; // @[SPIPhysical.scala 201:27]
+  wire  _GEN_35 = io_op_bits_stb ? io_ctrl_sck_pol : _GEN_31; // @[SPIPhysical.scala 229:25 230:17]
+  wire [11:0] _GEN_36 = io_op_bits_stb ? io_ctrl_sck_div : ctrl_sck_div; // @[SPIPhysical.scala 229:25 231:22 52:17]
+  wire  _GEN_37 = io_op_bits_stb ? io_ctrl_sck_pol : ctrl_sck_pol; // @[SPIPhysical.scala 229:25 231:22 52:17]
+  wire  _GEN_38 = io_op_bits_stb ? io_ctrl_sck_pha : ctrl_sck_pha; // @[SPIPhysical.scala 229:25 231:22 52:17]
+  wire  _GEN_46 = ~io_op_bits_fn ? io_op_bits_cnt == 8'h0 : done | last_d; // @[SPIPhysical.scala 220:22 225:16 177:8]
+  wire [11:0] _GEN_51 = io_op_valid ? {{4'd0}, io_op_bits_cnt} : _GEN_24; // @[SPIPhysical.scala 212:24 213:12]
+  wire  _GEN_60 = io_op_valid ? _GEN_46 : done | last_d; // @[SPIPhysical.scala 212:24 177:8]
+  wire [11:0] _GEN_65 = accept & done ? _GEN_51 : _GEN_24; // @[SPIPhysical.scala 210:25]
+  wire  _GEN_74 = accept & done ? _GEN_60 : done | last_d; // @[SPIPhysical.scala 210:25 177:8]
+  assign io_port_sck = sck; // @[SPIPhysical.scala 166:15]
+  assign io_port_dq_0_o = txd[0]; // @[SPIPhysical.scala 168:24]
+  assign io_port_dq_0_oe = proto_0 | txen_1; // @[SPIPhysical.scala 162:82]
+  assign io_port_dq_1_o = txd[1]; // @[SPIPhysical.scala 168:24]
+  assign io_port_dq_1_oe = proto_1 & ctrl_fmt_iodir | txen_2; // @[SPIPhysical.scala 162:82]
+  assign io_port_dq_2_o = txd[2]; // @[SPIPhysical.scala 168:24]
+  assign io_port_dq_2_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 162:49]
+  assign io_port_dq_3_o = txd[3]; // @[SPIPhysical.scala 168:24]
+  assign io_port_dq_3_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 162:49]
+  assign io_op_ready = accept & done; // @[SPIPhysical.scala 210:16]
+  assign io_rx_valid = done; // @[SPIPhysical.scala 179:15]
+  assign io_rx_bits = ~ctrl_fmt_endian ? buffer : _io_rx_bits_T_9; // @[SPIPhysical.scala 121:8]
+  always @(posedge clock) begin
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (!(~io_op_bits_fn)) begin // @[SPIPhysical.scala 220:22]
+          if (io_op_bits_fn) begin // @[SPIPhysical.scala 220:22]
+            ctrl_sck_div <= _GEN_36;
+          end
+        end
+      end
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (!(~io_op_bits_fn)) begin // @[SPIPhysical.scala 220:22]
+          if (io_op_bits_fn) begin // @[SPIPhysical.scala 220:22]
+            ctrl_sck_pol <= _GEN_37;
+          end
+        end
+      end
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (!(~io_op_bits_fn)) begin // @[SPIPhysical.scala 220:22]
+          if (io_op_bits_fn) begin // @[SPIPhysical.scala 220:22]
+            ctrl_sck_pha <= _GEN_38;
+          end
+        end
+      end
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (io_op_bits_stb) begin // @[SPIPhysical.scala 215:21]
+          ctrl_fmt_proto <= io_ctrl_fmt_proto; // @[SPIPhysical.scala 216:18]
+        end
+      end
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (io_op_bits_stb) begin // @[SPIPhysical.scala 215:21]
+          ctrl_fmt_endian <= io_ctrl_fmt_endian; // @[SPIPhysical.scala 216:18]
+        end
+      end
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (io_op_bits_stb) begin // @[SPIPhysical.scala 215:21]
+          ctrl_fmt_iodir <= io_ctrl_fmt_iodir; // @[SPIPhysical.scala 216:18]
+        end
+      end
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        setup_d <= _GEN_45;
+      end else begin
+        setup_d <= _GEN_30;
+      end
+    end else begin
+      setup_d <= _GEN_30;
+    end
+    if (reset) begin // @[SPIPhysical.scala 62:17]
+      scnt <= 8'h0; // @[SPIPhysical.scala 62:17]
+    end else begin
+      scnt <= _GEN_65[7:0];
+    end
+    if (sched) begin // @[SPIPhysical.scala 114:14]
+      tcnt <= ctrl_sck_div;
+    end else begin
+      tcnt <= decr;
+    end
+    if (reset) begin // @[SPIPhysical.scala 70:25]
+      sample_d <= 1'h0; // @[SPIPhysical.scala 70:25]
+    end else begin
+      sample_d <= _T_3;
+    end
+    if (reset) begin // @[SPIPhysical.scala 71:25]
+      del_cntr <= 12'h3; // @[SPIPhysical.scala 71:25]
+    end else if (beat & sample) begin // @[SPIPhysical.scala 73:25]
+      if (totalCoarseDel > 12'h1) begin // @[SPIPhysical.scala 74:32]
+        del_cntr <= _del_cntr_T_1; // @[SPIPhysical.scala 75:16]
+      end else begin
+        del_cntr <= 12'h1; // @[SPIPhysical.scala 78:16]
+      end
+    end else if (del_cntr != 12'h0) begin // @[SPIPhysical.scala 81:27]
+      del_cntr <= _del_cntr_T_3; // @[SPIPhysical.scala 82:16]
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        xfr <= _T_21;
+      end
+    end
+    cref <= reset | _GEN_20; // @[SPIPhysical.scala 117:{17,17}]
+    if (reset) begin // @[SPIPhysical.scala 92:23]
+      last_d <= 1'h0; // @[SPIPhysical.scala 92:23]
+    end else begin
+      last_d <= _T_7;
+    end
+    if (reset) begin // @[SPIPhysical.scala 93:30]
+      del_cntr_last <= 12'h3; // @[SPIPhysical.scala 93:30]
+    end else if (beat & last) begin // @[SPIPhysical.scala 94:23]
+      if (totalCoarseDel > 12'h1) begin // @[SPIPhysical.scala 74:32]
+        del_cntr_last <= _del_cntr_T_1; // @[SPIPhysical.scala 75:16]
+      end else begin
+        del_cntr_last <= 12'h1; // @[SPIPhysical.scala 78:16]
+      end
+    end else if (del_cntr_last != 12'h0) begin // @[SPIPhysical.scala 102:33]
+      del_cntr_last <= _del_cntr_last_T_3; // @[SPIPhysical.scala 103:21]
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (~io_op_bits_fn) begin // @[SPIPhysical.scala 220:22]
+          sck <= cinv; // @[SPIPhysical.scala 223:15]
+        end else if (io_op_bits_fn) begin // @[SPIPhysical.scala 220:22]
+          sck <= _GEN_35;
+        end else begin
+          sck <= _GEN_31;
+        end
+      end else begin
+        sck <= _GEN_31;
+      end
+    end else begin
+      sck <= _GEN_31;
+    end
+    if (accept & done) begin // @[SPIPhysical.scala 210:25]
+      if (io_op_valid) begin // @[SPIPhysical.scala 212:24]
+        if (~io_op_bits_fn) begin // @[SPIPhysical.scala 220:22]
+          if (~io_ctrl_fmt_endian) begin // @[SPIPhysical.scala 121:8]
+            buffer <= io_op_bits_data;
+          end else begin
+            buffer <= _buffer_in_T_9;
+          end
+        end else begin
+          buffer <= _buffer_T_22; // @[SPIPhysical.scala 144:10]
+        end
+      end else begin
+        buffer <= _buffer_T_22; // @[SPIPhysical.scala 144:10]
+      end
+    end else begin
+      buffer <= _buffer_T_22; // @[SPIPhysical.scala 144:10]
+    end
+    if (reset) begin // @[SPIPhysical.scala 153:16]
+      txd <= 4'h0; // @[SPIPhysical.scala 153:16]
+    end else if (setup) begin // @[SPIPhysical.scala 157:16]
+      txd <= _txd_T_4; // @[SPIPhysical.scala 158:9]
+    end
+    done <= reset | _GEN_74; // @[SPIPhysical.scala 176:{17,17}]
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  ctrl_sck_pol = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  ctrl_sck_pha = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  ctrl_fmt_proto = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  ctrl_fmt_endian = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  ctrl_fmt_iodir = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  setup_d = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  scnt = _RAND_7[7:0];
+  _RAND_8 = {1{`RANDOM}};
+  tcnt = _RAND_8[11:0];
+  _RAND_9 = {1{`RANDOM}};
+  sample_d = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  del_cntr = _RAND_10[11:0];
+  _RAND_11 = {1{`RANDOM}};
+  xfr = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  cref = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  last_d = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  del_cntr_last = _RAND_14[11:0];
+  _RAND_15 = {1{`RANDOM}};
+  sck = _RAND_15[0:0];
+  _RAND_16 = {1{`RANDOM}};
+  buffer = _RAND_16[7:0];
+  _RAND_17 = {1{`RANDOM}};
+  txd = _RAND_17[3:0];
+  _RAND_18 = {1{`RANDOM}};
+  done = _RAND_18[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module SPIMedia_2(
+  input         clock,
+  input         reset,
+  output        io_port_sck,
+  input         io_port_dq_0_i,
+  output        io_port_dq_0_o,
+  output        io_port_dq_0_oe,
+  input         io_port_dq_1_i,
+  output        io_port_dq_1_o,
+  output        io_port_dq_1_oe,
+  input         io_port_dq_2_i,
+  output        io_port_dq_2_o,
+  output        io_port_dq_2_oe,
+  input         io_port_dq_3_i,
+  output        io_port_dq_3_o,
+  output        io_port_dq_3_oe,
+  output        io_port_cs_0,
+  output        io_port_cs_1,
+  input  [11:0] io_ctrl_sck_div,
+  input         io_ctrl_sck_pol,
+  input         io_ctrl_sck_pha,
+  input  [7:0]  io_ctrl_dla_cssck,
+  input  [7:0]  io_ctrl_dla_sckcs,
+  input  [7:0]  io_ctrl_dla_intercs,
+  input  [7:0]  io_ctrl_dla_interxfr,
+  input         io_ctrl_cs_id,
+  input         io_ctrl_cs_dflt_0,
+  input         io_ctrl_cs_dflt_1,
+  input  [11:0] io_ctrl_extradel_coarse,
+  input  [4:0]  io_ctrl_sampledel_sd,
+  output        io_link_tx_ready,
+  input         io_link_tx_valid,
+  input  [7:0]  io_link_tx_bits,
+  output        io_link_rx_valid,
+  output [7:0]  io_link_rx_bits,
+  input  [7:0]  io_link_cnt,
+  input  [1:0]  io_link_fmt_proto,
+  input         io_link_fmt_endian,
+  input         io_link_fmt_iodir,
+  input         io_link_cs_set,
+  input         io_link_cs_clear
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+`endif // RANDOMIZE_REG_INIT
+  wire  phy_clock; // @[SPIMedia.scala 36:19]
+  wire  phy_reset; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_sck; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_0_i; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_0_o; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_0_oe; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_1_i; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_1_o; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_1_oe; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_2_i; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_2_o; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_2_oe; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_3_i; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_3_o; // @[SPIMedia.scala 36:19]
+  wire  phy_io_port_dq_3_oe; // @[SPIMedia.scala 36:19]
+  wire [11:0] phy_io_ctrl_sck_div; // @[SPIMedia.scala 36:19]
+  wire  phy_io_ctrl_sck_pol; // @[SPIMedia.scala 36:19]
+  wire  phy_io_ctrl_sck_pha; // @[SPIMedia.scala 36:19]
+  wire [1:0] phy_io_ctrl_fmt_proto; // @[SPIMedia.scala 36:19]
+  wire  phy_io_ctrl_fmt_endian; // @[SPIMedia.scala 36:19]
+  wire  phy_io_ctrl_fmt_iodir; // @[SPIMedia.scala 36:19]
+  wire [11:0] phy_io_ctrl_extradel_coarse; // @[SPIMedia.scala 36:19]
+  wire [4:0] phy_io_ctrl_sampledel_sd; // @[SPIMedia.scala 36:19]
+  wire  phy_io_op_ready; // @[SPIMedia.scala 36:19]
+  wire  phy_io_op_valid; // @[SPIMedia.scala 36:19]
+  wire  phy_io_op_bits_fn; // @[SPIMedia.scala 36:19]
+  wire  phy_io_op_bits_stb; // @[SPIMedia.scala 36:19]
+  wire [7:0] phy_io_op_bits_cnt; // @[SPIMedia.scala 36:19]
+  wire [7:0] phy_io_op_bits_data; // @[SPIMedia.scala 36:19]
+  wire  phy_io_rx_valid; // @[SPIMedia.scala 36:19]
+  wire [7:0] phy_io_rx_bits; // @[SPIMedia.scala 36:19]
+  reg  cs_id; // @[SPIMedia.scala 50:15]
+  reg  cs_dflt_0; // @[SPIMedia.scala 50:15]
+  reg  cs_dflt_1; // @[SPIMedia.scala 50:15]
+  reg  cs_set; // @[SPIMedia.scala 51:19]
+  wire [1:0] _GEN_4 = {{1'd0}, io_link_cs_set}; // @[SPIBundle.scala 49:19]
+  wire [1:0] cs_active_mask = _GEN_4 << io_ctrl_cs_id; // @[SPIBundle.scala 49:19]
+  wire [1:0] _cs_active_out_T = {io_ctrl_cs_dflt_1,io_ctrl_cs_dflt_0}; // @[Cat.scala 31:58]
+  wire [1:0] cs_active_out = _cs_active_out_T ^ cs_active_mask; // @[SPIBundle.scala 50:33]
+  wire  cs_active_0 = cs_active_out[0]; // @[SPIBundle.scala 51:32]
+  wire  cs_active_1 = cs_active_out[1]; // @[SPIBundle.scala 51:32]
+  wire [1:0] _cs_update_T = {cs_active_1,cs_active_0}; // @[SPIMedia.scala 53:30]
+  wire [1:0] _cs_update_T_1 = {cs_dflt_1,cs_dflt_0}; // @[SPIMedia.scala 53:49]
+  wire  cs_update = _cs_update_T != _cs_update_T_1; // @[SPIMedia.scala 53:37]
+  reg  clear; // @[SPIMedia.scala 55:18]
+  reg  cs_assert; // @[SPIMedia.scala 56:22]
+  wire  cs_deassert = clear | cs_update; // @[SPIMedia.scala 57:27]
+  wire  continuous = io_ctrl_dla_interxfr == 8'h0; // @[SPIMedia.scala 61:42]
+  reg [1:0] state; // @[SPIMedia.scala 72:18]
+  wire [1:0] _GEN_0 = phy_io_op_ready ? 2'h2 : state; // @[SPIMedia.scala 72:18 79:27 80:19]
+  wire  _T_1 = phy_io_op_ready & phy_io_op_valid; // @[Decoupled.scala 50:35]
+  wire [1:0] _GEN_1 = _T_1 ? 2'h1 : state; // @[SPIMedia.scala 72:18 88:28 89:19]
+  wire [7:0] _GEN_2 = cs_deassert ? io_ctrl_dla_sckcs : io_link_cnt; // @[SPIMedia.scala 46:15 77:28 78:23]
+  wire  _GEN_5 = cs_deassert ? 1'h0 : 1'h1; // @[SPIMedia.scala 45:15 77:28 84:23]
+  wire  _GEN_6 = cs_deassert | io_link_tx_valid; // @[SPIMedia.scala 43:12 77:28 86:20]
+  wire  _GEN_7 = cs_deassert ? 1'h0 : phy_io_op_ready; // @[SPIMedia.scala 68:20 77:28 87:28]
+  wire  _GEN_8 = phy_io_op_ready | cs_assert; // @[SPIMedia.scala 95:25 96:21 56:22]
+  wire [7:0] _GEN_12 = io_link_tx_valid ? io_ctrl_dla_cssck : 8'h0; // @[SPIMedia.scala 102:21 92:38 94:21]
+  wire  _GEN_17 = io_link_tx_valid ? 1'h0 : 1'h1; // @[SPIMedia.scala 45:15 103:21 92:38]
+  wire [7:0] _GEN_19 = cs_assert ? _GEN_2 : _GEN_12; // @[SPIMedia.scala 76:24]
+  wire  _GEN_21 = cs_assert ? cs_deassert : 1'h1; // @[SPIMedia.scala 44:14 76:24]
+  wire  _GEN_22 = cs_assert ? _GEN_5 : _GEN_17; // @[SPIMedia.scala 76:24]
+  wire  _GEN_23 = cs_assert ? _GEN_6 : 1'h1; // @[SPIMedia.scala 43:12 76:24]
+  wire  _GEN_24 = cs_assert & _GEN_7; // @[SPIMedia.scala 68:20 76:24]
+  wire [1:0] _GEN_35 = {{1'd0}, cs_set}; // @[SPIBundle.scala 49:19]
+  wire [1:0] mask = _GEN_35 << cs_id; // @[SPIBundle.scala 49:19]
+  wire [1:0] out = _cs_update_T_1 ^ mask; // @[SPIBundle.scala 50:33]
+  wire [1:0] _GEN_33 = phy_io_op_ready ? 2'h0 : state; // @[SPIMedia.scala 123:23 125:15 72:18]
+  wire [7:0] _GEN_34 = 2'h2 == state ? io_ctrl_dla_intercs : io_link_cnt; // @[SPIMedia.scala 74:18 119:19 46:15]
+  wire  _GEN_41 = 2'h1 == state ? ~continuous : 1'h1; // @[SPIMedia.scala 110:16 43:12 74:18]
+  wire [7:0] _GEN_42 = 2'h1 == state ? io_ctrl_dla_interxfr : _GEN_34; // @[SPIMedia.scala 74:18 111:19]
+  wire  _GEN_44 = 2'h1 == state ? 1'h0 : 2'h2 == state; // @[SPIMedia.scala 45:15 74:18]
+  SPIPhysical_2 phy ( // @[SPIMedia.scala 36:19]
+    .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 io_port_sck = phy_io_port_sck; // @[SPIMedia.scala 63:15]
+  assign io_port_dq_0_o = phy_io_port_dq_0_o; // @[SPIMedia.scala 64:14]
+  assign io_port_dq_0_oe = phy_io_port_dq_0_oe; // @[SPIMedia.scala 64:14]
+  assign io_port_dq_1_o = phy_io_port_dq_1_o; // @[SPIMedia.scala 64:14]
+  assign io_port_dq_1_oe = phy_io_port_dq_1_oe; // @[SPIMedia.scala 64:14]
+  assign io_port_dq_2_o = phy_io_port_dq_2_o; // @[SPIMedia.scala 64:14]
+  assign io_port_dq_2_oe = phy_io_port_dq_2_oe; // @[SPIMedia.scala 64:14]
+  assign io_port_dq_3_o = phy_io_port_dq_3_o; // @[SPIMedia.scala 64:14]
+  assign io_port_dq_3_oe = phy_io_port_dq_3_oe; // @[SPIMedia.scala 64:14]
+  assign io_port_cs_0 = cs_dflt_0; // @[SPIMedia.scala 65:14]
+  assign io_port_cs_1 = cs_dflt_1; // @[SPIMedia.scala 65:14]
+  assign io_link_tx_ready = 2'h0 == state & _GEN_24; // @[SPIMedia.scala 74:18 68:20]
+  assign io_link_rx_valid = phy_io_rx_valid; // @[SPIMedia.scala 67:14]
+  assign io_link_rx_bits = phy_io_rx_bits; // @[SPIMedia.scala 67:14]
+  assign phy_clock = clock;
+  assign phy_reset = reset;
+  assign phy_io_port_dq_0_i = io_port_dq_0_i; // @[SPIMedia.scala 64:14]
+  assign phy_io_port_dq_1_i = io_port_dq_1_i; // @[SPIMedia.scala 64:14]
+  assign phy_io_port_dq_2_i = io_port_dq_2_i; // @[SPIMedia.scala 64:14]
+  assign phy_io_port_dq_3_i = io_port_dq_3_i; // @[SPIMedia.scala 64:14]
+  assign phy_io_ctrl_sck_div = io_ctrl_sck_div; // @[SPIMedia.scala 37:19]
+  assign phy_io_ctrl_sck_pol = io_ctrl_sck_pol; // @[SPIMedia.scala 37:19]
+  assign phy_io_ctrl_sck_pha = io_ctrl_sck_pha; // @[SPIMedia.scala 37:19]
+  assign phy_io_ctrl_fmt_proto = io_link_fmt_proto; // @[SPIMedia.scala 38:19]
+  assign phy_io_ctrl_fmt_endian = io_link_fmt_endian; // @[SPIMedia.scala 38:19]
+  assign phy_io_ctrl_fmt_iodir = io_link_fmt_iodir; // @[SPIMedia.scala 38:19]
+  assign phy_io_ctrl_extradel_coarse = io_ctrl_extradel_coarse; // @[SPIMedia.scala 39:24]
+  assign phy_io_ctrl_sampledel_sd = io_ctrl_sampledel_sd; // @[SPIMedia.scala 40:25]
+  assign phy_io_op_valid = 2'h0 == state ? _GEN_23 : _GEN_41; // @[SPIMedia.scala 74:18]
+  assign phy_io_op_bits_fn = 2'h0 == state ? _GEN_21 : 1'h1; // @[SPIMedia.scala 44:14 74:18]
+  assign phy_io_op_bits_stb = 2'h0 == state ? _GEN_22 : _GEN_44; // @[SPIMedia.scala 74:18]
+  assign phy_io_op_bits_cnt = 2'h0 == state ? _GEN_19 : _GEN_42; // @[SPIMedia.scala 74:18]
+  assign phy_io_op_bits_data = io_link_tx_bits; // @[SPIMedia.scala 47:16]
+  always @(posedge clock) begin
+    if (2'h0 == state) begin // @[SPIMedia.scala 74:18]
+      if (!(cs_assert)) begin // @[SPIMedia.scala 76:24]
+        if (!(io_link_tx_valid)) begin // @[SPIMedia.scala 92:38]
+          cs_id <= io_ctrl_cs_id; // @[SPIMedia.scala 104:12]
+        end
+      end
+    end
+    if (2'h0 == state) begin // @[SPIMedia.scala 74:18]
+      if (!(cs_assert)) begin // @[SPIMedia.scala 76:24]
+        if (io_link_tx_valid) begin // @[SPIMedia.scala 92:38]
+          if (phy_io_op_ready) begin // @[SPIMedia.scala 95:25]
+            cs_dflt_0 <= cs_active_0; // @[SPIMedia.scala 98:19]
+          end
+        end else begin
+          cs_dflt_0 <= io_ctrl_cs_dflt_0; // @[SPIMedia.scala 104:12]
+        end
+      end
+    end else if (!(2'h1 == state)) begin // @[SPIMedia.scala 74:18]
+      if (2'h2 == state) begin // @[SPIMedia.scala 74:18]
+        if (phy_io_op_ready) begin // @[SPIMedia.scala 123:23]
+          cs_dflt_0 <= out[0]; // @[SPIMedia.scala 124:17]
+        end
+      end
+    end
+    if (2'h0 == state) begin // @[SPIMedia.scala 74:18]
+      if (!(cs_assert)) begin // @[SPIMedia.scala 76:24]
+        if (io_link_tx_valid) begin // @[SPIMedia.scala 92:38]
+          if (phy_io_op_ready) begin // @[SPIMedia.scala 95:25]
+            cs_dflt_1 <= cs_active_1; // @[SPIMedia.scala 98:19]
+          end
+        end else begin
+          cs_dflt_1 <= io_ctrl_cs_dflt_1; // @[SPIMedia.scala 104:12]
+        end
+      end
+    end else if (!(2'h1 == state)) begin // @[SPIMedia.scala 74:18]
+      if (2'h2 == state) begin // @[SPIMedia.scala 74:18]
+        if (phy_io_op_ready) begin // @[SPIMedia.scala 123:23]
+          cs_dflt_1 <= out[1]; // @[SPIMedia.scala 124:17]
+        end
+      end
+    end
+    if (2'h0 == state) begin // @[SPIMedia.scala 74:18]
+      if (!(cs_assert)) begin // @[SPIMedia.scala 76:24]
+        if (io_link_tx_valid) begin // @[SPIMedia.scala 92:38]
+          if (phy_io_op_ready) begin // @[SPIMedia.scala 95:25]
+            cs_set <= io_link_cs_set; // @[SPIMedia.scala 97:18]
+          end
+        end
+      end
+    end
+    if (reset) begin // @[SPIMedia.scala 55:18]
+      clear <= 1'h0; // @[SPIMedia.scala 55:18]
+    end else if (2'h0 == state) begin // @[SPIMedia.scala 74:18]
+      clear <= clear | io_link_cs_clear & cs_assert; // @[SPIMedia.scala 59:9]
+    end else if (2'h1 == state) begin // @[SPIMedia.scala 74:18]
+      clear <= clear | io_link_cs_clear & cs_assert; // @[SPIMedia.scala 59:9]
+    end else if (2'h2 == state) begin // @[SPIMedia.scala 74:18]
+      clear <= 1'h0; // @[SPIMedia.scala 122:13]
+    end else begin
+      clear <= clear | io_link_cs_clear & cs_assert; // @[SPIMedia.scala 59:9]
+    end
+    if (reset) begin // @[SPIMedia.scala 56:22]
+      cs_assert <= 1'h0; // @[SPIMedia.scala 56:22]
+    end else if (2'h0 == state) begin // @[SPIMedia.scala 74:18]
+      if (!(cs_assert)) begin // @[SPIMedia.scala 76:24]
+        if (io_link_tx_valid) begin // @[SPIMedia.scala 92:38]
+          cs_assert <= _GEN_8;
+        end
+      end
+    end else if (!(2'h1 == state)) begin // @[SPIMedia.scala 74:18]
+      if (2'h2 == state) begin // @[SPIMedia.scala 74:18]
+        cs_assert <= 1'h0; // @[SPIMedia.scala 121:17]
+      end
+    end
+    if (reset) begin // @[SPIMedia.scala 72:18]
+      state <= 2'h0; // @[SPIMedia.scala 72:18]
+    end else if (2'h0 == state) begin // @[SPIMedia.scala 74:18]
+      if (cs_assert) begin // @[SPIMedia.scala 76:24]
+        if (cs_deassert) begin // @[SPIMedia.scala 77:28]
+          state <= _GEN_0;
+        end else begin
+          state <= _GEN_1;
+        end
+      end
+    end else if (2'h1 == state) begin // @[SPIMedia.scala 74:18]
+      if (phy_io_op_ready | continuous) begin // @[SPIMedia.scala 112:37]
+        state <= 2'h0; // @[SPIMedia.scala 113:15]
+      end
+    end else if (2'h2 == state) begin // @[SPIMedia.scala 74:18]
+      state <= _GEN_33;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  cs_dflt_0 = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  cs_dflt_1 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  cs_set = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  clear = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  cs_assert = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  state = _RAND_6[1:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLSPI(
+  input         clock,
+  input         reset,
+  output        auto_int_xing_out_sync_0,
+  output        auto_control_xing_in_a_ready,
+  input         auto_control_xing_in_a_valid,
+  input  [2:0]  auto_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_control_xing_in_a_bits_param,
+  input  [1:0]  auto_control_xing_in_a_bits_size,
+  input  [6:0]  auto_control_xing_in_a_bits_source,
+  input  [28:0] auto_control_xing_in_a_bits_address,
+  input  [3:0]  auto_control_xing_in_a_bits_mask,
+  input  [31:0] auto_control_xing_in_a_bits_data,
+  input         auto_control_xing_in_a_bits_corrupt,
+  input         auto_control_xing_in_d_ready,
+  output        auto_control_xing_in_d_valid,
+  output [2:0]  auto_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_control_xing_in_d_bits_size,
+  output [6:0]  auto_control_xing_in_d_bits_source,
+  output [31:0] auto_control_xing_in_d_bits_data,
+  output        auto_io_out_sck,
+  input         auto_io_out_dq_0_i,
+  output        auto_io_out_dq_0_o,
+  output        auto_io_out_dq_0_oe,
+  input         auto_io_out_dq_1_i,
+  output        auto_io_out_dq_1_o,
+  output        auto_io_out_dq_1_oe,
+  input         auto_io_out_dq_2_i,
+  output        auto_io_out_dq_2_o,
+  output        auto_io_out_dq_2_oe,
+  input         auto_io_out_dq_3_i,
+  output        auto_io_out_dq_3_o,
+  output        auto_io_out_dq_3_oe,
+  output        auto_io_out_cs_0,
+  output        auto_io_out_cs_1
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+`endif // RANDOMIZE_REG_INIT
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  intsource_clock; // @[Crossing.scala 26:31]
+  wire  intsource_reset; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  fifo_clock; // @[TLSPI.scala 69:20]
+  wire  fifo_reset; // @[TLSPI.scala 69:20]
+  wire [1:0] fifo_io_ctrl_fmt_proto; // @[TLSPI.scala 69:20]
+  wire  fifo_io_ctrl_fmt_endian; // @[TLSPI.scala 69:20]
+  wire  fifo_io_ctrl_fmt_iodir; // @[TLSPI.scala 69:20]
+  wire [3:0] fifo_io_ctrl_fmt_len; // @[TLSPI.scala 69:20]
+  wire [1:0] fifo_io_ctrl_cs_mode; // @[TLSPI.scala 69:20]
+  wire [3:0] fifo_io_ctrl_wm_tx; // @[TLSPI.scala 69:20]
+  wire [3:0] fifo_io_ctrl_wm_rx; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_tx_ready; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_tx_valid; // @[TLSPI.scala 69:20]
+  wire [7:0] fifo_io_link_tx_bits; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_rx_valid; // @[TLSPI.scala 69:20]
+  wire [7:0] fifo_io_link_rx_bits; // @[TLSPI.scala 69:20]
+  wire [7:0] fifo_io_link_cnt; // @[TLSPI.scala 69:20]
+  wire [1:0] fifo_io_link_fmt_proto; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_fmt_endian; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_fmt_iodir; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_cs_set; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_cs_clear; // @[TLSPI.scala 69:20]
+  wire  fifo_io_link_lock; // @[TLSPI.scala 69:20]
+  wire  fifo_io_tx_ready; // @[TLSPI.scala 69:20]
+  wire  fifo_io_tx_valid; // @[TLSPI.scala 69:20]
+  wire [7:0] fifo_io_tx_bits; // @[TLSPI.scala 69:20]
+  wire  fifo_io_rx_ready; // @[TLSPI.scala 69:20]
+  wire  fifo_io_rx_valid; // @[TLSPI.scala 69:20]
+  wire [7:0] fifo_io_rx_bits; // @[TLSPI.scala 69:20]
+  wire  fifo_io_ip_txwm; // @[TLSPI.scala 69:20]
+  wire  fifo_io_ip_rxwm; // @[TLSPI.scala 69:20]
+  wire  mac_clock; // @[TLSPI.scala 70:19]
+  wire  mac_reset; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_sck; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_0_i; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_0_o; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_0_oe; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_1_i; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_1_o; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_1_oe; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_2_i; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_2_o; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_2_oe; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_3_i; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_3_o; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_dq_3_oe; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_cs_0; // @[TLSPI.scala 70:19]
+  wire  mac_io_port_cs_1; // @[TLSPI.scala 70:19]
+  wire [11:0] mac_io_ctrl_sck_div; // @[TLSPI.scala 70:19]
+  wire  mac_io_ctrl_sck_pol; // @[TLSPI.scala 70:19]
+  wire  mac_io_ctrl_sck_pha; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_ctrl_dla_cssck; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_ctrl_dla_sckcs; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_ctrl_dla_intercs; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_ctrl_dla_interxfr; // @[TLSPI.scala 70:19]
+  wire  mac_io_ctrl_cs_id; // @[TLSPI.scala 70:19]
+  wire  mac_io_ctrl_cs_dflt_0; // @[TLSPI.scala 70:19]
+  wire  mac_io_ctrl_cs_dflt_1; // @[TLSPI.scala 70:19]
+  wire [11:0] mac_io_ctrl_extradel_coarse; // @[TLSPI.scala 70:19]
+  wire [4:0] mac_io_ctrl_sampledel_sd; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_tx_ready; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_tx_valid; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_link_tx_bits; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_rx_valid; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_link_rx_bits; // @[TLSPI.scala 70:19]
+  wire [7:0] mac_io_link_cnt; // @[TLSPI.scala 70:19]
+  wire [1:0] mac_io_link_fmt_proto; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_fmt_endian; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_fmt_iodir; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_cs_set; // @[TLSPI.scala 70:19]
+  wire  mac_io_link_cs_clear; // @[TLSPI.scala 70:19]
+  reg [1:0] ctrl_fmt_proto; // @[TLSPI.scala 68:17]
+  reg  ctrl_fmt_endian; // @[TLSPI.scala 68:17]
+  reg  ctrl_fmt_iodir; // @[TLSPI.scala 68:17]
+  reg [3:0] ctrl_fmt_len; // @[TLSPI.scala 68:17]
+  reg [11:0] ctrl_sck_div; // @[TLSPI.scala 68:17]
+  reg  ctrl_sck_pol; // @[TLSPI.scala 68:17]
+  reg  ctrl_sck_pha; // @[TLSPI.scala 68:17]
+  reg  ctrl_cs_id; // @[TLSPI.scala 68:17]
+  reg  ctrl_cs_dflt_0; // @[TLSPI.scala 68:17]
+  reg  ctrl_cs_dflt_1; // @[TLSPI.scala 68:17]
+  reg [1:0] ctrl_cs_mode; // @[TLSPI.scala 68:17]
+  reg [7:0] ctrl_dla_cssck; // @[TLSPI.scala 68:17]
+  reg [7:0] ctrl_dla_sckcs; // @[TLSPI.scala 68:17]
+  reg [7:0] ctrl_dla_intercs; // @[TLSPI.scala 68:17]
+  reg [7:0] ctrl_dla_interxfr; // @[TLSPI.scala 68:17]
+  reg [3:0] ctrl_wm_tx; // @[TLSPI.scala 68:17]
+  reg [3:0] ctrl_wm_rx; // @[TLSPI.scala 68:17]
+  reg [11:0] ctrl_extradel_coarse; // @[TLSPI.scala 68:17]
+  reg [4:0] ctrl_sampledel_sd; // @[TLSPI.scala 68:17]
+  reg  ie_txwm; // @[TLSPI.scala 82:15]
+  reg  ie_rxwm; // @[TLSPI.scala 82:15]
+  wire  _T = ~fifo_io_tx_ready; // @[RegMapFIFO.scala 25:9]
+  wire  _T_1 = ~fifo_io_rx_valid; // @[RegMapFIFO.scala 46:21]
+  wire [2:0] bundleIn_0_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  in_bits_read = bundleIn_0_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [28:0] bundleIn_0_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [9:0] in_bits_index = bundleIn_0_a_bits_address[11:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire [9:0] out_findex = in_bits_index & 10'h3e0; // @[RegisterRouter.scala 83:24]
+  wire  _out_T = out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] bundleIn_0_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_frontMask_T_5 = bundleIn_0_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_7 = bundleIn_0_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_9 = bundleIn_0_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_11 = bundleIn_0_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_frontMask = {_out_frontMask_T_11,_out_frontMask_T_9,_out_frontMask_T_7,_out_frontMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_wimask = &out_frontMask[11:0]; // @[RegisterRouter.scala 83:24]
+  wire  bundleIn_0_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  bundleIn_0_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [4:0] out_oindex = {in_bits_index[4],in_bits_index[3],in_bits_index[2],in_bits_index[1],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [31:0] _out_frontSel_T = 32'h1 << out_oindex; // @[OneHot.scala 57:35]
+  wire  out_frontSel_0 = _out_frontSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_0 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_0 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid = out_wivalid_0 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire [31:0] bundleIn_0_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  out_wimask_1 = &out_frontMask[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_5 = _out_frontSel_T[5]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_5 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1 = out_wivalid_1 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_1 = out_f_wivalid_1 ? bundleIn_0_a_bits_data[0] : ctrl_cs_dflt_0; // @[RegField.scala 74:{88,92} TLSPI.scala 68:17]
+  wire  out_wimask_2 = &out_frontMask[1]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_2 = out_wivalid_1 & out_wimask_2; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_2 = out_f_wivalid_2 ? bundleIn_0_a_bits_data[1] : ctrl_cs_dflt_1; // @[RegField.scala 74:{88,92} TLSPI.scala 68:17]
+  wire [1:0] out_prepend = {ctrl_cs_dflt_1,ctrl_cs_dflt_0}; // @[Cat.scala 31:58]
+  wire  out_rimask_3 = |out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_3 = &out_frontMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_10 = _out_frontSel_T[10]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_3 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_10 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_3 = out_wivalid_3 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_4 = &out_frontMask[23:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_4 = out_wivalid_3 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_1 = {{8'd0}, ctrl_dla_cssck}; // @[RegisterRouter.scala 83:24]
+  wire [23:0] out_prepend_1 = {ctrl_dla_sckcs,_out_prepend_T_1}; // @[Cat.scala 31:58]
+  wire  out_frontSel_14 = _out_frontSel_T[14]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_5 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_14 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_5 = out_wivalid_5 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_6 = &out_frontMask[3:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_20 = _out_frontSel_T[20]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_6 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_20 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_6 = out_wivalid_6 & out_wimask_6; // @[RegisterRouter.scala 83:24]
+  wire  _out_T_116 = fifo_io_ip_txwm; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_2 = {fifo_io_ip_rxwm,_out_T_116}; // @[Cat.scala 31:58]
+  wire  out_frontSel_1 = _out_frontSel_T[1]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_9 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_1 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_9 = out_wivalid_9 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_10 = out_wivalid_9 & out_wimask_2; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_3 = {ctrl_sck_pol,ctrl_sck_pha}; // @[Cat.scala 31:58]
+  wire  out_wimask_11 = &out_frontMask[1:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_6 = _out_frontSel_T[6]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_11 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_6 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_11 = out_wivalid_11 & out_wimask_11; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_28 = _out_frontSel_T[28]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_12 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_28 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_12 = out_wivalid_12 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_13 = out_wivalid_12 & out_wimask_2; // @[RegisterRouter.scala 83:24]
+  wire [1:0] out_prepend_4 = {ie_rxwm,ie_txwm}; // @[Cat.scala 31:58]
+  wire  out_frontSel_21 = _out_frontSel_T[21]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_14 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_21 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_14 = out_wivalid_14 & out_wimask_6; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_18 = _out_frontSel_T[18]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_15 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_18 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_15 = out_wivalid_15 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_womask_17 = &out_frontMask[31]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_17 = out_wivalid_15 & out_womask_17; // @[RegisterRouter.scala 83:24]
+  wire  quash = out_f_woready_17 & bundleIn_0_a_bits_data[31]; // @[RegMapFIFO.scala 27:26]
+  wire [31:0] out_prepend_6 = {_T,31'h0}; // @[Cat.scala 31:58]
+  wire  out_frontSel_16 = _out_frontSel_T[16]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_18 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_16 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_18 = out_wivalid_18 & out_wimask_11; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_19 = &out_frontMask[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_19 = out_wivalid_18 & out_wimask_19; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_20 = &out_frontMask[3]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_20 = out_wivalid_18 & out_wimask_20; // @[RegisterRouter.scala 83:24]
+  wire [3:0] out_prepend_8 = {ctrl_fmt_iodir,ctrl_fmt_endian,ctrl_fmt_proto}; // @[Cat.scala 31:58]
+  wire  out_wimask_21 = &out_frontMask[19:16]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_21 = out_wivalid_18 & out_wimask_21; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_9 = {{12'd0}, out_prepend_8}; // @[RegisterRouter.scala 83:24]
+  wire [19:0] out_prepend_9 = {ctrl_fmt_len,_out_prepend_T_9}; // @[Cat.scala 31:58]
+  wire  out_frontSel_11 = _out_frontSel_T[11]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_22 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_11 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_22 = out_wivalid_22 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_23 = out_wivalid_22 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_prepend_T_10 = {{8'd0}, ctrl_dla_intercs}; // @[RegisterRouter.scala 83:24]
+  wire [23:0] out_prepend_10 = {ctrl_dla_interxfr,_out_prepend_T_10}; // @[Cat.scala 31:58]
+  wire  out_frontSel_19 = _out_frontSel_T[19]; // @[RegisterRouter.scala 83:24]
+  wire  out_rivalid_24 = bundleIn_0_a_valid & bundleIn_0_d_ready & in_bits_read & out_frontSel_19 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [7:0] _out_T_293 = fifo_io_rx_bits; // @[RegisterRouter.scala 83:24]
+  wire [8:0] out_prepend_11 = {1'h0,_out_T_293}; // @[Cat.scala 31:58]
+  wire [30:0] _out_T_302 = {{22'd0}, out_prepend_11}; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_12 = {_T_1,_out_T_302}; // @[Cat.scala 31:58]
+  wire  out_frontSel_4 = _out_frontSel_T[4]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_27 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_4 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_27 = out_wivalid_27 & out_wimask_1; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_28 = &out_frontMask[4:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_15 = _out_frontSel_T[15]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_28 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_15 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_28 = out_wivalid_28 & out_wimask_28; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_150 = 5'h1 == out_oindex ? _out_T : _out_T; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_153 = 5'h4 == out_oindex ? _out_T : 5'h3 == out_oindex | (5'h2 == out_oindex | _GEN_150); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_154 = 5'h5 == out_oindex ? _out_T : _GEN_153; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_155 = 5'h6 == out_oindex ? _out_T : _GEN_154; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_159 = 5'ha == out_oindex ? _out_T : 5'h9 == out_oindex | (5'h8 == out_oindex | (5'h7 == out_oindex |
+    _GEN_155)); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_160 = 5'hb == out_oindex ? _out_T : _GEN_159; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_163 = 5'he == out_oindex ? _out_T : 5'hd == out_oindex | (5'hc == out_oindex | _GEN_160); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_164 = 5'hf == out_oindex ? _out_T : _GEN_163; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_165 = 5'h10 == out_oindex ? _out_T : _GEN_164; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_167 = 5'h12 == out_oindex ? _out_T : 5'h11 == out_oindex | _GEN_165; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_168 = 5'h13 == out_oindex ? _out_T : _GEN_167; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_169 = 5'h14 == out_oindex ? _out_T : _GEN_168; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_170 = 5'h15 == out_oindex ? _out_T : _GEN_169; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_177 = 5'h1c == out_oindex ? _out_T : 5'h1b == out_oindex | (5'h1a == out_oindex | (5'h19 == out_oindex | (5'h18
+     == out_oindex | (5'h17 == out_oindex | (5'h16 == out_oindex | _GEN_170))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_178 = 5'h1d == out_oindex ? _out_T : _GEN_177; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_180 = 5'h1f == out_oindex | (5'h1e == out_oindex | _GEN_178); // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_0 = {{20'd0}, ctrl_sck_div}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _out_out_bits_data_WIRE_1_1 = {{30'd0}, out_prepend_3}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_182 = 5'h1 == out_oindex ? _out_out_bits_data_WIRE_1_1 : _out_out_bits_data_WIRE_1_0; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_183 = 5'h2 == out_oindex ? 32'h0 : _GEN_182; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_184 = 5'h3 == out_oindex ? 32'h0 : _GEN_183; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_4 = {{31'd0}, ctrl_cs_id}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_185 = 5'h4 == out_oindex ? _out_out_bits_data_WIRE_1_4 : _GEN_184; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_5 = {{30'd0}, out_prepend}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_186 = 5'h5 == out_oindex ? _out_out_bits_data_WIRE_1_5 : _GEN_185; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_6 = {{30'd0}, ctrl_cs_mode}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_187 = 5'h6 == out_oindex ? _out_out_bits_data_WIRE_1_6 : _GEN_186; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_188 = 5'h7 == out_oindex ? 32'h0 : _GEN_187; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_189 = 5'h8 == out_oindex ? 32'h0 : _GEN_188; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_190 = 5'h9 == out_oindex ? 32'h0 : _GEN_189; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_10 = {{8'd0}, out_prepend_1}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_191 = 5'ha == out_oindex ? _out_out_bits_data_WIRE_1_10 : _GEN_190; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_11 = {{8'd0}, out_prepend_10}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_192 = 5'hb == out_oindex ? _out_out_bits_data_WIRE_1_11 : _GEN_191; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_193 = 5'hc == out_oindex ? 32'h0 : _GEN_192; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_194 = 5'hd == out_oindex ? 32'h0 : _GEN_193; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_14 = {{20'd0}, ctrl_extradel_coarse}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_195 = 5'he == out_oindex ? _out_out_bits_data_WIRE_1_14 : _GEN_194; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_15 = {{27'd0}, ctrl_sampledel_sd}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_196 = 5'hf == out_oindex ? _out_out_bits_data_WIRE_1_15 : _GEN_195; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_16 = {{12'd0}, out_prepend_9}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_197 = 5'h10 == out_oindex ? _out_out_bits_data_WIRE_1_16 : _GEN_196; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_198 = 5'h11 == out_oindex ? 32'h0 : _GEN_197; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_199 = 5'h12 == out_oindex ? out_prepend_6 : _GEN_198; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_200 = 5'h13 == out_oindex ? out_prepend_12 : _GEN_199; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_20 = {{28'd0}, ctrl_wm_tx}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_201 = 5'h14 == out_oindex ? _out_out_bits_data_WIRE_1_20 : _GEN_200; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_21 = {{28'd0}, ctrl_wm_rx}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_202 = 5'h15 == out_oindex ? _out_out_bits_data_WIRE_1_21 : _GEN_201; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_203 = 5'h16 == out_oindex ? 32'h0 : _GEN_202; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_204 = 5'h17 == out_oindex ? 32'h0 : _GEN_203; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_205 = 5'h18 == out_oindex ? 32'h0 : _GEN_204; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_206 = 5'h19 == out_oindex ? 32'h0 : _GEN_205; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_207 = 5'h1a == out_oindex ? 32'h0 : _GEN_206; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_208 = 5'h1b == out_oindex ? 32'h0 : _GEN_207; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_28 = {{30'd0}, out_prepend_4}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_209 = 5'h1c == out_oindex ? _out_out_bits_data_WIRE_1_28 : _GEN_208; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_29 = {{30'd0}, out_prepend_2}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_210 = 5'h1d == out_oindex ? _out_out_bits_data_WIRE_1_29 : _GEN_209; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_211 = 5'h1e == out_oindex ? 32'h0 : _GEN_210; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_212 = 5'h1f == out_oindex ? 32'h0 : _GEN_211; // @[MuxLiteral.scala 48:{10,10}]
+  TLBuffer_13 buffer ( // @[Buffer.scala 68:28]
+    .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_1 intsource ( // @[Crossing.scala 26:31]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_65 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  SPIFIFO fifo ( // @[TLSPI.scala 69:20]
+    .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_2 mac ( // @[TLSPI.scala 70:19]
+    .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 auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_io_out_sck = mac_io_port_sck; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_0_o = mac_io_port_dq_0_o; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_0_oe = mac_io_port_dq_0_oe; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_1_o = mac_io_port_dq_1_o; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_1_oe = mac_io_port_dq_1_oe; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_2_o = mac_io_port_dq_2_o; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_2_oe = mac_io_port_dq_2_oe; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_3_o = mac_io_port_dq_3_o; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_dq_3_oe = mac_io_port_dq_3_oe; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_cs_0 = mac_io_port_cs_0; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign auto_io_out_cs_1 = mac_io_port_cs_1; // @[Nodes.scala 1207:84 TLSPI.scala 72:14]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign buffer_auto_out_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = _GEN_180 ? _GEN_212 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign intsource_clock = clock;
+  assign intsource_reset = reset;
+  assign intsource_auto_in_0 = fifo_io_ip_txwm & ie_txwm | fifo_io_ip_rxwm & ie_rxwm; // @[TLSPI.scala 84:47]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign fifo_clock = clock;
+  assign fifo_reset = reset;
+  assign fifo_io_ctrl_fmt_proto = ctrl_fmt_proto; // @[TLSPI.scala 73:20]
+  assign fifo_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPI.scala 73:20]
+  assign fifo_io_ctrl_fmt_iodir = ctrl_fmt_iodir; // @[TLSPI.scala 73:20]
+  assign fifo_io_ctrl_fmt_len = ctrl_fmt_len; // @[TLSPI.scala 73:20]
+  assign fifo_io_ctrl_cs_mode = ctrl_cs_mode; // @[TLSPI.scala 74:19]
+  assign fifo_io_ctrl_wm_tx = ctrl_wm_tx; // @[TLSPI.scala 75:19]
+  assign fifo_io_ctrl_wm_rx = ctrl_wm_rx; // @[TLSPI.scala 75:19]
+  assign fifo_io_link_tx_ready = mac_io_link_tx_ready; // @[TLSPI.scala 196:17]
+  assign fifo_io_link_rx_valid = mac_io_link_rx_valid; // @[TLSPI.scala 196:17]
+  assign fifo_io_link_rx_bits = mac_io_link_rx_bits; // @[TLSPI.scala 196:17]
+  assign fifo_io_tx_valid = out_f_wivalid_15 & ~quash; // @[RegMapFIFO.scala 19:30]
+  assign fifo_io_tx_bits = bundleIn_0_a_bits_data[7:0]; // @[RegisterRouter.scala 83:24]
+  assign fifo_io_rx_ready = out_rivalid_24 & out_rimask_3; // @[RegisterRouter.scala 83:24]
+  assign mac_clock = clock;
+  assign mac_reset = reset;
+  assign mac_io_port_dq_0_i = auto_io_out_dq_0_i; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign mac_io_port_dq_1_i = auto_io_out_dq_1_i; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign mac_io_port_dq_2_i = auto_io_out_dq_2_i; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign mac_io_port_dq_3_i = auto_io_out_dq_3_i; // @[Nodes.scala 1207:84 LazyModule.scala 311:12]
+  assign mac_io_ctrl_sck_div = ctrl_sck_div; // @[TLSPI.scala 76:19]
+  assign mac_io_ctrl_sck_pol = ctrl_sck_pol; // @[TLSPI.scala 76:19]
+  assign mac_io_ctrl_sck_pha = ctrl_sck_pha; // @[TLSPI.scala 76:19]
+  assign mac_io_ctrl_dla_cssck = ctrl_dla_cssck; // @[TLSPI.scala 79:19]
+  assign mac_io_ctrl_dla_sckcs = ctrl_dla_sckcs; // @[TLSPI.scala 79:19]
+  assign mac_io_ctrl_dla_intercs = ctrl_dla_intercs; // @[TLSPI.scala 79:19]
+  assign mac_io_ctrl_dla_interxfr = ctrl_dla_interxfr; // @[TLSPI.scala 79:19]
+  assign mac_io_ctrl_cs_id = ctrl_cs_id; // @[TLSPI.scala 80:18]
+  assign mac_io_ctrl_cs_dflt_0 = ctrl_cs_dflt_0; // @[TLSPI.scala 80:18]
+  assign mac_io_ctrl_cs_dflt_1 = ctrl_cs_dflt_1; // @[TLSPI.scala 80:18]
+  assign mac_io_ctrl_extradel_coarse = ctrl_extradel_coarse; // @[TLSPI.scala 77:24]
+  assign mac_io_ctrl_sampledel_sd = ctrl_sampledel_sd; // @[TLSPI.scala 78:25]
+  assign mac_io_link_tx_valid = fifo_io_link_tx_valid; // @[TLSPI.scala 196:17]
+  assign mac_io_link_tx_bits = fifo_io_link_tx_bits; // @[TLSPI.scala 196:17]
+  assign mac_io_link_cnt = fifo_io_link_cnt; // @[TLSPI.scala 196:17]
+  assign mac_io_link_fmt_proto = fifo_io_link_fmt_proto; // @[TLSPI.scala 196:17]
+  assign mac_io_link_fmt_endian = fifo_io_link_fmt_endian; // @[TLSPI.scala 196:17]
+  assign mac_io_link_fmt_iodir = fifo_io_link_fmt_iodir; // @[TLSPI.scala 196:17]
+  assign mac_io_link_cs_set = fifo_io_link_cs_set; // @[TLSPI.scala 196:17]
+  assign mac_io_link_cs_clear = fifo_io_link_cs_clear; // @[TLSPI.scala 196:17]
+  always @(posedge clock) begin
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_fmt_proto <= 2'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_18) begin // @[RegField.scala 74:88]
+      ctrl_fmt_proto <= bundleIn_0_a_bits_data[1:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_fmt_endian <= 1'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_19) begin // @[RegField.scala 74:88]
+      ctrl_fmt_endian <= bundleIn_0_a_bits_data[2]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_fmt_iodir <= 1'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_20) begin // @[RegField.scala 74:88]
+      ctrl_fmt_iodir <= bundleIn_0_a_bits_data[3]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_fmt_len <= 4'h8; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_21) begin // @[RegField.scala 74:88]
+      ctrl_fmt_len <= bundleIn_0_a_bits_data[19:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_sck_div <= 12'h3; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid) begin // @[RegField.scala 74:88]
+      ctrl_sck_div <= bundleIn_0_a_bits_data[11:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_sck_pol <= 1'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_10) begin // @[RegField.scala 74:88]
+      ctrl_sck_pol <= bundleIn_0_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_sck_pha <= 1'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_9) begin // @[RegField.scala 74:88]
+      ctrl_sck_pha <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_cs_id <= 1'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_27) begin // @[RegField.scala 74:88]
+      ctrl_cs_id <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    ctrl_cs_dflt_0 <= reset | _GEN_1; // @[TLSPI.scala 68:{17,17}]
+    ctrl_cs_dflt_1 <= reset | _GEN_2; // @[TLSPI.scala 68:{17,17}]
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_cs_mode <= 2'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_11) begin // @[RegField.scala 74:88]
+      ctrl_cs_mode <= bundleIn_0_a_bits_data[1:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_dla_cssck <= 8'h1; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_3) begin // @[RegField.scala 74:88]
+      ctrl_dla_cssck <= bundleIn_0_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_dla_sckcs <= 8'h1; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_4) begin // @[RegField.scala 74:88]
+      ctrl_dla_sckcs <= bundleIn_0_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_dla_intercs <= 8'h1; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_22) begin // @[RegField.scala 74:88]
+      ctrl_dla_intercs <= bundleIn_0_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_dla_interxfr <= 8'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_23) begin // @[RegField.scala 74:88]
+      ctrl_dla_interxfr <= bundleIn_0_a_bits_data[23:16]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_wm_tx <= 4'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_6) begin // @[RegField.scala 74:88]
+      ctrl_wm_tx <= bundleIn_0_a_bits_data[3:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_wm_rx <= 4'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_14) begin // @[RegField.scala 74:88]
+      ctrl_wm_rx <= bundleIn_0_a_bits_data[3:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_extradel_coarse <= 12'h0; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_5) begin // @[RegField.scala 74:88]
+      ctrl_extradel_coarse <= bundleIn_0_a_bits_data[11:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 68:17]
+      ctrl_sampledel_sd <= 5'h3; // @[TLSPI.scala 68:17]
+    end else if (out_f_wivalid_28) begin // @[RegField.scala 74:88]
+      ctrl_sampledel_sd <= bundleIn_0_a_bits_data[4:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 82:15]
+      ie_txwm <= 1'h0; // @[TLSPI.scala 82:15]
+    end else if (out_f_wivalid_12) begin // @[RegField.scala 74:88]
+      ie_txwm <= bundleIn_0_a_bits_data[0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[TLSPI.scala 82:15]
+      ie_rxwm <= 1'h0; // @[TLSPI.scala 82:15]
+    end else if (out_f_wivalid_13) begin // @[RegField.scala 74:88]
+      ie_rxwm <= bundleIn_0_a_bits_data[1]; // @[RegField.scala 74:92]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  ctrl_fmt_endian = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  ctrl_fmt_iodir = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  ctrl_fmt_len = _RAND_3[3:0];
+  _RAND_4 = {1{`RANDOM}};
+  ctrl_sck_div = _RAND_4[11:0];
+  _RAND_5 = {1{`RANDOM}};
+  ctrl_sck_pol = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  ctrl_sck_pha = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  ctrl_cs_id = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  ctrl_cs_dflt_0 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  ctrl_cs_dflt_1 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  ctrl_cs_mode = _RAND_10[1:0];
+  _RAND_11 = {1{`RANDOM}};
+  ctrl_dla_cssck = _RAND_11[7:0];
+  _RAND_12 = {1{`RANDOM}};
+  ctrl_dla_sckcs = _RAND_12[7:0];
+  _RAND_13 = {1{`RANDOM}};
+  ctrl_dla_intercs = _RAND_13[7:0];
+  _RAND_14 = {1{`RANDOM}};
+  ctrl_dla_interxfr = _RAND_14[7:0];
+  _RAND_15 = {1{`RANDOM}};
+  ctrl_wm_tx = _RAND_15[3:0];
+  _RAND_16 = {1{`RANDOM}};
+  ctrl_wm_rx = _RAND_16[3:0];
+  _RAND_17 = {1{`RANDOM}};
+  ctrl_extradel_coarse = _RAND_17[11:0];
+  _RAND_18 = {1{`RANDOM}};
+  ctrl_sampledel_sd = _RAND_18[4:0];
+  _RAND_19 = {1{`RANDOM}};
+  ie_txwm = _RAND_19[0:0];
+  _RAND_20 = {1{`RANDOM}};
+  ie_rxwm = _RAND_20[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ClockSinkDomain_8(
+  output        auto_spi_0_int_xing_out_sync_0,
+  output        auto_spi_0_control_xing_in_a_ready,
+  input         auto_spi_0_control_xing_in_a_valid,
+  input  [2:0]  auto_spi_0_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_spi_0_control_xing_in_a_bits_param,
+  input  [1:0]  auto_spi_0_control_xing_in_a_bits_size,
+  input  [6:0]  auto_spi_0_control_xing_in_a_bits_source,
+  input  [28:0] auto_spi_0_control_xing_in_a_bits_address,
+  input  [3:0]  auto_spi_0_control_xing_in_a_bits_mask,
+  input  [31:0] auto_spi_0_control_xing_in_a_bits_data,
+  input         auto_spi_0_control_xing_in_a_bits_corrupt,
+  input         auto_spi_0_control_xing_in_d_ready,
+  output        auto_spi_0_control_xing_in_d_valid,
+  output [2:0]  auto_spi_0_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_spi_0_control_xing_in_d_bits_size,
+  output [6:0]  auto_spi_0_control_xing_in_d_bits_source,
+  output [31:0] auto_spi_0_control_xing_in_d_bits_data,
+  output        auto_spi_0_io_out_sck,
+  input         auto_spi_0_io_out_dq_0_i,
+  output        auto_spi_0_io_out_dq_0_o,
+  output        auto_spi_0_io_out_dq_0_oe,
+  input         auto_spi_0_io_out_dq_1_i,
+  output        auto_spi_0_io_out_dq_1_o,
+  output        auto_spi_0_io_out_dq_1_oe,
+  input         auto_spi_0_io_out_dq_2_i,
+  output        auto_spi_0_io_out_dq_2_o,
+  output        auto_spi_0_io_out_dq_2_oe,
+  input         auto_spi_0_io_out_dq_3_i,
+  output        auto_spi_0_io_out_dq_3_o,
+  output        auto_spi_0_io_out_dq_3_oe,
+  output        auto_spi_0_io_out_cs_0,
+  output        auto_spi_0_io_out_cs_1,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  spi_0_clock; // @[SPI.scala 36:49]
+  wire  spi_0_reset; // @[SPI.scala 36:49]
+  wire  spi_0_auto_int_xing_out_sync_0; // @[SPI.scala 36:49]
+  wire  spi_0_auto_control_xing_in_a_ready; // @[SPI.scala 36:49]
+  wire  spi_0_auto_control_xing_in_a_valid; // @[SPI.scala 36:49]
+  wire [2:0] spi_0_auto_control_xing_in_a_bits_opcode; // @[SPI.scala 36:49]
+  wire [2:0] spi_0_auto_control_xing_in_a_bits_param; // @[SPI.scala 36:49]
+  wire [1:0] spi_0_auto_control_xing_in_a_bits_size; // @[SPI.scala 36:49]
+  wire [6:0] spi_0_auto_control_xing_in_a_bits_source; // @[SPI.scala 36:49]
+  wire [28:0] spi_0_auto_control_xing_in_a_bits_address; // @[SPI.scala 36:49]
+  wire [3:0] spi_0_auto_control_xing_in_a_bits_mask; // @[SPI.scala 36:49]
+  wire [31:0] spi_0_auto_control_xing_in_a_bits_data; // @[SPI.scala 36:49]
+  wire  spi_0_auto_control_xing_in_a_bits_corrupt; // @[SPI.scala 36:49]
+  wire  spi_0_auto_control_xing_in_d_ready; // @[SPI.scala 36:49]
+  wire  spi_0_auto_control_xing_in_d_valid; // @[SPI.scala 36:49]
+  wire [2:0] spi_0_auto_control_xing_in_d_bits_opcode; // @[SPI.scala 36:49]
+  wire [1:0] spi_0_auto_control_xing_in_d_bits_size; // @[SPI.scala 36:49]
+  wire [6:0] spi_0_auto_control_xing_in_d_bits_source; // @[SPI.scala 36:49]
+  wire [31:0] spi_0_auto_control_xing_in_d_bits_data; // @[SPI.scala 36:49]
+  wire  spi_0_auto_io_out_sck; // @[SPI.scala 36:49]
+  wire  spi_0_auto_io_out_dq_0_i; // @[SPI.scala 36:49]
+  wire  spi_0_auto_io_out_dq_0_o; // @[SPI.scala 36:49]
+  wire  spi_0_auto_io_out_dq_0_oe; // @[SPI.scala 36:49]
+  wire  spi_0_auto_io_out_dq_1_i; // @[SPI.scala 36:49]
+  wire  spi_0_auto_io_out_dq_1_o; // @[SPI.scala 36:49]
+  wire  spi_0_auto_io_out_dq_1_oe; // @[SPI.scala 36:49]
+  wire  spi_0_auto_io_out_dq_2_i; // @[SPI.scala 36:49]
+  wire  spi_0_auto_io_out_dq_2_o; // @[SPI.scala 36:49]
+  wire  spi_0_auto_io_out_dq_2_oe; // @[SPI.scala 36:49]
+  wire  spi_0_auto_io_out_dq_3_i; // @[SPI.scala 36:49]
+  wire  spi_0_auto_io_out_dq_3_o; // @[SPI.scala 36:49]
+  wire  spi_0_auto_io_out_dq_3_oe; // @[SPI.scala 36:49]
+  wire  spi_0_auto_io_out_cs_0; // @[SPI.scala 36:49]
+  wire  spi_0_auto_io_out_cs_1; // @[SPI.scala 36:49]
+  TLSPI spi_0 ( // @[SPI.scala 36:49]
+    .clock(spi_0_clock),
+    .reset(spi_0_reset),
+    .auto_int_xing_out_sync_0(spi_0_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(spi_0_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(spi_0_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(spi_0_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(spi_0_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(spi_0_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(spi_0_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(spi_0_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(spi_0_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(spi_0_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(spi_0_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(spi_0_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(spi_0_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(spi_0_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(spi_0_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(spi_0_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(spi_0_auto_control_xing_in_d_bits_data),
+    .auto_io_out_sck(spi_0_auto_io_out_sck),
+    .auto_io_out_dq_0_i(spi_0_auto_io_out_dq_0_i),
+    .auto_io_out_dq_0_o(spi_0_auto_io_out_dq_0_o),
+    .auto_io_out_dq_0_oe(spi_0_auto_io_out_dq_0_oe),
+    .auto_io_out_dq_1_i(spi_0_auto_io_out_dq_1_i),
+    .auto_io_out_dq_1_o(spi_0_auto_io_out_dq_1_o),
+    .auto_io_out_dq_1_oe(spi_0_auto_io_out_dq_1_oe),
+    .auto_io_out_dq_2_i(spi_0_auto_io_out_dq_2_i),
+    .auto_io_out_dq_2_o(spi_0_auto_io_out_dq_2_o),
+    .auto_io_out_dq_2_oe(spi_0_auto_io_out_dq_2_oe),
+    .auto_io_out_dq_3_i(spi_0_auto_io_out_dq_3_i),
+    .auto_io_out_dq_3_o(spi_0_auto_io_out_dq_3_o),
+    .auto_io_out_dq_3_oe(spi_0_auto_io_out_dq_3_oe),
+    .auto_io_out_cs_0(spi_0_auto_io_out_cs_0),
+    .auto_io_out_cs_1(spi_0_auto_io_out_cs_1)
+  );
+  assign auto_spi_0_int_xing_out_sync_0 = spi_0_auto_int_xing_out_sync_0; // @[LazyModule.scala 311:12]
+  assign auto_spi_0_control_xing_in_a_ready = spi_0_auto_control_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_spi_0_control_xing_in_d_valid = spi_0_auto_control_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_spi_0_control_xing_in_d_bits_opcode = spi_0_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_spi_0_control_xing_in_d_bits_size = spi_0_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_spi_0_control_xing_in_d_bits_source = spi_0_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_spi_0_control_xing_in_d_bits_data = spi_0_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_spi_0_io_out_sck = spi_0_auto_io_out_sck; // @[LazyModule.scala 311:12]
+  assign auto_spi_0_io_out_dq_0_o = spi_0_auto_io_out_dq_0_o; // @[LazyModule.scala 311:12]
+  assign auto_spi_0_io_out_dq_0_oe = spi_0_auto_io_out_dq_0_oe; // @[LazyModule.scala 311:12]
+  assign auto_spi_0_io_out_dq_1_o = spi_0_auto_io_out_dq_1_o; // @[LazyModule.scala 311:12]
+  assign auto_spi_0_io_out_dq_1_oe = spi_0_auto_io_out_dq_1_oe; // @[LazyModule.scala 311:12]
+  assign auto_spi_0_io_out_dq_2_o = spi_0_auto_io_out_dq_2_o; // @[LazyModule.scala 311:12]
+  assign auto_spi_0_io_out_dq_2_oe = spi_0_auto_io_out_dq_2_oe; // @[LazyModule.scala 311:12]
+  assign auto_spi_0_io_out_dq_3_o = spi_0_auto_io_out_dq_3_o; // @[LazyModule.scala 311:12]
+  assign auto_spi_0_io_out_dq_3_oe = spi_0_auto_io_out_dq_3_oe; // @[LazyModule.scala 311:12]
+  assign auto_spi_0_io_out_cs_0 = spi_0_auto_io_out_cs_0; // @[LazyModule.scala 311:12]
+  assign auto_spi_0_io_out_cs_1 = spi_0_auto_io_out_cs_1; // @[LazyModule.scala 311:12]
+  assign spi_0_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign spi_0_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign spi_0_auto_control_xing_in_a_valid = auto_spi_0_control_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign spi_0_auto_control_xing_in_a_bits_opcode = auto_spi_0_control_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign spi_0_auto_control_xing_in_a_bits_param = auto_spi_0_control_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign spi_0_auto_control_xing_in_a_bits_size = auto_spi_0_control_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign spi_0_auto_control_xing_in_a_bits_source = auto_spi_0_control_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign spi_0_auto_control_xing_in_a_bits_address = auto_spi_0_control_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign spi_0_auto_control_xing_in_a_bits_mask = auto_spi_0_control_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign spi_0_auto_control_xing_in_a_bits_data = auto_spi_0_control_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign spi_0_auto_control_xing_in_a_bits_corrupt = auto_spi_0_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign spi_0_auto_control_xing_in_d_ready = auto_spi_0_control_xing_in_d_ready; // @[LazyModule.scala 309:16]
+  assign spi_0_auto_io_out_dq_0_i = auto_spi_0_io_out_dq_0_i; // @[LazyModule.scala 311:12]
+  assign spi_0_auto_io_out_dq_1_i = auto_spi_0_io_out_dq_1_i; // @[LazyModule.scala 311:12]
+  assign spi_0_auto_io_out_dq_2_i = auto_spi_0_io_out_dq_2_i; // @[LazyModule.scala 311:12]
+  assign spi_0_auto_io_out_dq_3_i = auto_spi_0_io_out_dq_3_i; // @[LazyModule.scala 311:12]
+endmodule
+module AsyncResetRegVec_w32_i0(
+  input         clock,
+  input         reset,
+  input  [31:0] io_d,
+  output [31:0] io_q,
+  input         io_en
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+`endif // RANDOMIZE_REG_INIT
+  reg [31:0] reg_; // @[AsyncResetReg.scala 64:50]
+  assign io_q = reg_; // @[AsyncResetReg.scala 68:8]
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncResetReg.scala 65:16]
+      reg_ <= 32'h0; // @[AsyncResetReg.scala 66:9]
+    end else if (io_en) begin // @[AsyncResetReg.scala 64:50]
+      reg_ <= io_d;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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[31:0];
+`endif // RANDOMIZE_REG_INIT
+  if (reset) begin
+    reg_ = 32'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module IntSyncCrossingSource_17(
+  input   clock,
+  input   reset,
+  input   auto_in_0,
+  input   auto_in_1,
+  input   auto_in_2,
+  input   auto_in_3,
+  input   auto_in_4,
+  input   auto_in_5,
+  input   auto_in_6,
+  input   auto_in_7,
+  input   auto_in_8,
+  input   auto_in_9,
+  input   auto_in_10,
+  input   auto_in_11,
+  input   auto_in_12,
+  input   auto_in_13,
+  input   auto_in_14,
+  input   auto_in_15,
+  input   auto_in_16,
+  input   auto_in_17,
+  input   auto_in_18,
+  input   auto_in_19,
+  input   auto_in_20,
+  input   auto_in_21,
+  input   auto_in_22,
+  input   auto_in_23,
+  input   auto_in_24,
+  input   auto_in_25,
+  input   auto_in_26,
+  input   auto_in_27,
+  input   auto_in_28,
+  input   auto_in_29,
+  input   auto_in_30,
+  input   auto_in_31,
+  output  auto_out_sync_0,
+  output  auto_out_sync_1,
+  output  auto_out_sync_2,
+  output  auto_out_sync_3,
+  output  auto_out_sync_4,
+  output  auto_out_sync_5,
+  output  auto_out_sync_6,
+  output  auto_out_sync_7,
+  output  auto_out_sync_8,
+  output  auto_out_sync_9,
+  output  auto_out_sync_10,
+  output  auto_out_sync_11,
+  output  auto_out_sync_12,
+  output  auto_out_sync_13,
+  output  auto_out_sync_14,
+  output  auto_out_sync_15,
+  output  auto_out_sync_16,
+  output  auto_out_sync_17,
+  output  auto_out_sync_18,
+  output  auto_out_sync_19,
+  output  auto_out_sync_20,
+  output  auto_out_sync_21,
+  output  auto_out_sync_22,
+  output  auto_out_sync_23,
+  output  auto_out_sync_24,
+  output  auto_out_sync_25,
+  output  auto_out_sync_26,
+  output  auto_out_sync_27,
+  output  auto_out_sync_28,
+  output  auto_out_sync_29,
+  output  auto_out_sync_30,
+  output  auto_out_sync_31
+);
+  wire  reg__clock; // @[AsyncResetReg.scala 89:21]
+  wire  reg__reset; // @[AsyncResetReg.scala 89:21]
+  wire [31:0] reg__io_d; // @[AsyncResetReg.scala 89:21]
+  wire [31:0] reg__io_q; // @[AsyncResetReg.scala 89:21]
+  wire  reg__io_en; // @[AsyncResetReg.scala 89:21]
+  wire [7:0] lo_lo = {auto_in_7,auto_in_6,auto_in_5,auto_in_4,auto_in_3,auto_in_2,auto_in_1,auto_in_0}; // @[Cat.scala 31:58]
+  wire [15:0] lo = {auto_in_15,auto_in_14,auto_in_13,auto_in_12,auto_in_11,auto_in_10,auto_in_9,auto_in_8,lo_lo}; // @[Cat.scala 31:58]
+  wire [7:0] hi_lo = {auto_in_23,auto_in_22,auto_in_21,auto_in_20,auto_in_19,auto_in_18,auto_in_17,auto_in_16}; // @[Cat.scala 31:58]
+  wire [15:0] hi = {auto_in_31,auto_in_30,auto_in_29,auto_in_28,auto_in_27,auto_in_26,auto_in_25,auto_in_24,hi_lo}; // @[Cat.scala 31:58]
+  AsyncResetRegVec_w32_i0 reg_ ( // @[AsyncResetReg.scala 89:21]
+    .clock(reg__clock),
+    .reset(reg__reset),
+    .io_d(reg__io_d),
+    .io_q(reg__io_q),
+    .io_en(reg__io_en)
+  );
+  assign auto_out_sync_0 = reg__io_q[0]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_1 = reg__io_q[1]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_2 = reg__io_q[2]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_3 = reg__io_q[3]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_4 = reg__io_q[4]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_5 = reg__io_q[5]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_6 = reg__io_q[6]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_7 = reg__io_q[7]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_8 = reg__io_q[8]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_9 = reg__io_q[9]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_10 = reg__io_q[10]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_11 = reg__io_q[11]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_12 = reg__io_q[12]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_13 = reg__io_q[13]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_14 = reg__io_q[14]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_15 = reg__io_q[15]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_16 = reg__io_q[16]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_17 = reg__io_q[17]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_18 = reg__io_q[18]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_19 = reg__io_q[19]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_20 = reg__io_q[20]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_21 = reg__io_q[21]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_22 = reg__io_q[22]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_23 = reg__io_q[23]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_24 = reg__io_q[24]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_25 = reg__io_q[25]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_26 = reg__io_q[26]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_27 = reg__io_q[27]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_28 = reg__io_q[28]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_29 = reg__io_q[29]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_30 = reg__io_q[30]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_31 = reg__io_q[31]; // @[Crossing.scala 41:52]
+  assign reg__clock = clock;
+  assign reg__reset = reset;
+  assign reg__io_d = {hi,lo}; // @[Cat.scala 31:58]
+  assign reg__io_en = 1'h1; // @[AsyncResetReg.scala 92:15]
+endmodule
+module TLMonitor_66(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10012000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_663 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_663) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module SynchronizerShiftReg_w32_d3(
+  input         clock,
+  input  [31:0] io_d,
+  output [31:0] io_q
+);
+  wire  output_chain_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_1_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_1_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_1_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_2_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_2_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_2_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_3_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_3_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_3_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_4_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_4_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_4_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_5_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_5_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_5_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_6_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_6_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_6_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_7_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_7_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_7_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_8_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_8_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_8_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_9_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_9_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_9_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_10_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_10_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_10_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_11_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_11_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_11_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_12_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_12_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_12_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_13_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_13_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_13_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_14_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_14_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_14_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_15_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_15_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_15_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_16_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_16_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_16_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_17_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_17_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_17_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_18_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_18_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_18_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_19_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_19_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_19_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_20_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_20_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_20_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_21_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_21_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_21_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_22_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_22_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_22_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_23_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_23_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_23_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_24_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_24_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_24_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_25_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_25_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_25_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_26_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_26_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_26_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_27_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_27_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_27_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_28_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_28_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_28_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_29_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_29_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_29_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_30_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_30_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_30_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_chain_31_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_31_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_31_io_q; // @[ShiftReg.scala 45:23]
+  wire  output_1 = output_chain_1_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_0 = output_chain_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_3 = output_chain_3_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_2 = output_chain_2_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_5 = output_chain_5_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_4 = output_chain_4_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_7 = output_chain_7_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_6 = output_chain_6_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire [7:0] io_q_lo_lo = {output_7,output_6,output_5,output_4,output_3,output_2,output_1,output_0}; // @[Cat.scala 31:58]
+  wire  output_9 = output_chain_9_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_8 = output_chain_8_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_11 = output_chain_11_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_10 = output_chain_10_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_13 = output_chain_13_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_12 = output_chain_12_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_15 = output_chain_15_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_14 = output_chain_14_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire [15:0] io_q_lo = {output_15,output_14,output_13,output_12,output_11,output_10,output_9,output_8,io_q_lo_lo}; // @[Cat.scala 31:58]
+  wire  output_17 = output_chain_17_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_16 = output_chain_16_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_19 = output_chain_19_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_18 = output_chain_18_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_21 = output_chain_21_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_20 = output_chain_20_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_23 = output_chain_23_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_22 = output_chain_22_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire [7:0] io_q_hi_lo = {output_23,output_22,output_21,output_20,output_19,output_18,output_17,output_16}; // @[Cat.scala 31:58]
+  wire  output_25 = output_chain_25_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_24 = output_chain_24_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_27 = output_chain_27_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_26 = output_chain_26_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_29 = output_chain_29_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_28 = output_chain_28_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_31 = output_chain_31_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  output_30 = output_chain_30_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire [15:0] io_q_hi = {output_31,output_30,output_29,output_28,output_27,output_26,output_25,output_24,io_q_hi_lo}; // @[Cat.scala 31:58]
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_clock),
+    .io_d(output_chain_io_d),
+    .io_q(output_chain_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_1 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_1_clock),
+    .io_d(output_chain_1_io_d),
+    .io_q(output_chain_1_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_2 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_2_clock),
+    .io_d(output_chain_2_io_d),
+    .io_q(output_chain_2_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_3 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_3_clock),
+    .io_d(output_chain_3_io_d),
+    .io_q(output_chain_3_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_4 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_4_clock),
+    .io_d(output_chain_4_io_d),
+    .io_q(output_chain_4_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_5 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_5_clock),
+    .io_d(output_chain_5_io_d),
+    .io_q(output_chain_5_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_6 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_6_clock),
+    .io_d(output_chain_6_io_d),
+    .io_q(output_chain_6_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_7 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_7_clock),
+    .io_d(output_chain_7_io_d),
+    .io_q(output_chain_7_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_8 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_8_clock),
+    .io_d(output_chain_8_io_d),
+    .io_q(output_chain_8_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_9 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_9_clock),
+    .io_d(output_chain_9_io_d),
+    .io_q(output_chain_9_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_10 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_10_clock),
+    .io_d(output_chain_10_io_d),
+    .io_q(output_chain_10_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_11 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_11_clock),
+    .io_d(output_chain_11_io_d),
+    .io_q(output_chain_11_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_12 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_12_clock),
+    .io_d(output_chain_12_io_d),
+    .io_q(output_chain_12_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_13 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_13_clock),
+    .io_d(output_chain_13_io_d),
+    .io_q(output_chain_13_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_14 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_14_clock),
+    .io_d(output_chain_14_io_d),
+    .io_q(output_chain_14_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_15 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_15_clock),
+    .io_d(output_chain_15_io_d),
+    .io_q(output_chain_15_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_16 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_16_clock),
+    .io_d(output_chain_16_io_d),
+    .io_q(output_chain_16_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_17 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_17_clock),
+    .io_d(output_chain_17_io_d),
+    .io_q(output_chain_17_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_18 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_18_clock),
+    .io_d(output_chain_18_io_d),
+    .io_q(output_chain_18_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_19 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_19_clock),
+    .io_d(output_chain_19_io_d),
+    .io_q(output_chain_19_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_20 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_20_clock),
+    .io_d(output_chain_20_io_d),
+    .io_q(output_chain_20_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_21 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_21_clock),
+    .io_d(output_chain_21_io_d),
+    .io_q(output_chain_21_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_22 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_22_clock),
+    .io_d(output_chain_22_io_d),
+    .io_q(output_chain_22_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_23 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_23_clock),
+    .io_d(output_chain_23_io_d),
+    .io_q(output_chain_23_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_24 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_24_clock),
+    .io_d(output_chain_24_io_d),
+    .io_q(output_chain_24_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_25 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_25_clock),
+    .io_d(output_chain_25_io_d),
+    .io_q(output_chain_25_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_26 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_26_clock),
+    .io_d(output_chain_26_io_d),
+    .io_q(output_chain_26_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_27 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_27_clock),
+    .io_d(output_chain_27_io_d),
+    .io_q(output_chain_27_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_28 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_28_clock),
+    .io_d(output_chain_28_io_d),
+    .io_q(output_chain_28_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_29 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_29_clock),
+    .io_d(output_chain_29_io_d),
+    .io_q(output_chain_29_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_30 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_30_clock),
+    .io_d(output_chain_30_io_d),
+    .io_q(output_chain_30_io_q)
+  );
+  NonSyncResetSynchronizerPrimitiveShiftReg_d3 output_chain_31 ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_31_clock),
+    .io_d(output_chain_31_io_d),
+    .io_q(output_chain_31_io_q)
+  );
+  assign io_q = {io_q_hi,io_q_lo}; // @[Cat.scala 31:58]
+  assign output_chain_clock = clock;
+  assign output_chain_io_d = io_d[0]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_1_clock = clock;
+  assign output_chain_1_io_d = io_d[1]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_2_clock = clock;
+  assign output_chain_2_io_d = io_d[2]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_3_clock = clock;
+  assign output_chain_3_io_d = io_d[3]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_4_clock = clock;
+  assign output_chain_4_io_d = io_d[4]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_5_clock = clock;
+  assign output_chain_5_io_d = io_d[5]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_6_clock = clock;
+  assign output_chain_6_io_d = io_d[6]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_7_clock = clock;
+  assign output_chain_7_io_d = io_d[7]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_8_clock = clock;
+  assign output_chain_8_io_d = io_d[8]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_9_clock = clock;
+  assign output_chain_9_io_d = io_d[9]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_10_clock = clock;
+  assign output_chain_10_io_d = io_d[10]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_11_clock = clock;
+  assign output_chain_11_io_d = io_d[11]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_12_clock = clock;
+  assign output_chain_12_io_d = io_d[12]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_13_clock = clock;
+  assign output_chain_13_io_d = io_d[13]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_14_clock = clock;
+  assign output_chain_14_io_d = io_d[14]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_15_clock = clock;
+  assign output_chain_15_io_d = io_d[15]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_16_clock = clock;
+  assign output_chain_16_io_d = io_d[16]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_17_clock = clock;
+  assign output_chain_17_io_d = io_d[17]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_18_clock = clock;
+  assign output_chain_18_io_d = io_d[18]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_19_clock = clock;
+  assign output_chain_19_io_d = io_d[19]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_20_clock = clock;
+  assign output_chain_20_io_d = io_d[20]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_21_clock = clock;
+  assign output_chain_21_io_d = io_d[21]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_22_clock = clock;
+  assign output_chain_22_io_d = io_d[22]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_23_clock = clock;
+  assign output_chain_23_io_d = io_d[23]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_24_clock = clock;
+  assign output_chain_24_io_d = io_d[24]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_25_clock = clock;
+  assign output_chain_25_io_d = io_d[25]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_26_clock = clock;
+  assign output_chain_26_io_d = io_d[26]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_27_clock = clock;
+  assign output_chain_27_io_d = io_d[27]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_28_clock = clock;
+  assign output_chain_28_io_d = io_d[28]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_29_clock = clock;
+  assign output_chain_29_io_d = io_d[29]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_30_clock = clock;
+  assign output_chain_30_io_d = io_d[30]; // @[SynchronizerReg.scala 173:39]
+  assign output_chain_31_clock = clock;
+  assign output_chain_31_io_d = io_d[31]; // @[SynchronizerReg.scala 173:39]
+endmodule
+module TLGPIO(
+  input         clock,
+  input         reset,
+  output        auto_int_xing_out_sync_0,
+  output        auto_int_xing_out_sync_1,
+  output        auto_int_xing_out_sync_2,
+  output        auto_int_xing_out_sync_3,
+  output        auto_int_xing_out_sync_4,
+  output        auto_int_xing_out_sync_5,
+  output        auto_int_xing_out_sync_6,
+  output        auto_int_xing_out_sync_7,
+  output        auto_int_xing_out_sync_8,
+  output        auto_int_xing_out_sync_9,
+  output        auto_int_xing_out_sync_10,
+  output        auto_int_xing_out_sync_11,
+  output        auto_int_xing_out_sync_12,
+  output        auto_int_xing_out_sync_13,
+  output        auto_int_xing_out_sync_14,
+  output        auto_int_xing_out_sync_15,
+  output        auto_int_xing_out_sync_16,
+  output        auto_int_xing_out_sync_17,
+  output        auto_int_xing_out_sync_18,
+  output        auto_int_xing_out_sync_19,
+  output        auto_int_xing_out_sync_20,
+  output        auto_int_xing_out_sync_21,
+  output        auto_int_xing_out_sync_22,
+  output        auto_int_xing_out_sync_23,
+  output        auto_int_xing_out_sync_24,
+  output        auto_int_xing_out_sync_25,
+  output        auto_int_xing_out_sync_26,
+  output        auto_int_xing_out_sync_27,
+  output        auto_int_xing_out_sync_28,
+  output        auto_int_xing_out_sync_29,
+  output        auto_int_xing_out_sync_30,
+  output        auto_int_xing_out_sync_31,
+  output        auto_control_xing_in_a_ready,
+  input         auto_control_xing_in_a_valid,
+  input  [2:0]  auto_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_control_xing_in_a_bits_param,
+  input  [1:0]  auto_control_xing_in_a_bits_size,
+  input  [6:0]  auto_control_xing_in_a_bits_source,
+  input  [28:0] auto_control_xing_in_a_bits_address,
+  input  [3:0]  auto_control_xing_in_a_bits_mask,
+  input  [31:0] auto_control_xing_in_a_bits_data,
+  input         auto_control_xing_in_a_bits_corrupt,
+  input         auto_control_xing_in_d_ready,
+  output        auto_control_xing_in_d_valid,
+  output [2:0]  auto_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_control_xing_in_d_bits_size,
+  output [6:0]  auto_control_xing_in_d_bits_source,
+  output [31:0] auto_control_xing_in_d_bits_data,
+  input         auto_iof_out_iof_0_0_o_oval,
+  input         auto_iof_out_iof_0_1_o_oval,
+  output        auto_iof_out_iof_0_2_i_ival,
+  input         auto_iof_out_iof_0_2_o_oval,
+  input         auto_iof_out_iof_0_2_o_oe,
+  input         auto_iof_out_iof_0_2_o_ie,
+  output        auto_iof_out_iof_0_3_i_ival,
+  input         auto_iof_out_iof_0_3_o_oval,
+  input         auto_iof_out_iof_0_3_o_oe,
+  input         auto_iof_out_iof_0_3_o_ie,
+  output        auto_iof_out_iof_0_4_i_ival,
+  input         auto_iof_out_iof_0_4_o_oval,
+  input         auto_iof_out_iof_0_4_o_oe,
+  input         auto_iof_out_iof_0_4_o_ie,
+  output        auto_iof_out_iof_0_5_i_ival,
+  input         auto_iof_out_iof_0_5_o_oval,
+  input         auto_iof_out_iof_0_5_o_oe,
+  input         auto_iof_out_iof_0_5_o_ie,
+  output        auto_iof_out_iof_0_12_i_ival,
+  input         auto_iof_out_iof_0_12_o_oe,
+  output        auto_iof_out_iof_0_13_i_ival,
+  input         auto_iof_out_iof_0_13_o_oe,
+  output        auto_iof_out_iof_0_14_i_ival,
+  input         auto_iof_out_iof_0_14_o_oe,
+  output        auto_iof_out_iof_0_15_i_ival,
+  input         auto_iof_out_iof_0_15_o_oe,
+  output        auto_iof_out_iof_0_16_i_ival,
+  input         auto_iof_out_iof_0_17_o_oval,
+  output        auto_iof_out_iof_0_18_i_ival,
+  input         auto_iof_out_iof_0_19_o_oval,
+  output        auto_iof_out_iof_0_20_i_ival,
+  input         auto_iof_out_iof_0_21_o_oval,
+  output        auto_iof_out_iof_0_22_i_ival,
+  input         auto_iof_out_iof_0_23_o_oval,
+  input         auto_iof_out_iof_0_24_o_oval,
+  input         auto_iof_out_iof_1_12_o_oval,
+  input         auto_iof_out_iof_1_13_o_oval,
+  input         auto_iof_out_iof_1_14_o_oval,
+  input         auto_iof_out_iof_1_15_o_oval,
+  input         auto_iof_out_iof_1_16_o_oval,
+  input         auto_iof_out_iof_1_17_o_oval,
+  input         auto_iof_out_iof_1_18_o_oval,
+  input         auto_iof_out_iof_1_19_o_oval,
+  input         auto_iof_out_iof_1_20_o_oval,
+  input         auto_iof_out_iof_1_21_o_oval,
+  input         auto_iof_out_iof_1_22_o_oval,
+  input         auto_iof_out_iof_1_23_o_oval,
+  input         auto_io_out_pins_0_i_ival,
+  output        auto_io_out_pins_0_o_oval,
+  output        auto_io_out_pins_0_o_oe,
+  output        auto_io_out_pins_0_o_ie,
+  input         auto_io_out_pins_1_i_ival,
+  output        auto_io_out_pins_1_o_oval,
+  output        auto_io_out_pins_1_o_oe,
+  output        auto_io_out_pins_1_o_ie,
+  input         auto_io_out_pins_2_i_ival,
+  output        auto_io_out_pins_2_o_oval,
+  output        auto_io_out_pins_2_o_oe,
+  output        auto_io_out_pins_2_o_ie,
+  input         auto_io_out_pins_3_i_ival,
+  output        auto_io_out_pins_3_o_oval,
+  output        auto_io_out_pins_3_o_oe,
+  output        auto_io_out_pins_3_o_ie,
+  input         auto_io_out_pins_4_i_ival,
+  output        auto_io_out_pins_4_o_oval,
+  output        auto_io_out_pins_4_o_oe,
+  output        auto_io_out_pins_4_o_ie,
+  input         auto_io_out_pins_5_i_ival,
+  output        auto_io_out_pins_5_o_oval,
+  output        auto_io_out_pins_5_o_oe,
+  output        auto_io_out_pins_5_o_ie,
+  input         auto_io_out_pins_6_i_ival,
+  output        auto_io_out_pins_6_o_oval,
+  output        auto_io_out_pins_6_o_oe,
+  input         auto_io_out_pins_7_i_ival,
+  output        auto_io_out_pins_7_o_oval,
+  output        auto_io_out_pins_7_o_oe,
+  input         auto_io_out_pins_8_i_ival,
+  output        auto_io_out_pins_8_o_oval,
+  output        auto_io_out_pins_8_o_oe,
+  input         auto_io_out_pins_9_i_ival,
+  output        auto_io_out_pins_9_o_oval,
+  output        auto_io_out_pins_9_o_oe,
+  input         auto_io_out_pins_10_i_ival,
+  output        auto_io_out_pins_10_o_oval,
+  output        auto_io_out_pins_10_o_oe,
+  input         auto_io_out_pins_11_i_ival,
+  output        auto_io_out_pins_11_o_oval,
+  output        auto_io_out_pins_11_o_oe,
+  input         auto_io_out_pins_12_i_ival,
+  output        auto_io_out_pins_12_o_oval,
+  output        auto_io_out_pins_12_o_oe,
+  output        auto_io_out_pins_12_o_ie,
+  input         auto_io_out_pins_13_i_ival,
+  output        auto_io_out_pins_13_o_oval,
+  output        auto_io_out_pins_13_o_oe,
+  output        auto_io_out_pins_13_o_ie,
+  input         auto_io_out_pins_14_i_ival,
+  output        auto_io_out_pins_14_o_oval,
+  output        auto_io_out_pins_14_o_oe,
+  output        auto_io_out_pins_14_o_ie,
+  input         auto_io_out_pins_15_i_ival,
+  output        auto_io_out_pins_15_o_oval,
+  output        auto_io_out_pins_15_o_oe,
+  output        auto_io_out_pins_15_o_ie,
+  input         auto_io_out_pins_16_i_ival,
+  output        auto_io_out_pins_16_o_oval,
+  output        auto_io_out_pins_16_o_oe,
+  output        auto_io_out_pins_16_o_ie,
+  input         auto_io_out_pins_17_i_ival,
+  output        auto_io_out_pins_17_o_oval,
+  output        auto_io_out_pins_17_o_oe,
+  output        auto_io_out_pins_17_o_ie,
+  input         auto_io_out_pins_18_i_ival,
+  output        auto_io_out_pins_18_o_oval,
+  output        auto_io_out_pins_18_o_oe,
+  output        auto_io_out_pins_18_o_ie,
+  input         auto_io_out_pins_19_i_ival,
+  output        auto_io_out_pins_19_o_oval,
+  output        auto_io_out_pins_19_o_oe,
+  output        auto_io_out_pins_19_o_ie,
+  input         auto_io_out_pins_20_i_ival,
+  output        auto_io_out_pins_20_o_oval,
+  output        auto_io_out_pins_20_o_oe,
+  output        auto_io_out_pins_20_o_ie,
+  input         auto_io_out_pins_21_i_ival,
+  output        auto_io_out_pins_21_o_oval,
+  output        auto_io_out_pins_21_o_oe,
+  output        auto_io_out_pins_21_o_ie,
+  input         auto_io_out_pins_22_i_ival,
+  output        auto_io_out_pins_22_o_oval,
+  output        auto_io_out_pins_22_o_oe,
+  output        auto_io_out_pins_22_o_ie,
+  input         auto_io_out_pins_23_i_ival,
+  output        auto_io_out_pins_23_o_oval,
+  output        auto_io_out_pins_23_o_oe,
+  output        auto_io_out_pins_23_o_ie,
+  input         auto_io_out_pins_24_i_ival,
+  output        auto_io_out_pins_24_o_oval,
+  output        auto_io_out_pins_24_o_oe,
+  output        auto_io_out_pins_24_o_ie,
+  input         auto_io_out_pins_25_i_ival,
+  output        auto_io_out_pins_25_o_oval,
+  output        auto_io_out_pins_25_o_oe,
+  input         auto_io_out_pins_26_i_ival,
+  output        auto_io_out_pins_26_o_oval,
+  output        auto_io_out_pins_26_o_oe,
+  input         auto_io_out_pins_27_i_ival,
+  output        auto_io_out_pins_27_o_oval,
+  output        auto_io_out_pins_27_o_oe,
+  input         auto_io_out_pins_28_i_ival,
+  output        auto_io_out_pins_28_o_oval,
+  output        auto_io_out_pins_28_o_oe,
+  input         auto_io_out_pins_29_i_ival,
+  output        auto_io_out_pins_29_o_oval,
+  output        auto_io_out_pins_29_o_oe,
+  input         auto_io_out_pins_30_i_ival,
+  output        auto_io_out_pins_30_o_oval,
+  output        auto_io_out_pins_30_o_oe,
+  input         auto_io_out_pins_31_i_ival,
+  output        auto_io_out_pins_31_o_oval,
+  output        auto_io_out_pins_31_o_oe
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+`endif // RANDOMIZE_REG_INIT
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  intsource_clock; // @[Crossing.scala 26:31]
+  wire  intsource_reset; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_1; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_2; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_3; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_4; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_5; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_6; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_7; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_8; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_9; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_10; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_11; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_12; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_13; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_14; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_15; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_16; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_17; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_18; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_19; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_20; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_21; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_22; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_23; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_24; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_25; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_26; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_27; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_28; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_29; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_30; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_31; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_1; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_2; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_3; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_4; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_5; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_6; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_7; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_8; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_9; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_10; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_11; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_12; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_13; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_14; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_15; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_16; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_17; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_18; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_19; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_20; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_21; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_22; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_23; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_24; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_25; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_26; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_27; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_28; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_29; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_30; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_31; // @[Crossing.scala 26:31]
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  oeReg_clock; // @[GPIO.scala 79:22]
+  wire  oeReg_reset; // @[GPIO.scala 79:22]
+  wire [31:0] oeReg_io_d; // @[GPIO.scala 79:22]
+  wire [31:0] oeReg_io_q; // @[GPIO.scala 79:22]
+  wire  oeReg_io_en; // @[GPIO.scala 79:22]
+  wire  pueReg_clock; // @[GPIO.scala 80:22]
+  wire  pueReg_reset; // @[GPIO.scala 80:22]
+  wire [31:0] pueReg_io_d; // @[GPIO.scala 80:22]
+  wire [31:0] pueReg_io_q; // @[GPIO.scala 80:22]
+  wire  pueReg_io_en; // @[GPIO.scala 80:22]
+  wire  ieReg_clock; // @[GPIO.scala 82:22]
+  wire  ieReg_reset; // @[GPIO.scala 82:22]
+  wire [31:0] ieReg_io_d; // @[GPIO.scala 82:22]
+  wire [31:0] ieReg_io_q; // @[GPIO.scala 82:22]
+  wire  ieReg_io_en; // @[GPIO.scala 82:22]
+  wire  poeReg_clock; // @[GPIO.scala 84:22]
+  wire  poeReg_reset; // @[GPIO.scala 84:22]
+  wire [31:0] poeReg_io_d; // @[GPIO.scala 84:22]
+  wire [31:0] poeReg_io_q; // @[GPIO.scala 84:22]
+  wire  poeReg_io_en; // @[GPIO.scala 84:22]
+  wire  inSyncReg_inSyncReg_clock; // @[ShiftReg.scala 45:23]
+  wire [31:0] inSyncReg_inSyncReg_io_d; // @[ShiftReg.scala 45:23]
+  wire [31:0] inSyncReg_inSyncReg_io_q; // @[ShiftReg.scala 45:23]
+  wire  iofEnReg_clock; // @[GPIO.scala 105:25]
+  wire  iofEnReg_reset; // @[GPIO.scala 105:25]
+  wire [31:0] iofEnReg_io_d; // @[GPIO.scala 105:25]
+  wire [31:0] iofEnReg_io_q; // @[GPIO.scala 105:25]
+  wire  iofEnReg_io_en; // @[GPIO.scala 105:25]
+  reg [31:0] portReg; // @[GPIO.scala 77:20]
+  reg [31:0] dsReg_0; // @[GPIO.scala 81:23]
+  wire [7:0] inVal_lo_lo = {auto_io_out_pins_7_i_ival,auto_io_out_pins_6_i_ival,auto_io_out_pins_5_i_ival,
+    auto_io_out_pins_4_i_ival,auto_io_out_pins_3_i_ival,auto_io_out_pins_2_i_ival,auto_io_out_pins_1_i_ival,
+    auto_io_out_pins_0_i_ival}; // @[GPIO.scala 88:41]
+  wire [15:0] inVal_lo = {auto_io_out_pins_15_i_ival,auto_io_out_pins_14_i_ival,auto_io_out_pins_13_i_ival,
+    auto_io_out_pins_12_i_ival,auto_io_out_pins_11_i_ival,auto_io_out_pins_10_i_ival,auto_io_out_pins_9_i_ival,
+    auto_io_out_pins_8_i_ival,inVal_lo_lo}; // @[GPIO.scala 88:41]
+  wire [7:0] inVal_hi_lo = {auto_io_out_pins_23_i_ival,auto_io_out_pins_22_i_ival,auto_io_out_pins_21_i_ival,
+    auto_io_out_pins_20_i_ival,auto_io_out_pins_19_i_ival,auto_io_out_pins_18_i_ival,auto_io_out_pins_17_i_ival,
+    auto_io_out_pins_16_i_ival}; // @[GPIO.scala 88:41]
+  wire [15:0] inVal_hi = {auto_io_out_pins_31_i_ival,auto_io_out_pins_30_i_ival,auto_io_out_pins_29_i_ival,
+    auto_io_out_pins_28_i_ival,auto_io_out_pins_27_i_ival,auto_io_out_pins_26_i_ival,auto_io_out_pins_25_i_ival,
+    auto_io_out_pins_24_i_ival,inVal_hi_lo}; // @[GPIO.scala 88:41]
+  reg [31:0] valueReg; // @[GPIO.scala 90:23]
+  reg [31:0] highIeReg; // @[GPIO.scala 93:22]
+  reg [31:0] lowIeReg; // @[GPIO.scala 94:22]
+  reg [31:0] riseIeReg; // @[GPIO.scala 95:22]
+  reg [31:0] fallIeReg; // @[GPIO.scala 96:22]
+  reg [31:0] highIpReg; // @[GPIO.scala 97:22]
+  reg [31:0] lowIpReg; // @[GPIO.scala 98:22]
+  reg [31:0] riseIpReg; // @[GPIO.scala 99:22]
+  reg [31:0] fallIpReg; // @[GPIO.scala 100:22]
+  reg [31:0] passthruHighIeReg; // @[GPIO.scala 101:30]
+  reg [31:0] passthruLowIeReg; // @[GPIO.scala 102:30]
+  reg [31:0] iofSelReg; // @[GPIO.scala 106:22]
+  reg [31:0] xorReg; // @[GPIO.scala 109:22]
+  wire [31:0] _rise_T = ~valueReg; // @[GPIO.scala 115:14]
+  wire [31:0] inSyncReg = inSyncReg_inSyncReg_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire [31:0] rise = _rise_T & inSyncReg; // @[GPIO.scala 115:24]
+  wire [31:0] _fall_T = ~inSyncReg; // @[GPIO.scala 116:25]
+  wire [31:0] fall = valueReg & _fall_T; // @[GPIO.scala 116:23]
+  wire [2:0] bundleIn_0_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  in_bits_read = bundleIn_0_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [28:0] bundleIn_0_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [9:0] in_bits_index = bundleIn_0_a_bits_address[11:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire [9:0] out_findex = in_bits_index & 10'h3e0; // @[RegisterRouter.scala 83:24]
+  wire  _out_T = out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] bundleIn_0_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_frontMask_T_5 = bundleIn_0_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_7 = bundleIn_0_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_9 = bundleIn_0_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_11 = bundleIn_0_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_frontMask = {_out_frontMask_T_11,_out_frontMask_T_9,_out_frontMask_T_7,_out_frontMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_wimask = &out_frontMask; // @[RegisterRouter.scala 83:24]
+  wire  bundleIn_0_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  bundleIn_0_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [4:0] out_oindex = {in_bits_index[4],in_bits_index[3],in_bits_index[2],in_bits_index[1],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [31:0] _out_frontSel_T = 32'h1 << out_oindex; // @[OneHot.scala 57:35]
+  wire [31:0] bundleIn_0_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  out_frontSel_5 = _out_frontSel_T[5]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_1 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_5 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_1 = out_wivalid_1 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_10 = _out_frontSel_T[10]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_2 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_10 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_2 = out_wivalid_2 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_14 = _out_frontSel_T[14]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_3 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_14 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_82 = iofEnReg_io_q; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_1 = _out_frontSel_T[1]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_5 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_1 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_102 = ieReg_io_q; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_6 = _out_frontSel_T[6]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_6 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_6 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_6 = out_wivalid_6 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_9 = _out_frontSel_T[9]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_7 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_9 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_7 = out_wivalid_7 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_fallIpReg_T = ~fallIpReg; // @[RegField.scala 128:61]
+  wire [31:0] _out_fallIpReg_T_1 = out_f_wivalid_7 ? bundleIn_0_a_bits_data : 32'h0; // @[RegField.scala 128:71]
+  wire [31:0] _out_fallIpReg_T_2 = _out_fallIpReg_T | _out_fallIpReg_T_1; // @[RegField.scala 128:66]
+  wire [31:0] _out_fallIpReg_T_3 = ~_out_fallIpReg_T_2; // @[RegField.scala 128:59]
+  wire [31:0] _out_fallIpReg_T_4 = _out_fallIpReg_T_3 | fall; // @[RegField.scala 128:95]
+  wire  out_frontSel_13 = _out_frontSel_T[13]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_8 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_13 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_8 = out_wivalid_8 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_lowIpReg_T = ~lowIpReg; // @[RegField.scala 128:61]
+  wire [31:0] _out_lowIpReg_T_1 = out_f_wivalid_8 ? bundleIn_0_a_bits_data : 32'h0; // @[RegField.scala 128:71]
+  wire [31:0] _out_lowIpReg_T_2 = _out_lowIpReg_T | _out_lowIpReg_T_1; // @[RegField.scala 128:66]
+  wire [31:0] _out_lowIpReg_T_3 = ~_out_lowIpReg_T_2; // @[RegField.scala 128:59]
+  wire [31:0] _out_lowIpReg_T_4 = _out_lowIpReg_T_3 | _rise_T; // @[RegField.scala 128:95]
+  wire  out_frontSel_2 = _out_frontSel_T[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_9 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_2 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_146 = oeReg_io_q; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_17 = _out_frontSel_T[17]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_10 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_17 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_10 = out_wivalid_10 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_12 = _out_frontSel_T[12]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_11 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_12 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_11 = out_wivalid_11 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_7 = _out_frontSel_T[7]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_12 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_7 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_12 = out_wivalid_12 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_riseIpReg_T = ~riseIpReg; // @[RegField.scala 128:61]
+  wire [31:0] _out_riseIpReg_T_1 = out_f_wivalid_12 ? bundleIn_0_a_bits_data : 32'h0; // @[RegField.scala 128:71]
+  wire [31:0] _out_riseIpReg_T_2 = _out_riseIpReg_T | _out_riseIpReg_T_1; // @[RegField.scala 128:66]
+  wire [31:0] _out_riseIpReg_T_3 = ~_out_riseIpReg_T_2; // @[RegField.scala 128:59]
+  wire [31:0] _out_riseIpReg_T_4 = _out_riseIpReg_T_3 | rise; // @[RegField.scala 128:95]
+  wire  out_frontSel_3 = _out_frontSel_T[3]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_13 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_3 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_13 = out_wivalid_13 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_18 = _out_frontSel_T[18]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_14 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_18 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_14 = out_wivalid_14 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_16 = _out_frontSel_T[16]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_15 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_16 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_15 = out_wivalid_15 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_11 = _out_frontSel_T[11]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_16 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_11 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_16 = out_wivalid_16 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_highIpReg_T = ~highIpReg; // @[RegField.scala 128:61]
+  wire [31:0] _out_highIpReg_T_1 = out_f_wivalid_16 ? bundleIn_0_a_bits_data : 32'h0; // @[RegField.scala 128:71]
+  wire [31:0] _out_highIpReg_T_2 = _out_highIpReg_T | _out_highIpReg_T_1; // @[RegField.scala 128:66]
+  wire [31:0] _out_highIpReg_T_3 = ~_out_highIpReg_T_2; // @[RegField.scala 128:59]
+  wire [31:0] _out_highIpReg_T_4 = _out_highIpReg_T_3 | valueReg; // @[RegField.scala 128:95]
+  wire  out_frontSel_8 = _out_frontSel_T[8]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_17 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_8 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_17 = out_wivalid_17 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_4 = _out_frontSel_T[4]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_19 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_4 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] _out_T_254 = pueReg_io_q; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_15 = _out_frontSel_T[15]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_20 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_15 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire  out_f_wivalid_20 = out_wivalid_20 & out_wimask; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_139 = 5'h1 == out_oindex ? _out_T : _out_T; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_140 = 5'h2 == out_oindex ? _out_T : _GEN_139; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_141 = 5'h3 == out_oindex ? _out_T : _GEN_140; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_142 = 5'h4 == out_oindex ? _out_T : _GEN_141; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_143 = 5'h5 == out_oindex ? _out_T : _GEN_142; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_144 = 5'h6 == out_oindex ? _out_T : _GEN_143; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_145 = 5'h7 == out_oindex ? _out_T : _GEN_144; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_146 = 5'h8 == out_oindex ? _out_T : _GEN_145; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_147 = 5'h9 == out_oindex ? _out_T : _GEN_146; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_148 = 5'ha == out_oindex ? _out_T : _GEN_147; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_149 = 5'hb == out_oindex ? _out_T : _GEN_148; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_150 = 5'hc == out_oindex ? _out_T : _GEN_149; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_151 = 5'hd == out_oindex ? _out_T : _GEN_150; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_152 = 5'he == out_oindex ? _out_T : _GEN_151; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_153 = 5'hf == out_oindex ? _out_T : _GEN_152; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_154 = 5'h10 == out_oindex ? _out_T : _GEN_153; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_155 = 5'h11 == out_oindex ? _out_T : _GEN_154; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_156 = 5'h12 == out_oindex ? _out_T : _GEN_155; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_157 = 5'h13 == out_oindex ? _out_T : _GEN_156; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_158 = 5'h14 == out_oindex ? _out_T : _GEN_157; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_169 = 5'h1f == out_oindex | (5'h1e == out_oindex | (5'h1d == out_oindex | (5'h1c == out_oindex | (5'h1b ==
+    out_oindex | (5'h1a == out_oindex | (5'h19 == out_oindex | (5'h18 == out_oindex | (5'h17 == out_oindex | (5'h16 ==
+    out_oindex | (5'h15 == out_oindex | _GEN_158)))))))))); // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_171 = 5'h1 == out_oindex ? _out_T_102 : valueReg; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_172 = 5'h2 == out_oindex ? _out_T_146 : _GEN_171; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_173 = 5'h3 == out_oindex ? portReg : _GEN_172; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_174 = 5'h4 == out_oindex ? _out_T_254 : _GEN_173; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_175 = 5'h5 == out_oindex ? dsReg_0 : _GEN_174; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_176 = 5'h6 == out_oindex ? riseIeReg : _GEN_175; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_177 = 5'h7 == out_oindex ? riseIpReg : _GEN_176; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_178 = 5'h8 == out_oindex ? fallIeReg : _GEN_177; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_179 = 5'h9 == out_oindex ? fallIpReg : _GEN_178; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_180 = 5'ha == out_oindex ? highIeReg : _GEN_179; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_181 = 5'hb == out_oindex ? highIpReg : _GEN_180; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_182 = 5'hc == out_oindex ? lowIeReg : _GEN_181; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_183 = 5'hd == out_oindex ? lowIpReg : _GEN_182; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_184 = 5'he == out_oindex ? _out_T_82 : _GEN_183; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_185 = 5'hf == out_oindex ? iofSelReg : _GEN_184; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_186 = 5'h10 == out_oindex ? xorReg : _GEN_185; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_187 = 5'h11 == out_oindex ? passthruHighIeReg : _GEN_186; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_188 = 5'h12 == out_oindex ? passthruLowIeReg : _GEN_187; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_189 = 5'h13 == out_oindex ? 32'h0 : _GEN_188; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_190 = 5'h14 == out_oindex ? 32'h0 : _GEN_189; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_191 = 5'h15 == out_oindex ? 32'h0 : _GEN_190; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_192 = 5'h16 == out_oindex ? 32'h0 : _GEN_191; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_193 = 5'h17 == out_oindex ? 32'h0 : _GEN_192; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_194 = 5'h18 == out_oindex ? 32'h0 : _GEN_193; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_195 = 5'h19 == out_oindex ? 32'h0 : _GEN_194; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_196 = 5'h1a == out_oindex ? 32'h0 : _GEN_195; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_197 = 5'h1b == out_oindex ? 32'h0 : _GEN_196; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_198 = 5'h1c == out_oindex ? 32'h0 : _GEN_197; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_199 = 5'h1d == out_oindex ? 32'h0 : _GEN_198; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_200 = 5'h1e == out_oindex ? 32'h0 : _GEN_199; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_201 = 5'h1f == out_oindex ? 32'h0 : _GEN_200; // @[MuxLiteral.scala 48:{10,10}]
+  wire  swPinCtrl_0_oval = portReg[0]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_0_oe = oeReg_io_q[0]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_0_ie = ieReg_io_q[0]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_0_oval = iofSelReg[0] ? swPinCtrl_0_oval : auto_iof_out_iof_0_0_o_oval; // @[GPIO.scala 222:32]
+  wire  iofCtrl_0_oe = iofSelReg[0] ? swPinCtrl_0_oe : 1'h1; // @[GPIO.scala 222:32]
+  wire  iofCtrl_0_ie = iofSelReg[0] & swPinCtrl_0_ie; // @[GPIO.scala 222:32]
+  wire  pre_xor_oval = iofEnReg_io_q[0] ? iofCtrl_0_oval : swPinCtrl_0_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_0_T_5 = fallIpReg[0] & fallIeReg[0]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_0_T_6 = riseIpReg[0] & riseIeReg[0] | _bundleOut_0_0_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_0_T_9 = highIpReg[0] & highIeReg[0]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_0_T_10 = _bundleOut_0_0_T_6 | _bundleOut_0_0_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_0_T_13 = lowIpReg[0] & lowIeReg[0]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_0_T_14 = _bundleOut_0_0_T_10 | _bundleOut_0_0_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_0_T_17 = valueReg[0] & passthruHighIeReg[0]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_0_T_18 = _bundleOut_0_0_T_14 | _bundleOut_0_0_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_0_T_22 = ~valueReg[0] & passthruLowIeReg[0]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_1_oval = portReg[1]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_1_oe = oeReg_io_q[1]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_1_ie = ieReg_io_q[1]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_1_oval = iofSelReg[1] ? swPinCtrl_1_oval : auto_iof_out_iof_0_1_o_oval; // @[GPIO.scala 222:32]
+  wire  iofCtrl_1_oe = iofSelReg[1] ? swPinCtrl_1_oe : 1'h1; // @[GPIO.scala 222:32]
+  wire  iofCtrl_1_ie = iofSelReg[1] & swPinCtrl_1_ie; // @[GPIO.scala 222:32]
+  wire  pre_xor_1_oval = iofEnReg_io_q[1] ? iofCtrl_1_oval : swPinCtrl_1_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_1_T_5 = fallIpReg[1] & fallIeReg[1]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_1_T_6 = riseIpReg[1] & riseIeReg[1] | _bundleOut_0_1_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_1_T_9 = highIpReg[1] & highIeReg[1]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_1_T_10 = _bundleOut_0_1_T_6 | _bundleOut_0_1_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_1_T_13 = lowIpReg[1] & lowIeReg[1]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_1_T_14 = _bundleOut_0_1_T_10 | _bundleOut_0_1_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_1_T_17 = valueReg[1] & passthruHighIeReg[1]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_1_T_18 = _bundleOut_0_1_T_14 | _bundleOut_0_1_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_1_T_22 = ~valueReg[1] & passthruLowIeReg[1]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_2_oval = portReg[2]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_2_oe = oeReg_io_q[2]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_2_ie = ieReg_io_q[2]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_2_oval = iofSelReg[2] ? swPinCtrl_2_oval : auto_iof_out_iof_0_2_o_oval; // @[GPIO.scala 222:32]
+  wire  iofCtrl_2_oe = iofSelReg[2] ? swPinCtrl_2_oe : auto_iof_out_iof_0_2_o_oe; // @[GPIO.scala 222:32]
+  wire  iofCtrl_2_ie = iofSelReg[2] ? swPinCtrl_2_ie : auto_iof_out_iof_0_2_o_ie; // @[GPIO.scala 222:32]
+  wire  pre_xor_2_oval = iofEnReg_io_q[2] ? iofCtrl_2_oval : swPinCtrl_2_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_2_T_5 = fallIpReg[2] & fallIeReg[2]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_2_T_6 = riseIpReg[2] & riseIeReg[2] | _bundleOut_0_2_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_2_T_9 = highIpReg[2] & highIeReg[2]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_2_T_10 = _bundleOut_0_2_T_6 | _bundleOut_0_2_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_2_T_13 = lowIpReg[2] & lowIeReg[2]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_2_T_14 = _bundleOut_0_2_T_10 | _bundleOut_0_2_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_2_T_17 = valueReg[2] & passthruHighIeReg[2]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_2_T_18 = _bundleOut_0_2_T_14 | _bundleOut_0_2_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_2_T_22 = ~valueReg[2] & passthruLowIeReg[2]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_3_oval = portReg[3]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_3_oe = oeReg_io_q[3]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_3_ie = ieReg_io_q[3]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_3_oval = iofSelReg[3] ? swPinCtrl_3_oval : auto_iof_out_iof_0_3_o_oval; // @[GPIO.scala 222:32]
+  wire  iofCtrl_3_oe = iofSelReg[3] ? swPinCtrl_3_oe : auto_iof_out_iof_0_3_o_oe; // @[GPIO.scala 222:32]
+  wire  iofCtrl_3_ie = iofSelReg[3] ? swPinCtrl_3_ie : auto_iof_out_iof_0_3_o_ie; // @[GPIO.scala 222:32]
+  wire  pre_xor_3_oval = iofEnReg_io_q[3] ? iofCtrl_3_oval : swPinCtrl_3_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_3_T_5 = fallIpReg[3] & fallIeReg[3]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_3_T_6 = riseIpReg[3] & riseIeReg[3] | _bundleOut_0_3_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_3_T_9 = highIpReg[3] & highIeReg[3]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_3_T_10 = _bundleOut_0_3_T_6 | _bundleOut_0_3_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_3_T_13 = lowIpReg[3] & lowIeReg[3]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_3_T_14 = _bundleOut_0_3_T_10 | _bundleOut_0_3_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_3_T_17 = valueReg[3] & passthruHighIeReg[3]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_3_T_18 = _bundleOut_0_3_T_14 | _bundleOut_0_3_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_3_T_22 = ~valueReg[3] & passthruLowIeReg[3]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_4_oval = portReg[4]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_4_oe = oeReg_io_q[4]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_4_ie = ieReg_io_q[4]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_4_oval = iofSelReg[4] ? swPinCtrl_4_oval : auto_iof_out_iof_0_4_o_oval; // @[GPIO.scala 222:32]
+  wire  iofCtrl_4_oe = iofSelReg[4] ? swPinCtrl_4_oe : auto_iof_out_iof_0_4_o_oe; // @[GPIO.scala 222:32]
+  wire  iofCtrl_4_ie = iofSelReg[4] ? swPinCtrl_4_ie : auto_iof_out_iof_0_4_o_ie; // @[GPIO.scala 222:32]
+  wire  pre_xor_4_oval = iofEnReg_io_q[4] ? iofCtrl_4_oval : swPinCtrl_4_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_4_T_5 = fallIpReg[4] & fallIeReg[4]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_4_T_6 = riseIpReg[4] & riseIeReg[4] | _bundleOut_0_4_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_4_T_9 = highIpReg[4] & highIeReg[4]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_4_T_10 = _bundleOut_0_4_T_6 | _bundleOut_0_4_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_4_T_13 = lowIpReg[4] & lowIeReg[4]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_4_T_14 = _bundleOut_0_4_T_10 | _bundleOut_0_4_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_4_T_17 = valueReg[4] & passthruHighIeReg[4]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_4_T_18 = _bundleOut_0_4_T_14 | _bundleOut_0_4_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_4_T_22 = ~valueReg[4] & passthruLowIeReg[4]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_5_oval = portReg[5]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_5_oe = oeReg_io_q[5]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_5_ie = ieReg_io_q[5]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_5_oval = iofSelReg[5] ? swPinCtrl_5_oval : auto_iof_out_iof_0_5_o_oval; // @[GPIO.scala 222:32]
+  wire  iofCtrl_5_oe = iofSelReg[5] ? swPinCtrl_5_oe : auto_iof_out_iof_0_5_o_oe; // @[GPIO.scala 222:32]
+  wire  iofCtrl_5_ie = iofSelReg[5] ? swPinCtrl_5_ie : auto_iof_out_iof_0_5_o_ie; // @[GPIO.scala 222:32]
+  wire  pre_xor_5_oval = iofEnReg_io_q[5] ? iofCtrl_5_oval : swPinCtrl_5_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_5_T_5 = fallIpReg[5] & fallIeReg[5]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_5_T_6 = riseIpReg[5] & riseIeReg[5] | _bundleOut_0_5_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_5_T_9 = highIpReg[5] & highIeReg[5]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_5_T_10 = _bundleOut_0_5_T_6 | _bundleOut_0_5_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_5_T_13 = lowIpReg[5] & lowIeReg[5]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_5_T_14 = _bundleOut_0_5_T_10 | _bundleOut_0_5_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_5_T_17 = valueReg[5] & passthruHighIeReg[5]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_5_T_18 = _bundleOut_0_5_T_14 | _bundleOut_0_5_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_5_T_22 = ~valueReg[5] & passthruLowIeReg[5]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_6_oval = portReg[6]; // @[GPIO.scala 199:37]
+  wire  _bundleOut_0_6_T_5 = fallIpReg[6] & fallIeReg[6]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_6_T_6 = riseIpReg[6] & riseIeReg[6] | _bundleOut_0_6_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_6_T_9 = highIpReg[6] & highIeReg[6]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_6_T_10 = _bundleOut_0_6_T_6 | _bundleOut_0_6_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_6_T_13 = lowIpReg[6] & lowIeReg[6]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_6_T_14 = _bundleOut_0_6_T_10 | _bundleOut_0_6_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_6_T_17 = valueReg[6] & passthruHighIeReg[6]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_6_T_18 = _bundleOut_0_6_T_14 | _bundleOut_0_6_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_6_T_22 = ~valueReg[6] & passthruLowIeReg[6]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_7_oval = portReg[7]; // @[GPIO.scala 199:37]
+  wire  _bundleOut_0_7_T_5 = fallIpReg[7] & fallIeReg[7]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_7_T_6 = riseIpReg[7] & riseIeReg[7] | _bundleOut_0_7_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_7_T_9 = highIpReg[7] & highIeReg[7]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_7_T_10 = _bundleOut_0_7_T_6 | _bundleOut_0_7_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_7_T_13 = lowIpReg[7] & lowIeReg[7]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_7_T_14 = _bundleOut_0_7_T_10 | _bundleOut_0_7_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_7_T_17 = valueReg[7] & passthruHighIeReg[7]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_7_T_18 = _bundleOut_0_7_T_14 | _bundleOut_0_7_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_7_T_22 = ~valueReg[7] & passthruLowIeReg[7]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_8_oval = portReg[8]; // @[GPIO.scala 199:37]
+  wire  _bundleOut_0_8_T_5 = fallIpReg[8] & fallIeReg[8]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_8_T_6 = riseIpReg[8] & riseIeReg[8] | _bundleOut_0_8_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_8_T_9 = highIpReg[8] & highIeReg[8]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_8_T_10 = _bundleOut_0_8_T_6 | _bundleOut_0_8_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_8_T_13 = lowIpReg[8] & lowIeReg[8]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_8_T_14 = _bundleOut_0_8_T_10 | _bundleOut_0_8_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_8_T_17 = valueReg[8] & passthruHighIeReg[8]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_8_T_18 = _bundleOut_0_8_T_14 | _bundleOut_0_8_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_8_T_22 = ~valueReg[8] & passthruLowIeReg[8]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_9_oval = portReg[9]; // @[GPIO.scala 199:37]
+  wire  _bundleOut_0_9_T_5 = fallIpReg[9] & fallIeReg[9]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_9_T_6 = riseIpReg[9] & riseIeReg[9] | _bundleOut_0_9_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_9_T_9 = highIpReg[9] & highIeReg[9]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_9_T_10 = _bundleOut_0_9_T_6 | _bundleOut_0_9_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_9_T_13 = lowIpReg[9] & lowIeReg[9]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_9_T_14 = _bundleOut_0_9_T_10 | _bundleOut_0_9_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_9_T_17 = valueReg[9] & passthruHighIeReg[9]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_9_T_18 = _bundleOut_0_9_T_14 | _bundleOut_0_9_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_9_T_22 = ~valueReg[9] & passthruLowIeReg[9]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_10_oval = portReg[10]; // @[GPIO.scala 199:37]
+  wire  _bundleOut_0_10_T_5 = fallIpReg[10] & fallIeReg[10]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_10_T_6 = riseIpReg[10] & riseIeReg[10] | _bundleOut_0_10_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_10_T_9 = highIpReg[10] & highIeReg[10]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_10_T_10 = _bundleOut_0_10_T_6 | _bundleOut_0_10_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_10_T_13 = lowIpReg[10] & lowIeReg[10]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_10_T_14 = _bundleOut_0_10_T_10 | _bundleOut_0_10_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_10_T_17 = valueReg[10] & passthruHighIeReg[10]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_10_T_18 = _bundleOut_0_10_T_14 | _bundleOut_0_10_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_10_T_22 = ~valueReg[10] & passthruLowIeReg[10]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_11_oval = portReg[11]; // @[GPIO.scala 199:37]
+  wire  _bundleOut_0_11_T_5 = fallIpReg[11] & fallIeReg[11]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_11_T_6 = riseIpReg[11] & riseIeReg[11] | _bundleOut_0_11_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_11_T_9 = highIpReg[11] & highIeReg[11]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_11_T_10 = _bundleOut_0_11_T_6 | _bundleOut_0_11_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_11_T_13 = lowIpReg[11] & lowIeReg[11]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_11_T_14 = _bundleOut_0_11_T_10 | _bundleOut_0_11_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_11_T_17 = valueReg[11] & passthruHighIeReg[11]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_11_T_18 = _bundleOut_0_11_T_14 | _bundleOut_0_11_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_11_T_22 = ~valueReg[11] & passthruLowIeReg[11]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_12_oval = portReg[12]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_12_oe = oeReg_io_q[12]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_12_ie = ieReg_io_q[12]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_12_oval = iofSelReg[12] & auto_iof_out_iof_1_12_o_oval; // @[GPIO.scala 222:32]
+  wire  iofCtrl_12_oe = iofSelReg[12] | auto_iof_out_iof_0_12_o_oe; // @[GPIO.scala 222:32]
+  wire  iofCtrl_12_ie = iofSelReg[12] ? 1'h0 : 1'h1; // @[GPIO.scala 222:32]
+  wire  pre_xor_12_oval = iofEnReg_io_q[12] ? iofCtrl_12_oval : swPinCtrl_12_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_12_T_5 = fallIpReg[12] & fallIeReg[12]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_12_T_6 = riseIpReg[12] & riseIeReg[12] | _bundleOut_0_12_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_12_T_9 = highIpReg[12] & highIeReg[12]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_12_T_10 = _bundleOut_0_12_T_6 | _bundleOut_0_12_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_12_T_13 = lowIpReg[12] & lowIeReg[12]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_12_T_14 = _bundleOut_0_12_T_10 | _bundleOut_0_12_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_12_T_17 = valueReg[12] & passthruHighIeReg[12]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_12_T_18 = _bundleOut_0_12_T_14 | _bundleOut_0_12_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_12_T_22 = ~valueReg[12] & passthruLowIeReg[12]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_13_oval = portReg[13]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_13_oe = oeReg_io_q[13]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_13_ie = ieReg_io_q[13]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_13_oval = iofSelReg[13] & auto_iof_out_iof_1_13_o_oval; // @[GPIO.scala 222:32]
+  wire  iofCtrl_13_oe = iofSelReg[13] | auto_iof_out_iof_0_13_o_oe; // @[GPIO.scala 222:32]
+  wire  iofCtrl_13_ie = iofSelReg[13] ? 1'h0 : 1'h1; // @[GPIO.scala 222:32]
+  wire  pre_xor_13_oval = iofEnReg_io_q[13] ? iofCtrl_13_oval : swPinCtrl_13_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_13_T_5 = fallIpReg[13] & fallIeReg[13]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_13_T_6 = riseIpReg[13] & riseIeReg[13] | _bundleOut_0_13_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_13_T_9 = highIpReg[13] & highIeReg[13]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_13_T_10 = _bundleOut_0_13_T_6 | _bundleOut_0_13_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_13_T_13 = lowIpReg[13] & lowIeReg[13]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_13_T_14 = _bundleOut_0_13_T_10 | _bundleOut_0_13_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_13_T_17 = valueReg[13] & passthruHighIeReg[13]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_13_T_18 = _bundleOut_0_13_T_14 | _bundleOut_0_13_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_13_T_22 = ~valueReg[13] & passthruLowIeReg[13]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_14_oval = portReg[14]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_14_oe = oeReg_io_q[14]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_14_ie = ieReg_io_q[14]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_14_oval = iofSelReg[14] & auto_iof_out_iof_1_14_o_oval; // @[GPIO.scala 222:32]
+  wire  iofCtrl_14_oe = iofSelReg[14] | auto_iof_out_iof_0_14_o_oe; // @[GPIO.scala 222:32]
+  wire  iofCtrl_14_ie = iofSelReg[14] ? 1'h0 : 1'h1; // @[GPIO.scala 222:32]
+  wire  pre_xor_14_oval = iofEnReg_io_q[14] ? iofCtrl_14_oval : swPinCtrl_14_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_14_T_5 = fallIpReg[14] & fallIeReg[14]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_14_T_6 = riseIpReg[14] & riseIeReg[14] | _bundleOut_0_14_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_14_T_9 = highIpReg[14] & highIeReg[14]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_14_T_10 = _bundleOut_0_14_T_6 | _bundleOut_0_14_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_14_T_13 = lowIpReg[14] & lowIeReg[14]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_14_T_14 = _bundleOut_0_14_T_10 | _bundleOut_0_14_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_14_T_17 = valueReg[14] & passthruHighIeReg[14]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_14_T_18 = _bundleOut_0_14_T_14 | _bundleOut_0_14_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_14_T_22 = ~valueReg[14] & passthruLowIeReg[14]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_15_oval = portReg[15]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_15_oe = oeReg_io_q[15]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_15_ie = ieReg_io_q[15]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_15_oval = iofSelReg[15] & auto_iof_out_iof_1_15_o_oval; // @[GPIO.scala 222:32]
+  wire  iofCtrl_15_oe = iofSelReg[15] | auto_iof_out_iof_0_15_o_oe; // @[GPIO.scala 222:32]
+  wire  iofCtrl_15_ie = iofSelReg[15] ? 1'h0 : 1'h1; // @[GPIO.scala 222:32]
+  wire  pre_xor_15_oval = iofEnReg_io_q[15] ? iofCtrl_15_oval : swPinCtrl_15_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_15_T_5 = fallIpReg[15] & fallIeReg[15]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_15_T_6 = riseIpReg[15] & riseIeReg[15] | _bundleOut_0_15_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_15_T_9 = highIpReg[15] & highIeReg[15]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_15_T_10 = _bundleOut_0_15_T_6 | _bundleOut_0_15_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_15_T_13 = lowIpReg[15] & lowIeReg[15]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_15_T_14 = _bundleOut_0_15_T_10 | _bundleOut_0_15_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_15_T_17 = valueReg[15] & passthruHighIeReg[15]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_15_T_18 = _bundleOut_0_15_T_14 | _bundleOut_0_15_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_15_T_22 = ~valueReg[15] & passthruLowIeReg[15]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_16_oval = portReg[16]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_16_oe = oeReg_io_q[16]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_16_ie = ieReg_io_q[16]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_16_oe = iofSelReg[16]; // @[GPIO.scala 222:42]
+  wire  iofCtrl_16_oval = iofCtrl_16_oe & auto_iof_out_iof_1_16_o_oval; // @[GPIO.scala 222:32]
+  wire  iofCtrl_16_ie = iofCtrl_16_oe ? 1'h0 : 1'h1; // @[GPIO.scala 222:32]
+  wire  pre_xor_16_oval = iofEnReg_io_q[16] ? iofCtrl_16_oval : swPinCtrl_16_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_16_T_5 = fallIpReg[16] & fallIeReg[16]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_16_T_6 = riseIpReg[16] & riseIeReg[16] | _bundleOut_0_16_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_16_T_9 = highIpReg[16] & highIeReg[16]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_16_T_10 = _bundleOut_0_16_T_6 | _bundleOut_0_16_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_16_T_13 = lowIpReg[16] & lowIeReg[16]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_16_T_14 = _bundleOut_0_16_T_10 | _bundleOut_0_16_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_16_T_17 = valueReg[16] & passthruHighIeReg[16]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_16_T_18 = _bundleOut_0_16_T_14 | _bundleOut_0_16_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_16_T_22 = ~valueReg[16] & passthruLowIeReg[16]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_17_oval = portReg[17]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_17_oe = oeReg_io_q[17]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_17_ie = ieReg_io_q[17]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_17_oval = iofSelReg[17] ? auto_iof_out_iof_1_17_o_oval : auto_iof_out_iof_0_17_o_oval; // @[GPIO.scala 222:32]
+  wire  pre_xor_17_oval = iofEnReg_io_q[17] ? iofCtrl_17_oval : swPinCtrl_17_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_17_T_5 = fallIpReg[17] & fallIeReg[17]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_17_T_6 = riseIpReg[17] & riseIeReg[17] | _bundleOut_0_17_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_17_T_9 = highIpReg[17] & highIeReg[17]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_17_T_10 = _bundleOut_0_17_T_6 | _bundleOut_0_17_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_17_T_13 = lowIpReg[17] & lowIeReg[17]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_17_T_14 = _bundleOut_0_17_T_10 | _bundleOut_0_17_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_17_T_17 = valueReg[17] & passthruHighIeReg[17]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_17_T_18 = _bundleOut_0_17_T_14 | _bundleOut_0_17_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_17_T_22 = ~valueReg[17] & passthruLowIeReg[17]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_18_oval = portReg[18]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_18_oe = oeReg_io_q[18]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_18_ie = ieReg_io_q[18]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_18_oe = iofSelReg[18]; // @[GPIO.scala 222:42]
+  wire  iofCtrl_18_oval = iofCtrl_18_oe & auto_iof_out_iof_1_18_o_oval; // @[GPIO.scala 222:32]
+  wire  iofCtrl_18_ie = iofCtrl_18_oe ? 1'h0 : 1'h1; // @[GPIO.scala 222:32]
+  wire  pre_xor_18_oval = iofEnReg_io_q[18] ? iofCtrl_18_oval : swPinCtrl_18_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_18_T_5 = fallIpReg[18] & fallIeReg[18]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_18_T_6 = riseIpReg[18] & riseIeReg[18] | _bundleOut_0_18_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_18_T_9 = highIpReg[18] & highIeReg[18]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_18_T_10 = _bundleOut_0_18_T_6 | _bundleOut_0_18_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_18_T_13 = lowIpReg[18] & lowIeReg[18]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_18_T_14 = _bundleOut_0_18_T_10 | _bundleOut_0_18_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_18_T_17 = valueReg[18] & passthruHighIeReg[18]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_18_T_18 = _bundleOut_0_18_T_14 | _bundleOut_0_18_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_18_T_22 = ~valueReg[18] & passthruLowIeReg[18]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_19_oval = portReg[19]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_19_oe = oeReg_io_q[19]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_19_ie = ieReg_io_q[19]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_19_oval = iofSelReg[19] ? auto_iof_out_iof_1_19_o_oval : auto_iof_out_iof_0_19_o_oval; // @[GPIO.scala 222:32]
+  wire  pre_xor_19_oval = iofEnReg_io_q[19] ? iofCtrl_19_oval : swPinCtrl_19_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_19_T_5 = fallIpReg[19] & fallIeReg[19]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_19_T_6 = riseIpReg[19] & riseIeReg[19] | _bundleOut_0_19_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_19_T_9 = highIpReg[19] & highIeReg[19]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_19_T_10 = _bundleOut_0_19_T_6 | _bundleOut_0_19_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_19_T_13 = lowIpReg[19] & lowIeReg[19]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_19_T_14 = _bundleOut_0_19_T_10 | _bundleOut_0_19_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_19_T_17 = valueReg[19] & passthruHighIeReg[19]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_19_T_18 = _bundleOut_0_19_T_14 | _bundleOut_0_19_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_19_T_22 = ~valueReg[19] & passthruLowIeReg[19]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_20_oval = portReg[20]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_20_oe = oeReg_io_q[20]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_20_ie = ieReg_io_q[20]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_20_oe = iofSelReg[20]; // @[GPIO.scala 222:42]
+  wire  iofCtrl_20_oval = iofCtrl_20_oe & auto_iof_out_iof_1_20_o_oval; // @[GPIO.scala 222:32]
+  wire  iofCtrl_20_ie = iofCtrl_20_oe ? 1'h0 : 1'h1; // @[GPIO.scala 222:32]
+  wire  pre_xor_20_oval = iofEnReg_io_q[20] ? iofCtrl_20_oval : swPinCtrl_20_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_20_T_5 = fallIpReg[20] & fallIeReg[20]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_20_T_6 = riseIpReg[20] & riseIeReg[20] | _bundleOut_0_20_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_20_T_9 = highIpReg[20] & highIeReg[20]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_20_T_10 = _bundleOut_0_20_T_6 | _bundleOut_0_20_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_20_T_13 = lowIpReg[20] & lowIeReg[20]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_20_T_14 = _bundleOut_0_20_T_10 | _bundleOut_0_20_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_20_T_17 = valueReg[20] & passthruHighIeReg[20]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_20_T_18 = _bundleOut_0_20_T_14 | _bundleOut_0_20_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_20_T_22 = ~valueReg[20] & passthruLowIeReg[20]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_21_oval = portReg[21]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_21_oe = oeReg_io_q[21]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_21_ie = ieReg_io_q[21]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_21_oval = iofSelReg[21] ? auto_iof_out_iof_1_21_o_oval : auto_iof_out_iof_0_21_o_oval; // @[GPIO.scala 222:32]
+  wire  pre_xor_21_oval = iofEnReg_io_q[21] ? iofCtrl_21_oval : swPinCtrl_21_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_21_T_5 = fallIpReg[21] & fallIeReg[21]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_21_T_6 = riseIpReg[21] & riseIeReg[21] | _bundleOut_0_21_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_21_T_9 = highIpReg[21] & highIeReg[21]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_21_T_10 = _bundleOut_0_21_T_6 | _bundleOut_0_21_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_21_T_13 = lowIpReg[21] & lowIeReg[21]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_21_T_14 = _bundleOut_0_21_T_10 | _bundleOut_0_21_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_21_T_17 = valueReg[21] & passthruHighIeReg[21]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_21_T_18 = _bundleOut_0_21_T_14 | _bundleOut_0_21_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_21_T_22 = ~valueReg[21] & passthruLowIeReg[21]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_22_oval = portReg[22]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_22_oe = oeReg_io_q[22]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_22_ie = ieReg_io_q[22]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_22_oe = iofSelReg[22]; // @[GPIO.scala 222:42]
+  wire  iofCtrl_22_oval = iofCtrl_22_oe & auto_iof_out_iof_1_22_o_oval; // @[GPIO.scala 222:32]
+  wire  iofCtrl_22_ie = iofCtrl_22_oe ? 1'h0 : 1'h1; // @[GPIO.scala 222:32]
+  wire  pre_xor_22_oval = iofEnReg_io_q[22] ? iofCtrl_22_oval : swPinCtrl_22_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_22_T_5 = fallIpReg[22] & fallIeReg[22]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_22_T_6 = riseIpReg[22] & riseIeReg[22] | _bundleOut_0_22_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_22_T_9 = highIpReg[22] & highIeReg[22]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_22_T_10 = _bundleOut_0_22_T_6 | _bundleOut_0_22_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_22_T_13 = lowIpReg[22] & lowIeReg[22]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_22_T_14 = _bundleOut_0_22_T_10 | _bundleOut_0_22_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_22_T_17 = valueReg[22] & passthruHighIeReg[22]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_22_T_18 = _bundleOut_0_22_T_14 | _bundleOut_0_22_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_22_T_22 = ~valueReg[22] & passthruLowIeReg[22]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_23_oval = portReg[23]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_23_oe = oeReg_io_q[23]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_23_ie = ieReg_io_q[23]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_23_oval = iofSelReg[23] ? auto_iof_out_iof_1_23_o_oval : auto_iof_out_iof_0_23_o_oval; // @[GPIO.scala 222:32]
+  wire  pre_xor_23_oval = iofEnReg_io_q[23] ? iofCtrl_23_oval : swPinCtrl_23_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_23_T_5 = fallIpReg[23] & fallIeReg[23]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_23_T_6 = riseIpReg[23] & riseIeReg[23] | _bundleOut_0_23_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_23_T_9 = highIpReg[23] & highIeReg[23]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_23_T_10 = _bundleOut_0_23_T_6 | _bundleOut_0_23_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_23_T_13 = lowIpReg[23] & lowIeReg[23]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_23_T_14 = _bundleOut_0_23_T_10 | _bundleOut_0_23_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_23_T_17 = valueReg[23] & passthruHighIeReg[23]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_23_T_18 = _bundleOut_0_23_T_14 | _bundleOut_0_23_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_23_T_22 = ~valueReg[23] & passthruLowIeReg[23]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_24_oval = portReg[24]; // @[GPIO.scala 199:37]
+  wire  swPinCtrl_24_oe = oeReg_io_q[24]; // @[GPIO.scala 200:40]
+  wire  swPinCtrl_24_ie = ieReg_io_q[24]; // @[GPIO.scala 202:40]
+  wire  iofCtrl_24_oval = iofSelReg[24] ? swPinCtrl_24_oval : auto_iof_out_iof_0_24_o_oval; // @[GPIO.scala 222:32]
+  wire  iofCtrl_24_oe = iofSelReg[24] ? swPinCtrl_24_oe : 1'h1; // @[GPIO.scala 222:32]
+  wire  iofCtrl_24_ie = iofSelReg[24] & swPinCtrl_24_ie; // @[GPIO.scala 222:32]
+  wire  pre_xor_24_oval = iofEnReg_io_q[24] ? iofCtrl_24_oval : swPinCtrl_24_oval; // @[GPIO.scala 229:22]
+  wire  _bundleOut_0_24_T_5 = fallIpReg[24] & fallIeReg[24]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_24_T_6 = riseIpReg[24] & riseIeReg[24] | _bundleOut_0_24_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_24_T_9 = highIpReg[24] & highIeReg[24]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_24_T_10 = _bundleOut_0_24_T_6 | _bundleOut_0_24_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_24_T_13 = lowIpReg[24] & lowIeReg[24]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_24_T_14 = _bundleOut_0_24_T_10 | _bundleOut_0_24_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_24_T_17 = valueReg[24] & passthruHighIeReg[24]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_24_T_18 = _bundleOut_0_24_T_14 | _bundleOut_0_24_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_24_T_22 = ~valueReg[24] & passthruLowIeReg[24]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_25_oval = portReg[25]; // @[GPIO.scala 199:37]
+  wire  _bundleOut_0_25_T_5 = fallIpReg[25] & fallIeReg[25]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_25_T_6 = riseIpReg[25] & riseIeReg[25] | _bundleOut_0_25_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_25_T_9 = highIpReg[25] & highIeReg[25]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_25_T_10 = _bundleOut_0_25_T_6 | _bundleOut_0_25_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_25_T_13 = lowIpReg[25] & lowIeReg[25]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_25_T_14 = _bundleOut_0_25_T_10 | _bundleOut_0_25_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_25_T_17 = valueReg[25] & passthruHighIeReg[25]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_25_T_18 = _bundleOut_0_25_T_14 | _bundleOut_0_25_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_25_T_22 = ~valueReg[25] & passthruLowIeReg[25]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_26_oval = portReg[26]; // @[GPIO.scala 199:37]
+  wire  _bundleOut_0_26_T_5 = fallIpReg[26] & fallIeReg[26]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_26_T_6 = riseIpReg[26] & riseIeReg[26] | _bundleOut_0_26_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_26_T_9 = highIpReg[26] & highIeReg[26]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_26_T_10 = _bundleOut_0_26_T_6 | _bundleOut_0_26_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_26_T_13 = lowIpReg[26] & lowIeReg[26]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_26_T_14 = _bundleOut_0_26_T_10 | _bundleOut_0_26_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_26_T_17 = valueReg[26] & passthruHighIeReg[26]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_26_T_18 = _bundleOut_0_26_T_14 | _bundleOut_0_26_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_26_T_22 = ~valueReg[26] & passthruLowIeReg[26]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_27_oval = portReg[27]; // @[GPIO.scala 199:37]
+  wire  _bundleOut_0_27_T_5 = fallIpReg[27] & fallIeReg[27]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_27_T_6 = riseIpReg[27] & riseIeReg[27] | _bundleOut_0_27_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_27_T_9 = highIpReg[27] & highIeReg[27]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_27_T_10 = _bundleOut_0_27_T_6 | _bundleOut_0_27_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_27_T_13 = lowIpReg[27] & lowIeReg[27]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_27_T_14 = _bundleOut_0_27_T_10 | _bundleOut_0_27_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_27_T_17 = valueReg[27] & passthruHighIeReg[27]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_27_T_18 = _bundleOut_0_27_T_14 | _bundleOut_0_27_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_27_T_22 = ~valueReg[27] & passthruLowIeReg[27]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_28_oval = portReg[28]; // @[GPIO.scala 199:37]
+  wire  _bundleOut_0_28_T_5 = fallIpReg[28] & fallIeReg[28]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_28_T_6 = riseIpReg[28] & riseIeReg[28] | _bundleOut_0_28_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_28_T_9 = highIpReg[28] & highIeReg[28]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_28_T_10 = _bundleOut_0_28_T_6 | _bundleOut_0_28_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_28_T_13 = lowIpReg[28] & lowIeReg[28]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_28_T_14 = _bundleOut_0_28_T_10 | _bundleOut_0_28_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_28_T_17 = valueReg[28] & passthruHighIeReg[28]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_28_T_18 = _bundleOut_0_28_T_14 | _bundleOut_0_28_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_28_T_22 = ~valueReg[28] & passthruLowIeReg[28]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_29_oval = portReg[29]; // @[GPIO.scala 199:37]
+  wire  _bundleOut_0_29_T_5 = fallIpReg[29] & fallIeReg[29]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_29_T_6 = riseIpReg[29] & riseIeReg[29] | _bundleOut_0_29_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_29_T_9 = highIpReg[29] & highIeReg[29]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_29_T_10 = _bundleOut_0_29_T_6 | _bundleOut_0_29_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_29_T_13 = lowIpReg[29] & lowIeReg[29]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_29_T_14 = _bundleOut_0_29_T_10 | _bundleOut_0_29_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_29_T_17 = valueReg[29] & passthruHighIeReg[29]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_29_T_18 = _bundleOut_0_29_T_14 | _bundleOut_0_29_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_29_T_22 = ~valueReg[29] & passthruLowIeReg[29]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_30_oval = portReg[30]; // @[GPIO.scala 199:37]
+  wire  _bundleOut_0_30_T_5 = fallIpReg[30] & fallIeReg[30]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_30_T_6 = riseIpReg[30] & riseIeReg[30] | _bundleOut_0_30_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_30_T_9 = highIpReg[30] & highIeReg[30]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_30_T_10 = _bundleOut_0_30_T_6 | _bundleOut_0_30_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_30_T_13 = lowIpReg[30] & lowIeReg[30]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_30_T_14 = _bundleOut_0_30_T_10 | _bundleOut_0_30_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_30_T_17 = valueReg[30] & passthruHighIeReg[30]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_30_T_18 = _bundleOut_0_30_T_14 | _bundleOut_0_30_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_30_T_22 = ~valueReg[30] & passthruLowIeReg[30]; // @[GPIO.scala 243:42]
+  wire  swPinCtrl_31_oval = portReg[31]; // @[GPIO.scala 199:37]
+  wire  _bundleOut_0_31_T_5 = fallIpReg[31] & fallIeReg[31]; // @[GPIO.scala 239:42]
+  wire  _bundleOut_0_31_T_6 = riseIpReg[31] & riseIeReg[31] | _bundleOut_0_31_T_5; // @[GPIO.scala 238:58]
+  wire  _bundleOut_0_31_T_9 = highIpReg[31] & highIeReg[31]; // @[GPIO.scala 240:42]
+  wire  _bundleOut_0_31_T_10 = _bundleOut_0_31_T_6 | _bundleOut_0_31_T_9; // @[GPIO.scala 239:60]
+  wire  _bundleOut_0_31_T_13 = lowIpReg[31] & lowIeReg[31]; // @[GPIO.scala 241:41]
+  wire  _bundleOut_0_31_T_14 = _bundleOut_0_31_T_10 | _bundleOut_0_31_T_13; // @[GPIO.scala 240:60]
+  wire  _bundleOut_0_31_T_17 = valueReg[31] & passthruHighIeReg[31]; // @[GPIO.scala 242:41]
+  wire  _bundleOut_0_31_T_18 = _bundleOut_0_31_T_14 | _bundleOut_0_31_T_17; // @[GPIO.scala 241:58]
+  wire  _bundleOut_0_31_T_22 = ~valueReg[31] & passthruLowIeReg[31]; // @[GPIO.scala 243:42]
+  TLBuffer_13 buffer ( // @[Buffer.scala 68:28]
+    .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_17 intsource ( // @[Crossing.scala 26:31]
+    .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_66 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  AsyncResetRegVec_w32_i0 oeReg ( // @[GPIO.scala 79:22]
+    .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 80:22]
+    .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 82:22]
+    .clock(ieReg_clock),
+    .reset(ieReg_reset),
+    .io_d(ieReg_io_d),
+    .io_q(ieReg_io_q),
+    .io_en(ieReg_io_en)
+  );
+  AsyncResetRegVec_w32_i0 poeReg ( // @[GPIO.scala 84:22]
+    .clock(poeReg_clock),
+    .reset(poeReg_reset),
+    .io_d(poeReg_io_d),
+    .io_q(poeReg_io_q),
+    .io_en(poeReg_io_en)
+  );
+  SynchronizerShiftReg_w32_d3 inSyncReg_inSyncReg ( // @[ShiftReg.scala 45:23]
+    .clock(inSyncReg_inSyncReg_clock),
+    .io_d(inSyncReg_inSyncReg_io_d),
+    .io_q(inSyncReg_inSyncReg_io_q)
+  );
+  AsyncResetRegVec_w32_i0 iofEnReg ( // @[GPIO.scala 105:25]
+    .clock(iofEnReg_clock),
+    .reset(iofEnReg_reset),
+    .io_d(iofEnReg_io_d),
+    .io_q(iofEnReg_io_q),
+    .io_en(iofEnReg_io_en)
+  );
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_1 = intsource_auto_out_sync_1; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_2 = intsource_auto_out_sync_2; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_3 = intsource_auto_out_sync_3; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_4 = intsource_auto_out_sync_4; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_5 = intsource_auto_out_sync_5; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_6 = intsource_auto_out_sync_6; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_7 = intsource_auto_out_sync_7; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_8 = intsource_auto_out_sync_8; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_9 = intsource_auto_out_sync_9; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_10 = intsource_auto_out_sync_10; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_11 = intsource_auto_out_sync_11; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_12 = intsource_auto_out_sync_12; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_13 = intsource_auto_out_sync_13; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_14 = intsource_auto_out_sync_14; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_15 = intsource_auto_out_sync_15; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_16 = intsource_auto_out_sync_16; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_17 = intsource_auto_out_sync_17; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_18 = intsource_auto_out_sync_18; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_19 = intsource_auto_out_sync_19; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_20 = intsource_auto_out_sync_20; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_21 = intsource_auto_out_sync_21; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_22 = intsource_auto_out_sync_22; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_23 = intsource_auto_out_sync_23; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_24 = intsource_auto_out_sync_24; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_25 = intsource_auto_out_sync_25; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_26 = intsource_auto_out_sync_26; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_27 = intsource_auto_out_sync_27; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_28 = intsource_auto_out_sync_28; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_29 = intsource_auto_out_sync_29; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_30 = intsource_auto_out_sync_30; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_31 = intsource_auto_out_sync_31; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_iof_out_iof_0_2_i_ival = inSyncReg[2]; // @[GPIO.scala 247:49]
+  assign auto_iof_out_iof_0_3_i_ival = inSyncReg[3]; // @[GPIO.scala 247:49]
+  assign auto_iof_out_iof_0_4_i_ival = inSyncReg[4]; // @[GPIO.scala 247:49]
+  assign auto_iof_out_iof_0_5_i_ival = inSyncReg[5]; // @[GPIO.scala 247:49]
+  assign auto_iof_out_iof_0_12_i_ival = inSyncReg[12]; // @[GPIO.scala 247:49]
+  assign auto_iof_out_iof_0_13_i_ival = inSyncReg[13]; // @[GPIO.scala 247:49]
+  assign auto_iof_out_iof_0_14_i_ival = inSyncReg[14]; // @[GPIO.scala 247:49]
+  assign auto_iof_out_iof_0_15_i_ival = inSyncReg[15]; // @[GPIO.scala 247:49]
+  assign auto_iof_out_iof_0_16_i_ival = inSyncReg[16]; // @[GPIO.scala 247:49]
+  assign auto_iof_out_iof_0_18_i_ival = inSyncReg[18]; // @[GPIO.scala 247:49]
+  assign auto_iof_out_iof_0_20_i_ival = inSyncReg[20]; // @[GPIO.scala 247:49]
+  assign auto_iof_out_iof_0_22_i_ival = inSyncReg[22]; // @[GPIO.scala 247:49]
+  assign auto_io_out_pins_0_o_oval = pre_xor_oval ^ xorReg[0]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_0_o_oe = iofEnReg_io_q[0] ? iofCtrl_0_oe : swPinCtrl_0_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_0_o_ie = iofEnReg_io_q[0] ? iofCtrl_0_ie : swPinCtrl_0_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_1_o_oval = pre_xor_1_oval ^ xorReg[1]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_1_o_oe = iofEnReg_io_q[1] ? iofCtrl_1_oe : swPinCtrl_1_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_1_o_ie = iofEnReg_io_q[1] ? iofCtrl_1_ie : swPinCtrl_1_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_2_o_oval = pre_xor_2_oval ^ xorReg[2]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_2_o_oe = iofEnReg_io_q[2] ? iofCtrl_2_oe : swPinCtrl_2_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_2_o_ie = iofEnReg_io_q[2] ? iofCtrl_2_ie : swPinCtrl_2_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_3_o_oval = pre_xor_3_oval ^ xorReg[3]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_3_o_oe = iofEnReg_io_q[3] ? iofCtrl_3_oe : swPinCtrl_3_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_3_o_ie = iofEnReg_io_q[3] ? iofCtrl_3_ie : swPinCtrl_3_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_4_o_oval = pre_xor_4_oval ^ xorReg[4]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_4_o_oe = iofEnReg_io_q[4] ? iofCtrl_4_oe : swPinCtrl_4_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_4_o_ie = iofEnReg_io_q[4] ? iofCtrl_4_ie : swPinCtrl_4_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_5_o_oval = pre_xor_5_oval ^ xorReg[5]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_5_o_oe = iofEnReg_io_q[5] ? iofCtrl_5_oe : swPinCtrl_5_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_5_o_ie = iofEnReg_io_q[5] ? iofCtrl_5_ie : swPinCtrl_5_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_6_o_oval = swPinCtrl_6_oval ^ xorReg[6]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_6_o_oe = oeReg_io_q[6]; // @[GPIO.scala 200:40]
+  assign auto_io_out_pins_7_o_oval = swPinCtrl_7_oval ^ xorReg[7]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_7_o_oe = oeReg_io_q[7]; // @[GPIO.scala 200:40]
+  assign auto_io_out_pins_8_o_oval = swPinCtrl_8_oval ^ xorReg[8]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_8_o_oe = oeReg_io_q[8]; // @[GPIO.scala 200:40]
+  assign auto_io_out_pins_9_o_oval = swPinCtrl_9_oval ^ xorReg[9]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_9_o_oe = oeReg_io_q[9]; // @[GPIO.scala 200:40]
+  assign auto_io_out_pins_10_o_oval = swPinCtrl_10_oval ^ xorReg[10]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_10_o_oe = oeReg_io_q[10]; // @[GPIO.scala 200:40]
+  assign auto_io_out_pins_11_o_oval = swPinCtrl_11_oval ^ xorReg[11]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_11_o_oe = oeReg_io_q[11]; // @[GPIO.scala 200:40]
+  assign auto_io_out_pins_12_o_oval = pre_xor_12_oval ^ xorReg[12]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_12_o_oe = iofEnReg_io_q[12] ? iofCtrl_12_oe : swPinCtrl_12_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_12_o_ie = iofEnReg_io_q[12] ? iofCtrl_12_ie : swPinCtrl_12_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_13_o_oval = pre_xor_13_oval ^ xorReg[13]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_13_o_oe = iofEnReg_io_q[13] ? iofCtrl_13_oe : swPinCtrl_13_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_13_o_ie = iofEnReg_io_q[13] ? iofCtrl_13_ie : swPinCtrl_13_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_14_o_oval = pre_xor_14_oval ^ xorReg[14]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_14_o_oe = iofEnReg_io_q[14] ? iofCtrl_14_oe : swPinCtrl_14_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_14_o_ie = iofEnReg_io_q[14] ? iofCtrl_14_ie : swPinCtrl_14_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_15_o_oval = pre_xor_15_oval ^ xorReg[15]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_15_o_oe = iofEnReg_io_q[15] ? iofCtrl_15_oe : swPinCtrl_15_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_15_o_ie = iofEnReg_io_q[15] ? iofCtrl_15_ie : swPinCtrl_15_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_16_o_oval = pre_xor_16_oval ^ xorReg[16]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_16_o_oe = iofEnReg_io_q[16] ? iofCtrl_16_oe : swPinCtrl_16_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_16_o_ie = iofEnReg_io_q[16] ? iofCtrl_16_ie : swPinCtrl_16_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_17_o_oval = pre_xor_17_oval ^ xorReg[17]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_17_o_oe = iofEnReg_io_q[17] | swPinCtrl_17_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_17_o_ie = iofEnReg_io_q[17] ? 1'h0 : swPinCtrl_17_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_18_o_oval = pre_xor_18_oval ^ xorReg[18]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_18_o_oe = iofEnReg_io_q[18] ? iofCtrl_18_oe : swPinCtrl_18_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_18_o_ie = iofEnReg_io_q[18] ? iofCtrl_18_ie : swPinCtrl_18_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_19_o_oval = pre_xor_19_oval ^ xorReg[19]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_19_o_oe = iofEnReg_io_q[19] | swPinCtrl_19_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_19_o_ie = iofEnReg_io_q[19] ? 1'h0 : swPinCtrl_19_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_20_o_oval = pre_xor_20_oval ^ xorReg[20]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_20_o_oe = iofEnReg_io_q[20] ? iofCtrl_20_oe : swPinCtrl_20_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_20_o_ie = iofEnReg_io_q[20] ? iofCtrl_20_ie : swPinCtrl_20_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_21_o_oval = pre_xor_21_oval ^ xorReg[21]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_21_o_oe = iofEnReg_io_q[21] | swPinCtrl_21_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_21_o_ie = iofEnReg_io_q[21] ? 1'h0 : swPinCtrl_21_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_22_o_oval = pre_xor_22_oval ^ xorReg[22]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_22_o_oe = iofEnReg_io_q[22] ? iofCtrl_22_oe : swPinCtrl_22_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_22_o_ie = iofEnReg_io_q[22] ? iofCtrl_22_ie : swPinCtrl_22_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_23_o_oval = pre_xor_23_oval ^ xorReg[23]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_23_o_oe = iofEnReg_io_q[23] | swPinCtrl_23_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_23_o_ie = iofEnReg_io_q[23] ? 1'h0 : swPinCtrl_23_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_24_o_oval = pre_xor_24_oval ^ xorReg[24]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_24_o_oe = iofEnReg_io_q[24] ? iofCtrl_24_oe : swPinCtrl_24_oe; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_24_o_ie = iofEnReg_io_q[24] ? iofCtrl_24_ie : swPinCtrl_24_ie; // @[GPIO.scala 229:22]
+  assign auto_io_out_pins_25_o_oval = swPinCtrl_25_oval ^ xorReg[25]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_25_o_oe = oeReg_io_q[25]; // @[GPIO.scala 200:40]
+  assign auto_io_out_pins_26_o_oval = swPinCtrl_26_oval ^ xorReg[26]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_26_o_oe = oeReg_io_q[26]; // @[GPIO.scala 200:40]
+  assign auto_io_out_pins_27_o_oval = swPinCtrl_27_oval ^ xorReg[27]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_27_o_oe = oeReg_io_q[27]; // @[GPIO.scala 200:40]
+  assign auto_io_out_pins_28_o_oval = swPinCtrl_28_oval ^ xorReg[28]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_28_o_oe = oeReg_io_q[28]; // @[GPIO.scala 200:40]
+  assign auto_io_out_pins_29_o_oval = swPinCtrl_29_oval ^ xorReg[29]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_29_o_oe = oeReg_io_q[29]; // @[GPIO.scala 200:40]
+  assign auto_io_out_pins_30_o_oval = swPinCtrl_30_oval ^ xorReg[30]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_30_o_oe = oeReg_io_q[30]; // @[GPIO.scala 200:40]
+  assign auto_io_out_pins_31_o_oval = swPinCtrl_31_oval ^ xorReg[31]; // @[GPIO.scala 235:43]
+  assign auto_io_out_pins_31_o_oe = oeReg_io_q[31]; // @[GPIO.scala 200:40]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign buffer_auto_out_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = _GEN_169 ? _GEN_201 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign intsource_clock = clock;
+  assign intsource_reset = reset;
+  assign intsource_auto_in_0 = _bundleOut_0_0_T_18 | _bundleOut_0_0_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_1 = _bundleOut_0_1_T_18 | _bundleOut_0_1_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_2 = _bundleOut_0_2_T_18 | _bundleOut_0_2_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_3 = _bundleOut_0_3_T_18 | _bundleOut_0_3_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_4 = _bundleOut_0_4_T_18 | _bundleOut_0_4_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_5 = _bundleOut_0_5_T_18 | _bundleOut_0_5_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_6 = _bundleOut_0_6_T_18 | _bundleOut_0_6_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_7 = _bundleOut_0_7_T_18 | _bundleOut_0_7_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_8 = _bundleOut_0_8_T_18 | _bundleOut_0_8_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_9 = _bundleOut_0_9_T_18 | _bundleOut_0_9_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_10 = _bundleOut_0_10_T_18 | _bundleOut_0_10_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_11 = _bundleOut_0_11_T_18 | _bundleOut_0_11_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_12 = _bundleOut_0_12_T_18 | _bundleOut_0_12_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_13 = _bundleOut_0_13_T_18 | _bundleOut_0_13_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_14 = _bundleOut_0_14_T_18 | _bundleOut_0_14_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_15 = _bundleOut_0_15_T_18 | _bundleOut_0_15_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_16 = _bundleOut_0_16_T_18 | _bundleOut_0_16_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_17 = _bundleOut_0_17_T_18 | _bundleOut_0_17_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_18 = _bundleOut_0_18_T_18 | _bundleOut_0_18_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_19 = _bundleOut_0_19_T_18 | _bundleOut_0_19_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_20 = _bundleOut_0_20_T_18 | _bundleOut_0_20_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_21 = _bundleOut_0_21_T_18 | _bundleOut_0_21_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_22 = _bundleOut_0_22_T_18 | _bundleOut_0_22_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_23 = _bundleOut_0_23_T_18 | _bundleOut_0_23_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_24 = _bundleOut_0_24_T_18 | _bundleOut_0_24_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_25 = _bundleOut_0_25_T_18 | _bundleOut_0_25_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_26 = _bundleOut_0_26_T_18 | _bundleOut_0_26_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_27 = _bundleOut_0_27_T_18 | _bundleOut_0_27_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_28 = _bundleOut_0_28_T_18 | _bundleOut_0_28_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_29 = _bundleOut_0_29_T_18 | _bundleOut_0_29_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_30 = _bundleOut_0_30_T_18 | _bundleOut_0_30_T_22; // @[GPIO.scala 242:67]
+  assign intsource_auto_in_31 = _bundleOut_0_31_T_18 | _bundleOut_0_31_T_22; // @[GPIO.scala 242:67]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign oeReg_clock = clock;
+  assign oeReg_reset = reset;
+  assign oeReg_io_d = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign oeReg_io_en = out_wivalid_9 & out_wimask; // @[RegisterRouter.scala 83:24]
+  assign pueReg_clock = clock;
+  assign pueReg_reset = reset;
+  assign pueReg_io_d = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pueReg_io_en = out_wivalid_19 & out_wimask; // @[RegisterRouter.scala 83:24]
+  assign ieReg_clock = clock;
+  assign ieReg_reset = reset;
+  assign ieReg_io_d = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign ieReg_io_en = out_wivalid_5 & out_wimask; // @[RegisterRouter.scala 83:24]
+  assign poeReg_clock = clock;
+  assign poeReg_reset = reset;
+  assign poeReg_io_d = 32'h0;
+  assign poeReg_io_en = 1'h0;
+  assign inSyncReg_inSyncReg_clock = clock;
+  assign inSyncReg_inSyncReg_io_d = {inVal_hi,inVal_lo}; // @[GPIO.scala 88:41]
+  assign iofEnReg_clock = clock;
+  assign iofEnReg_reset = reset;
+  assign iofEnReg_io_d = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign iofEnReg_io_en = out_wivalid_3 & out_wimask; // @[RegisterRouter.scala 83:24]
+  always @(posedge clock) begin
+    if (reset) begin // @[GPIO.scala 77:20]
+      portReg <= 32'h0; // @[GPIO.scala 77:20]
+    end else if (out_f_wivalid_13) begin // @[RegField.scala 74:88]
+      portReg <= bundleIn_0_a_bits_data; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[GPIO.scala 81:23]
+      dsReg_0 <= 32'h0; // @[GPIO.scala 81:23]
+    end else if (out_f_wivalid_1) begin // @[RegField.scala 74:88]
+      dsReg_0 <= bundleIn_0_a_bits_data; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[GPIO.scala 90:23]
+      valueReg <= 32'h0; // @[GPIO.scala 90:23]
+    end else begin
+      valueReg <= inSyncReg; // @[GPIO.scala 90:23]
+    end
+    if (reset) begin // @[GPIO.scala 93:22]
+      highIeReg <= 32'h0; // @[GPIO.scala 93:22]
+    end else if (out_f_wivalid_2) begin // @[RegField.scala 74:88]
+      highIeReg <= bundleIn_0_a_bits_data; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[GPIO.scala 94:22]
+      lowIeReg <= 32'h0; // @[GPIO.scala 94:22]
+    end else if (out_f_wivalid_11) begin // @[RegField.scala 74:88]
+      lowIeReg <= bundleIn_0_a_bits_data; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[GPIO.scala 95:22]
+      riseIeReg <= 32'h0; // @[GPIO.scala 95:22]
+    end else if (out_f_wivalid_6) begin // @[RegField.scala 74:88]
+      riseIeReg <= bundleIn_0_a_bits_data; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[GPIO.scala 96:22]
+      fallIeReg <= 32'h0; // @[GPIO.scala 96:22]
+    end else if (out_f_wivalid_17) begin // @[RegField.scala 74:88]
+      fallIeReg <= bundleIn_0_a_bits_data; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[GPIO.scala 97:22]
+      highIpReg <= 32'h0; // @[GPIO.scala 97:22]
+    end else begin
+      highIpReg <= _out_highIpReg_T_4; // @[RegField.scala 128:56]
+    end
+    if (reset) begin // @[GPIO.scala 98:22]
+      lowIpReg <= 32'h0; // @[GPIO.scala 98:22]
+    end else begin
+      lowIpReg <= _out_lowIpReg_T_4; // @[RegField.scala 128:56]
+    end
+    if (reset) begin // @[GPIO.scala 99:22]
+      riseIpReg <= 32'h0; // @[GPIO.scala 99:22]
+    end else begin
+      riseIpReg <= _out_riseIpReg_T_4; // @[RegField.scala 128:56]
+    end
+    if (reset) begin // @[GPIO.scala 100:22]
+      fallIpReg <= 32'h0; // @[GPIO.scala 100:22]
+    end else begin
+      fallIpReg <= _out_fallIpReg_T_4; // @[RegField.scala 128:56]
+    end
+    if (reset) begin // @[GPIO.scala 101:30]
+      passthruHighIeReg <= 32'h0; // @[GPIO.scala 101:30]
+    end else if (out_f_wivalid_10) begin // @[RegField.scala 74:88]
+      passthruHighIeReg <= bundleIn_0_a_bits_data; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[GPIO.scala 102:30]
+      passthruLowIeReg <= 32'h0; // @[GPIO.scala 102:30]
+    end else if (out_f_wivalid_14) begin // @[RegField.scala 74:88]
+      passthruLowIeReg <= bundleIn_0_a_bits_data; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[GPIO.scala 106:22]
+      iofSelReg <= 32'h0; // @[GPIO.scala 106:22]
+    end else if (out_f_wivalid_20) begin // @[RegField.scala 74:88]
+      iofSelReg <= bundleIn_0_a_bits_data; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[GPIO.scala 109:22]
+      xorReg <= 32'h0; // @[GPIO.scala 109:22]
+    end else if (out_f_wivalid_15) begin // @[RegField.scala 74:88]
+      xorReg <= bundleIn_0_a_bits_data; // @[RegField.scala 74:92]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  dsReg_0 = _RAND_1[31:0];
+  _RAND_2 = {1{`RANDOM}};
+  valueReg = _RAND_2[31:0];
+  _RAND_3 = {1{`RANDOM}};
+  highIeReg = _RAND_3[31:0];
+  _RAND_4 = {1{`RANDOM}};
+  lowIeReg = _RAND_4[31:0];
+  _RAND_5 = {1{`RANDOM}};
+  riseIeReg = _RAND_5[31:0];
+  _RAND_6 = {1{`RANDOM}};
+  fallIeReg = _RAND_6[31:0];
+  _RAND_7 = {1{`RANDOM}};
+  highIpReg = _RAND_7[31:0];
+  _RAND_8 = {1{`RANDOM}};
+  lowIpReg = _RAND_8[31:0];
+  _RAND_9 = {1{`RANDOM}};
+  riseIpReg = _RAND_9[31:0];
+  _RAND_10 = {1{`RANDOM}};
+  fallIpReg = _RAND_10[31:0];
+  _RAND_11 = {1{`RANDOM}};
+  passthruHighIeReg = _RAND_11[31:0];
+  _RAND_12 = {1{`RANDOM}};
+  passthruLowIeReg = _RAND_12[31:0];
+  _RAND_13 = {1{`RANDOM}};
+  iofSelReg = _RAND_13[31:0];
+  _RAND_14 = {1{`RANDOM}};
+  xorReg = _RAND_14[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ClockSinkDomain_9(
+  output        auto_gpio_0_int_xing_out_sync_0,
+  output        auto_gpio_0_int_xing_out_sync_1,
+  output        auto_gpio_0_int_xing_out_sync_2,
+  output        auto_gpio_0_int_xing_out_sync_3,
+  output        auto_gpio_0_int_xing_out_sync_4,
+  output        auto_gpio_0_int_xing_out_sync_5,
+  output        auto_gpio_0_int_xing_out_sync_6,
+  output        auto_gpio_0_int_xing_out_sync_7,
+  output        auto_gpio_0_int_xing_out_sync_8,
+  output        auto_gpio_0_int_xing_out_sync_9,
+  output        auto_gpio_0_int_xing_out_sync_10,
+  output        auto_gpio_0_int_xing_out_sync_11,
+  output        auto_gpio_0_int_xing_out_sync_12,
+  output        auto_gpio_0_int_xing_out_sync_13,
+  output        auto_gpio_0_int_xing_out_sync_14,
+  output        auto_gpio_0_int_xing_out_sync_15,
+  output        auto_gpio_0_int_xing_out_sync_16,
+  output        auto_gpio_0_int_xing_out_sync_17,
+  output        auto_gpio_0_int_xing_out_sync_18,
+  output        auto_gpio_0_int_xing_out_sync_19,
+  output        auto_gpio_0_int_xing_out_sync_20,
+  output        auto_gpio_0_int_xing_out_sync_21,
+  output        auto_gpio_0_int_xing_out_sync_22,
+  output        auto_gpio_0_int_xing_out_sync_23,
+  output        auto_gpio_0_int_xing_out_sync_24,
+  output        auto_gpio_0_int_xing_out_sync_25,
+  output        auto_gpio_0_int_xing_out_sync_26,
+  output        auto_gpio_0_int_xing_out_sync_27,
+  output        auto_gpio_0_int_xing_out_sync_28,
+  output        auto_gpio_0_int_xing_out_sync_29,
+  output        auto_gpio_0_int_xing_out_sync_30,
+  output        auto_gpio_0_int_xing_out_sync_31,
+  output        auto_gpio_0_control_xing_in_a_ready,
+  input         auto_gpio_0_control_xing_in_a_valid,
+  input  [2:0]  auto_gpio_0_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_gpio_0_control_xing_in_a_bits_param,
+  input  [1:0]  auto_gpio_0_control_xing_in_a_bits_size,
+  input  [6:0]  auto_gpio_0_control_xing_in_a_bits_source,
+  input  [28:0] auto_gpio_0_control_xing_in_a_bits_address,
+  input  [3:0]  auto_gpio_0_control_xing_in_a_bits_mask,
+  input  [31:0] auto_gpio_0_control_xing_in_a_bits_data,
+  input         auto_gpio_0_control_xing_in_a_bits_corrupt,
+  input         auto_gpio_0_control_xing_in_d_ready,
+  output        auto_gpio_0_control_xing_in_d_valid,
+  output [2:0]  auto_gpio_0_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_gpio_0_control_xing_in_d_bits_size,
+  output [6:0]  auto_gpio_0_control_xing_in_d_bits_source,
+  output [31:0] auto_gpio_0_control_xing_in_d_bits_data,
+  input         auto_gpio_0_iof_out_iof_0_0_o_oval,
+  input         auto_gpio_0_iof_out_iof_0_1_o_oval,
+  output        auto_gpio_0_iof_out_iof_0_2_i_ival,
+  input         auto_gpio_0_iof_out_iof_0_2_o_oval,
+  input         auto_gpio_0_iof_out_iof_0_2_o_oe,
+  input         auto_gpio_0_iof_out_iof_0_2_o_ie,
+  output        auto_gpio_0_iof_out_iof_0_3_i_ival,
+  input         auto_gpio_0_iof_out_iof_0_3_o_oval,
+  input         auto_gpio_0_iof_out_iof_0_3_o_oe,
+  input         auto_gpio_0_iof_out_iof_0_3_o_ie,
+  output        auto_gpio_0_iof_out_iof_0_4_i_ival,
+  input         auto_gpio_0_iof_out_iof_0_4_o_oval,
+  input         auto_gpio_0_iof_out_iof_0_4_o_oe,
+  input         auto_gpio_0_iof_out_iof_0_4_o_ie,
+  output        auto_gpio_0_iof_out_iof_0_5_i_ival,
+  input         auto_gpio_0_iof_out_iof_0_5_o_oval,
+  input         auto_gpio_0_iof_out_iof_0_5_o_oe,
+  input         auto_gpio_0_iof_out_iof_0_5_o_ie,
+  output        auto_gpio_0_iof_out_iof_0_12_i_ival,
+  input         auto_gpio_0_iof_out_iof_0_12_o_oe,
+  output        auto_gpio_0_iof_out_iof_0_13_i_ival,
+  input         auto_gpio_0_iof_out_iof_0_13_o_oe,
+  output        auto_gpio_0_iof_out_iof_0_14_i_ival,
+  input         auto_gpio_0_iof_out_iof_0_14_o_oe,
+  output        auto_gpio_0_iof_out_iof_0_15_i_ival,
+  input         auto_gpio_0_iof_out_iof_0_15_o_oe,
+  output        auto_gpio_0_iof_out_iof_0_16_i_ival,
+  input         auto_gpio_0_iof_out_iof_0_17_o_oval,
+  output        auto_gpio_0_iof_out_iof_0_18_i_ival,
+  input         auto_gpio_0_iof_out_iof_0_19_o_oval,
+  output        auto_gpio_0_iof_out_iof_0_20_i_ival,
+  input         auto_gpio_0_iof_out_iof_0_21_o_oval,
+  output        auto_gpio_0_iof_out_iof_0_22_i_ival,
+  input         auto_gpio_0_iof_out_iof_0_23_o_oval,
+  input         auto_gpio_0_iof_out_iof_0_24_o_oval,
+  input         auto_gpio_0_iof_out_iof_1_12_o_oval,
+  input         auto_gpio_0_iof_out_iof_1_13_o_oval,
+  input         auto_gpio_0_iof_out_iof_1_14_o_oval,
+  input         auto_gpio_0_iof_out_iof_1_15_o_oval,
+  input         auto_gpio_0_iof_out_iof_1_16_o_oval,
+  input         auto_gpio_0_iof_out_iof_1_17_o_oval,
+  input         auto_gpio_0_iof_out_iof_1_18_o_oval,
+  input         auto_gpio_0_iof_out_iof_1_19_o_oval,
+  input         auto_gpio_0_iof_out_iof_1_20_o_oval,
+  input         auto_gpio_0_iof_out_iof_1_21_o_oval,
+  input         auto_gpio_0_iof_out_iof_1_22_o_oval,
+  input         auto_gpio_0_iof_out_iof_1_23_o_oval,
+  input         auto_gpio_0_io_out_pins_0_i_ival,
+  output        auto_gpio_0_io_out_pins_0_o_oval,
+  output        auto_gpio_0_io_out_pins_0_o_oe,
+  output        auto_gpio_0_io_out_pins_0_o_ie,
+  input         auto_gpio_0_io_out_pins_1_i_ival,
+  output        auto_gpio_0_io_out_pins_1_o_oval,
+  output        auto_gpio_0_io_out_pins_1_o_oe,
+  output        auto_gpio_0_io_out_pins_1_o_ie,
+  input         auto_gpio_0_io_out_pins_2_i_ival,
+  output        auto_gpio_0_io_out_pins_2_o_oval,
+  output        auto_gpio_0_io_out_pins_2_o_oe,
+  output        auto_gpio_0_io_out_pins_2_o_ie,
+  input         auto_gpio_0_io_out_pins_3_i_ival,
+  output        auto_gpio_0_io_out_pins_3_o_oval,
+  output        auto_gpio_0_io_out_pins_3_o_oe,
+  output        auto_gpio_0_io_out_pins_3_o_ie,
+  input         auto_gpio_0_io_out_pins_4_i_ival,
+  output        auto_gpio_0_io_out_pins_4_o_oval,
+  output        auto_gpio_0_io_out_pins_4_o_oe,
+  output        auto_gpio_0_io_out_pins_4_o_ie,
+  input         auto_gpio_0_io_out_pins_5_i_ival,
+  output        auto_gpio_0_io_out_pins_5_o_oval,
+  output        auto_gpio_0_io_out_pins_5_o_oe,
+  output        auto_gpio_0_io_out_pins_5_o_ie,
+  input         auto_gpio_0_io_out_pins_6_i_ival,
+  output        auto_gpio_0_io_out_pins_6_o_oval,
+  output        auto_gpio_0_io_out_pins_6_o_oe,
+  input         auto_gpio_0_io_out_pins_7_i_ival,
+  output        auto_gpio_0_io_out_pins_7_o_oval,
+  output        auto_gpio_0_io_out_pins_7_o_oe,
+  input         auto_gpio_0_io_out_pins_8_i_ival,
+  output        auto_gpio_0_io_out_pins_8_o_oval,
+  output        auto_gpio_0_io_out_pins_8_o_oe,
+  input         auto_gpio_0_io_out_pins_9_i_ival,
+  output        auto_gpio_0_io_out_pins_9_o_oval,
+  output        auto_gpio_0_io_out_pins_9_o_oe,
+  input         auto_gpio_0_io_out_pins_10_i_ival,
+  output        auto_gpio_0_io_out_pins_10_o_oval,
+  output        auto_gpio_0_io_out_pins_10_o_oe,
+  input         auto_gpio_0_io_out_pins_11_i_ival,
+  output        auto_gpio_0_io_out_pins_11_o_oval,
+  output        auto_gpio_0_io_out_pins_11_o_oe,
+  input         auto_gpio_0_io_out_pins_12_i_ival,
+  output        auto_gpio_0_io_out_pins_12_o_oval,
+  output        auto_gpio_0_io_out_pins_12_o_oe,
+  output        auto_gpio_0_io_out_pins_12_o_ie,
+  input         auto_gpio_0_io_out_pins_13_i_ival,
+  output        auto_gpio_0_io_out_pins_13_o_oval,
+  output        auto_gpio_0_io_out_pins_13_o_oe,
+  output        auto_gpio_0_io_out_pins_13_o_ie,
+  input         auto_gpio_0_io_out_pins_14_i_ival,
+  output        auto_gpio_0_io_out_pins_14_o_oval,
+  output        auto_gpio_0_io_out_pins_14_o_oe,
+  output        auto_gpio_0_io_out_pins_14_o_ie,
+  input         auto_gpio_0_io_out_pins_15_i_ival,
+  output        auto_gpio_0_io_out_pins_15_o_oval,
+  output        auto_gpio_0_io_out_pins_15_o_oe,
+  output        auto_gpio_0_io_out_pins_15_o_ie,
+  input         auto_gpio_0_io_out_pins_16_i_ival,
+  output        auto_gpio_0_io_out_pins_16_o_oval,
+  output        auto_gpio_0_io_out_pins_16_o_oe,
+  output        auto_gpio_0_io_out_pins_16_o_ie,
+  input         auto_gpio_0_io_out_pins_17_i_ival,
+  output        auto_gpio_0_io_out_pins_17_o_oval,
+  output        auto_gpio_0_io_out_pins_17_o_oe,
+  output        auto_gpio_0_io_out_pins_17_o_ie,
+  input         auto_gpio_0_io_out_pins_18_i_ival,
+  output        auto_gpio_0_io_out_pins_18_o_oval,
+  output        auto_gpio_0_io_out_pins_18_o_oe,
+  output        auto_gpio_0_io_out_pins_18_o_ie,
+  input         auto_gpio_0_io_out_pins_19_i_ival,
+  output        auto_gpio_0_io_out_pins_19_o_oval,
+  output        auto_gpio_0_io_out_pins_19_o_oe,
+  output        auto_gpio_0_io_out_pins_19_o_ie,
+  input         auto_gpio_0_io_out_pins_20_i_ival,
+  output        auto_gpio_0_io_out_pins_20_o_oval,
+  output        auto_gpio_0_io_out_pins_20_o_oe,
+  output        auto_gpio_0_io_out_pins_20_o_ie,
+  input         auto_gpio_0_io_out_pins_21_i_ival,
+  output        auto_gpio_0_io_out_pins_21_o_oval,
+  output        auto_gpio_0_io_out_pins_21_o_oe,
+  output        auto_gpio_0_io_out_pins_21_o_ie,
+  input         auto_gpio_0_io_out_pins_22_i_ival,
+  output        auto_gpio_0_io_out_pins_22_o_oval,
+  output        auto_gpio_0_io_out_pins_22_o_oe,
+  output        auto_gpio_0_io_out_pins_22_o_ie,
+  input         auto_gpio_0_io_out_pins_23_i_ival,
+  output        auto_gpio_0_io_out_pins_23_o_oval,
+  output        auto_gpio_0_io_out_pins_23_o_oe,
+  output        auto_gpio_0_io_out_pins_23_o_ie,
+  input         auto_gpio_0_io_out_pins_24_i_ival,
+  output        auto_gpio_0_io_out_pins_24_o_oval,
+  output        auto_gpio_0_io_out_pins_24_o_oe,
+  output        auto_gpio_0_io_out_pins_24_o_ie,
+  input         auto_gpio_0_io_out_pins_25_i_ival,
+  output        auto_gpio_0_io_out_pins_25_o_oval,
+  output        auto_gpio_0_io_out_pins_25_o_oe,
+  input         auto_gpio_0_io_out_pins_26_i_ival,
+  output        auto_gpio_0_io_out_pins_26_o_oval,
+  output        auto_gpio_0_io_out_pins_26_o_oe,
+  input         auto_gpio_0_io_out_pins_27_i_ival,
+  output        auto_gpio_0_io_out_pins_27_o_oval,
+  output        auto_gpio_0_io_out_pins_27_o_oe,
+  input         auto_gpio_0_io_out_pins_28_i_ival,
+  output        auto_gpio_0_io_out_pins_28_o_oval,
+  output        auto_gpio_0_io_out_pins_28_o_oe,
+  input         auto_gpio_0_io_out_pins_29_i_ival,
+  output        auto_gpio_0_io_out_pins_29_o_oval,
+  output        auto_gpio_0_io_out_pins_29_o_oe,
+  input         auto_gpio_0_io_out_pins_30_i_ival,
+  output        auto_gpio_0_io_out_pins_30_o_oval,
+  output        auto_gpio_0_io_out_pins_30_o_oe,
+  input         auto_gpio_0_io_out_pins_31_i_ival,
+  output        auto_gpio_0_io_out_pins_31_o_oval,
+  output        auto_gpio_0_io_out_pins_31_o_oe,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  gpio_0_clock; // @[GPIO.scala 282:51]
+  wire  gpio_0_reset; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_0; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_1; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_2; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_3; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_4; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_5; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_6; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_7; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_8; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_9; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_10; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_11; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_12; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_13; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_14; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_15; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_16; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_17; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_18; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_19; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_20; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_21; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_22; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_23; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_24; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_25; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_26; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_27; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_28; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_29; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_30; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_int_xing_out_sync_31; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_control_xing_in_a_ready; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_control_xing_in_a_valid; // @[GPIO.scala 282:51]
+  wire [2:0] gpio_0_auto_control_xing_in_a_bits_opcode; // @[GPIO.scala 282:51]
+  wire [2:0] gpio_0_auto_control_xing_in_a_bits_param; // @[GPIO.scala 282:51]
+  wire [1:0] gpio_0_auto_control_xing_in_a_bits_size; // @[GPIO.scala 282:51]
+  wire [6:0] gpio_0_auto_control_xing_in_a_bits_source; // @[GPIO.scala 282:51]
+  wire [28:0] gpio_0_auto_control_xing_in_a_bits_address; // @[GPIO.scala 282:51]
+  wire [3:0] gpio_0_auto_control_xing_in_a_bits_mask; // @[GPIO.scala 282:51]
+  wire [31:0] gpio_0_auto_control_xing_in_a_bits_data; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_control_xing_in_a_bits_corrupt; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_control_xing_in_d_ready; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_control_xing_in_d_valid; // @[GPIO.scala 282:51]
+  wire [2:0] gpio_0_auto_control_xing_in_d_bits_opcode; // @[GPIO.scala 282:51]
+  wire [1:0] gpio_0_auto_control_xing_in_d_bits_size; // @[GPIO.scala 282:51]
+  wire [6:0] gpio_0_auto_control_xing_in_d_bits_source; // @[GPIO.scala 282:51]
+  wire [31:0] gpio_0_auto_control_xing_in_d_bits_data; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_0_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_1_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_2_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_2_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_2_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_2_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_3_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_3_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_3_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_3_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_4_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_4_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_4_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_4_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_5_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_5_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_5_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_5_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_12_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_12_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_13_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_13_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_14_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_14_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_15_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_15_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_16_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_17_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_18_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_19_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_20_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_21_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_22_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_23_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_0_24_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_1_12_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_1_13_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_1_14_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_1_15_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_1_16_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_1_17_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_1_18_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_1_19_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_1_20_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_1_21_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_1_22_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_iof_out_iof_1_23_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_0_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_0_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_0_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_0_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_1_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_1_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_1_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_1_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_2_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_2_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_2_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_2_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_3_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_3_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_3_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_3_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_4_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_4_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_4_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_4_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_5_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_5_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_5_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_5_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_6_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_6_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_6_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_7_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_7_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_7_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_8_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_8_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_8_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_9_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_9_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_9_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_10_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_10_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_10_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_11_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_11_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_11_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_12_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_12_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_12_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_12_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_13_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_13_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_13_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_13_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_14_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_14_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_14_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_14_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_15_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_15_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_15_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_15_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_16_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_16_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_16_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_16_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_17_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_17_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_17_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_17_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_18_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_18_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_18_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_18_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_19_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_19_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_19_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_19_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_20_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_20_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_20_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_20_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_21_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_21_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_21_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_21_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_22_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_22_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_22_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_22_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_23_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_23_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_23_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_23_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_24_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_24_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_24_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_24_o_ie; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_25_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_25_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_25_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_26_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_26_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_26_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_27_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_27_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_27_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_28_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_28_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_28_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_29_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_29_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_29_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_30_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_30_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_30_o_oe; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_31_i_ival; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_31_o_oval; // @[GPIO.scala 282:51]
+  wire  gpio_0_auto_io_out_pins_31_o_oe; // @[GPIO.scala 282:51]
+  TLGPIO gpio_0 ( // @[GPIO.scala 282:51]
+    .clock(gpio_0_clock),
+    .reset(gpio_0_reset),
+    .auto_int_xing_out_sync_0(gpio_0_auto_int_xing_out_sync_0),
+    .auto_int_xing_out_sync_1(gpio_0_auto_int_xing_out_sync_1),
+    .auto_int_xing_out_sync_2(gpio_0_auto_int_xing_out_sync_2),
+    .auto_int_xing_out_sync_3(gpio_0_auto_int_xing_out_sync_3),
+    .auto_int_xing_out_sync_4(gpio_0_auto_int_xing_out_sync_4),
+    .auto_int_xing_out_sync_5(gpio_0_auto_int_xing_out_sync_5),
+    .auto_int_xing_out_sync_6(gpio_0_auto_int_xing_out_sync_6),
+    .auto_int_xing_out_sync_7(gpio_0_auto_int_xing_out_sync_7),
+    .auto_int_xing_out_sync_8(gpio_0_auto_int_xing_out_sync_8),
+    .auto_int_xing_out_sync_9(gpio_0_auto_int_xing_out_sync_9),
+    .auto_int_xing_out_sync_10(gpio_0_auto_int_xing_out_sync_10),
+    .auto_int_xing_out_sync_11(gpio_0_auto_int_xing_out_sync_11),
+    .auto_int_xing_out_sync_12(gpio_0_auto_int_xing_out_sync_12),
+    .auto_int_xing_out_sync_13(gpio_0_auto_int_xing_out_sync_13),
+    .auto_int_xing_out_sync_14(gpio_0_auto_int_xing_out_sync_14),
+    .auto_int_xing_out_sync_15(gpio_0_auto_int_xing_out_sync_15),
+    .auto_int_xing_out_sync_16(gpio_0_auto_int_xing_out_sync_16),
+    .auto_int_xing_out_sync_17(gpio_0_auto_int_xing_out_sync_17),
+    .auto_int_xing_out_sync_18(gpio_0_auto_int_xing_out_sync_18),
+    .auto_int_xing_out_sync_19(gpio_0_auto_int_xing_out_sync_19),
+    .auto_int_xing_out_sync_20(gpio_0_auto_int_xing_out_sync_20),
+    .auto_int_xing_out_sync_21(gpio_0_auto_int_xing_out_sync_21),
+    .auto_int_xing_out_sync_22(gpio_0_auto_int_xing_out_sync_22),
+    .auto_int_xing_out_sync_23(gpio_0_auto_int_xing_out_sync_23),
+    .auto_int_xing_out_sync_24(gpio_0_auto_int_xing_out_sync_24),
+    .auto_int_xing_out_sync_25(gpio_0_auto_int_xing_out_sync_25),
+    .auto_int_xing_out_sync_26(gpio_0_auto_int_xing_out_sync_26),
+    .auto_int_xing_out_sync_27(gpio_0_auto_int_xing_out_sync_27),
+    .auto_int_xing_out_sync_28(gpio_0_auto_int_xing_out_sync_28),
+    .auto_int_xing_out_sync_29(gpio_0_auto_int_xing_out_sync_29),
+    .auto_int_xing_out_sync_30(gpio_0_auto_int_xing_out_sync_30),
+    .auto_int_xing_out_sync_31(gpio_0_auto_int_xing_out_sync_31),
+    .auto_control_xing_in_a_ready(gpio_0_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(gpio_0_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(gpio_0_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(gpio_0_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(gpio_0_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(gpio_0_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(gpio_0_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(gpio_0_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(gpio_0_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(gpio_0_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(gpio_0_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(gpio_0_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(gpio_0_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(gpio_0_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(gpio_0_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(gpio_0_auto_control_xing_in_d_bits_data),
+    .auto_iof_out_iof_0_0_o_oval(gpio_0_auto_iof_out_iof_0_0_o_oval),
+    .auto_iof_out_iof_0_1_o_oval(gpio_0_auto_iof_out_iof_0_1_o_oval),
+    .auto_iof_out_iof_0_2_i_ival(gpio_0_auto_iof_out_iof_0_2_i_ival),
+    .auto_iof_out_iof_0_2_o_oval(gpio_0_auto_iof_out_iof_0_2_o_oval),
+    .auto_iof_out_iof_0_2_o_oe(gpio_0_auto_iof_out_iof_0_2_o_oe),
+    .auto_iof_out_iof_0_2_o_ie(gpio_0_auto_iof_out_iof_0_2_o_ie),
+    .auto_iof_out_iof_0_3_i_ival(gpio_0_auto_iof_out_iof_0_3_i_ival),
+    .auto_iof_out_iof_0_3_o_oval(gpio_0_auto_iof_out_iof_0_3_o_oval),
+    .auto_iof_out_iof_0_3_o_oe(gpio_0_auto_iof_out_iof_0_3_o_oe),
+    .auto_iof_out_iof_0_3_o_ie(gpio_0_auto_iof_out_iof_0_3_o_ie),
+    .auto_iof_out_iof_0_4_i_ival(gpio_0_auto_iof_out_iof_0_4_i_ival),
+    .auto_iof_out_iof_0_4_o_oval(gpio_0_auto_iof_out_iof_0_4_o_oval),
+    .auto_iof_out_iof_0_4_o_oe(gpio_0_auto_iof_out_iof_0_4_o_oe),
+    .auto_iof_out_iof_0_4_o_ie(gpio_0_auto_iof_out_iof_0_4_o_ie),
+    .auto_iof_out_iof_0_5_i_ival(gpio_0_auto_iof_out_iof_0_5_i_ival),
+    .auto_iof_out_iof_0_5_o_oval(gpio_0_auto_iof_out_iof_0_5_o_oval),
+    .auto_iof_out_iof_0_5_o_oe(gpio_0_auto_iof_out_iof_0_5_o_oe),
+    .auto_iof_out_iof_0_5_o_ie(gpio_0_auto_iof_out_iof_0_5_o_ie),
+    .auto_iof_out_iof_0_12_i_ival(gpio_0_auto_iof_out_iof_0_12_i_ival),
+    .auto_iof_out_iof_0_12_o_oe(gpio_0_auto_iof_out_iof_0_12_o_oe),
+    .auto_iof_out_iof_0_13_i_ival(gpio_0_auto_iof_out_iof_0_13_i_ival),
+    .auto_iof_out_iof_0_13_o_oe(gpio_0_auto_iof_out_iof_0_13_o_oe),
+    .auto_iof_out_iof_0_14_i_ival(gpio_0_auto_iof_out_iof_0_14_i_ival),
+    .auto_iof_out_iof_0_14_o_oe(gpio_0_auto_iof_out_iof_0_14_o_oe),
+    .auto_iof_out_iof_0_15_i_ival(gpio_0_auto_iof_out_iof_0_15_i_ival),
+    .auto_iof_out_iof_0_15_o_oe(gpio_0_auto_iof_out_iof_0_15_o_oe),
+    .auto_iof_out_iof_0_16_i_ival(gpio_0_auto_iof_out_iof_0_16_i_ival),
+    .auto_iof_out_iof_0_17_o_oval(gpio_0_auto_iof_out_iof_0_17_o_oval),
+    .auto_iof_out_iof_0_18_i_ival(gpio_0_auto_iof_out_iof_0_18_i_ival),
+    .auto_iof_out_iof_0_19_o_oval(gpio_0_auto_iof_out_iof_0_19_o_oval),
+    .auto_iof_out_iof_0_20_i_ival(gpio_0_auto_iof_out_iof_0_20_i_ival),
+    .auto_iof_out_iof_0_21_o_oval(gpio_0_auto_iof_out_iof_0_21_o_oval),
+    .auto_iof_out_iof_0_22_i_ival(gpio_0_auto_iof_out_iof_0_22_i_ival),
+    .auto_iof_out_iof_0_23_o_oval(gpio_0_auto_iof_out_iof_0_23_o_oval),
+    .auto_iof_out_iof_0_24_o_oval(gpio_0_auto_iof_out_iof_0_24_o_oval),
+    .auto_iof_out_iof_1_12_o_oval(gpio_0_auto_iof_out_iof_1_12_o_oval),
+    .auto_iof_out_iof_1_13_o_oval(gpio_0_auto_iof_out_iof_1_13_o_oval),
+    .auto_iof_out_iof_1_14_o_oval(gpio_0_auto_iof_out_iof_1_14_o_oval),
+    .auto_iof_out_iof_1_15_o_oval(gpio_0_auto_iof_out_iof_1_15_o_oval),
+    .auto_iof_out_iof_1_16_o_oval(gpio_0_auto_iof_out_iof_1_16_o_oval),
+    .auto_iof_out_iof_1_17_o_oval(gpio_0_auto_iof_out_iof_1_17_o_oval),
+    .auto_iof_out_iof_1_18_o_oval(gpio_0_auto_iof_out_iof_1_18_o_oval),
+    .auto_iof_out_iof_1_19_o_oval(gpio_0_auto_iof_out_iof_1_19_o_oval),
+    .auto_iof_out_iof_1_20_o_oval(gpio_0_auto_iof_out_iof_1_20_o_oval),
+    .auto_iof_out_iof_1_21_o_oval(gpio_0_auto_iof_out_iof_1_21_o_oval),
+    .auto_iof_out_iof_1_22_o_oval(gpio_0_auto_iof_out_iof_1_22_o_oval),
+    .auto_iof_out_iof_1_23_o_oval(gpio_0_auto_iof_out_iof_1_23_o_oval),
+    .auto_io_out_pins_0_i_ival(gpio_0_auto_io_out_pins_0_i_ival),
+    .auto_io_out_pins_0_o_oval(gpio_0_auto_io_out_pins_0_o_oval),
+    .auto_io_out_pins_0_o_oe(gpio_0_auto_io_out_pins_0_o_oe),
+    .auto_io_out_pins_0_o_ie(gpio_0_auto_io_out_pins_0_o_ie),
+    .auto_io_out_pins_1_i_ival(gpio_0_auto_io_out_pins_1_i_ival),
+    .auto_io_out_pins_1_o_oval(gpio_0_auto_io_out_pins_1_o_oval),
+    .auto_io_out_pins_1_o_oe(gpio_0_auto_io_out_pins_1_o_oe),
+    .auto_io_out_pins_1_o_ie(gpio_0_auto_io_out_pins_1_o_ie),
+    .auto_io_out_pins_2_i_ival(gpio_0_auto_io_out_pins_2_i_ival),
+    .auto_io_out_pins_2_o_oval(gpio_0_auto_io_out_pins_2_o_oval),
+    .auto_io_out_pins_2_o_oe(gpio_0_auto_io_out_pins_2_o_oe),
+    .auto_io_out_pins_2_o_ie(gpio_0_auto_io_out_pins_2_o_ie),
+    .auto_io_out_pins_3_i_ival(gpio_0_auto_io_out_pins_3_i_ival),
+    .auto_io_out_pins_3_o_oval(gpio_0_auto_io_out_pins_3_o_oval),
+    .auto_io_out_pins_3_o_oe(gpio_0_auto_io_out_pins_3_o_oe),
+    .auto_io_out_pins_3_o_ie(gpio_0_auto_io_out_pins_3_o_ie),
+    .auto_io_out_pins_4_i_ival(gpio_0_auto_io_out_pins_4_i_ival),
+    .auto_io_out_pins_4_o_oval(gpio_0_auto_io_out_pins_4_o_oval),
+    .auto_io_out_pins_4_o_oe(gpio_0_auto_io_out_pins_4_o_oe),
+    .auto_io_out_pins_4_o_ie(gpio_0_auto_io_out_pins_4_o_ie),
+    .auto_io_out_pins_5_i_ival(gpio_0_auto_io_out_pins_5_i_ival),
+    .auto_io_out_pins_5_o_oval(gpio_0_auto_io_out_pins_5_o_oval),
+    .auto_io_out_pins_5_o_oe(gpio_0_auto_io_out_pins_5_o_oe),
+    .auto_io_out_pins_5_o_ie(gpio_0_auto_io_out_pins_5_o_ie),
+    .auto_io_out_pins_6_i_ival(gpio_0_auto_io_out_pins_6_i_ival),
+    .auto_io_out_pins_6_o_oval(gpio_0_auto_io_out_pins_6_o_oval),
+    .auto_io_out_pins_6_o_oe(gpio_0_auto_io_out_pins_6_o_oe),
+    .auto_io_out_pins_7_i_ival(gpio_0_auto_io_out_pins_7_i_ival),
+    .auto_io_out_pins_7_o_oval(gpio_0_auto_io_out_pins_7_o_oval),
+    .auto_io_out_pins_7_o_oe(gpio_0_auto_io_out_pins_7_o_oe),
+    .auto_io_out_pins_8_i_ival(gpio_0_auto_io_out_pins_8_i_ival),
+    .auto_io_out_pins_8_o_oval(gpio_0_auto_io_out_pins_8_o_oval),
+    .auto_io_out_pins_8_o_oe(gpio_0_auto_io_out_pins_8_o_oe),
+    .auto_io_out_pins_9_i_ival(gpio_0_auto_io_out_pins_9_i_ival),
+    .auto_io_out_pins_9_o_oval(gpio_0_auto_io_out_pins_9_o_oval),
+    .auto_io_out_pins_9_o_oe(gpio_0_auto_io_out_pins_9_o_oe),
+    .auto_io_out_pins_10_i_ival(gpio_0_auto_io_out_pins_10_i_ival),
+    .auto_io_out_pins_10_o_oval(gpio_0_auto_io_out_pins_10_o_oval),
+    .auto_io_out_pins_10_o_oe(gpio_0_auto_io_out_pins_10_o_oe),
+    .auto_io_out_pins_11_i_ival(gpio_0_auto_io_out_pins_11_i_ival),
+    .auto_io_out_pins_11_o_oval(gpio_0_auto_io_out_pins_11_o_oval),
+    .auto_io_out_pins_11_o_oe(gpio_0_auto_io_out_pins_11_o_oe),
+    .auto_io_out_pins_12_i_ival(gpio_0_auto_io_out_pins_12_i_ival),
+    .auto_io_out_pins_12_o_oval(gpio_0_auto_io_out_pins_12_o_oval),
+    .auto_io_out_pins_12_o_oe(gpio_0_auto_io_out_pins_12_o_oe),
+    .auto_io_out_pins_12_o_ie(gpio_0_auto_io_out_pins_12_o_ie),
+    .auto_io_out_pins_13_i_ival(gpio_0_auto_io_out_pins_13_i_ival),
+    .auto_io_out_pins_13_o_oval(gpio_0_auto_io_out_pins_13_o_oval),
+    .auto_io_out_pins_13_o_oe(gpio_0_auto_io_out_pins_13_o_oe),
+    .auto_io_out_pins_13_o_ie(gpio_0_auto_io_out_pins_13_o_ie),
+    .auto_io_out_pins_14_i_ival(gpio_0_auto_io_out_pins_14_i_ival),
+    .auto_io_out_pins_14_o_oval(gpio_0_auto_io_out_pins_14_o_oval),
+    .auto_io_out_pins_14_o_oe(gpio_0_auto_io_out_pins_14_o_oe),
+    .auto_io_out_pins_14_o_ie(gpio_0_auto_io_out_pins_14_o_ie),
+    .auto_io_out_pins_15_i_ival(gpio_0_auto_io_out_pins_15_i_ival),
+    .auto_io_out_pins_15_o_oval(gpio_0_auto_io_out_pins_15_o_oval),
+    .auto_io_out_pins_15_o_oe(gpio_0_auto_io_out_pins_15_o_oe),
+    .auto_io_out_pins_15_o_ie(gpio_0_auto_io_out_pins_15_o_ie),
+    .auto_io_out_pins_16_i_ival(gpio_0_auto_io_out_pins_16_i_ival),
+    .auto_io_out_pins_16_o_oval(gpio_0_auto_io_out_pins_16_o_oval),
+    .auto_io_out_pins_16_o_oe(gpio_0_auto_io_out_pins_16_o_oe),
+    .auto_io_out_pins_16_o_ie(gpio_0_auto_io_out_pins_16_o_ie),
+    .auto_io_out_pins_17_i_ival(gpio_0_auto_io_out_pins_17_i_ival),
+    .auto_io_out_pins_17_o_oval(gpio_0_auto_io_out_pins_17_o_oval),
+    .auto_io_out_pins_17_o_oe(gpio_0_auto_io_out_pins_17_o_oe),
+    .auto_io_out_pins_17_o_ie(gpio_0_auto_io_out_pins_17_o_ie),
+    .auto_io_out_pins_18_i_ival(gpio_0_auto_io_out_pins_18_i_ival),
+    .auto_io_out_pins_18_o_oval(gpio_0_auto_io_out_pins_18_o_oval),
+    .auto_io_out_pins_18_o_oe(gpio_0_auto_io_out_pins_18_o_oe),
+    .auto_io_out_pins_18_o_ie(gpio_0_auto_io_out_pins_18_o_ie),
+    .auto_io_out_pins_19_i_ival(gpio_0_auto_io_out_pins_19_i_ival),
+    .auto_io_out_pins_19_o_oval(gpio_0_auto_io_out_pins_19_o_oval),
+    .auto_io_out_pins_19_o_oe(gpio_0_auto_io_out_pins_19_o_oe),
+    .auto_io_out_pins_19_o_ie(gpio_0_auto_io_out_pins_19_o_ie),
+    .auto_io_out_pins_20_i_ival(gpio_0_auto_io_out_pins_20_i_ival),
+    .auto_io_out_pins_20_o_oval(gpio_0_auto_io_out_pins_20_o_oval),
+    .auto_io_out_pins_20_o_oe(gpio_0_auto_io_out_pins_20_o_oe),
+    .auto_io_out_pins_20_o_ie(gpio_0_auto_io_out_pins_20_o_ie),
+    .auto_io_out_pins_21_i_ival(gpio_0_auto_io_out_pins_21_i_ival),
+    .auto_io_out_pins_21_o_oval(gpio_0_auto_io_out_pins_21_o_oval),
+    .auto_io_out_pins_21_o_oe(gpio_0_auto_io_out_pins_21_o_oe),
+    .auto_io_out_pins_21_o_ie(gpio_0_auto_io_out_pins_21_o_ie),
+    .auto_io_out_pins_22_i_ival(gpio_0_auto_io_out_pins_22_i_ival),
+    .auto_io_out_pins_22_o_oval(gpio_0_auto_io_out_pins_22_o_oval),
+    .auto_io_out_pins_22_o_oe(gpio_0_auto_io_out_pins_22_o_oe),
+    .auto_io_out_pins_22_o_ie(gpio_0_auto_io_out_pins_22_o_ie),
+    .auto_io_out_pins_23_i_ival(gpio_0_auto_io_out_pins_23_i_ival),
+    .auto_io_out_pins_23_o_oval(gpio_0_auto_io_out_pins_23_o_oval),
+    .auto_io_out_pins_23_o_oe(gpio_0_auto_io_out_pins_23_o_oe),
+    .auto_io_out_pins_23_o_ie(gpio_0_auto_io_out_pins_23_o_ie),
+    .auto_io_out_pins_24_i_ival(gpio_0_auto_io_out_pins_24_i_ival),
+    .auto_io_out_pins_24_o_oval(gpio_0_auto_io_out_pins_24_o_oval),
+    .auto_io_out_pins_24_o_oe(gpio_0_auto_io_out_pins_24_o_oe),
+    .auto_io_out_pins_24_o_ie(gpio_0_auto_io_out_pins_24_o_ie),
+    .auto_io_out_pins_25_i_ival(gpio_0_auto_io_out_pins_25_i_ival),
+    .auto_io_out_pins_25_o_oval(gpio_0_auto_io_out_pins_25_o_oval),
+    .auto_io_out_pins_25_o_oe(gpio_0_auto_io_out_pins_25_o_oe),
+    .auto_io_out_pins_26_i_ival(gpio_0_auto_io_out_pins_26_i_ival),
+    .auto_io_out_pins_26_o_oval(gpio_0_auto_io_out_pins_26_o_oval),
+    .auto_io_out_pins_26_o_oe(gpio_0_auto_io_out_pins_26_o_oe),
+    .auto_io_out_pins_27_i_ival(gpio_0_auto_io_out_pins_27_i_ival),
+    .auto_io_out_pins_27_o_oval(gpio_0_auto_io_out_pins_27_o_oval),
+    .auto_io_out_pins_27_o_oe(gpio_0_auto_io_out_pins_27_o_oe),
+    .auto_io_out_pins_28_i_ival(gpio_0_auto_io_out_pins_28_i_ival),
+    .auto_io_out_pins_28_o_oval(gpio_0_auto_io_out_pins_28_o_oval),
+    .auto_io_out_pins_28_o_oe(gpio_0_auto_io_out_pins_28_o_oe),
+    .auto_io_out_pins_29_i_ival(gpio_0_auto_io_out_pins_29_i_ival),
+    .auto_io_out_pins_29_o_oval(gpio_0_auto_io_out_pins_29_o_oval),
+    .auto_io_out_pins_29_o_oe(gpio_0_auto_io_out_pins_29_o_oe),
+    .auto_io_out_pins_30_i_ival(gpio_0_auto_io_out_pins_30_i_ival),
+    .auto_io_out_pins_30_o_oval(gpio_0_auto_io_out_pins_30_o_oval),
+    .auto_io_out_pins_30_o_oe(gpio_0_auto_io_out_pins_30_o_oe),
+    .auto_io_out_pins_31_i_ival(gpio_0_auto_io_out_pins_31_i_ival),
+    .auto_io_out_pins_31_o_oval(gpio_0_auto_io_out_pins_31_o_oval),
+    .auto_io_out_pins_31_o_oe(gpio_0_auto_io_out_pins_31_o_oe)
+  );
+  assign auto_gpio_0_int_xing_out_sync_0 = gpio_0_auto_int_xing_out_sync_0; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_1 = gpio_0_auto_int_xing_out_sync_1; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_2 = gpio_0_auto_int_xing_out_sync_2; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_3 = gpio_0_auto_int_xing_out_sync_3; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_4 = gpio_0_auto_int_xing_out_sync_4; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_5 = gpio_0_auto_int_xing_out_sync_5; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_6 = gpio_0_auto_int_xing_out_sync_6; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_7 = gpio_0_auto_int_xing_out_sync_7; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_8 = gpio_0_auto_int_xing_out_sync_8; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_9 = gpio_0_auto_int_xing_out_sync_9; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_10 = gpio_0_auto_int_xing_out_sync_10; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_11 = gpio_0_auto_int_xing_out_sync_11; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_12 = gpio_0_auto_int_xing_out_sync_12; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_13 = gpio_0_auto_int_xing_out_sync_13; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_14 = gpio_0_auto_int_xing_out_sync_14; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_15 = gpio_0_auto_int_xing_out_sync_15; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_16 = gpio_0_auto_int_xing_out_sync_16; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_17 = gpio_0_auto_int_xing_out_sync_17; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_18 = gpio_0_auto_int_xing_out_sync_18; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_19 = gpio_0_auto_int_xing_out_sync_19; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_20 = gpio_0_auto_int_xing_out_sync_20; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_21 = gpio_0_auto_int_xing_out_sync_21; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_22 = gpio_0_auto_int_xing_out_sync_22; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_23 = gpio_0_auto_int_xing_out_sync_23; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_24 = gpio_0_auto_int_xing_out_sync_24; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_25 = gpio_0_auto_int_xing_out_sync_25; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_26 = gpio_0_auto_int_xing_out_sync_26; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_27 = gpio_0_auto_int_xing_out_sync_27; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_28 = gpio_0_auto_int_xing_out_sync_28; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_29 = gpio_0_auto_int_xing_out_sync_29; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_30 = gpio_0_auto_int_xing_out_sync_30; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_int_xing_out_sync_31 = gpio_0_auto_int_xing_out_sync_31; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_control_xing_in_a_ready = gpio_0_auto_control_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_gpio_0_control_xing_in_d_valid = gpio_0_auto_control_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_gpio_0_control_xing_in_d_bits_opcode = gpio_0_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_gpio_0_control_xing_in_d_bits_size = gpio_0_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_gpio_0_control_xing_in_d_bits_source = gpio_0_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_gpio_0_control_xing_in_d_bits_data = gpio_0_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_gpio_0_iof_out_iof_0_2_i_ival = gpio_0_auto_iof_out_iof_0_2_i_ival; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_iof_out_iof_0_3_i_ival = gpio_0_auto_iof_out_iof_0_3_i_ival; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_iof_out_iof_0_4_i_ival = gpio_0_auto_iof_out_iof_0_4_i_ival; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_iof_out_iof_0_5_i_ival = gpio_0_auto_iof_out_iof_0_5_i_ival; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_iof_out_iof_0_12_i_ival = gpio_0_auto_iof_out_iof_0_12_i_ival; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_iof_out_iof_0_13_i_ival = gpio_0_auto_iof_out_iof_0_13_i_ival; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_iof_out_iof_0_14_i_ival = gpio_0_auto_iof_out_iof_0_14_i_ival; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_iof_out_iof_0_15_i_ival = gpio_0_auto_iof_out_iof_0_15_i_ival; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_iof_out_iof_0_16_i_ival = gpio_0_auto_iof_out_iof_0_16_i_ival; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_iof_out_iof_0_18_i_ival = gpio_0_auto_iof_out_iof_0_18_i_ival; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_iof_out_iof_0_20_i_ival = gpio_0_auto_iof_out_iof_0_20_i_ival; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_iof_out_iof_0_22_i_ival = gpio_0_auto_iof_out_iof_0_22_i_ival; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_0_o_oval = gpio_0_auto_io_out_pins_0_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_0_o_oe = gpio_0_auto_io_out_pins_0_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_0_o_ie = gpio_0_auto_io_out_pins_0_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_1_o_oval = gpio_0_auto_io_out_pins_1_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_1_o_oe = gpio_0_auto_io_out_pins_1_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_1_o_ie = gpio_0_auto_io_out_pins_1_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_2_o_oval = gpio_0_auto_io_out_pins_2_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_2_o_oe = gpio_0_auto_io_out_pins_2_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_2_o_ie = gpio_0_auto_io_out_pins_2_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_3_o_oval = gpio_0_auto_io_out_pins_3_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_3_o_oe = gpio_0_auto_io_out_pins_3_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_3_o_ie = gpio_0_auto_io_out_pins_3_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_4_o_oval = gpio_0_auto_io_out_pins_4_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_4_o_oe = gpio_0_auto_io_out_pins_4_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_4_o_ie = gpio_0_auto_io_out_pins_4_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_5_o_oval = gpio_0_auto_io_out_pins_5_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_5_o_oe = gpio_0_auto_io_out_pins_5_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_5_o_ie = gpio_0_auto_io_out_pins_5_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_6_o_oval = gpio_0_auto_io_out_pins_6_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_6_o_oe = gpio_0_auto_io_out_pins_6_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_7_o_oval = gpio_0_auto_io_out_pins_7_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_7_o_oe = gpio_0_auto_io_out_pins_7_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_8_o_oval = gpio_0_auto_io_out_pins_8_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_8_o_oe = gpio_0_auto_io_out_pins_8_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_9_o_oval = gpio_0_auto_io_out_pins_9_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_9_o_oe = gpio_0_auto_io_out_pins_9_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_10_o_oval = gpio_0_auto_io_out_pins_10_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_10_o_oe = gpio_0_auto_io_out_pins_10_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_11_o_oval = gpio_0_auto_io_out_pins_11_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_11_o_oe = gpio_0_auto_io_out_pins_11_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_12_o_oval = gpio_0_auto_io_out_pins_12_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_12_o_oe = gpio_0_auto_io_out_pins_12_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_12_o_ie = gpio_0_auto_io_out_pins_12_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_13_o_oval = gpio_0_auto_io_out_pins_13_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_13_o_oe = gpio_0_auto_io_out_pins_13_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_13_o_ie = gpio_0_auto_io_out_pins_13_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_14_o_oval = gpio_0_auto_io_out_pins_14_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_14_o_oe = gpio_0_auto_io_out_pins_14_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_14_o_ie = gpio_0_auto_io_out_pins_14_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_15_o_oval = gpio_0_auto_io_out_pins_15_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_15_o_oe = gpio_0_auto_io_out_pins_15_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_15_o_ie = gpio_0_auto_io_out_pins_15_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_16_o_oval = gpio_0_auto_io_out_pins_16_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_16_o_oe = gpio_0_auto_io_out_pins_16_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_16_o_ie = gpio_0_auto_io_out_pins_16_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_17_o_oval = gpio_0_auto_io_out_pins_17_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_17_o_oe = gpio_0_auto_io_out_pins_17_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_17_o_ie = gpio_0_auto_io_out_pins_17_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_18_o_oval = gpio_0_auto_io_out_pins_18_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_18_o_oe = gpio_0_auto_io_out_pins_18_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_18_o_ie = gpio_0_auto_io_out_pins_18_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_19_o_oval = gpio_0_auto_io_out_pins_19_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_19_o_oe = gpio_0_auto_io_out_pins_19_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_19_o_ie = gpio_0_auto_io_out_pins_19_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_20_o_oval = gpio_0_auto_io_out_pins_20_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_20_o_oe = gpio_0_auto_io_out_pins_20_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_20_o_ie = gpio_0_auto_io_out_pins_20_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_21_o_oval = gpio_0_auto_io_out_pins_21_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_21_o_oe = gpio_0_auto_io_out_pins_21_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_21_o_ie = gpio_0_auto_io_out_pins_21_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_22_o_oval = gpio_0_auto_io_out_pins_22_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_22_o_oe = gpio_0_auto_io_out_pins_22_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_22_o_ie = gpio_0_auto_io_out_pins_22_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_23_o_oval = gpio_0_auto_io_out_pins_23_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_23_o_oe = gpio_0_auto_io_out_pins_23_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_23_o_ie = gpio_0_auto_io_out_pins_23_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_24_o_oval = gpio_0_auto_io_out_pins_24_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_24_o_oe = gpio_0_auto_io_out_pins_24_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_24_o_ie = gpio_0_auto_io_out_pins_24_o_ie; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_25_o_oval = gpio_0_auto_io_out_pins_25_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_25_o_oe = gpio_0_auto_io_out_pins_25_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_26_o_oval = gpio_0_auto_io_out_pins_26_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_26_o_oe = gpio_0_auto_io_out_pins_26_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_27_o_oval = gpio_0_auto_io_out_pins_27_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_27_o_oe = gpio_0_auto_io_out_pins_27_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_28_o_oval = gpio_0_auto_io_out_pins_28_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_28_o_oe = gpio_0_auto_io_out_pins_28_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_29_o_oval = gpio_0_auto_io_out_pins_29_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_29_o_oe = gpio_0_auto_io_out_pins_29_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_30_o_oval = gpio_0_auto_io_out_pins_30_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_30_o_oe = gpio_0_auto_io_out_pins_30_o_oe; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_31_o_oval = gpio_0_auto_io_out_pins_31_o_oval; // @[LazyModule.scala 311:12]
+  assign auto_gpio_0_io_out_pins_31_o_oe = gpio_0_auto_io_out_pins_31_o_oe; // @[LazyModule.scala 311:12]
+  assign gpio_0_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gpio_0_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign gpio_0_auto_control_xing_in_a_valid = auto_gpio_0_control_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign gpio_0_auto_control_xing_in_a_bits_opcode = auto_gpio_0_control_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign gpio_0_auto_control_xing_in_a_bits_param = auto_gpio_0_control_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign gpio_0_auto_control_xing_in_a_bits_size = auto_gpio_0_control_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign gpio_0_auto_control_xing_in_a_bits_source = auto_gpio_0_control_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign gpio_0_auto_control_xing_in_a_bits_address = auto_gpio_0_control_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign gpio_0_auto_control_xing_in_a_bits_mask = auto_gpio_0_control_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign gpio_0_auto_control_xing_in_a_bits_data = auto_gpio_0_control_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign gpio_0_auto_control_xing_in_a_bits_corrupt = auto_gpio_0_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign gpio_0_auto_control_xing_in_d_ready = auto_gpio_0_control_xing_in_d_ready; // @[LazyModule.scala 309:16]
+  assign gpio_0_auto_iof_out_iof_0_0_o_oval = auto_gpio_0_iof_out_iof_0_0_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_1_o_oval = auto_gpio_0_iof_out_iof_0_1_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_2_o_oval = auto_gpio_0_iof_out_iof_0_2_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_2_o_oe = auto_gpio_0_iof_out_iof_0_2_o_oe; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_2_o_ie = auto_gpio_0_iof_out_iof_0_2_o_ie; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_3_o_oval = auto_gpio_0_iof_out_iof_0_3_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_3_o_oe = auto_gpio_0_iof_out_iof_0_3_o_oe; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_3_o_ie = auto_gpio_0_iof_out_iof_0_3_o_ie; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_4_o_oval = auto_gpio_0_iof_out_iof_0_4_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_4_o_oe = auto_gpio_0_iof_out_iof_0_4_o_oe; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_4_o_ie = auto_gpio_0_iof_out_iof_0_4_o_ie; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_5_o_oval = auto_gpio_0_iof_out_iof_0_5_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_5_o_oe = auto_gpio_0_iof_out_iof_0_5_o_oe; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_5_o_ie = auto_gpio_0_iof_out_iof_0_5_o_ie; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_12_o_oe = auto_gpio_0_iof_out_iof_0_12_o_oe; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_13_o_oe = auto_gpio_0_iof_out_iof_0_13_o_oe; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_14_o_oe = auto_gpio_0_iof_out_iof_0_14_o_oe; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_15_o_oe = auto_gpio_0_iof_out_iof_0_15_o_oe; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_17_o_oval = auto_gpio_0_iof_out_iof_0_17_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_19_o_oval = auto_gpio_0_iof_out_iof_0_19_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_21_o_oval = auto_gpio_0_iof_out_iof_0_21_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_23_o_oval = auto_gpio_0_iof_out_iof_0_23_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_0_24_o_oval = auto_gpio_0_iof_out_iof_0_24_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_1_12_o_oval = auto_gpio_0_iof_out_iof_1_12_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_1_13_o_oval = auto_gpio_0_iof_out_iof_1_13_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_1_14_o_oval = auto_gpio_0_iof_out_iof_1_14_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_1_15_o_oval = auto_gpio_0_iof_out_iof_1_15_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_1_16_o_oval = auto_gpio_0_iof_out_iof_1_16_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_1_17_o_oval = auto_gpio_0_iof_out_iof_1_17_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_1_18_o_oval = auto_gpio_0_iof_out_iof_1_18_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_1_19_o_oval = auto_gpio_0_iof_out_iof_1_19_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_1_20_o_oval = auto_gpio_0_iof_out_iof_1_20_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_1_21_o_oval = auto_gpio_0_iof_out_iof_1_21_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_1_22_o_oval = auto_gpio_0_iof_out_iof_1_22_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_iof_out_iof_1_23_o_oval = auto_gpio_0_iof_out_iof_1_23_o_oval; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_0_i_ival = auto_gpio_0_io_out_pins_0_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_1_i_ival = auto_gpio_0_io_out_pins_1_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_2_i_ival = auto_gpio_0_io_out_pins_2_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_3_i_ival = auto_gpio_0_io_out_pins_3_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_4_i_ival = auto_gpio_0_io_out_pins_4_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_5_i_ival = auto_gpio_0_io_out_pins_5_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_6_i_ival = auto_gpio_0_io_out_pins_6_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_7_i_ival = auto_gpio_0_io_out_pins_7_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_8_i_ival = auto_gpio_0_io_out_pins_8_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_9_i_ival = auto_gpio_0_io_out_pins_9_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_10_i_ival = auto_gpio_0_io_out_pins_10_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_11_i_ival = auto_gpio_0_io_out_pins_11_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_12_i_ival = auto_gpio_0_io_out_pins_12_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_13_i_ival = auto_gpio_0_io_out_pins_13_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_14_i_ival = auto_gpio_0_io_out_pins_14_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_15_i_ival = auto_gpio_0_io_out_pins_15_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_16_i_ival = auto_gpio_0_io_out_pins_16_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_17_i_ival = auto_gpio_0_io_out_pins_17_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_18_i_ival = auto_gpio_0_io_out_pins_18_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_19_i_ival = auto_gpio_0_io_out_pins_19_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_20_i_ival = auto_gpio_0_io_out_pins_20_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_21_i_ival = auto_gpio_0_io_out_pins_21_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_22_i_ival = auto_gpio_0_io_out_pins_22_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_23_i_ival = auto_gpio_0_io_out_pins_23_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_24_i_ival = auto_gpio_0_io_out_pins_24_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_25_i_ival = auto_gpio_0_io_out_pins_25_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_26_i_ival = auto_gpio_0_io_out_pins_26_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_27_i_ival = auto_gpio_0_io_out_pins_27_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_28_i_ival = auto_gpio_0_io_out_pins_28_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_29_i_ival = auto_gpio_0_io_out_pins_29_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_30_i_ival = auto_gpio_0_io_out_pins_30_i_ival; // @[LazyModule.scala 311:12]
+  assign gpio_0_auto_io_out_pins_31_i_ival = auto_gpio_0_io_out_pins_31_i_ival; // @[LazyModule.scala 311:12]
+endmodule
+module IntSyncSyncCrossingSink_15(
+  input   auto_in_sync_0,
+  input   auto_in_sync_1,
+  input   auto_in_sync_2,
+  input   auto_in_sync_3,
+  input   auto_in_sync_4,
+  input   auto_in_sync_5,
+  input   auto_in_sync_6,
+  input   auto_in_sync_7,
+  input   auto_in_sync_8,
+  input   auto_in_sync_9,
+  input   auto_in_sync_10,
+  input   auto_in_sync_11,
+  input   auto_in_sync_12,
+  input   auto_in_sync_13,
+  input   auto_in_sync_14,
+  input   auto_in_sync_15,
+  input   auto_in_sync_16,
+  input   auto_in_sync_17,
+  input   auto_in_sync_18,
+  input   auto_in_sync_19,
+  input   auto_in_sync_20,
+  input   auto_in_sync_21,
+  input   auto_in_sync_22,
+  input   auto_in_sync_23,
+  input   auto_in_sync_24,
+  input   auto_in_sync_25,
+  input   auto_in_sync_26,
+  input   auto_in_sync_27,
+  input   auto_in_sync_28,
+  input   auto_in_sync_29,
+  input   auto_in_sync_30,
+  input   auto_in_sync_31,
+  output  auto_out_0,
+  output  auto_out_1,
+  output  auto_out_2,
+  output  auto_out_3,
+  output  auto_out_4,
+  output  auto_out_5,
+  output  auto_out_6,
+  output  auto_out_7,
+  output  auto_out_8,
+  output  auto_out_9,
+  output  auto_out_10,
+  output  auto_out_11,
+  output  auto_out_12,
+  output  auto_out_13,
+  output  auto_out_14,
+  output  auto_out_15,
+  output  auto_out_16,
+  output  auto_out_17,
+  output  auto_out_18,
+  output  auto_out_19,
+  output  auto_out_20,
+  output  auto_out_21,
+  output  auto_out_22,
+  output  auto_out_23,
+  output  auto_out_24,
+  output  auto_out_25,
+  output  auto_out_26,
+  output  auto_out_27,
+  output  auto_out_28,
+  output  auto_out_29,
+  output  auto_out_30,
+  output  auto_out_31
+);
+  assign auto_out_0 = auto_in_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1 = auto_in_sync_1; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2 = auto_in_sync_2; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3 = auto_in_sync_3; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_4 = auto_in_sync_4; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_5 = auto_in_sync_5; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_6 = auto_in_sync_6; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_7 = auto_in_sync_7; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_8 = auto_in_sync_8; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_9 = auto_in_sync_9; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_10 = auto_in_sync_10; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_11 = auto_in_sync_11; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_12 = auto_in_sync_12; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_13 = auto_in_sync_13; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_14 = auto_in_sync_14; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_15 = auto_in_sync_15; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_16 = auto_in_sync_16; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_17 = auto_in_sync_17; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_18 = auto_in_sync_18; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_19 = auto_in_sync_19; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_20 = auto_in_sync_20; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_21 = auto_in_sync_21; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_22 = auto_in_sync_22; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_23 = auto_in_sync_23; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_24 = auto_in_sync_24; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_25 = auto_in_sync_25; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_26 = auto_in_sync_26; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_27 = auto_in_sync_27; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_28 = auto_in_sync_28; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_29 = auto_in_sync_29; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_30 = auto_in_sync_30; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_31 = auto_in_sync_31; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module AsyncResetRegVec_w4_i0(
+  input        clock,
+  input        reset,
+  input  [3:0] io_d,
+  output [3:0] io_q
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+`endif // RANDOMIZE_REG_INIT
+  reg [3:0] reg_; // @[AsyncResetReg.scala 64:50]
+  assign io_q = reg_; // @[AsyncResetReg.scala 68:8]
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[AsyncResetReg.scala 65:16]
+      reg_ <= 4'h0; // @[AsyncResetReg.scala 66:9]
+    end else begin
+      reg_ <= io_d; // @[AsyncResetReg.scala 64:50]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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[3:0];
+`endif // RANDOMIZE_REG_INIT
+  if (reset) begin
+    reg_ = 4'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module IntSyncCrossingSource_18(
+  input   clock,
+  input   reset,
+  input   auto_in_0,
+  input   auto_in_1,
+  input   auto_in_2,
+  input   auto_in_3,
+  output  auto_out_sync_0,
+  output  auto_out_sync_1,
+  output  auto_out_sync_2,
+  output  auto_out_sync_3
+);
+  wire  reg__clock; // @[AsyncResetReg.scala 89:21]
+  wire  reg__reset; // @[AsyncResetReg.scala 89:21]
+  wire [3:0] reg__io_d; // @[AsyncResetReg.scala 89:21]
+  wire [3:0] reg__io_q; // @[AsyncResetReg.scala 89:21]
+  wire [1:0] lo = {auto_in_1,auto_in_0}; // @[Cat.scala 31:58]
+  wire [1:0] hi = {auto_in_3,auto_in_2}; // @[Cat.scala 31:58]
+  AsyncResetRegVec_w4_i0 reg_ ( // @[AsyncResetReg.scala 89:21]
+    .clock(reg__clock),
+    .reset(reg__reset),
+    .io_d(reg__io_d),
+    .io_q(reg__io_q)
+  );
+  assign auto_out_sync_0 = reg__io_q[0]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_1 = reg__io_q[1]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_2 = reg__io_q[2]; // @[Crossing.scala 41:52]
+  assign auto_out_sync_3 = reg__io_q[3]; // @[Crossing.scala 41:52]
+  assign reg__clock = clock;
+  assign reg__reset = reset;
+  assign reg__io_d = {hi,lo}; // @[Cat.scala 31:58]
+endmodule
+module TLMonitor_67(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10015000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_663 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_663) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module PWMTimer(
+  input         clock,
+  input         reset,
+  input         scale_io_regs_cfg_write__ip_0,
+  input         scale_io_regs_cfg_write__ip_1,
+  input         scale_io_regs_cfg_write__ip_2,
+  input         scale_io_regs_cfg_write__ip_3,
+  input         scale_io_regs_cfg_write__gang_0,
+  input         scale_io_regs_cfg_write__gang_1,
+  input         scale_io_regs_cfg_write__gang_2,
+  input         scale_io_regs_cfg_write__gang_3,
+  input         scale_io_regs_cfg_write__extra_0,
+  input         scale_io_regs_cfg_write__extra_1,
+  input         scale_io_regs_cfg_write__extra_2,
+  input         scale_io_regs_cfg_write__extra_3,
+  input         scale_io_regs_cfg_write__center_0,
+  input         scale_io_regs_cfg_write__center_1,
+  input         scale_io_regs_cfg_write__center_2,
+  input         scale_io_regs_cfg_write__center_3,
+  input         scale_io_regs_cfg_write__running,
+  input         scale_io_regs_cfg_write__countAlways,
+  input         scale_io_regs_cfg_write__deglitch,
+  input         scale_io_regs_cfg_write__zerocmp,
+  input         scale_io_regs_cfg_write__sticky,
+  input  [3:0]  scale_io_regs_cfg_write__scale,
+  output        scale_io_regs_cfg_read_ip_0,
+  output        scale_io_regs_cfg_read_ip_1,
+  output        scale_io_regs_cfg_read_ip_2,
+  output        scale_io_regs_cfg_read_ip_3,
+  output        scale_io_regs_cfg_read_gang_0,
+  output        scale_io_regs_cfg_read_gang_1,
+  output        scale_io_regs_cfg_read_gang_2,
+  output        scale_io_regs_cfg_read_gang_3,
+  output        scale_io_regs_cfg_read_extra_0,
+  output        scale_io_regs_cfg_read_extra_1,
+  output        scale_io_regs_cfg_read_extra_2,
+  output        scale_io_regs_cfg_read_extra_3,
+  output        scale_io_regs_cfg_read_center_0,
+  output        scale_io_regs_cfg_read_center_1,
+  output        scale_io_regs_cfg_read_center_2,
+  output        scale_io_regs_cfg_read_center_3,
+  output        scale_io_regs_cfg_read_running,
+  output        scale_io_regs_cfg_read_countAlways,
+  output        scale_io_regs_cfg_read_deglitch,
+  output        scale_io_regs_cfg_read_zerocmp,
+  output        scale_io_regs_cfg_read_sticky,
+  output [3:0]  scale_io_regs_cfg_read_scale,
+  input         scale_io_regs_cfg_write_ip_0,
+  input         scale_io_regs_cfg_write_ip_1,
+  input         scale_io_regs_cfg_write_ip_2,
+  input         scale_io_regs_cfg_write_ip_3,
+  input         scale_io_regs_cfg_write_gang_0,
+  input         scale_io_regs_cfg_write_gang_1,
+  input         scale_io_regs_cfg_write_gang_2,
+  input         scale_io_regs_cfg_write_gang_3,
+  input         scale_io_regs_cfg_write_extra_0,
+  input         scale_io_regs_cfg_write_extra_1,
+  input         scale_io_regs_cfg_write_extra_2,
+  input         scale_io_regs_cfg_write_extra_3,
+  input         scale_io_regs_cfg_write_center_0,
+  input         scale_io_regs_cfg_write_center_1,
+  input         scale_io_regs_cfg_write_center_2,
+  input         scale_io_regs_cfg_write_center_3,
+  input         scale_io_regs_cfg_write_running,
+  input         scale_io_regs_cfg_write_countAlways,
+  input         scale_io_regs_cfg_write_deglitch,
+  input         scale_io_regs_cfg_write_zerocmp,
+  input         scale_io_regs_cfg_write_sticky,
+  input         scale_io_regs_cfg_write_scale,
+  input         scale_io_regs_countLo_write_valid,
+  input  [30:0] scale_io_regs_countLo_write_bits,
+  output [30:0] scale_io_regs_countLo_read,
+  output [15:0] scale_io_regs_s_read,
+  input         scale_io_regs_cmp_0_write_valid,
+  input  [15:0] scale_io_regs_cmp_0_write_bits,
+  output [15:0] scale_io_regs_cmp_0_read,
+  input         scale_io_regs_cmp_1_write_valid,
+  input  [15:0] scale_io_regs_cmp_1_write_bits,
+  output [15:0] scale_io_regs_cmp_1_read,
+  input         scale_io_regs_cmp_2_write_valid,
+  input  [15:0] scale_io_regs_cmp_2_write_bits,
+  output [15:0] scale_io_regs_cmp_2_read,
+  input         scale_io_regs_cmp_3_write_valid,
+  input  [15:0] scale_io_regs_cmp_3_write_bits,
+  output [15:0] scale_io_regs_cmp_3_read,
+  output        scale_io_ip_0,
+  output        scale_io_ip_1,
+  output        scale_io_ip_2,
+  output        scale_io_ip_3,
+  output        scale_io_gpio_0,
+  output        scale_io_gpio_1,
+  output        scale_io_gpio_2,
+  output        scale_io_gpio_3
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+`endif // RANDOMIZE_REG_INIT
+  reg [3:0] scale; // @[Reg.scala 16:16]
+  reg [15:0] cmp_0; // @[Reg.scala 16:16]
+  reg [15:0] cmp_1; // @[Reg.scala 16:16]
+  reg [15:0] cmp_2; // @[Reg.scala 16:16]
+  reg [15:0] cmp_3; // @[Reg.scala 16:16]
+  reg [4:0] small_; // @[Counters.scala 45:37]
+  reg  countAlways; // @[Reg.scala 28:20]
+  reg  oneShot; // @[Reg.scala 28:20]
+  wire  countEn = countAlways | oneShot; // @[PWM.scala 63:26]
+  wire [4:0] _GEN_32 = {{4'd0}, countEn}; // @[Counters.scala 46:33]
+  wire [5:0] nextSmall = small_ + _GEN_32; // @[Counters.scala 46:33]
+  reg [25:0] large_; // @[Counters.scala 50:27]
+  wire [26:0] _large_r_T = large_ + 26'h1; // @[Counters.scala 51:55]
+  wire [25:0] _large_r_T_1 = large_ + 26'h1; // @[Counters.scala 51:55]
+  wire [25:0] _GEN_6 = nextSmall[5] ? _large_r_T_1 : large_; // @[Counters.scala 50:27 51:{46,50}]
+  wire [30:0] value = {large_,small_}; // @[Cat.scala 31:58]
+  wire [30:0] _s_T = value >> scale; // @[Timer.scala 209:28]
+  wire [15:0] s = _s_T[15:0]; // @[Timer.scala 209:37]
+  wire  _elapsed_center_T_3 = scale_io_regs_cfg_write_center_0 | scale_io_regs_cfg_write_center_1 |
+    scale_io_regs_cfg_write_center_2 | scale_io_regs_cfg_write_center_3; // @[PWM.scala 27:59]
+  reg  center_0; // @[Reg.scala 16:16]
+  reg  center_1; // @[Reg.scala 16:16]
+  reg  center_2; // @[Reg.scala 16:16]
+  reg  center_3; // @[Reg.scala 16:16]
+  wire  _elapsed_T_1 = s[15] & center_0; // @[Timer.scala 211:69]
+  wire [15:0] _elapsed_T_2 = ~s; // @[Timer.scala 211:83]
+  wire [15:0] _elapsed_T_3 = s[15] & center_0 ? _elapsed_T_2 : s; // @[Timer.scala 211:54]
+  wire  elapsed_0 = _elapsed_T_3 >= cmp_0; // @[Timer.scala 211:90]
+  wire  _elapsed_T_6 = s[15] & center_1; // @[Timer.scala 211:69]
+  wire [15:0] _elapsed_T_8 = s[15] & center_1 ? _elapsed_T_2 : s; // @[Timer.scala 211:54]
+  wire  elapsed_1 = _elapsed_T_8 >= cmp_1; // @[Timer.scala 211:90]
+  wire  _elapsed_T_11 = s[15] & center_2; // @[Timer.scala 211:69]
+  wire [15:0] _elapsed_T_13 = s[15] & center_2 ? _elapsed_T_2 : s; // @[Timer.scala 211:54]
+  wire  elapsed_2 = _elapsed_T_13 >= cmp_2; // @[Timer.scala 211:90]
+  wire  _elapsed_T_16 = s[15] & center_3; // @[Timer.scala 211:69]
+  wire [15:0] _elapsed_T_18 = s[15] & center_3 ? _elapsed_T_2 : s; // @[Timer.scala 211:54]
+  wire  elapsed_3 = _elapsed_T_18 >= cmp_3; // @[Timer.scala 211:90]
+  wire [5:0] _GEN_33 = {{1'd0}, small_}; // @[Counters.scala 57:21]
+  wire [5:0] _countReset_feed_carryOut_lo_T = _GEN_33 ^ nextSmall; // @[Counters.scala 57:21]
+  wire [4:0] countReset_feed_carryOut_lo = _countReset_feed_carryOut_lo_T[5:1]; // @[Counters.scala 57:34]
+  wire [26:0] _GEN_34 = {{1'd0}, large_}; // @[Counters.scala 59:49]
+  wire [26:0] _countReset_feed_carryOut_hi_T_2 = _GEN_34 ^ _large_r_T; // @[Counters.scala 59:49]
+  wire [26:0] _countReset_feed_carryOut_hi_T_3 = nextSmall[5] ? _countReset_feed_carryOut_hi_T_2 : 27'h0; // @[Counters.scala 59:19]
+  wire [25:0] countReset_feed_carryOut_hi = _countReset_feed_carryOut_hi_T_3[26:1]; // @[Counters.scala 59:80]
+  wire [30:0] countReset_feed_carryOut = {countReset_feed_carryOut_hi,countReset_feed_carryOut_lo}; // @[Cat.scala 31:58]
+  wire [4:0] _GEN_35 = {{1'd0}, scale}; // @[PWM.scala 30:50]
+  wire [4:0] _countReset_feed_T_1 = _GEN_35 + 5'h10; // @[PWM.scala 30:50]
+  wire [30:0] _countReset_feed_T_2 = countReset_feed_carryOut >> _countReset_feed_T_1; // @[PWM.scala 30:43]
+  wire  feed = _countReset_feed_T_2[0]; // @[PWM.scala 30:43]
+  reg  zerocmp; // @[Reg.scala 16:16]
+  wire  countReset = feed | zerocmp & elapsed_0; // @[Timer.scala 212:35]
+  wire [5:0] _GEN_12 = countReset ? 6'h0 : nextSmall; // @[Timer.scala 213:21 Counters.scala 65:11]
+  wire [25:0] _GEN_13 = countReset ? 26'h0 : _GEN_6; // @[Timer.scala 213:21 Counters.scala 66:23]
+  wire [31:0] _T_3 = {1'h0,scale_io_regs_countLo_write_bits}; // @[Cat.scala 31:58]
+  wire [31:0] _GEN_14 = scale_io_regs_countLo_write_valid ? _T_3 : {{26'd0}, _GEN_12}; // @[Timer.scala 214:50 Counters.scala 65:11]
+  wire [26:0] _GEN_15 = scale_io_regs_countLo_write_valid ? _T_3[31:5] : {{1'd0}, _GEN_13}; // @[Timer.scala 214:50 Counters.scala 66:23]
+  reg  ip_doSticky_x1_deglitch_r; // @[Reg.scala 16:16]
+  wire  _ip_doSticky_x1_T = ~countReset; // @[PWM.scala 39:44]
+  reg  ip_doSticky_x1_sticky_r; // @[Reg.scala 16:16]
+  reg  ip_doSticky; // @[PWM.scala 39:23]
+  reg  ip_0; // @[PWM.scala 41:18]
+  reg  ip_1; // @[PWM.scala 41:18]
+  reg  ip_2; // @[PWM.scala 41:18]
+  reg  ip_3; // @[PWM.scala 41:18]
+  wire  _ip_T = _elapsed_T_1 & elapsed_0; // @[package.scala 65:72]
+  wire  _ip_T_1 = _elapsed_T_6 & elapsed_1; // @[package.scala 65:72]
+  wire  _ip_T_2 = _elapsed_T_11 & elapsed_2; // @[package.scala 65:72]
+  wire  _ip_T_3 = _elapsed_T_16 & elapsed_3; // @[package.scala 65:72]
+  wire  _ip_T_4 = ~_elapsed_T_1; // @[package.scala 70:38]
+  wire  _ip_T_5 = ~_elapsed_T_6; // @[package.scala 70:38]
+  wire  _ip_T_6 = ~_elapsed_T_11; // @[package.scala 70:38]
+  wire  _ip_T_7 = ~_elapsed_T_16; // @[package.scala 70:38]
+  wire  _ip_T_8 = ip_doSticky & ip_0; // @[package.scala 65:72]
+  wire  _ip_T_9 = ip_doSticky & ip_1; // @[package.scala 65:72]
+  wire  _ip_T_10 = ip_doSticky & ip_2; // @[package.scala 65:72]
+  wire  _ip_T_11 = ip_doSticky & ip_3; // @[package.scala 65:72]
+  wire  _ip_T_12 = elapsed_0 | _ip_T_8; // @[package.scala 66:75]
+  wire  _ip_T_13 = elapsed_1 | _ip_T_9; // @[package.scala 66:75]
+  wire  _ip_T_14 = elapsed_2 | _ip_T_10; // @[package.scala 66:75]
+  wire  _ip_T_15 = elapsed_3 | _ip_T_11; // @[package.scala 66:75]
+  wire  _ip_T_16 = _ip_T_4 & _ip_T_12; // @[package.scala 65:72]
+  wire  _ip_T_17 = _ip_T_5 & _ip_T_13; // @[package.scala 65:72]
+  wire  _ip_T_18 = _ip_T_6 & _ip_T_14; // @[package.scala 65:72]
+  wire  _ip_T_19 = _ip_T_7 & _ip_T_15; // @[package.scala 65:72]
+  wire  _ip_T_20 = _ip_T | _ip_T_16; // @[package.scala 66:75]
+  wire  _ip_T_21 = _ip_T_1 | _ip_T_17; // @[package.scala 66:75]
+  wire  _ip_T_22 = _ip_T_2 | _ip_T_18; // @[package.scala 66:75]
+  wire  _ip_T_23 = _ip_T_3 | _ip_T_19; // @[package.scala 66:75]
+  wire  _ip_T_27 = scale_io_regs_cfg_write_ip_0 | scale_io_regs_cfg_write_ip_1 | scale_io_regs_cfg_write_ip_2 |
+    scale_io_regs_cfg_write_ip_3; // @[PWM.scala 27:59]
+  wire  _gang_T_3 = scale_io_regs_cfg_write_gang_0 | scale_io_regs_cfg_write_gang_1 | scale_io_regs_cfg_write_gang_2 |
+    scale_io_regs_cfg_write_gang_3; // @[PWM.scala 27:59]
+  reg  gang_0; // @[Reg.scala 16:16]
+  reg  gang_1; // @[Reg.scala 16:16]
+  reg  gang_2; // @[Reg.scala 16:16]
+  reg  gang_3; // @[Reg.scala 16:16]
+  wire  _extra_T_3 = scale_io_regs_cfg_write_extra_0 | scale_io_regs_cfg_write_extra_1 | scale_io_regs_cfg_write_extra_2
+     | scale_io_regs_cfg_write_extra_3; // @[PWM.scala 27:59]
+  reg  extra_0; // @[Reg.scala 28:20]
+  reg  extra_1; // @[Reg.scala 28:20]
+  reg  extra_2; // @[Reg.scala 28:20]
+  reg  extra_3; // @[Reg.scala 28:20]
+  wire  _io_regs_cfg_read_running_oneShot_T_1 = scale_io_regs_cfg_write__running & _ip_doSticky_x1_T; // @[PWM.scala 32:77]
+  wire  _io_regs_cfg_read_running_oneShot_T_3 = scale_io_regs_cfg_write_running | countReset; // @[PWM.scala 32:146]
+  wire [3:0] invert = {extra_3,extra_2,extra_1,extra_0}; // @[PWM.scala 57:22]
+  wire [3:0] ipU = {ip_3,ip_2,ip_1,ip_0}; // @[PWM.scala 59:16]
+  wire [3:0] gangU = {gang_3,gang_2,gang_1,gang_0}; // @[PWM.scala 60:20]
+  wire [3:0] _T_6 = {ipU[0],ipU[3:1]}; // @[Cat.scala 31:58]
+  wire [3:0] _T_7 = gangU & _T_6; // @[PWM.scala 62:46]
+  wire [3:0] _T_8 = ~_T_7; // @[PWM.scala 62:38]
+  wire [3:0] _T_9 = ipU & _T_8; // @[PWM.scala 62:36]
+  wire [3:0] _T_10 = _T_9 ^ invert; // @[PWM.scala 62:72]
+  assign scale_io_regs_cfg_read_ip_0 = ip_0; // @[Timer.scala 218:23]
+  assign scale_io_regs_cfg_read_ip_1 = ip_1; // @[Timer.scala 218:23]
+  assign scale_io_regs_cfg_read_ip_2 = ip_2; // @[Timer.scala 218:23]
+  assign scale_io_regs_cfg_read_ip_3 = ip_3; // @[Timer.scala 218:23]
+  assign scale_io_regs_cfg_read_gang_0 = gang_0; // @[Timer.scala 219:25]
+  assign scale_io_regs_cfg_read_gang_1 = gang_1; // @[Timer.scala 219:25]
+  assign scale_io_regs_cfg_read_gang_2 = gang_2; // @[Timer.scala 219:25]
+  assign scale_io_regs_cfg_read_gang_3 = gang_3; // @[Timer.scala 219:25]
+  assign scale_io_regs_cfg_read_extra_0 = extra_0; // @[Timer.scala 220:26]
+  assign scale_io_regs_cfg_read_extra_1 = extra_1; // @[Timer.scala 220:26]
+  assign scale_io_regs_cfg_read_extra_2 = extra_2; // @[Timer.scala 220:26]
+  assign scale_io_regs_cfg_read_extra_3 = extra_3; // @[Timer.scala 220:26]
+  assign scale_io_regs_cfg_read_center_0 = center_0; // @[Timer.scala 221:27]
+  assign scale_io_regs_cfg_read_center_1 = center_1; // @[Timer.scala 221:27]
+  assign scale_io_regs_cfg_read_center_2 = center_2; // @[Timer.scala 221:27]
+  assign scale_io_regs_cfg_read_center_3 = center_3; // @[Timer.scala 221:27]
+  assign scale_io_regs_cfg_read_running = oneShot; // @[Timer.scala 222:42]
+  assign scale_io_regs_cfg_read_countAlways = countAlways; // @[Timer.scala 223:32]
+  assign scale_io_regs_cfg_read_deglitch = ip_doSticky_x1_deglitch_r; // @[PWM.scala 36:119]
+  assign scale_io_regs_cfg_read_zerocmp = zerocmp; // @[Timer.scala 225:28]
+  assign scale_io_regs_cfg_read_sticky = ip_doSticky_x1_sticky_r; // @[Timer.scala 226:36]
+  assign scale_io_regs_cfg_read_scale = scale; // @[Timer.scala 227:26]
+  assign scale_io_regs_countLo_read = {large_,small_}; // @[Cat.scala 31:58]
+  assign scale_io_regs_s_read = _s_T[15:0]; // @[Timer.scala 209:37]
+  assign scale_io_regs_cmp_0_read = cmp_0; // @[Timer.scala 232:53]
+  assign scale_io_regs_cmp_1_read = cmp_1; // @[Timer.scala 232:53]
+  assign scale_io_regs_cmp_2_read = cmp_2; // @[Timer.scala 232:53]
+  assign scale_io_regs_cmp_3_read = cmp_3; // @[Timer.scala 232:53]
+  assign scale_io_ip_0 = ip_0; // @[Timer.scala 235:9]
+  assign scale_io_ip_1 = ip_1; // @[Timer.scala 235:9]
+  assign scale_io_ip_2 = ip_2; // @[Timer.scala 235:9]
+  assign scale_io_ip_3 = ip_3; // @[Timer.scala 235:9]
+  assign scale_io_gpio_0 = _T_10[0]; // @[PWM.scala 62:30]
+  assign scale_io_gpio_1 = _T_10[1]; // @[PWM.scala 62:30]
+  assign scale_io_gpio_2 = _T_10[2]; // @[PWM.scala 62:30]
+  assign scale_io_gpio_3 = _T_10[3]; // @[PWM.scala 62:30]
+  always @(posedge clock) begin
+    if (scale_io_regs_cfg_write_scale) begin // @[Reg.scala 17:18]
+      scale <= scale_io_regs_cfg_write__scale; // @[Reg.scala 17:22]
+    end
+    if (scale_io_regs_cmp_0_write_valid) begin // @[Reg.scala 17:18]
+      cmp_0 <= scale_io_regs_cmp_0_write_bits; // @[Reg.scala 17:22]
+    end
+    if (scale_io_regs_cmp_1_write_valid) begin // @[Reg.scala 17:18]
+      cmp_1 <= scale_io_regs_cmp_1_write_bits; // @[Reg.scala 17:22]
+    end
+    if (scale_io_regs_cmp_2_write_valid) begin // @[Reg.scala 17:18]
+      cmp_2 <= scale_io_regs_cmp_2_write_bits; // @[Reg.scala 17:22]
+    end
+    if (scale_io_regs_cmp_3_write_valid) begin // @[Reg.scala 17:18]
+      cmp_3 <= scale_io_regs_cmp_3_write_bits; // @[Reg.scala 17:22]
+    end
+    if (reset) begin // @[Counters.scala 45:37]
+      small_ <= 5'h0; // @[Counters.scala 45:37]
+    end else begin
+      small_ <= _GEN_14[4:0];
+    end
+    if (reset) begin // @[Reg.scala 28:20]
+      countAlways <= 1'h0; // @[Reg.scala 28:20]
+    end else if (scale_io_regs_cfg_write_countAlways) begin // @[Reg.scala 29:18]
+      countAlways <= scale_io_regs_cfg_write__countAlways; // @[Reg.scala 29:22]
+    end
+    if (reset) begin // @[Reg.scala 28:20]
+      oneShot <= 1'h0; // @[Reg.scala 28:20]
+    end else if (_io_regs_cfg_read_running_oneShot_T_3) begin // @[Reg.scala 29:18]
+      oneShot <= _io_regs_cfg_read_running_oneShot_T_1; // @[Reg.scala 29:22]
+    end
+    if (reset) begin // @[Counters.scala 50:27]
+      large_ <= 26'h0; // @[Counters.scala 50:27]
+    end else begin
+      large_ <= _GEN_15[25:0];
+    end
+    if (_elapsed_center_T_3) begin // @[Reg.scala 17:18]
+      center_0 <= scale_io_regs_cfg_write__center_0; // @[Reg.scala 17:22]
+    end
+    if (_elapsed_center_T_3) begin // @[Reg.scala 17:18]
+      center_1 <= scale_io_regs_cfg_write__center_1; // @[Reg.scala 17:22]
+    end
+    if (_elapsed_center_T_3) begin // @[Reg.scala 17:18]
+      center_2 <= scale_io_regs_cfg_write__center_2; // @[Reg.scala 17:22]
+    end
+    if (_elapsed_center_T_3) begin // @[Reg.scala 17:18]
+      center_3 <= scale_io_regs_cfg_write__center_3; // @[Reg.scala 17:22]
+    end
+    if (scale_io_regs_cfg_write_zerocmp) begin // @[Reg.scala 17:18]
+      zerocmp <= scale_io_regs_cfg_write__zerocmp; // @[Reg.scala 17:22]
+    end
+    if (scale_io_regs_cfg_write_deglitch) begin // @[Reg.scala 17:18]
+      ip_doSticky_x1_deglitch_r <= scale_io_regs_cfg_write__deglitch; // @[Reg.scala 17:22]
+    end
+    if (scale_io_regs_cfg_write_sticky) begin // @[Reg.scala 17:18]
+      ip_doSticky_x1_sticky_r <= scale_io_regs_cfg_write__sticky; // @[Reg.scala 17:22]
+    end
+    ip_doSticky <= ip_doSticky_x1_deglitch_r & ~countReset | ip_doSticky_x1_sticky_r; // @[PWM.scala 39:57]
+    if (_ip_T_27) begin // @[PWM.scala 43:50]
+      ip_0 <= scale_io_regs_cfg_write__ip_0; // @[PWM.scala 43:56]
+    end else begin
+      ip_0 <= _ip_T_20; // @[PWM.scala 42:9]
+    end
+    if (_ip_T_27) begin // @[PWM.scala 43:50]
+      ip_1 <= scale_io_regs_cfg_write__ip_1; // @[PWM.scala 43:56]
+    end else begin
+      ip_1 <= _ip_T_21; // @[PWM.scala 42:9]
+    end
+    if (_ip_T_27) begin // @[PWM.scala 43:50]
+      ip_2 <= scale_io_regs_cfg_write__ip_2; // @[PWM.scala 43:56]
+    end else begin
+      ip_2 <= _ip_T_22; // @[PWM.scala 42:9]
+    end
+    if (_ip_T_27) begin // @[PWM.scala 43:50]
+      ip_3 <= scale_io_regs_cfg_write__ip_3; // @[PWM.scala 43:56]
+    end else begin
+      ip_3 <= _ip_T_23; // @[PWM.scala 42:9]
+    end
+    if (_gang_T_3) begin // @[Reg.scala 17:18]
+      gang_0 <= scale_io_regs_cfg_write__gang_0; // @[Reg.scala 17:22]
+    end
+    if (_gang_T_3) begin // @[Reg.scala 17:18]
+      gang_1 <= scale_io_regs_cfg_write__gang_1; // @[Reg.scala 17:22]
+    end
+    if (_gang_T_3) begin // @[Reg.scala 17:18]
+      gang_2 <= scale_io_regs_cfg_write__gang_2; // @[Reg.scala 17:22]
+    end
+    if (_gang_T_3) begin // @[Reg.scala 17:18]
+      gang_3 <= scale_io_regs_cfg_write__gang_3; // @[Reg.scala 17:22]
+    end
+    if (reset) begin // @[Reg.scala 28:20]
+      extra_0 <= 1'h0; // @[Reg.scala 28:20]
+    end else if (_extra_T_3) begin // @[Reg.scala 29:18]
+      extra_0 <= scale_io_regs_cfg_write__extra_0; // @[Reg.scala 29:22]
+    end
+    if (reset) begin // @[Reg.scala 28:20]
+      extra_1 <= 1'h0; // @[Reg.scala 28:20]
+    end else if (_extra_T_3) begin // @[Reg.scala 29:18]
+      extra_1 <= scale_io_regs_cfg_write__extra_1; // @[Reg.scala 29:22]
+    end
+    if (reset) begin // @[Reg.scala 28:20]
+      extra_2 <= 1'h0; // @[Reg.scala 28:20]
+    end else if (_extra_T_3) begin // @[Reg.scala 29:18]
+      extra_2 <= scale_io_regs_cfg_write__extra_2; // @[Reg.scala 29:22]
+    end
+    if (reset) begin // @[Reg.scala 28:20]
+      extra_3 <= 1'h0; // @[Reg.scala 28:20]
+    end else if (_extra_T_3) begin // @[Reg.scala 29:18]
+      extra_3 <= scale_io_regs_cfg_write__extra_3; // @[Reg.scala 29:22]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  cmp_0 = _RAND_1[15:0];
+  _RAND_2 = {1{`RANDOM}};
+  cmp_1 = _RAND_2[15:0];
+  _RAND_3 = {1{`RANDOM}};
+  cmp_2 = _RAND_3[15:0];
+  _RAND_4 = {1{`RANDOM}};
+  cmp_3 = _RAND_4[15:0];
+  _RAND_5 = {1{`RANDOM}};
+  small_ = _RAND_5[4:0];
+  _RAND_6 = {1{`RANDOM}};
+  countAlways = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  oneShot = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  large_ = _RAND_8[25:0];
+  _RAND_9 = {1{`RANDOM}};
+  center_0 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  center_1 = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  center_2 = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  center_3 = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  zerocmp = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  ip_doSticky_x1_deglitch_r = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  ip_doSticky_x1_sticky_r = _RAND_15[0:0];
+  _RAND_16 = {1{`RANDOM}};
+  ip_doSticky = _RAND_16[0:0];
+  _RAND_17 = {1{`RANDOM}};
+  ip_0 = _RAND_17[0:0];
+  _RAND_18 = {1{`RANDOM}};
+  ip_1 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  ip_2 = _RAND_19[0:0];
+  _RAND_20 = {1{`RANDOM}};
+  ip_3 = _RAND_20[0:0];
+  _RAND_21 = {1{`RANDOM}};
+  gang_0 = _RAND_21[0:0];
+  _RAND_22 = {1{`RANDOM}};
+  gang_1 = _RAND_22[0:0];
+  _RAND_23 = {1{`RANDOM}};
+  gang_2 = _RAND_23[0:0];
+  _RAND_24 = {1{`RANDOM}};
+  gang_3 = _RAND_24[0:0];
+  _RAND_25 = {1{`RANDOM}};
+  extra_0 = _RAND_25[0:0];
+  _RAND_26 = {1{`RANDOM}};
+  extra_1 = _RAND_26[0:0];
+  _RAND_27 = {1{`RANDOM}};
+  extra_2 = _RAND_27[0:0];
+  _RAND_28 = {1{`RANDOM}};
+  extra_3 = _RAND_28[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLPWM(
+  input         clock,
+  input         reset,
+  output        auto_int_xing_out_sync_0,
+  output        auto_int_xing_out_sync_1,
+  output        auto_int_xing_out_sync_2,
+  output        auto_int_xing_out_sync_3,
+  output        auto_control_xing_in_a_ready,
+  input         auto_control_xing_in_a_valid,
+  input  [2:0]  auto_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_control_xing_in_a_bits_param,
+  input  [1:0]  auto_control_xing_in_a_bits_size,
+  input  [6:0]  auto_control_xing_in_a_bits_source,
+  input  [28:0] auto_control_xing_in_a_bits_address,
+  input  [3:0]  auto_control_xing_in_a_bits_mask,
+  input  [31:0] auto_control_xing_in_a_bits_data,
+  input         auto_control_xing_in_a_bits_corrupt,
+  input         auto_control_xing_in_d_ready,
+  output        auto_control_xing_in_d_valid,
+  output [2:0]  auto_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_control_xing_in_d_bits_size,
+  output [6:0]  auto_control_xing_in_d_bits_source,
+  output [31:0] auto_control_xing_in_d_bits_data,
+  output        auto_io_out_gpio_0,
+  output        auto_io_out_gpio_1,
+  output        auto_io_out_gpio_2,
+  output        auto_io_out_gpio_3
+);
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  intsource_clock; // @[Crossing.scala 26:31]
+  wire  intsource_reset; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_1; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_2; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_3; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_1; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_2; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_3; // @[Crossing.scala 26:31]
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  pwm_clock; // @[PWM.scala 95:21]
+  wire  pwm_reset; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__ip_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__ip_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__ip_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__ip_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__gang_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__gang_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__gang_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__gang_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__extra_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__extra_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__extra_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__extra_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__center_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__center_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__center_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__center_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__running; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__countAlways; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__deglitch; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__zerocmp; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__sticky; // @[PWM.scala 95:21]
+  wire [3:0] pwm_scale_io_regs_cfg_write__scale; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_ip_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_ip_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_ip_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_ip_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_gang_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_gang_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_gang_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_gang_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_extra_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_extra_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_extra_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_extra_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_center_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_center_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_center_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_center_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_running; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_countAlways; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_deglitch; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_zerocmp; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_sticky; // @[PWM.scala 95:21]
+  wire [3:0] pwm_scale_io_regs_cfg_read_scale; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_ip_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_ip_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_ip_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_ip_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_gang_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_gang_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_gang_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_gang_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_extra_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_extra_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_extra_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_extra_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_center_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_center_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_center_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_center_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_running; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_countAlways; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_deglitch; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_zerocmp; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_sticky; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_scale; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_countLo_write_valid; // @[PWM.scala 95:21]
+  wire [30:0] pwm_scale_io_regs_countLo_write_bits; // @[PWM.scala 95:21]
+  wire [30:0] pwm_scale_io_regs_countLo_read; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_s_read; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cmp_0_write_valid; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_0_write_bits; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_0_read; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cmp_1_write_valid; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_1_write_bits; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_1_read; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cmp_2_write_valid; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_2_write_bits; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_2_read; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cmp_3_write_valid; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_3_write_bits; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_3_read; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_ip_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_ip_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_ip_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_ip_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_gpio_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_gpio_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_gpio_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_gpio_3; // @[PWM.scala 95:21]
+  wire [2:0] bundleIn_0_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  in_bits_read = bundleIn_0_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [28:0] bundleIn_0_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [9:0] in_bits_index = bundleIn_0_a_bits_address[11:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire [9:0] out_findex = in_bits_index & 10'h3f0; // @[RegisterRouter.scala 83:24]
+  wire  _out_T = out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] bundleIn_0_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_frontMask_T_5 = bundleIn_0_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_7 = bundleIn_0_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_9 = bundleIn_0_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_11 = bundleIn_0_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_frontMask = {_out_frontMask_T_11,_out_frontMask_T_9,_out_frontMask_T_7,_out_frontMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_wimask = &out_frontMask[3:0]; // @[RegisterRouter.scala 83:24]
+  wire  bundleIn_0_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  bundleIn_0_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [3:0] out_oindex = {in_bits_index[3],in_bits_index[2],in_bits_index[1],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [15:0] _out_frontSel_T = 16'h1 << out_oindex; // @[OneHot.scala 57:35]
+  wire  out_frontSel_0 = _out_frontSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_0 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_0 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] bundleIn_0_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [3:0] _out_T_29 = pwm_scale_io_regs_cfg_read_scale; // @[RegisterRouter.scala 83:24]
+  wire [4:0] out_prepend = {1'h0,_out_T_29}; // @[Cat.scala 31:58]
+  wire [7:0] _out_T_38 = {{3'd0}, out_prepend}; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_2 = &out_frontMask[8]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_3 = &out_frontMask[9]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_4 = &out_frontMask[10]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_6 = &out_frontMask[12]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_7 = &out_frontMask[13]; // @[RegisterRouter.scala 83:24]
+  wire [14:0] out_prepend_7 = {1'h0,pwm_scale_io_regs_cfg_read_running,pwm_scale_io_regs_cfg_read_countAlways,1'h0,
+    pwm_scale_io_regs_cfg_read_deglitch,pwm_scale_io_regs_cfg_read_zerocmp,pwm_scale_io_regs_cfg_read_sticky,_out_T_38}; // @[Cat.scala 31:58]
+  wire [15:0] _out_T_111 = {{1'd0}, out_prepend_7}; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_9 = &out_frontMask[16]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_10 = &out_frontMask[17]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_11 = &out_frontMask[18]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_12 = &out_frontMask[19]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_13 = &out_frontMask[20]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_14 = &out_frontMask[21]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_15 = &out_frontMask[22]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_16 = &out_frontMask[23]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_17 = &out_frontMask[24]; // @[RegisterRouter.scala 83:24]
+  wire [24:0] out_prepend_16 = {pwm_scale_io_regs_cfg_read_gang_0,pwm_scale_io_regs_cfg_read_extra_3,
+    pwm_scale_io_regs_cfg_read_extra_2,pwm_scale_io_regs_cfg_read_extra_1,pwm_scale_io_regs_cfg_read_extra_0,
+    pwm_scale_io_regs_cfg_read_center_3,pwm_scale_io_regs_cfg_read_center_2,pwm_scale_io_regs_cfg_read_center_1,
+    pwm_scale_io_regs_cfg_read_center_0,_out_T_111}; // @[Cat.scala 31:58]
+  wire  out_wimask_18 = &out_frontMask[25]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_19 = &out_frontMask[26]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_20 = &out_frontMask[27]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_21 = &out_frontMask[28]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_22 = &out_frontMask[29]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_23 = &out_frontMask[30]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_24 = &out_frontMask[31]; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_23 = {pwm_scale_io_regs_cfg_read_ip_3,pwm_scale_io_regs_cfg_read_ip_2,
+    pwm_scale_io_regs_cfg_read_ip_1,pwm_scale_io_regs_cfg_read_ip_0,pwm_scale_io_regs_cfg_read_gang_3,
+    pwm_scale_io_regs_cfg_read_gang_2,pwm_scale_io_regs_cfg_read_gang_1,out_prepend_16}; // @[Cat.scala 31:58]
+  wire  out_wimask_25 = &out_frontMask[15:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_10 = _out_frontSel_T[10]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_25 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_10 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_298 = pwm_scale_io_regs_cmp_2_read; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_9 = _out_frontSel_T[9]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_27 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_9 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_318 = pwm_scale_io_regs_cmp_1_read; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_28 = &out_frontMask[30:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_2 = _out_frontSel_T[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_28 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_2 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [30:0] _out_T_329 = pwm_scale_io_regs_countLo_read; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_11 = _out_frontSel_T[11]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_31 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_11 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_358 = pwm_scale_io_regs_cmp_3_read; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_8 = _out_frontSel_T[8]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_32 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_8 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_369 = pwm_scale_io_regs_cmp_0_read; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_378 = pwm_scale_io_regs_s_read; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_66 = 4'h2 == out_oindex ? _out_T : 4'h1 == out_oindex | _out_T; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_67 = 4'h3 == out_oindex ? _out_T : _GEN_66; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_68 = 4'h4 == out_oindex ? _out_T : _GEN_67; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_70 = 4'h6 == out_oindex ? _out_T : 4'h5 == out_oindex | _GEN_68; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_71 = 4'h7 == out_oindex ? _out_T : _GEN_70; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_72 = 4'h8 == out_oindex ? _out_T : _GEN_71; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_73 = 4'h9 == out_oindex ? _out_T : _GEN_72; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_74 = 4'ha == out_oindex ? _out_T : _GEN_73; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_75 = 4'hb == out_oindex ? _out_T : _GEN_74; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_79 = 4'hf == out_oindex | (4'he == out_oindex | (4'hd == out_oindex | (4'hc == out_oindex | _GEN_75))); // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_81 = 4'h1 == out_oindex ? 32'h0 : out_prepend_23; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_2 = {{1'd0}, _out_T_329}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_82 = 4'h2 == out_oindex ? _out_out_bits_data_WIRE_1_2 : _GEN_81; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_83 = 4'h3 == out_oindex ? 32'h0 : _GEN_82; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_4 = {{16'd0}, _out_T_378}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_84 = 4'h4 == out_oindex ? _out_out_bits_data_WIRE_1_4 : _GEN_83; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_85 = 4'h5 == out_oindex ? 32'h0 : _GEN_84; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_86 = 4'h6 == out_oindex ? 32'h0 : _GEN_85; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_87 = 4'h7 == out_oindex ? 32'h1 : _GEN_86; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_8 = {{16'd0}, _out_T_369}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_88 = 4'h8 == out_oindex ? _out_out_bits_data_WIRE_1_8 : _GEN_87; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_9 = {{16'd0}, _out_T_318}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_89 = 4'h9 == out_oindex ? _out_out_bits_data_WIRE_1_9 : _GEN_88; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_10 = {{16'd0}, _out_T_298}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_90 = 4'ha == out_oindex ? _out_out_bits_data_WIRE_1_10 : _GEN_89; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_11 = {{16'd0}, _out_T_358}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_91 = 4'hb == out_oindex ? _out_out_bits_data_WIRE_1_11 : _GEN_90; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_92 = 4'hc == out_oindex ? 32'h0 : _GEN_91; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_93 = 4'hd == out_oindex ? 32'h0 : _GEN_92; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_94 = 4'he == out_oindex ? 32'h0 : _GEN_93; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_95 = 4'hf == out_oindex ? 32'h0 : _GEN_94; // @[MuxLiteral.scala 48:{10,10}]
+  TLBuffer_13 buffer ( // @[Buffer.scala 68:28]
+    .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_18 intsource ( // @[Crossing.scala 26:31]
+    .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_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)
+  );
+  TLMonitor_67 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  PWMTimer pwm ( // @[PWM.scala 95:21]
+    .clock(pwm_clock),
+    .reset(pwm_reset),
+    .scale_io_regs_cfg_write__ip_0(pwm_scale_io_regs_cfg_write__ip_0),
+    .scale_io_regs_cfg_write__ip_1(pwm_scale_io_regs_cfg_write__ip_1),
+    .scale_io_regs_cfg_write__ip_2(pwm_scale_io_regs_cfg_write__ip_2),
+    .scale_io_regs_cfg_write__ip_3(pwm_scale_io_regs_cfg_write__ip_3),
+    .scale_io_regs_cfg_write__gang_0(pwm_scale_io_regs_cfg_write__gang_0),
+    .scale_io_regs_cfg_write__gang_1(pwm_scale_io_regs_cfg_write__gang_1),
+    .scale_io_regs_cfg_write__gang_2(pwm_scale_io_regs_cfg_write__gang_2),
+    .scale_io_regs_cfg_write__gang_3(pwm_scale_io_regs_cfg_write__gang_3),
+    .scale_io_regs_cfg_write__extra_0(pwm_scale_io_regs_cfg_write__extra_0),
+    .scale_io_regs_cfg_write__extra_1(pwm_scale_io_regs_cfg_write__extra_1),
+    .scale_io_regs_cfg_write__extra_2(pwm_scale_io_regs_cfg_write__extra_2),
+    .scale_io_regs_cfg_write__extra_3(pwm_scale_io_regs_cfg_write__extra_3),
+    .scale_io_regs_cfg_write__center_0(pwm_scale_io_regs_cfg_write__center_0),
+    .scale_io_regs_cfg_write__center_1(pwm_scale_io_regs_cfg_write__center_1),
+    .scale_io_regs_cfg_write__center_2(pwm_scale_io_regs_cfg_write__center_2),
+    .scale_io_regs_cfg_write__center_3(pwm_scale_io_regs_cfg_write__center_3),
+    .scale_io_regs_cfg_write__running(pwm_scale_io_regs_cfg_write__running),
+    .scale_io_regs_cfg_write__countAlways(pwm_scale_io_regs_cfg_write__countAlways),
+    .scale_io_regs_cfg_write__deglitch(pwm_scale_io_regs_cfg_write__deglitch),
+    .scale_io_regs_cfg_write__zerocmp(pwm_scale_io_regs_cfg_write__zerocmp),
+    .scale_io_regs_cfg_write__sticky(pwm_scale_io_regs_cfg_write__sticky),
+    .scale_io_regs_cfg_write__scale(pwm_scale_io_regs_cfg_write__scale),
+    .scale_io_regs_cfg_read_ip_0(pwm_scale_io_regs_cfg_read_ip_0),
+    .scale_io_regs_cfg_read_ip_1(pwm_scale_io_regs_cfg_read_ip_1),
+    .scale_io_regs_cfg_read_ip_2(pwm_scale_io_regs_cfg_read_ip_2),
+    .scale_io_regs_cfg_read_ip_3(pwm_scale_io_regs_cfg_read_ip_3),
+    .scale_io_regs_cfg_read_gang_0(pwm_scale_io_regs_cfg_read_gang_0),
+    .scale_io_regs_cfg_read_gang_1(pwm_scale_io_regs_cfg_read_gang_1),
+    .scale_io_regs_cfg_read_gang_2(pwm_scale_io_regs_cfg_read_gang_2),
+    .scale_io_regs_cfg_read_gang_3(pwm_scale_io_regs_cfg_read_gang_3),
+    .scale_io_regs_cfg_read_extra_0(pwm_scale_io_regs_cfg_read_extra_0),
+    .scale_io_regs_cfg_read_extra_1(pwm_scale_io_regs_cfg_read_extra_1),
+    .scale_io_regs_cfg_read_extra_2(pwm_scale_io_regs_cfg_read_extra_2),
+    .scale_io_regs_cfg_read_extra_3(pwm_scale_io_regs_cfg_read_extra_3),
+    .scale_io_regs_cfg_read_center_0(pwm_scale_io_regs_cfg_read_center_0),
+    .scale_io_regs_cfg_read_center_1(pwm_scale_io_regs_cfg_read_center_1),
+    .scale_io_regs_cfg_read_center_2(pwm_scale_io_regs_cfg_read_center_2),
+    .scale_io_regs_cfg_read_center_3(pwm_scale_io_regs_cfg_read_center_3),
+    .scale_io_regs_cfg_read_running(pwm_scale_io_regs_cfg_read_running),
+    .scale_io_regs_cfg_read_countAlways(pwm_scale_io_regs_cfg_read_countAlways),
+    .scale_io_regs_cfg_read_deglitch(pwm_scale_io_regs_cfg_read_deglitch),
+    .scale_io_regs_cfg_read_zerocmp(pwm_scale_io_regs_cfg_read_zerocmp),
+    .scale_io_regs_cfg_read_sticky(pwm_scale_io_regs_cfg_read_sticky),
+    .scale_io_regs_cfg_read_scale(pwm_scale_io_regs_cfg_read_scale),
+    .scale_io_regs_cfg_write_ip_0(pwm_scale_io_regs_cfg_write_ip_0),
+    .scale_io_regs_cfg_write_ip_1(pwm_scale_io_regs_cfg_write_ip_1),
+    .scale_io_regs_cfg_write_ip_2(pwm_scale_io_regs_cfg_write_ip_2),
+    .scale_io_regs_cfg_write_ip_3(pwm_scale_io_regs_cfg_write_ip_3),
+    .scale_io_regs_cfg_write_gang_0(pwm_scale_io_regs_cfg_write_gang_0),
+    .scale_io_regs_cfg_write_gang_1(pwm_scale_io_regs_cfg_write_gang_1),
+    .scale_io_regs_cfg_write_gang_2(pwm_scale_io_regs_cfg_write_gang_2),
+    .scale_io_regs_cfg_write_gang_3(pwm_scale_io_regs_cfg_write_gang_3),
+    .scale_io_regs_cfg_write_extra_0(pwm_scale_io_regs_cfg_write_extra_0),
+    .scale_io_regs_cfg_write_extra_1(pwm_scale_io_regs_cfg_write_extra_1),
+    .scale_io_regs_cfg_write_extra_2(pwm_scale_io_regs_cfg_write_extra_2),
+    .scale_io_regs_cfg_write_extra_3(pwm_scale_io_regs_cfg_write_extra_3),
+    .scale_io_regs_cfg_write_center_0(pwm_scale_io_regs_cfg_write_center_0),
+    .scale_io_regs_cfg_write_center_1(pwm_scale_io_regs_cfg_write_center_1),
+    .scale_io_regs_cfg_write_center_2(pwm_scale_io_regs_cfg_write_center_2),
+    .scale_io_regs_cfg_write_center_3(pwm_scale_io_regs_cfg_write_center_3),
+    .scale_io_regs_cfg_write_running(pwm_scale_io_regs_cfg_write_running),
+    .scale_io_regs_cfg_write_countAlways(pwm_scale_io_regs_cfg_write_countAlways),
+    .scale_io_regs_cfg_write_deglitch(pwm_scale_io_regs_cfg_write_deglitch),
+    .scale_io_regs_cfg_write_zerocmp(pwm_scale_io_regs_cfg_write_zerocmp),
+    .scale_io_regs_cfg_write_sticky(pwm_scale_io_regs_cfg_write_sticky),
+    .scale_io_regs_cfg_write_scale(pwm_scale_io_regs_cfg_write_scale),
+    .scale_io_regs_countLo_write_valid(pwm_scale_io_regs_countLo_write_valid),
+    .scale_io_regs_countLo_write_bits(pwm_scale_io_regs_countLo_write_bits),
+    .scale_io_regs_countLo_read(pwm_scale_io_regs_countLo_read),
+    .scale_io_regs_s_read(pwm_scale_io_regs_s_read),
+    .scale_io_regs_cmp_0_write_valid(pwm_scale_io_regs_cmp_0_write_valid),
+    .scale_io_regs_cmp_0_write_bits(pwm_scale_io_regs_cmp_0_write_bits),
+    .scale_io_regs_cmp_0_read(pwm_scale_io_regs_cmp_0_read),
+    .scale_io_regs_cmp_1_write_valid(pwm_scale_io_regs_cmp_1_write_valid),
+    .scale_io_regs_cmp_1_write_bits(pwm_scale_io_regs_cmp_1_write_bits),
+    .scale_io_regs_cmp_1_read(pwm_scale_io_regs_cmp_1_read),
+    .scale_io_regs_cmp_2_write_valid(pwm_scale_io_regs_cmp_2_write_valid),
+    .scale_io_regs_cmp_2_write_bits(pwm_scale_io_regs_cmp_2_write_bits),
+    .scale_io_regs_cmp_2_read(pwm_scale_io_regs_cmp_2_read),
+    .scale_io_regs_cmp_3_write_valid(pwm_scale_io_regs_cmp_3_write_valid),
+    .scale_io_regs_cmp_3_write_bits(pwm_scale_io_regs_cmp_3_write_bits),
+    .scale_io_regs_cmp_3_read(pwm_scale_io_regs_cmp_3_read),
+    .scale_io_ip_0(pwm_scale_io_ip_0),
+    .scale_io_ip_1(pwm_scale_io_ip_1),
+    .scale_io_ip_2(pwm_scale_io_ip_2),
+    .scale_io_ip_3(pwm_scale_io_ip_3),
+    .scale_io_gpio_0(pwm_scale_io_gpio_0),
+    .scale_io_gpio_1(pwm_scale_io_gpio_1),
+    .scale_io_gpio_2(pwm_scale_io_gpio_2),
+    .scale_io_gpio_3(pwm_scale_io_gpio_3)
+  );
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_1 = intsource_auto_out_sync_1; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_2 = intsource_auto_out_sync_2; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_3 = intsource_auto_out_sync_3; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_io_out_gpio_0 = pwm_scale_io_gpio_0; // @[Nodes.scala 1207:84 PWM.scala 97:15]
+  assign auto_io_out_gpio_1 = pwm_scale_io_gpio_1; // @[Nodes.scala 1207:84 PWM.scala 97:15]
+  assign auto_io_out_gpio_2 = pwm_scale_io_gpio_2; // @[Nodes.scala 1207:84 PWM.scala 97:15]
+  assign auto_io_out_gpio_3 = pwm_scale_io_gpio_3; // @[Nodes.scala 1207:84 PWM.scala 97:15]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign buffer_auto_out_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = _GEN_79 ? _GEN_95 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign intsource_clock = clock;
+  assign intsource_reset = reset;
+  assign intsource_auto_in_0 = pwm_scale_io_ip_0; // @[Nodes.scala 1207:84 PWM.scala 96:16]
+  assign intsource_auto_in_1 = pwm_scale_io_ip_1; // @[Nodes.scala 1207:84 PWM.scala 96:16]
+  assign intsource_auto_in_2 = pwm_scale_io_ip_2; // @[Nodes.scala 1207:84 PWM.scala 96:16]
+  assign intsource_auto_in_3 = pwm_scale_io_ip_3; // @[Nodes.scala 1207:84 PWM.scala 96:16]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwm_clock = clock;
+  assign pwm_reset = reset;
+  assign pwm_scale_io_regs_cfg_write__ip_0 = bundleIn_0_a_bits_data[28]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__ip_1 = bundleIn_0_a_bits_data[29]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__ip_2 = bundleIn_0_a_bits_data[30]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__ip_3 = bundleIn_0_a_bits_data[31]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__gang_0 = bundleIn_0_a_bits_data[24]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__gang_1 = bundleIn_0_a_bits_data[25]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__gang_2 = bundleIn_0_a_bits_data[26]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__gang_3 = bundleIn_0_a_bits_data[27]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__extra_0 = bundleIn_0_a_bits_data[20]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__extra_1 = bundleIn_0_a_bits_data[21]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__extra_2 = bundleIn_0_a_bits_data[22]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__extra_3 = bundleIn_0_a_bits_data[23]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__center_0 = bundleIn_0_a_bits_data[16]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__center_1 = bundleIn_0_a_bits_data[17]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__center_2 = bundleIn_0_a_bits_data[18]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__center_3 = bundleIn_0_a_bits_data[19]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__running = bundleIn_0_a_bits_data[13]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__countAlways = bundleIn_0_a_bits_data[12]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__deglitch = bundleIn_0_a_bits_data[10]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__zerocmp = bundleIn_0_a_bits_data[9]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__sticky = bundleIn_0_a_bits_data[8]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__scale = bundleIn_0_a_bits_data[3:0]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_ip_0 = out_wivalid_0 & out_wimask_21; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_ip_1 = out_wivalid_0 & out_wimask_22; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_ip_2 = out_wivalid_0 & out_wimask_23; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_ip_3 = out_wivalid_0 & out_wimask_24; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_gang_0 = out_wivalid_0 & out_wimask_17; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_gang_1 = out_wivalid_0 & out_wimask_18; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_gang_2 = out_wivalid_0 & out_wimask_19; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_gang_3 = out_wivalid_0 & out_wimask_20; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_extra_0 = out_wivalid_0 & out_wimask_13; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_extra_1 = out_wivalid_0 & out_wimask_14; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_extra_2 = out_wivalid_0 & out_wimask_15; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_extra_3 = out_wivalid_0 & out_wimask_16; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_center_0 = out_wivalid_0 & out_wimask_9; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_center_1 = out_wivalid_0 & out_wimask_10; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_center_2 = out_wivalid_0 & out_wimask_11; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_center_3 = out_wivalid_0 & out_wimask_12; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_running = out_wivalid_0 & out_wimask_7; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_countAlways = out_wivalid_0 & out_wimask_6; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_deglitch = out_wivalid_0 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_zerocmp = out_wivalid_0 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_sticky = out_wivalid_0 & out_wimask_2; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_scale = out_wivalid_0 & out_wimask; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_countLo_write_valid = out_wivalid_28 & out_wimask_28; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_countLo_write_bits = bundleIn_0_a_bits_data[30:0]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_0_write_valid = out_wivalid_32 & out_wimask_25; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_0_write_bits = bundleIn_0_a_bits_data[15:0]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_1_write_valid = out_wivalid_27 & out_wimask_25; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_1_write_bits = bundleIn_0_a_bits_data[15:0]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_2_write_valid = out_wivalid_25 & out_wimask_25; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_2_write_bits = bundleIn_0_a_bits_data[15:0]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_3_write_valid = out_wivalid_31 & out_wimask_25; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_3_write_bits = bundleIn_0_a_bits_data[15:0]; // @[RegisterRouter.scala 83:24]
+endmodule
+module ClockSinkDomain_10(
+  output        auto_pwm_0_int_xing_out_sync_0,
+  output        auto_pwm_0_int_xing_out_sync_1,
+  output        auto_pwm_0_int_xing_out_sync_2,
+  output        auto_pwm_0_int_xing_out_sync_3,
+  output        auto_pwm_0_control_xing_in_a_ready,
+  input         auto_pwm_0_control_xing_in_a_valid,
+  input  [2:0]  auto_pwm_0_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_pwm_0_control_xing_in_a_bits_param,
+  input  [1:0]  auto_pwm_0_control_xing_in_a_bits_size,
+  input  [6:0]  auto_pwm_0_control_xing_in_a_bits_source,
+  input  [28:0] auto_pwm_0_control_xing_in_a_bits_address,
+  input  [3:0]  auto_pwm_0_control_xing_in_a_bits_mask,
+  input  [31:0] auto_pwm_0_control_xing_in_a_bits_data,
+  input         auto_pwm_0_control_xing_in_a_bits_corrupt,
+  input         auto_pwm_0_control_xing_in_d_ready,
+  output        auto_pwm_0_control_xing_in_d_valid,
+  output [2:0]  auto_pwm_0_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_pwm_0_control_xing_in_d_bits_size,
+  output [6:0]  auto_pwm_0_control_xing_in_d_bits_source,
+  output [31:0] auto_pwm_0_control_xing_in_d_bits_data,
+  output        auto_pwm_0_io_out_gpio_0,
+  output        auto_pwm_0_io_out_gpio_1,
+  output        auto_pwm_0_io_out_gpio_2,
+  output        auto_pwm_0_io_out_gpio_3,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  pwm_0_clock; // @[PWM.scala 135:49]
+  wire  pwm_0_reset; // @[PWM.scala 135:49]
+  wire  pwm_0_auto_int_xing_out_sync_0; // @[PWM.scala 135:49]
+  wire  pwm_0_auto_int_xing_out_sync_1; // @[PWM.scala 135:49]
+  wire  pwm_0_auto_int_xing_out_sync_2; // @[PWM.scala 135:49]
+  wire  pwm_0_auto_int_xing_out_sync_3; // @[PWM.scala 135:49]
+  wire  pwm_0_auto_control_xing_in_a_ready; // @[PWM.scala 135:49]
+  wire  pwm_0_auto_control_xing_in_a_valid; // @[PWM.scala 135:49]
+  wire [2:0] pwm_0_auto_control_xing_in_a_bits_opcode; // @[PWM.scala 135:49]
+  wire [2:0] pwm_0_auto_control_xing_in_a_bits_param; // @[PWM.scala 135:49]
+  wire [1:0] pwm_0_auto_control_xing_in_a_bits_size; // @[PWM.scala 135:49]
+  wire [6:0] pwm_0_auto_control_xing_in_a_bits_source; // @[PWM.scala 135:49]
+  wire [28:0] pwm_0_auto_control_xing_in_a_bits_address; // @[PWM.scala 135:49]
+  wire [3:0] pwm_0_auto_control_xing_in_a_bits_mask; // @[PWM.scala 135:49]
+  wire [31:0] pwm_0_auto_control_xing_in_a_bits_data; // @[PWM.scala 135:49]
+  wire  pwm_0_auto_control_xing_in_a_bits_corrupt; // @[PWM.scala 135:49]
+  wire  pwm_0_auto_control_xing_in_d_ready; // @[PWM.scala 135:49]
+  wire  pwm_0_auto_control_xing_in_d_valid; // @[PWM.scala 135:49]
+  wire [2:0] pwm_0_auto_control_xing_in_d_bits_opcode; // @[PWM.scala 135:49]
+  wire [1:0] pwm_0_auto_control_xing_in_d_bits_size; // @[PWM.scala 135:49]
+  wire [6:0] pwm_0_auto_control_xing_in_d_bits_source; // @[PWM.scala 135:49]
+  wire [31:0] pwm_0_auto_control_xing_in_d_bits_data; // @[PWM.scala 135:49]
+  wire  pwm_0_auto_io_out_gpio_0; // @[PWM.scala 135:49]
+  wire  pwm_0_auto_io_out_gpio_1; // @[PWM.scala 135:49]
+  wire  pwm_0_auto_io_out_gpio_2; // @[PWM.scala 135:49]
+  wire  pwm_0_auto_io_out_gpio_3; // @[PWM.scala 135:49]
+  TLPWM pwm_0 ( // @[PWM.scala 135:49]
+    .clock(pwm_0_clock),
+    .reset(pwm_0_reset),
+    .auto_int_xing_out_sync_0(pwm_0_auto_int_xing_out_sync_0),
+    .auto_int_xing_out_sync_1(pwm_0_auto_int_xing_out_sync_1),
+    .auto_int_xing_out_sync_2(pwm_0_auto_int_xing_out_sync_2),
+    .auto_int_xing_out_sync_3(pwm_0_auto_int_xing_out_sync_3),
+    .auto_control_xing_in_a_ready(pwm_0_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(pwm_0_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(pwm_0_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(pwm_0_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(pwm_0_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(pwm_0_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(pwm_0_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(pwm_0_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(pwm_0_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(pwm_0_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(pwm_0_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(pwm_0_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(pwm_0_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(pwm_0_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(pwm_0_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(pwm_0_auto_control_xing_in_d_bits_data),
+    .auto_io_out_gpio_0(pwm_0_auto_io_out_gpio_0),
+    .auto_io_out_gpio_1(pwm_0_auto_io_out_gpio_1),
+    .auto_io_out_gpio_2(pwm_0_auto_io_out_gpio_2),
+    .auto_io_out_gpio_3(pwm_0_auto_io_out_gpio_3)
+  );
+  assign auto_pwm_0_int_xing_out_sync_0 = pwm_0_auto_int_xing_out_sync_0; // @[LazyModule.scala 311:12]
+  assign auto_pwm_0_int_xing_out_sync_1 = pwm_0_auto_int_xing_out_sync_1; // @[LazyModule.scala 311:12]
+  assign auto_pwm_0_int_xing_out_sync_2 = pwm_0_auto_int_xing_out_sync_2; // @[LazyModule.scala 311:12]
+  assign auto_pwm_0_int_xing_out_sync_3 = pwm_0_auto_int_xing_out_sync_3; // @[LazyModule.scala 311:12]
+  assign auto_pwm_0_control_xing_in_a_ready = pwm_0_auto_control_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_pwm_0_control_xing_in_d_valid = pwm_0_auto_control_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_pwm_0_control_xing_in_d_bits_opcode = pwm_0_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_pwm_0_control_xing_in_d_bits_size = pwm_0_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_pwm_0_control_xing_in_d_bits_source = pwm_0_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_pwm_0_control_xing_in_d_bits_data = pwm_0_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_pwm_0_io_out_gpio_0 = pwm_0_auto_io_out_gpio_0; // @[LazyModule.scala 311:12]
+  assign auto_pwm_0_io_out_gpio_1 = pwm_0_auto_io_out_gpio_1; // @[LazyModule.scala 311:12]
+  assign auto_pwm_0_io_out_gpio_2 = pwm_0_auto_io_out_gpio_2; // @[LazyModule.scala 311:12]
+  assign auto_pwm_0_io_out_gpio_3 = pwm_0_auto_io_out_gpio_3; // @[LazyModule.scala 311:12]
+  assign pwm_0_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign pwm_0_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign pwm_0_auto_control_xing_in_a_valid = auto_pwm_0_control_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign pwm_0_auto_control_xing_in_a_bits_opcode = auto_pwm_0_control_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign pwm_0_auto_control_xing_in_a_bits_param = auto_pwm_0_control_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign pwm_0_auto_control_xing_in_a_bits_size = auto_pwm_0_control_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign pwm_0_auto_control_xing_in_a_bits_source = auto_pwm_0_control_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign pwm_0_auto_control_xing_in_a_bits_address = auto_pwm_0_control_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign pwm_0_auto_control_xing_in_a_bits_mask = auto_pwm_0_control_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign pwm_0_auto_control_xing_in_a_bits_data = auto_pwm_0_control_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign pwm_0_auto_control_xing_in_a_bits_corrupt = auto_pwm_0_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign pwm_0_auto_control_xing_in_d_ready = auto_pwm_0_control_xing_in_d_ready; // @[LazyModule.scala 309:16]
+endmodule
+module IntSyncSyncCrossingSink_16(
+  input   auto_in_sync_0,
+  input   auto_in_sync_1,
+  input   auto_in_sync_2,
+  input   auto_in_sync_3,
+  output  auto_out_0,
+  output  auto_out_1,
+  output  auto_out_2,
+  output  auto_out_3
+);
+  assign auto_out_0 = auto_in_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_1 = auto_in_sync_1; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_2 = auto_in_sync_2; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_out_3 = auto_in_sync_3; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module TLMonitor_68(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10025000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_663 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_663) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLPWM_1(
+  input         clock,
+  input         reset,
+  output        auto_int_xing_out_sync_0,
+  output        auto_int_xing_out_sync_1,
+  output        auto_int_xing_out_sync_2,
+  output        auto_int_xing_out_sync_3,
+  output        auto_control_xing_in_a_ready,
+  input         auto_control_xing_in_a_valid,
+  input  [2:0]  auto_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_control_xing_in_a_bits_param,
+  input  [1:0]  auto_control_xing_in_a_bits_size,
+  input  [6:0]  auto_control_xing_in_a_bits_source,
+  input  [28:0] auto_control_xing_in_a_bits_address,
+  input  [3:0]  auto_control_xing_in_a_bits_mask,
+  input  [31:0] auto_control_xing_in_a_bits_data,
+  input         auto_control_xing_in_a_bits_corrupt,
+  input         auto_control_xing_in_d_ready,
+  output        auto_control_xing_in_d_valid,
+  output [2:0]  auto_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_control_xing_in_d_bits_size,
+  output [6:0]  auto_control_xing_in_d_bits_source,
+  output [31:0] auto_control_xing_in_d_bits_data,
+  output        auto_io_out_gpio_0,
+  output        auto_io_out_gpio_1,
+  output        auto_io_out_gpio_2,
+  output        auto_io_out_gpio_3
+);
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  intsource_clock; // @[Crossing.scala 26:31]
+  wire  intsource_reset; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_1; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_2; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_3; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_1; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_2; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_3; // @[Crossing.scala 26:31]
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  pwm_clock; // @[PWM.scala 95:21]
+  wire  pwm_reset; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__ip_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__ip_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__ip_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__ip_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__gang_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__gang_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__gang_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__gang_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__extra_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__extra_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__extra_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__extra_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__center_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__center_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__center_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__center_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__running; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__countAlways; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__deglitch; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__zerocmp; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__sticky; // @[PWM.scala 95:21]
+  wire [3:0] pwm_scale_io_regs_cfg_write__scale; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_ip_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_ip_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_ip_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_ip_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_gang_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_gang_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_gang_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_gang_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_extra_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_extra_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_extra_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_extra_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_center_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_center_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_center_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_center_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_running; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_countAlways; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_deglitch; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_zerocmp; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_sticky; // @[PWM.scala 95:21]
+  wire [3:0] pwm_scale_io_regs_cfg_read_scale; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_ip_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_ip_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_ip_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_ip_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_gang_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_gang_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_gang_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_gang_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_extra_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_extra_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_extra_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_extra_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_center_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_center_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_center_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_center_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_running; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_countAlways; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_deglitch; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_zerocmp; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_sticky; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_scale; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_countLo_write_valid; // @[PWM.scala 95:21]
+  wire [30:0] pwm_scale_io_regs_countLo_write_bits; // @[PWM.scala 95:21]
+  wire [30:0] pwm_scale_io_regs_countLo_read; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_s_read; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cmp_0_write_valid; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_0_write_bits; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_0_read; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cmp_1_write_valid; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_1_write_bits; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_1_read; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cmp_2_write_valid; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_2_write_bits; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_2_read; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cmp_3_write_valid; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_3_write_bits; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_3_read; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_ip_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_ip_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_ip_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_ip_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_gpio_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_gpio_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_gpio_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_gpio_3; // @[PWM.scala 95:21]
+  wire [2:0] bundleIn_0_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  in_bits_read = bundleIn_0_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [28:0] bundleIn_0_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [9:0] in_bits_index = bundleIn_0_a_bits_address[11:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire [9:0] out_findex = in_bits_index & 10'h3f0; // @[RegisterRouter.scala 83:24]
+  wire  _out_T = out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] bundleIn_0_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_frontMask_T_5 = bundleIn_0_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_7 = bundleIn_0_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_9 = bundleIn_0_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_11 = bundleIn_0_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_frontMask = {_out_frontMask_T_11,_out_frontMask_T_9,_out_frontMask_T_7,_out_frontMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_wimask = &out_frontMask[3:0]; // @[RegisterRouter.scala 83:24]
+  wire  bundleIn_0_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  bundleIn_0_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [3:0] out_oindex = {in_bits_index[3],in_bits_index[2],in_bits_index[1],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [15:0] _out_frontSel_T = 16'h1 << out_oindex; // @[OneHot.scala 57:35]
+  wire  out_frontSel_0 = _out_frontSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_0 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_0 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] bundleIn_0_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [3:0] _out_T_29 = pwm_scale_io_regs_cfg_read_scale; // @[RegisterRouter.scala 83:24]
+  wire [4:0] out_prepend = {1'h0,_out_T_29}; // @[Cat.scala 31:58]
+  wire [7:0] _out_T_38 = {{3'd0}, out_prepend}; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_2 = &out_frontMask[8]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_3 = &out_frontMask[9]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_4 = &out_frontMask[10]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_6 = &out_frontMask[12]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_7 = &out_frontMask[13]; // @[RegisterRouter.scala 83:24]
+  wire [14:0] out_prepend_7 = {1'h0,pwm_scale_io_regs_cfg_read_running,pwm_scale_io_regs_cfg_read_countAlways,1'h0,
+    pwm_scale_io_regs_cfg_read_deglitch,pwm_scale_io_regs_cfg_read_zerocmp,pwm_scale_io_regs_cfg_read_sticky,_out_T_38}; // @[Cat.scala 31:58]
+  wire [15:0] _out_T_111 = {{1'd0}, out_prepend_7}; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_9 = &out_frontMask[16]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_10 = &out_frontMask[17]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_11 = &out_frontMask[18]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_12 = &out_frontMask[19]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_13 = &out_frontMask[20]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_14 = &out_frontMask[21]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_15 = &out_frontMask[22]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_16 = &out_frontMask[23]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_17 = &out_frontMask[24]; // @[RegisterRouter.scala 83:24]
+  wire [24:0] out_prepend_16 = {pwm_scale_io_regs_cfg_read_gang_0,pwm_scale_io_regs_cfg_read_extra_3,
+    pwm_scale_io_regs_cfg_read_extra_2,pwm_scale_io_regs_cfg_read_extra_1,pwm_scale_io_regs_cfg_read_extra_0,
+    pwm_scale_io_regs_cfg_read_center_3,pwm_scale_io_regs_cfg_read_center_2,pwm_scale_io_regs_cfg_read_center_1,
+    pwm_scale_io_regs_cfg_read_center_0,_out_T_111}; // @[Cat.scala 31:58]
+  wire  out_wimask_18 = &out_frontMask[25]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_19 = &out_frontMask[26]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_20 = &out_frontMask[27]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_21 = &out_frontMask[28]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_22 = &out_frontMask[29]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_23 = &out_frontMask[30]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_24 = &out_frontMask[31]; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_23 = {pwm_scale_io_regs_cfg_read_ip_3,pwm_scale_io_regs_cfg_read_ip_2,
+    pwm_scale_io_regs_cfg_read_ip_1,pwm_scale_io_regs_cfg_read_ip_0,pwm_scale_io_regs_cfg_read_gang_3,
+    pwm_scale_io_regs_cfg_read_gang_2,pwm_scale_io_regs_cfg_read_gang_1,out_prepend_16}; // @[Cat.scala 31:58]
+  wire  out_wimask_25 = &out_frontMask[15:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_10 = _out_frontSel_T[10]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_25 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_10 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_298 = pwm_scale_io_regs_cmp_2_read; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_9 = _out_frontSel_T[9]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_27 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_9 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_318 = pwm_scale_io_regs_cmp_1_read; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_28 = &out_frontMask[30:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_2 = _out_frontSel_T[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_28 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_2 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [30:0] _out_T_329 = pwm_scale_io_regs_countLo_read; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_11 = _out_frontSel_T[11]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_31 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_11 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_358 = pwm_scale_io_regs_cmp_3_read; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_8 = _out_frontSel_T[8]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_32 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_8 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_369 = pwm_scale_io_regs_cmp_0_read; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_378 = pwm_scale_io_regs_s_read; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_66 = 4'h2 == out_oindex ? _out_T : 4'h1 == out_oindex | _out_T; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_67 = 4'h3 == out_oindex ? _out_T : _GEN_66; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_68 = 4'h4 == out_oindex ? _out_T : _GEN_67; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_70 = 4'h6 == out_oindex ? _out_T : 4'h5 == out_oindex | _GEN_68; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_71 = 4'h7 == out_oindex ? _out_T : _GEN_70; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_72 = 4'h8 == out_oindex ? _out_T : _GEN_71; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_73 = 4'h9 == out_oindex ? _out_T : _GEN_72; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_74 = 4'ha == out_oindex ? _out_T : _GEN_73; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_75 = 4'hb == out_oindex ? _out_T : _GEN_74; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_79 = 4'hf == out_oindex | (4'he == out_oindex | (4'hd == out_oindex | (4'hc == out_oindex | _GEN_75))); // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_81 = 4'h1 == out_oindex ? 32'h0 : out_prepend_23; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_2 = {{1'd0}, _out_T_329}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_82 = 4'h2 == out_oindex ? _out_out_bits_data_WIRE_1_2 : _GEN_81; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_83 = 4'h3 == out_oindex ? 32'h0 : _GEN_82; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_4 = {{16'd0}, _out_T_378}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_84 = 4'h4 == out_oindex ? _out_out_bits_data_WIRE_1_4 : _GEN_83; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_85 = 4'h5 == out_oindex ? 32'h0 : _GEN_84; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_86 = 4'h6 == out_oindex ? 32'h0 : _GEN_85; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_87 = 4'h7 == out_oindex ? 32'h1 : _GEN_86; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_8 = {{16'd0}, _out_T_369}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_88 = 4'h8 == out_oindex ? _out_out_bits_data_WIRE_1_8 : _GEN_87; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_9 = {{16'd0}, _out_T_318}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_89 = 4'h9 == out_oindex ? _out_out_bits_data_WIRE_1_9 : _GEN_88; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_10 = {{16'd0}, _out_T_298}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_90 = 4'ha == out_oindex ? _out_out_bits_data_WIRE_1_10 : _GEN_89; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_11 = {{16'd0}, _out_T_358}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_91 = 4'hb == out_oindex ? _out_out_bits_data_WIRE_1_11 : _GEN_90; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_92 = 4'hc == out_oindex ? 32'h0 : _GEN_91; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_93 = 4'hd == out_oindex ? 32'h0 : _GEN_92; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_94 = 4'he == out_oindex ? 32'h0 : _GEN_93; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_95 = 4'hf == out_oindex ? 32'h0 : _GEN_94; // @[MuxLiteral.scala 48:{10,10}]
+  TLBuffer_13 buffer ( // @[Buffer.scala 68:28]
+    .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_18 intsource ( // @[Crossing.scala 26:31]
+    .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_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)
+  );
+  TLMonitor_68 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  PWMTimer pwm ( // @[PWM.scala 95:21]
+    .clock(pwm_clock),
+    .reset(pwm_reset),
+    .scale_io_regs_cfg_write__ip_0(pwm_scale_io_regs_cfg_write__ip_0),
+    .scale_io_regs_cfg_write__ip_1(pwm_scale_io_regs_cfg_write__ip_1),
+    .scale_io_regs_cfg_write__ip_2(pwm_scale_io_regs_cfg_write__ip_2),
+    .scale_io_regs_cfg_write__ip_3(pwm_scale_io_regs_cfg_write__ip_3),
+    .scale_io_regs_cfg_write__gang_0(pwm_scale_io_regs_cfg_write__gang_0),
+    .scale_io_regs_cfg_write__gang_1(pwm_scale_io_regs_cfg_write__gang_1),
+    .scale_io_regs_cfg_write__gang_2(pwm_scale_io_regs_cfg_write__gang_2),
+    .scale_io_regs_cfg_write__gang_3(pwm_scale_io_regs_cfg_write__gang_3),
+    .scale_io_regs_cfg_write__extra_0(pwm_scale_io_regs_cfg_write__extra_0),
+    .scale_io_regs_cfg_write__extra_1(pwm_scale_io_regs_cfg_write__extra_1),
+    .scale_io_regs_cfg_write__extra_2(pwm_scale_io_regs_cfg_write__extra_2),
+    .scale_io_regs_cfg_write__extra_3(pwm_scale_io_regs_cfg_write__extra_3),
+    .scale_io_regs_cfg_write__center_0(pwm_scale_io_regs_cfg_write__center_0),
+    .scale_io_regs_cfg_write__center_1(pwm_scale_io_regs_cfg_write__center_1),
+    .scale_io_regs_cfg_write__center_2(pwm_scale_io_regs_cfg_write__center_2),
+    .scale_io_regs_cfg_write__center_3(pwm_scale_io_regs_cfg_write__center_3),
+    .scale_io_regs_cfg_write__running(pwm_scale_io_regs_cfg_write__running),
+    .scale_io_regs_cfg_write__countAlways(pwm_scale_io_regs_cfg_write__countAlways),
+    .scale_io_regs_cfg_write__deglitch(pwm_scale_io_regs_cfg_write__deglitch),
+    .scale_io_regs_cfg_write__zerocmp(pwm_scale_io_regs_cfg_write__zerocmp),
+    .scale_io_regs_cfg_write__sticky(pwm_scale_io_regs_cfg_write__sticky),
+    .scale_io_regs_cfg_write__scale(pwm_scale_io_regs_cfg_write__scale),
+    .scale_io_regs_cfg_read_ip_0(pwm_scale_io_regs_cfg_read_ip_0),
+    .scale_io_regs_cfg_read_ip_1(pwm_scale_io_regs_cfg_read_ip_1),
+    .scale_io_regs_cfg_read_ip_2(pwm_scale_io_regs_cfg_read_ip_2),
+    .scale_io_regs_cfg_read_ip_3(pwm_scale_io_regs_cfg_read_ip_3),
+    .scale_io_regs_cfg_read_gang_0(pwm_scale_io_regs_cfg_read_gang_0),
+    .scale_io_regs_cfg_read_gang_1(pwm_scale_io_regs_cfg_read_gang_1),
+    .scale_io_regs_cfg_read_gang_2(pwm_scale_io_regs_cfg_read_gang_2),
+    .scale_io_regs_cfg_read_gang_3(pwm_scale_io_regs_cfg_read_gang_3),
+    .scale_io_regs_cfg_read_extra_0(pwm_scale_io_regs_cfg_read_extra_0),
+    .scale_io_regs_cfg_read_extra_1(pwm_scale_io_regs_cfg_read_extra_1),
+    .scale_io_regs_cfg_read_extra_2(pwm_scale_io_regs_cfg_read_extra_2),
+    .scale_io_regs_cfg_read_extra_3(pwm_scale_io_regs_cfg_read_extra_3),
+    .scale_io_regs_cfg_read_center_0(pwm_scale_io_regs_cfg_read_center_0),
+    .scale_io_regs_cfg_read_center_1(pwm_scale_io_regs_cfg_read_center_1),
+    .scale_io_regs_cfg_read_center_2(pwm_scale_io_regs_cfg_read_center_2),
+    .scale_io_regs_cfg_read_center_3(pwm_scale_io_regs_cfg_read_center_3),
+    .scale_io_regs_cfg_read_running(pwm_scale_io_regs_cfg_read_running),
+    .scale_io_regs_cfg_read_countAlways(pwm_scale_io_regs_cfg_read_countAlways),
+    .scale_io_regs_cfg_read_deglitch(pwm_scale_io_regs_cfg_read_deglitch),
+    .scale_io_regs_cfg_read_zerocmp(pwm_scale_io_regs_cfg_read_zerocmp),
+    .scale_io_regs_cfg_read_sticky(pwm_scale_io_regs_cfg_read_sticky),
+    .scale_io_regs_cfg_read_scale(pwm_scale_io_regs_cfg_read_scale),
+    .scale_io_regs_cfg_write_ip_0(pwm_scale_io_regs_cfg_write_ip_0),
+    .scale_io_regs_cfg_write_ip_1(pwm_scale_io_regs_cfg_write_ip_1),
+    .scale_io_regs_cfg_write_ip_2(pwm_scale_io_regs_cfg_write_ip_2),
+    .scale_io_regs_cfg_write_ip_3(pwm_scale_io_regs_cfg_write_ip_3),
+    .scale_io_regs_cfg_write_gang_0(pwm_scale_io_regs_cfg_write_gang_0),
+    .scale_io_regs_cfg_write_gang_1(pwm_scale_io_regs_cfg_write_gang_1),
+    .scale_io_regs_cfg_write_gang_2(pwm_scale_io_regs_cfg_write_gang_2),
+    .scale_io_regs_cfg_write_gang_3(pwm_scale_io_regs_cfg_write_gang_3),
+    .scale_io_regs_cfg_write_extra_0(pwm_scale_io_regs_cfg_write_extra_0),
+    .scale_io_regs_cfg_write_extra_1(pwm_scale_io_regs_cfg_write_extra_1),
+    .scale_io_regs_cfg_write_extra_2(pwm_scale_io_regs_cfg_write_extra_2),
+    .scale_io_regs_cfg_write_extra_3(pwm_scale_io_regs_cfg_write_extra_3),
+    .scale_io_regs_cfg_write_center_0(pwm_scale_io_regs_cfg_write_center_0),
+    .scale_io_regs_cfg_write_center_1(pwm_scale_io_regs_cfg_write_center_1),
+    .scale_io_regs_cfg_write_center_2(pwm_scale_io_regs_cfg_write_center_2),
+    .scale_io_regs_cfg_write_center_3(pwm_scale_io_regs_cfg_write_center_3),
+    .scale_io_regs_cfg_write_running(pwm_scale_io_regs_cfg_write_running),
+    .scale_io_regs_cfg_write_countAlways(pwm_scale_io_regs_cfg_write_countAlways),
+    .scale_io_regs_cfg_write_deglitch(pwm_scale_io_regs_cfg_write_deglitch),
+    .scale_io_regs_cfg_write_zerocmp(pwm_scale_io_regs_cfg_write_zerocmp),
+    .scale_io_regs_cfg_write_sticky(pwm_scale_io_regs_cfg_write_sticky),
+    .scale_io_regs_cfg_write_scale(pwm_scale_io_regs_cfg_write_scale),
+    .scale_io_regs_countLo_write_valid(pwm_scale_io_regs_countLo_write_valid),
+    .scale_io_regs_countLo_write_bits(pwm_scale_io_regs_countLo_write_bits),
+    .scale_io_regs_countLo_read(pwm_scale_io_regs_countLo_read),
+    .scale_io_regs_s_read(pwm_scale_io_regs_s_read),
+    .scale_io_regs_cmp_0_write_valid(pwm_scale_io_regs_cmp_0_write_valid),
+    .scale_io_regs_cmp_0_write_bits(pwm_scale_io_regs_cmp_0_write_bits),
+    .scale_io_regs_cmp_0_read(pwm_scale_io_regs_cmp_0_read),
+    .scale_io_regs_cmp_1_write_valid(pwm_scale_io_regs_cmp_1_write_valid),
+    .scale_io_regs_cmp_1_write_bits(pwm_scale_io_regs_cmp_1_write_bits),
+    .scale_io_regs_cmp_1_read(pwm_scale_io_regs_cmp_1_read),
+    .scale_io_regs_cmp_2_write_valid(pwm_scale_io_regs_cmp_2_write_valid),
+    .scale_io_regs_cmp_2_write_bits(pwm_scale_io_regs_cmp_2_write_bits),
+    .scale_io_regs_cmp_2_read(pwm_scale_io_regs_cmp_2_read),
+    .scale_io_regs_cmp_3_write_valid(pwm_scale_io_regs_cmp_3_write_valid),
+    .scale_io_regs_cmp_3_write_bits(pwm_scale_io_regs_cmp_3_write_bits),
+    .scale_io_regs_cmp_3_read(pwm_scale_io_regs_cmp_3_read),
+    .scale_io_ip_0(pwm_scale_io_ip_0),
+    .scale_io_ip_1(pwm_scale_io_ip_1),
+    .scale_io_ip_2(pwm_scale_io_ip_2),
+    .scale_io_ip_3(pwm_scale_io_ip_3),
+    .scale_io_gpio_0(pwm_scale_io_gpio_0),
+    .scale_io_gpio_1(pwm_scale_io_gpio_1),
+    .scale_io_gpio_2(pwm_scale_io_gpio_2),
+    .scale_io_gpio_3(pwm_scale_io_gpio_3)
+  );
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_1 = intsource_auto_out_sync_1; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_2 = intsource_auto_out_sync_2; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_3 = intsource_auto_out_sync_3; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_io_out_gpio_0 = pwm_scale_io_gpio_0; // @[Nodes.scala 1207:84 PWM.scala 97:15]
+  assign auto_io_out_gpio_1 = pwm_scale_io_gpio_1; // @[Nodes.scala 1207:84 PWM.scala 97:15]
+  assign auto_io_out_gpio_2 = pwm_scale_io_gpio_2; // @[Nodes.scala 1207:84 PWM.scala 97:15]
+  assign auto_io_out_gpio_3 = pwm_scale_io_gpio_3; // @[Nodes.scala 1207:84 PWM.scala 97:15]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign buffer_auto_out_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = _GEN_79 ? _GEN_95 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign intsource_clock = clock;
+  assign intsource_reset = reset;
+  assign intsource_auto_in_0 = pwm_scale_io_ip_0; // @[Nodes.scala 1207:84 PWM.scala 96:16]
+  assign intsource_auto_in_1 = pwm_scale_io_ip_1; // @[Nodes.scala 1207:84 PWM.scala 96:16]
+  assign intsource_auto_in_2 = pwm_scale_io_ip_2; // @[Nodes.scala 1207:84 PWM.scala 96:16]
+  assign intsource_auto_in_3 = pwm_scale_io_ip_3; // @[Nodes.scala 1207:84 PWM.scala 96:16]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwm_clock = clock;
+  assign pwm_reset = reset;
+  assign pwm_scale_io_regs_cfg_write__ip_0 = bundleIn_0_a_bits_data[28]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__ip_1 = bundleIn_0_a_bits_data[29]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__ip_2 = bundleIn_0_a_bits_data[30]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__ip_3 = bundleIn_0_a_bits_data[31]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__gang_0 = bundleIn_0_a_bits_data[24]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__gang_1 = bundleIn_0_a_bits_data[25]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__gang_2 = bundleIn_0_a_bits_data[26]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__gang_3 = bundleIn_0_a_bits_data[27]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__extra_0 = bundleIn_0_a_bits_data[20]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__extra_1 = bundleIn_0_a_bits_data[21]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__extra_2 = bundleIn_0_a_bits_data[22]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__extra_3 = bundleIn_0_a_bits_data[23]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__center_0 = bundleIn_0_a_bits_data[16]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__center_1 = bundleIn_0_a_bits_data[17]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__center_2 = bundleIn_0_a_bits_data[18]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__center_3 = bundleIn_0_a_bits_data[19]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__running = bundleIn_0_a_bits_data[13]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__countAlways = bundleIn_0_a_bits_data[12]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__deglitch = bundleIn_0_a_bits_data[10]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__zerocmp = bundleIn_0_a_bits_data[9]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__sticky = bundleIn_0_a_bits_data[8]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__scale = bundleIn_0_a_bits_data[3:0]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_ip_0 = out_wivalid_0 & out_wimask_21; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_ip_1 = out_wivalid_0 & out_wimask_22; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_ip_2 = out_wivalid_0 & out_wimask_23; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_ip_3 = out_wivalid_0 & out_wimask_24; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_gang_0 = out_wivalid_0 & out_wimask_17; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_gang_1 = out_wivalid_0 & out_wimask_18; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_gang_2 = out_wivalid_0 & out_wimask_19; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_gang_3 = out_wivalid_0 & out_wimask_20; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_extra_0 = out_wivalid_0 & out_wimask_13; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_extra_1 = out_wivalid_0 & out_wimask_14; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_extra_2 = out_wivalid_0 & out_wimask_15; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_extra_3 = out_wivalid_0 & out_wimask_16; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_center_0 = out_wivalid_0 & out_wimask_9; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_center_1 = out_wivalid_0 & out_wimask_10; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_center_2 = out_wivalid_0 & out_wimask_11; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_center_3 = out_wivalid_0 & out_wimask_12; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_running = out_wivalid_0 & out_wimask_7; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_countAlways = out_wivalid_0 & out_wimask_6; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_deglitch = out_wivalid_0 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_zerocmp = out_wivalid_0 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_sticky = out_wivalid_0 & out_wimask_2; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_scale = out_wivalid_0 & out_wimask; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_countLo_write_valid = out_wivalid_28 & out_wimask_28; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_countLo_write_bits = bundleIn_0_a_bits_data[30:0]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_0_write_valid = out_wivalid_32 & out_wimask_25; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_0_write_bits = bundleIn_0_a_bits_data[15:0]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_1_write_valid = out_wivalid_27 & out_wimask_25; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_1_write_bits = bundleIn_0_a_bits_data[15:0]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_2_write_valid = out_wivalid_25 & out_wimask_25; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_2_write_bits = bundleIn_0_a_bits_data[15:0]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_3_write_valid = out_wivalid_31 & out_wimask_25; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_3_write_bits = bundleIn_0_a_bits_data[15:0]; // @[RegisterRouter.scala 83:24]
+endmodule
+module ClockSinkDomain_11(
+  output        auto_pwm_1_int_xing_out_sync_0,
+  output        auto_pwm_1_int_xing_out_sync_1,
+  output        auto_pwm_1_int_xing_out_sync_2,
+  output        auto_pwm_1_int_xing_out_sync_3,
+  output        auto_pwm_1_control_xing_in_a_ready,
+  input         auto_pwm_1_control_xing_in_a_valid,
+  input  [2:0]  auto_pwm_1_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_pwm_1_control_xing_in_a_bits_param,
+  input  [1:0]  auto_pwm_1_control_xing_in_a_bits_size,
+  input  [6:0]  auto_pwm_1_control_xing_in_a_bits_source,
+  input  [28:0] auto_pwm_1_control_xing_in_a_bits_address,
+  input  [3:0]  auto_pwm_1_control_xing_in_a_bits_mask,
+  input  [31:0] auto_pwm_1_control_xing_in_a_bits_data,
+  input         auto_pwm_1_control_xing_in_a_bits_corrupt,
+  input         auto_pwm_1_control_xing_in_d_ready,
+  output        auto_pwm_1_control_xing_in_d_valid,
+  output [2:0]  auto_pwm_1_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_pwm_1_control_xing_in_d_bits_size,
+  output [6:0]  auto_pwm_1_control_xing_in_d_bits_source,
+  output [31:0] auto_pwm_1_control_xing_in_d_bits_data,
+  output        auto_pwm_1_io_out_gpio_0,
+  output        auto_pwm_1_io_out_gpio_1,
+  output        auto_pwm_1_io_out_gpio_2,
+  output        auto_pwm_1_io_out_gpio_3,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  pwm_1_clock; // @[PWM.scala 135:49]
+  wire  pwm_1_reset; // @[PWM.scala 135:49]
+  wire  pwm_1_auto_int_xing_out_sync_0; // @[PWM.scala 135:49]
+  wire  pwm_1_auto_int_xing_out_sync_1; // @[PWM.scala 135:49]
+  wire  pwm_1_auto_int_xing_out_sync_2; // @[PWM.scala 135:49]
+  wire  pwm_1_auto_int_xing_out_sync_3; // @[PWM.scala 135:49]
+  wire  pwm_1_auto_control_xing_in_a_ready; // @[PWM.scala 135:49]
+  wire  pwm_1_auto_control_xing_in_a_valid; // @[PWM.scala 135:49]
+  wire [2:0] pwm_1_auto_control_xing_in_a_bits_opcode; // @[PWM.scala 135:49]
+  wire [2:0] pwm_1_auto_control_xing_in_a_bits_param; // @[PWM.scala 135:49]
+  wire [1:0] pwm_1_auto_control_xing_in_a_bits_size; // @[PWM.scala 135:49]
+  wire [6:0] pwm_1_auto_control_xing_in_a_bits_source; // @[PWM.scala 135:49]
+  wire [28:0] pwm_1_auto_control_xing_in_a_bits_address; // @[PWM.scala 135:49]
+  wire [3:0] pwm_1_auto_control_xing_in_a_bits_mask; // @[PWM.scala 135:49]
+  wire [31:0] pwm_1_auto_control_xing_in_a_bits_data; // @[PWM.scala 135:49]
+  wire  pwm_1_auto_control_xing_in_a_bits_corrupt; // @[PWM.scala 135:49]
+  wire  pwm_1_auto_control_xing_in_d_ready; // @[PWM.scala 135:49]
+  wire  pwm_1_auto_control_xing_in_d_valid; // @[PWM.scala 135:49]
+  wire [2:0] pwm_1_auto_control_xing_in_d_bits_opcode; // @[PWM.scala 135:49]
+  wire [1:0] pwm_1_auto_control_xing_in_d_bits_size; // @[PWM.scala 135:49]
+  wire [6:0] pwm_1_auto_control_xing_in_d_bits_source; // @[PWM.scala 135:49]
+  wire [31:0] pwm_1_auto_control_xing_in_d_bits_data; // @[PWM.scala 135:49]
+  wire  pwm_1_auto_io_out_gpio_0; // @[PWM.scala 135:49]
+  wire  pwm_1_auto_io_out_gpio_1; // @[PWM.scala 135:49]
+  wire  pwm_1_auto_io_out_gpio_2; // @[PWM.scala 135:49]
+  wire  pwm_1_auto_io_out_gpio_3; // @[PWM.scala 135:49]
+  TLPWM_1 pwm_1 ( // @[PWM.scala 135:49]
+    .clock(pwm_1_clock),
+    .reset(pwm_1_reset),
+    .auto_int_xing_out_sync_0(pwm_1_auto_int_xing_out_sync_0),
+    .auto_int_xing_out_sync_1(pwm_1_auto_int_xing_out_sync_1),
+    .auto_int_xing_out_sync_2(pwm_1_auto_int_xing_out_sync_2),
+    .auto_int_xing_out_sync_3(pwm_1_auto_int_xing_out_sync_3),
+    .auto_control_xing_in_a_ready(pwm_1_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(pwm_1_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(pwm_1_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(pwm_1_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(pwm_1_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(pwm_1_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(pwm_1_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(pwm_1_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(pwm_1_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(pwm_1_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(pwm_1_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(pwm_1_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(pwm_1_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(pwm_1_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(pwm_1_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(pwm_1_auto_control_xing_in_d_bits_data),
+    .auto_io_out_gpio_0(pwm_1_auto_io_out_gpio_0),
+    .auto_io_out_gpio_1(pwm_1_auto_io_out_gpio_1),
+    .auto_io_out_gpio_2(pwm_1_auto_io_out_gpio_2),
+    .auto_io_out_gpio_3(pwm_1_auto_io_out_gpio_3)
+  );
+  assign auto_pwm_1_int_xing_out_sync_0 = pwm_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 311:12]
+  assign auto_pwm_1_int_xing_out_sync_1 = pwm_1_auto_int_xing_out_sync_1; // @[LazyModule.scala 311:12]
+  assign auto_pwm_1_int_xing_out_sync_2 = pwm_1_auto_int_xing_out_sync_2; // @[LazyModule.scala 311:12]
+  assign auto_pwm_1_int_xing_out_sync_3 = pwm_1_auto_int_xing_out_sync_3; // @[LazyModule.scala 311:12]
+  assign auto_pwm_1_control_xing_in_a_ready = pwm_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_pwm_1_control_xing_in_d_valid = pwm_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_pwm_1_control_xing_in_d_bits_opcode = pwm_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_pwm_1_control_xing_in_d_bits_size = pwm_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_pwm_1_control_xing_in_d_bits_source = pwm_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_pwm_1_control_xing_in_d_bits_data = pwm_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_pwm_1_io_out_gpio_0 = pwm_1_auto_io_out_gpio_0; // @[LazyModule.scala 311:12]
+  assign auto_pwm_1_io_out_gpio_1 = pwm_1_auto_io_out_gpio_1; // @[LazyModule.scala 311:12]
+  assign auto_pwm_1_io_out_gpio_2 = pwm_1_auto_io_out_gpio_2; // @[LazyModule.scala 311:12]
+  assign auto_pwm_1_io_out_gpio_3 = pwm_1_auto_io_out_gpio_3; // @[LazyModule.scala 311:12]
+  assign pwm_1_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign pwm_1_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign pwm_1_auto_control_xing_in_a_valid = auto_pwm_1_control_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign pwm_1_auto_control_xing_in_a_bits_opcode = auto_pwm_1_control_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign pwm_1_auto_control_xing_in_a_bits_param = auto_pwm_1_control_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign pwm_1_auto_control_xing_in_a_bits_size = auto_pwm_1_control_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign pwm_1_auto_control_xing_in_a_bits_source = auto_pwm_1_control_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign pwm_1_auto_control_xing_in_a_bits_address = auto_pwm_1_control_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign pwm_1_auto_control_xing_in_a_bits_mask = auto_pwm_1_control_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign pwm_1_auto_control_xing_in_a_bits_data = auto_pwm_1_control_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign pwm_1_auto_control_xing_in_a_bits_corrupt = auto_pwm_1_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign pwm_1_auto_control_xing_in_d_ready = auto_pwm_1_control_xing_in_d_ready; // @[LazyModule.scala 309:16]
+endmodule
+module TLMonitor_69(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10035000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_663 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_663) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLPWM_2(
+  input         clock,
+  input         reset,
+  output        auto_int_xing_out_sync_0,
+  output        auto_int_xing_out_sync_1,
+  output        auto_int_xing_out_sync_2,
+  output        auto_int_xing_out_sync_3,
+  output        auto_control_xing_in_a_ready,
+  input         auto_control_xing_in_a_valid,
+  input  [2:0]  auto_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_control_xing_in_a_bits_param,
+  input  [1:0]  auto_control_xing_in_a_bits_size,
+  input  [6:0]  auto_control_xing_in_a_bits_source,
+  input  [28:0] auto_control_xing_in_a_bits_address,
+  input  [3:0]  auto_control_xing_in_a_bits_mask,
+  input  [31:0] auto_control_xing_in_a_bits_data,
+  input         auto_control_xing_in_a_bits_corrupt,
+  input         auto_control_xing_in_d_ready,
+  output        auto_control_xing_in_d_valid,
+  output [2:0]  auto_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_control_xing_in_d_bits_size,
+  output [6:0]  auto_control_xing_in_d_bits_source,
+  output [31:0] auto_control_xing_in_d_bits_data,
+  output        auto_io_out_gpio_0,
+  output        auto_io_out_gpio_1,
+  output        auto_io_out_gpio_2,
+  output        auto_io_out_gpio_3
+);
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  intsource_clock; // @[Crossing.scala 26:31]
+  wire  intsource_reset; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_1; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_2; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_3; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_1; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_2; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_3; // @[Crossing.scala 26:31]
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire  pwm_clock; // @[PWM.scala 95:21]
+  wire  pwm_reset; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__ip_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__ip_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__ip_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__ip_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__gang_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__gang_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__gang_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__gang_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__extra_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__extra_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__extra_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__extra_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__center_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__center_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__center_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__center_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__running; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__countAlways; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__deglitch; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__zerocmp; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write__sticky; // @[PWM.scala 95:21]
+  wire [3:0] pwm_scale_io_regs_cfg_write__scale; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_ip_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_ip_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_ip_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_ip_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_gang_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_gang_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_gang_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_gang_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_extra_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_extra_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_extra_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_extra_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_center_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_center_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_center_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_center_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_running; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_countAlways; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_deglitch; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_zerocmp; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_read_sticky; // @[PWM.scala 95:21]
+  wire [3:0] pwm_scale_io_regs_cfg_read_scale; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_ip_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_ip_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_ip_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_ip_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_gang_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_gang_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_gang_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_gang_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_extra_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_extra_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_extra_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_extra_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_center_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_center_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_center_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_center_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_running; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_countAlways; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_deglitch; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_zerocmp; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_sticky; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cfg_write_scale; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_countLo_write_valid; // @[PWM.scala 95:21]
+  wire [30:0] pwm_scale_io_regs_countLo_write_bits; // @[PWM.scala 95:21]
+  wire [30:0] pwm_scale_io_regs_countLo_read; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_s_read; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cmp_0_write_valid; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_0_write_bits; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_0_read; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cmp_1_write_valid; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_1_write_bits; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_1_read; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cmp_2_write_valid; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_2_write_bits; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_2_read; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_regs_cmp_3_write_valid; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_3_write_bits; // @[PWM.scala 95:21]
+  wire [15:0] pwm_scale_io_regs_cmp_3_read; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_ip_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_ip_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_ip_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_ip_3; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_gpio_0; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_gpio_1; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_gpio_2; // @[PWM.scala 95:21]
+  wire  pwm_scale_io_gpio_3; // @[PWM.scala 95:21]
+  wire [2:0] bundleIn_0_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  in_bits_read = bundleIn_0_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [28:0] bundleIn_0_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [9:0] in_bits_index = bundleIn_0_a_bits_address[11:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire [9:0] out_findex = in_bits_index & 10'h3f0; // @[RegisterRouter.scala 83:24]
+  wire  _out_T = out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] bundleIn_0_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_frontMask_T_5 = bundleIn_0_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_7 = bundleIn_0_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_9 = bundleIn_0_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_frontMask_T_11 = bundleIn_0_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_frontMask = {_out_frontMask_T_11,_out_frontMask_T_9,_out_frontMask_T_7,_out_frontMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_wimask = &out_frontMask[3:0]; // @[RegisterRouter.scala 83:24]
+  wire  bundleIn_0_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  bundleIn_0_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [3:0] out_oindex = {in_bits_index[3],in_bits_index[2],in_bits_index[1],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [15:0] _out_frontSel_T = 16'h1 << out_oindex; // @[OneHot.scala 57:35]
+  wire  out_frontSel_0 = _out_frontSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_0 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_0 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [31:0] bundleIn_0_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [3:0] _out_T_29 = pwm_scale_io_regs_cfg_read_scale; // @[RegisterRouter.scala 83:24]
+  wire [4:0] out_prepend = {1'h0,_out_T_29}; // @[Cat.scala 31:58]
+  wire [7:0] _out_T_38 = {{3'd0}, out_prepend}; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_2 = &out_frontMask[8]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_3 = &out_frontMask[9]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_4 = &out_frontMask[10]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_6 = &out_frontMask[12]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_7 = &out_frontMask[13]; // @[RegisterRouter.scala 83:24]
+  wire [14:0] out_prepend_7 = {1'h0,pwm_scale_io_regs_cfg_read_running,pwm_scale_io_regs_cfg_read_countAlways,1'h0,
+    pwm_scale_io_regs_cfg_read_deglitch,pwm_scale_io_regs_cfg_read_zerocmp,pwm_scale_io_regs_cfg_read_sticky,_out_T_38}; // @[Cat.scala 31:58]
+  wire [15:0] _out_T_111 = {{1'd0}, out_prepend_7}; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_9 = &out_frontMask[16]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_10 = &out_frontMask[17]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_11 = &out_frontMask[18]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_12 = &out_frontMask[19]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_13 = &out_frontMask[20]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_14 = &out_frontMask[21]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_15 = &out_frontMask[22]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_16 = &out_frontMask[23]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_17 = &out_frontMask[24]; // @[RegisterRouter.scala 83:24]
+  wire [24:0] out_prepend_16 = {pwm_scale_io_regs_cfg_read_gang_0,pwm_scale_io_regs_cfg_read_extra_3,
+    pwm_scale_io_regs_cfg_read_extra_2,pwm_scale_io_regs_cfg_read_extra_1,pwm_scale_io_regs_cfg_read_extra_0,
+    pwm_scale_io_regs_cfg_read_center_3,pwm_scale_io_regs_cfg_read_center_2,pwm_scale_io_regs_cfg_read_center_1,
+    pwm_scale_io_regs_cfg_read_center_0,_out_T_111}; // @[Cat.scala 31:58]
+  wire  out_wimask_18 = &out_frontMask[25]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_19 = &out_frontMask[26]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_20 = &out_frontMask[27]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_21 = &out_frontMask[28]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_22 = &out_frontMask[29]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_23 = &out_frontMask[30]; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_24 = &out_frontMask[31]; // @[RegisterRouter.scala 83:24]
+  wire [31:0] out_prepend_23 = {pwm_scale_io_regs_cfg_read_ip_3,pwm_scale_io_regs_cfg_read_ip_2,
+    pwm_scale_io_regs_cfg_read_ip_1,pwm_scale_io_regs_cfg_read_ip_0,pwm_scale_io_regs_cfg_read_gang_3,
+    pwm_scale_io_regs_cfg_read_gang_2,pwm_scale_io_regs_cfg_read_gang_1,out_prepend_16}; // @[Cat.scala 31:58]
+  wire  out_wimask_25 = &out_frontMask[15:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_10 = _out_frontSel_T[10]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_25 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_10 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_298 = pwm_scale_io_regs_cmp_2_read; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_9 = _out_frontSel_T[9]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_27 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_9 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_318 = pwm_scale_io_regs_cmp_1_read; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_28 = &out_frontMask[30:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_2 = _out_frontSel_T[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_28 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_2 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [30:0] _out_T_329 = pwm_scale_io_regs_countLo_read; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_11 = _out_frontSel_T[11]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_31 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_11 & out_findex == 10'h0
+    ; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_358 = pwm_scale_io_regs_cmp_3_read; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_8 = _out_frontSel_T[8]; // @[RegisterRouter.scala 83:24]
+  wire  out_wivalid_32 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_8 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_369 = pwm_scale_io_regs_cmp_0_read; // @[RegisterRouter.scala 83:24]
+  wire [15:0] _out_T_378 = pwm_scale_io_regs_s_read; // @[RegisterRouter.scala 83:24]
+  wire  _GEN_66 = 4'h2 == out_oindex ? _out_T : 4'h1 == out_oindex | _out_T; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_67 = 4'h3 == out_oindex ? _out_T : _GEN_66; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_68 = 4'h4 == out_oindex ? _out_T : _GEN_67; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_70 = 4'h6 == out_oindex ? _out_T : 4'h5 == out_oindex | _GEN_68; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_71 = 4'h7 == out_oindex ? _out_T : _GEN_70; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_72 = 4'h8 == out_oindex ? _out_T : _GEN_71; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_73 = 4'h9 == out_oindex ? _out_T : _GEN_72; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_74 = 4'ha == out_oindex ? _out_T : _GEN_73; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_75 = 4'hb == out_oindex ? _out_T : _GEN_74; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_79 = 4'hf == out_oindex | (4'he == out_oindex | (4'hd == out_oindex | (4'hc == out_oindex | _GEN_75))); // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_81 = 4'h1 == out_oindex ? 32'h0 : out_prepend_23; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_2 = {{1'd0}, _out_T_329}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_82 = 4'h2 == out_oindex ? _out_out_bits_data_WIRE_1_2 : _GEN_81; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_83 = 4'h3 == out_oindex ? 32'h0 : _GEN_82; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_4 = {{16'd0}, _out_T_378}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_84 = 4'h4 == out_oindex ? _out_out_bits_data_WIRE_1_4 : _GEN_83; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_85 = 4'h5 == out_oindex ? 32'h0 : _GEN_84; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_86 = 4'h6 == out_oindex ? 32'h0 : _GEN_85; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_87 = 4'h7 == out_oindex ? 32'h1 : _GEN_86; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_8 = {{16'd0}, _out_T_369}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_88 = 4'h8 == out_oindex ? _out_out_bits_data_WIRE_1_8 : _GEN_87; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_9 = {{16'd0}, _out_T_318}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_89 = 4'h9 == out_oindex ? _out_out_bits_data_WIRE_1_9 : _GEN_88; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_10 = {{16'd0}, _out_T_298}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_90 = 4'ha == out_oindex ? _out_out_bits_data_WIRE_1_10 : _GEN_89; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _out_out_bits_data_WIRE_1_11 = {{16'd0}, _out_T_358}; // @[MuxLiteral.scala 48:{48,48}]
+  wire [31:0] _GEN_91 = 4'hb == out_oindex ? _out_out_bits_data_WIRE_1_11 : _GEN_90; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_92 = 4'hc == out_oindex ? 32'h0 : _GEN_91; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_93 = 4'hd == out_oindex ? 32'h0 : _GEN_92; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_94 = 4'he == out_oindex ? 32'h0 : _GEN_93; // @[MuxLiteral.scala 48:{10,10}]
+  wire [31:0] _GEN_95 = 4'hf == out_oindex ? 32'h0 : _GEN_94; // @[MuxLiteral.scala 48:{10,10}]
+  TLBuffer_13 buffer ( // @[Buffer.scala 68:28]
+    .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_18 intsource ( // @[Crossing.scala 26:31]
+    .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_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)
+  );
+  TLMonitor_69 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  PWMTimer pwm ( // @[PWM.scala 95:21]
+    .clock(pwm_clock),
+    .reset(pwm_reset),
+    .scale_io_regs_cfg_write__ip_0(pwm_scale_io_regs_cfg_write__ip_0),
+    .scale_io_regs_cfg_write__ip_1(pwm_scale_io_regs_cfg_write__ip_1),
+    .scale_io_regs_cfg_write__ip_2(pwm_scale_io_regs_cfg_write__ip_2),
+    .scale_io_regs_cfg_write__ip_3(pwm_scale_io_regs_cfg_write__ip_3),
+    .scale_io_regs_cfg_write__gang_0(pwm_scale_io_regs_cfg_write__gang_0),
+    .scale_io_regs_cfg_write__gang_1(pwm_scale_io_regs_cfg_write__gang_1),
+    .scale_io_regs_cfg_write__gang_2(pwm_scale_io_regs_cfg_write__gang_2),
+    .scale_io_regs_cfg_write__gang_3(pwm_scale_io_regs_cfg_write__gang_3),
+    .scale_io_regs_cfg_write__extra_0(pwm_scale_io_regs_cfg_write__extra_0),
+    .scale_io_regs_cfg_write__extra_1(pwm_scale_io_regs_cfg_write__extra_1),
+    .scale_io_regs_cfg_write__extra_2(pwm_scale_io_regs_cfg_write__extra_2),
+    .scale_io_regs_cfg_write__extra_3(pwm_scale_io_regs_cfg_write__extra_3),
+    .scale_io_regs_cfg_write__center_0(pwm_scale_io_regs_cfg_write__center_0),
+    .scale_io_regs_cfg_write__center_1(pwm_scale_io_regs_cfg_write__center_1),
+    .scale_io_regs_cfg_write__center_2(pwm_scale_io_regs_cfg_write__center_2),
+    .scale_io_regs_cfg_write__center_3(pwm_scale_io_regs_cfg_write__center_3),
+    .scale_io_regs_cfg_write__running(pwm_scale_io_regs_cfg_write__running),
+    .scale_io_regs_cfg_write__countAlways(pwm_scale_io_regs_cfg_write__countAlways),
+    .scale_io_regs_cfg_write__deglitch(pwm_scale_io_regs_cfg_write__deglitch),
+    .scale_io_regs_cfg_write__zerocmp(pwm_scale_io_regs_cfg_write__zerocmp),
+    .scale_io_regs_cfg_write__sticky(pwm_scale_io_regs_cfg_write__sticky),
+    .scale_io_regs_cfg_write__scale(pwm_scale_io_regs_cfg_write__scale),
+    .scale_io_regs_cfg_read_ip_0(pwm_scale_io_regs_cfg_read_ip_0),
+    .scale_io_regs_cfg_read_ip_1(pwm_scale_io_regs_cfg_read_ip_1),
+    .scale_io_regs_cfg_read_ip_2(pwm_scale_io_regs_cfg_read_ip_2),
+    .scale_io_regs_cfg_read_ip_3(pwm_scale_io_regs_cfg_read_ip_3),
+    .scale_io_regs_cfg_read_gang_0(pwm_scale_io_regs_cfg_read_gang_0),
+    .scale_io_regs_cfg_read_gang_1(pwm_scale_io_regs_cfg_read_gang_1),
+    .scale_io_regs_cfg_read_gang_2(pwm_scale_io_regs_cfg_read_gang_2),
+    .scale_io_regs_cfg_read_gang_3(pwm_scale_io_regs_cfg_read_gang_3),
+    .scale_io_regs_cfg_read_extra_0(pwm_scale_io_regs_cfg_read_extra_0),
+    .scale_io_regs_cfg_read_extra_1(pwm_scale_io_regs_cfg_read_extra_1),
+    .scale_io_regs_cfg_read_extra_2(pwm_scale_io_regs_cfg_read_extra_2),
+    .scale_io_regs_cfg_read_extra_3(pwm_scale_io_regs_cfg_read_extra_3),
+    .scale_io_regs_cfg_read_center_0(pwm_scale_io_regs_cfg_read_center_0),
+    .scale_io_regs_cfg_read_center_1(pwm_scale_io_regs_cfg_read_center_1),
+    .scale_io_regs_cfg_read_center_2(pwm_scale_io_regs_cfg_read_center_2),
+    .scale_io_regs_cfg_read_center_3(pwm_scale_io_regs_cfg_read_center_3),
+    .scale_io_regs_cfg_read_running(pwm_scale_io_regs_cfg_read_running),
+    .scale_io_regs_cfg_read_countAlways(pwm_scale_io_regs_cfg_read_countAlways),
+    .scale_io_regs_cfg_read_deglitch(pwm_scale_io_regs_cfg_read_deglitch),
+    .scale_io_regs_cfg_read_zerocmp(pwm_scale_io_regs_cfg_read_zerocmp),
+    .scale_io_regs_cfg_read_sticky(pwm_scale_io_regs_cfg_read_sticky),
+    .scale_io_regs_cfg_read_scale(pwm_scale_io_regs_cfg_read_scale),
+    .scale_io_regs_cfg_write_ip_0(pwm_scale_io_regs_cfg_write_ip_0),
+    .scale_io_regs_cfg_write_ip_1(pwm_scale_io_regs_cfg_write_ip_1),
+    .scale_io_regs_cfg_write_ip_2(pwm_scale_io_regs_cfg_write_ip_2),
+    .scale_io_regs_cfg_write_ip_3(pwm_scale_io_regs_cfg_write_ip_3),
+    .scale_io_regs_cfg_write_gang_0(pwm_scale_io_regs_cfg_write_gang_0),
+    .scale_io_regs_cfg_write_gang_1(pwm_scale_io_regs_cfg_write_gang_1),
+    .scale_io_regs_cfg_write_gang_2(pwm_scale_io_regs_cfg_write_gang_2),
+    .scale_io_regs_cfg_write_gang_3(pwm_scale_io_regs_cfg_write_gang_3),
+    .scale_io_regs_cfg_write_extra_0(pwm_scale_io_regs_cfg_write_extra_0),
+    .scale_io_regs_cfg_write_extra_1(pwm_scale_io_regs_cfg_write_extra_1),
+    .scale_io_regs_cfg_write_extra_2(pwm_scale_io_regs_cfg_write_extra_2),
+    .scale_io_regs_cfg_write_extra_3(pwm_scale_io_regs_cfg_write_extra_3),
+    .scale_io_regs_cfg_write_center_0(pwm_scale_io_regs_cfg_write_center_0),
+    .scale_io_regs_cfg_write_center_1(pwm_scale_io_regs_cfg_write_center_1),
+    .scale_io_regs_cfg_write_center_2(pwm_scale_io_regs_cfg_write_center_2),
+    .scale_io_regs_cfg_write_center_3(pwm_scale_io_regs_cfg_write_center_3),
+    .scale_io_regs_cfg_write_running(pwm_scale_io_regs_cfg_write_running),
+    .scale_io_regs_cfg_write_countAlways(pwm_scale_io_regs_cfg_write_countAlways),
+    .scale_io_regs_cfg_write_deglitch(pwm_scale_io_regs_cfg_write_deglitch),
+    .scale_io_regs_cfg_write_zerocmp(pwm_scale_io_regs_cfg_write_zerocmp),
+    .scale_io_regs_cfg_write_sticky(pwm_scale_io_regs_cfg_write_sticky),
+    .scale_io_regs_cfg_write_scale(pwm_scale_io_regs_cfg_write_scale),
+    .scale_io_regs_countLo_write_valid(pwm_scale_io_regs_countLo_write_valid),
+    .scale_io_regs_countLo_write_bits(pwm_scale_io_regs_countLo_write_bits),
+    .scale_io_regs_countLo_read(pwm_scale_io_regs_countLo_read),
+    .scale_io_regs_s_read(pwm_scale_io_regs_s_read),
+    .scale_io_regs_cmp_0_write_valid(pwm_scale_io_regs_cmp_0_write_valid),
+    .scale_io_regs_cmp_0_write_bits(pwm_scale_io_regs_cmp_0_write_bits),
+    .scale_io_regs_cmp_0_read(pwm_scale_io_regs_cmp_0_read),
+    .scale_io_regs_cmp_1_write_valid(pwm_scale_io_regs_cmp_1_write_valid),
+    .scale_io_regs_cmp_1_write_bits(pwm_scale_io_regs_cmp_1_write_bits),
+    .scale_io_regs_cmp_1_read(pwm_scale_io_regs_cmp_1_read),
+    .scale_io_regs_cmp_2_write_valid(pwm_scale_io_regs_cmp_2_write_valid),
+    .scale_io_regs_cmp_2_write_bits(pwm_scale_io_regs_cmp_2_write_bits),
+    .scale_io_regs_cmp_2_read(pwm_scale_io_regs_cmp_2_read),
+    .scale_io_regs_cmp_3_write_valid(pwm_scale_io_regs_cmp_3_write_valid),
+    .scale_io_regs_cmp_3_write_bits(pwm_scale_io_regs_cmp_3_write_bits),
+    .scale_io_regs_cmp_3_read(pwm_scale_io_regs_cmp_3_read),
+    .scale_io_ip_0(pwm_scale_io_ip_0),
+    .scale_io_ip_1(pwm_scale_io_ip_1),
+    .scale_io_ip_2(pwm_scale_io_ip_2),
+    .scale_io_ip_3(pwm_scale_io_ip_3),
+    .scale_io_gpio_0(pwm_scale_io_gpio_0),
+    .scale_io_gpio_1(pwm_scale_io_gpio_1),
+    .scale_io_gpio_2(pwm_scale_io_gpio_2),
+    .scale_io_gpio_3(pwm_scale_io_gpio_3)
+  );
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_1 = intsource_auto_out_sync_1; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_2 = intsource_auto_out_sync_2; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_int_xing_out_sync_3 = intsource_auto_out_sync_3; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_io_out_gpio_0 = pwm_scale_io_gpio_0; // @[Nodes.scala 1207:84 PWM.scala 97:15]
+  assign auto_io_out_gpio_1 = pwm_scale_io_gpio_1; // @[Nodes.scala 1207:84 PWM.scala 97:15]
+  assign auto_io_out_gpio_2 = pwm_scale_io_gpio_2; // @[Nodes.scala 1207:84 PWM.scala 97:15]
+  assign auto_io_out_gpio_3 = pwm_scale_io_gpio_3; // @[Nodes.scala 1207:84 PWM.scala 97:15]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign buffer_auto_out_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = _GEN_79 ? _GEN_95 : 32'h0; // @[RegisterRouter.scala 83:24]
+  assign intsource_clock = clock;
+  assign intsource_reset = reset;
+  assign intsource_auto_in_0 = pwm_scale_io_ip_0; // @[Nodes.scala 1207:84 PWM.scala 96:16]
+  assign intsource_auto_in_1 = pwm_scale_io_ip_1; // @[Nodes.scala 1207:84 PWM.scala 96:16]
+  assign intsource_auto_in_2 = pwm_scale_io_ip_2; // @[Nodes.scala 1207:84 PWM.scala 96:16]
+  assign intsource_auto_in_3 = pwm_scale_io_ip_3; // @[Nodes.scala 1207:84 PWM.scala 96:16]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwm_clock = clock;
+  assign pwm_reset = reset;
+  assign pwm_scale_io_regs_cfg_write__ip_0 = bundleIn_0_a_bits_data[28]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__ip_1 = bundleIn_0_a_bits_data[29]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__ip_2 = bundleIn_0_a_bits_data[30]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__ip_3 = bundleIn_0_a_bits_data[31]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__gang_0 = bundleIn_0_a_bits_data[24]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__gang_1 = bundleIn_0_a_bits_data[25]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__gang_2 = bundleIn_0_a_bits_data[26]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__gang_3 = bundleIn_0_a_bits_data[27]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__extra_0 = bundleIn_0_a_bits_data[20]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__extra_1 = bundleIn_0_a_bits_data[21]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__extra_2 = bundleIn_0_a_bits_data[22]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__extra_3 = bundleIn_0_a_bits_data[23]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__center_0 = bundleIn_0_a_bits_data[16]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__center_1 = bundleIn_0_a_bits_data[17]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__center_2 = bundleIn_0_a_bits_data[18]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__center_3 = bundleIn_0_a_bits_data[19]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__running = bundleIn_0_a_bits_data[13]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__countAlways = bundleIn_0_a_bits_data[12]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__deglitch = bundleIn_0_a_bits_data[10]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__zerocmp = bundleIn_0_a_bits_data[9]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__sticky = bundleIn_0_a_bits_data[8]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write__scale = bundleIn_0_a_bits_data[3:0]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_ip_0 = out_wivalid_0 & out_wimask_21; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_ip_1 = out_wivalid_0 & out_wimask_22; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_ip_2 = out_wivalid_0 & out_wimask_23; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_ip_3 = out_wivalid_0 & out_wimask_24; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_gang_0 = out_wivalid_0 & out_wimask_17; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_gang_1 = out_wivalid_0 & out_wimask_18; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_gang_2 = out_wivalid_0 & out_wimask_19; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_gang_3 = out_wivalid_0 & out_wimask_20; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_extra_0 = out_wivalid_0 & out_wimask_13; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_extra_1 = out_wivalid_0 & out_wimask_14; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_extra_2 = out_wivalid_0 & out_wimask_15; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_extra_3 = out_wivalid_0 & out_wimask_16; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_center_0 = out_wivalid_0 & out_wimask_9; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_center_1 = out_wivalid_0 & out_wimask_10; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_center_2 = out_wivalid_0 & out_wimask_11; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_center_3 = out_wivalid_0 & out_wimask_12; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_running = out_wivalid_0 & out_wimask_7; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_countAlways = out_wivalid_0 & out_wimask_6; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_deglitch = out_wivalid_0 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_zerocmp = out_wivalid_0 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_sticky = out_wivalid_0 & out_wimask_2; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cfg_write_scale = out_wivalid_0 & out_wimask; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_countLo_write_valid = out_wivalid_28 & out_wimask_28; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_countLo_write_bits = bundleIn_0_a_bits_data[30:0]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_0_write_valid = out_wivalid_32 & out_wimask_25; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_0_write_bits = bundleIn_0_a_bits_data[15:0]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_1_write_valid = out_wivalid_27 & out_wimask_25; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_1_write_bits = bundleIn_0_a_bits_data[15:0]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_2_write_valid = out_wivalid_25 & out_wimask_25; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_2_write_bits = bundleIn_0_a_bits_data[15:0]; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_3_write_valid = out_wivalid_31 & out_wimask_25; // @[RegisterRouter.scala 83:24]
+  assign pwm_scale_io_regs_cmp_3_write_bits = bundleIn_0_a_bits_data[15:0]; // @[RegisterRouter.scala 83:24]
+endmodule
+module ClockSinkDomain_12(
+  output        auto_pwm_2_int_xing_out_sync_0,
+  output        auto_pwm_2_int_xing_out_sync_1,
+  output        auto_pwm_2_int_xing_out_sync_2,
+  output        auto_pwm_2_int_xing_out_sync_3,
+  output        auto_pwm_2_control_xing_in_a_ready,
+  input         auto_pwm_2_control_xing_in_a_valid,
+  input  [2:0]  auto_pwm_2_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_pwm_2_control_xing_in_a_bits_param,
+  input  [1:0]  auto_pwm_2_control_xing_in_a_bits_size,
+  input  [6:0]  auto_pwm_2_control_xing_in_a_bits_source,
+  input  [28:0] auto_pwm_2_control_xing_in_a_bits_address,
+  input  [3:0]  auto_pwm_2_control_xing_in_a_bits_mask,
+  input  [31:0] auto_pwm_2_control_xing_in_a_bits_data,
+  input         auto_pwm_2_control_xing_in_a_bits_corrupt,
+  input         auto_pwm_2_control_xing_in_d_ready,
+  output        auto_pwm_2_control_xing_in_d_valid,
+  output [2:0]  auto_pwm_2_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_pwm_2_control_xing_in_d_bits_size,
+  output [6:0]  auto_pwm_2_control_xing_in_d_bits_source,
+  output [31:0] auto_pwm_2_control_xing_in_d_bits_data,
+  output        auto_pwm_2_io_out_gpio_0,
+  output        auto_pwm_2_io_out_gpio_1,
+  output        auto_pwm_2_io_out_gpio_2,
+  output        auto_pwm_2_io_out_gpio_3,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  pwm_2_clock; // @[PWM.scala 135:49]
+  wire  pwm_2_reset; // @[PWM.scala 135:49]
+  wire  pwm_2_auto_int_xing_out_sync_0; // @[PWM.scala 135:49]
+  wire  pwm_2_auto_int_xing_out_sync_1; // @[PWM.scala 135:49]
+  wire  pwm_2_auto_int_xing_out_sync_2; // @[PWM.scala 135:49]
+  wire  pwm_2_auto_int_xing_out_sync_3; // @[PWM.scala 135:49]
+  wire  pwm_2_auto_control_xing_in_a_ready; // @[PWM.scala 135:49]
+  wire  pwm_2_auto_control_xing_in_a_valid; // @[PWM.scala 135:49]
+  wire [2:0] pwm_2_auto_control_xing_in_a_bits_opcode; // @[PWM.scala 135:49]
+  wire [2:0] pwm_2_auto_control_xing_in_a_bits_param; // @[PWM.scala 135:49]
+  wire [1:0] pwm_2_auto_control_xing_in_a_bits_size; // @[PWM.scala 135:49]
+  wire [6:0] pwm_2_auto_control_xing_in_a_bits_source; // @[PWM.scala 135:49]
+  wire [28:0] pwm_2_auto_control_xing_in_a_bits_address; // @[PWM.scala 135:49]
+  wire [3:0] pwm_2_auto_control_xing_in_a_bits_mask; // @[PWM.scala 135:49]
+  wire [31:0] pwm_2_auto_control_xing_in_a_bits_data; // @[PWM.scala 135:49]
+  wire  pwm_2_auto_control_xing_in_a_bits_corrupt; // @[PWM.scala 135:49]
+  wire  pwm_2_auto_control_xing_in_d_ready; // @[PWM.scala 135:49]
+  wire  pwm_2_auto_control_xing_in_d_valid; // @[PWM.scala 135:49]
+  wire [2:0] pwm_2_auto_control_xing_in_d_bits_opcode; // @[PWM.scala 135:49]
+  wire [1:0] pwm_2_auto_control_xing_in_d_bits_size; // @[PWM.scala 135:49]
+  wire [6:0] pwm_2_auto_control_xing_in_d_bits_source; // @[PWM.scala 135:49]
+  wire [31:0] pwm_2_auto_control_xing_in_d_bits_data; // @[PWM.scala 135:49]
+  wire  pwm_2_auto_io_out_gpio_0; // @[PWM.scala 135:49]
+  wire  pwm_2_auto_io_out_gpio_1; // @[PWM.scala 135:49]
+  wire  pwm_2_auto_io_out_gpio_2; // @[PWM.scala 135:49]
+  wire  pwm_2_auto_io_out_gpio_3; // @[PWM.scala 135:49]
+  TLPWM_2 pwm_2 ( // @[PWM.scala 135:49]
+    .clock(pwm_2_clock),
+    .reset(pwm_2_reset),
+    .auto_int_xing_out_sync_0(pwm_2_auto_int_xing_out_sync_0),
+    .auto_int_xing_out_sync_1(pwm_2_auto_int_xing_out_sync_1),
+    .auto_int_xing_out_sync_2(pwm_2_auto_int_xing_out_sync_2),
+    .auto_int_xing_out_sync_3(pwm_2_auto_int_xing_out_sync_3),
+    .auto_control_xing_in_a_ready(pwm_2_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(pwm_2_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(pwm_2_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(pwm_2_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(pwm_2_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(pwm_2_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(pwm_2_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(pwm_2_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(pwm_2_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(pwm_2_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(pwm_2_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(pwm_2_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(pwm_2_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(pwm_2_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(pwm_2_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(pwm_2_auto_control_xing_in_d_bits_data),
+    .auto_io_out_gpio_0(pwm_2_auto_io_out_gpio_0),
+    .auto_io_out_gpio_1(pwm_2_auto_io_out_gpio_1),
+    .auto_io_out_gpio_2(pwm_2_auto_io_out_gpio_2),
+    .auto_io_out_gpio_3(pwm_2_auto_io_out_gpio_3)
+  );
+  assign auto_pwm_2_int_xing_out_sync_0 = pwm_2_auto_int_xing_out_sync_0; // @[LazyModule.scala 311:12]
+  assign auto_pwm_2_int_xing_out_sync_1 = pwm_2_auto_int_xing_out_sync_1; // @[LazyModule.scala 311:12]
+  assign auto_pwm_2_int_xing_out_sync_2 = pwm_2_auto_int_xing_out_sync_2; // @[LazyModule.scala 311:12]
+  assign auto_pwm_2_int_xing_out_sync_3 = pwm_2_auto_int_xing_out_sync_3; // @[LazyModule.scala 311:12]
+  assign auto_pwm_2_control_xing_in_a_ready = pwm_2_auto_control_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_pwm_2_control_xing_in_d_valid = pwm_2_auto_control_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_pwm_2_control_xing_in_d_bits_opcode = pwm_2_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_pwm_2_control_xing_in_d_bits_size = pwm_2_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_pwm_2_control_xing_in_d_bits_source = pwm_2_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_pwm_2_control_xing_in_d_bits_data = pwm_2_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_pwm_2_io_out_gpio_0 = pwm_2_auto_io_out_gpio_0; // @[LazyModule.scala 311:12]
+  assign auto_pwm_2_io_out_gpio_1 = pwm_2_auto_io_out_gpio_1; // @[LazyModule.scala 311:12]
+  assign auto_pwm_2_io_out_gpio_2 = pwm_2_auto_io_out_gpio_2; // @[LazyModule.scala 311:12]
+  assign auto_pwm_2_io_out_gpio_3 = pwm_2_auto_io_out_gpio_3; // @[LazyModule.scala 311:12]
+  assign pwm_2_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign pwm_2_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign pwm_2_auto_control_xing_in_a_valid = auto_pwm_2_control_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign pwm_2_auto_control_xing_in_a_bits_opcode = auto_pwm_2_control_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign pwm_2_auto_control_xing_in_a_bits_param = auto_pwm_2_control_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign pwm_2_auto_control_xing_in_a_bits_size = auto_pwm_2_control_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign pwm_2_auto_control_xing_in_a_bits_source = auto_pwm_2_control_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign pwm_2_auto_control_xing_in_a_bits_address = auto_pwm_2_control_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign pwm_2_auto_control_xing_in_a_bits_mask = auto_pwm_2_control_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign pwm_2_auto_control_xing_in_a_bits_data = auto_pwm_2_control_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign pwm_2_auto_control_xing_in_a_bits_corrupt = auto_pwm_2_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign pwm_2_auto_control_xing_in_d_ready = auto_pwm_2_control_xing_in_d_ready; // @[LazyModule.scala 309:16]
+endmodule
+module TLMonitor_70(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10016000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_663 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_663) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLI2C(
+  input         clock,
+  input         reset,
+  output        auto_int_xing_out_sync_0,
+  output        auto_control_xing_in_a_ready,
+  input         auto_control_xing_in_a_valid,
+  input  [2:0]  auto_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_control_xing_in_a_bits_param,
+  input  [1:0]  auto_control_xing_in_a_bits_size,
+  input  [6:0]  auto_control_xing_in_a_bits_source,
+  input  [28:0] auto_control_xing_in_a_bits_address,
+  input  [3:0]  auto_control_xing_in_a_bits_mask,
+  input  [31:0] auto_control_xing_in_a_bits_data,
+  input         auto_control_xing_in_a_bits_corrupt,
+  input         auto_control_xing_in_d_ready,
+  output        auto_control_xing_in_d_valid,
+  output [2:0]  auto_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_control_xing_in_d_bits_size,
+  output [6:0]  auto_control_xing_in_d_bits_source,
+  output [31:0] auto_control_xing_in_d_bits_data,
+  input         auto_io_out_scl_in,
+  output        auto_io_out_scl_oe,
+  input         auto_io_out_sda_in,
+  output        auto_io_out_sda_oe
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+  reg [31:0] _RAND_34;
+  reg [31:0] _RAND_35;
+  reg [31:0] _RAND_36;
+  reg [31:0] _RAND_37;
+  reg [31:0] _RAND_38;
+  reg [31:0] _RAND_39;
+  reg [31:0] _RAND_40;
+  reg [31:0] _RAND_41;
+  reg [31:0] _RAND_42;
+  reg [31:0] _RAND_43;
+  reg [31:0] _RAND_44;
+  reg [31:0] _RAND_45;
+  reg [31:0] _RAND_46;
+`endif // RANDOMIZE_REG_INIT
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  intsource_clock; // @[Crossing.scala 26:31]
+  wire  intsource_reset; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  reg [7:0] prescaler_hi; // @[I2C.scala 125:25]
+  reg [7:0] prescaler_lo; // @[I2C.scala 125:25]
+  reg  control_coreEn; // @[I2C.scala 126:25]
+  reg  control_intEn; // @[I2C.scala 126:25]
+  reg [7:0] transmitData; // @[I2C.scala 127:25]
+  reg [7:0] receivedData; // @[I2C.scala 128:25]
+  reg  cmd_start; // @[I2C.scala 129:25]
+  reg  cmd_stop; // @[I2C.scala 129:25]
+  reg  cmd_read; // @[I2C.scala 129:25]
+  reg  cmd_write; // @[I2C.scala 129:25]
+  reg  cmd_ack; // @[I2C.scala 129:25]
+  reg  cmd_irqAck; // @[I2C.scala 129:25]
+  reg  status_receivedAck; // @[I2C.scala 130:25]
+  reg  status_busy; // @[I2C.scala 130:25]
+  reg  status_arbLost; // @[I2C.scala 130:25]
+  reg  status_transferInProgress; // @[I2C.scala 130:25]
+  reg  status_irqFlag; // @[I2C.scala 130:25]
+  reg [13:0] filterCnt; // @[I2C.scala 139:22]
+  wire  _T = ~control_coreEn; // @[I2C.scala 140:10]
+  wire  _T_2 = ~(|filterCnt); // @[I2C.scala 142:16]
+  wire [15:0] _filterCnt_T = {prescaler_hi,prescaler_lo}; // @[Cat.scala 31:58]
+  wire [13:0] _filterCnt_T_3 = filterCnt - 14'h1; // @[I2C.scala 145:28]
+  reg [2:0] fSCL; // @[I2C.scala 148:22]
+  reg [2:0] fSDA; // @[I2C.scala 149:22]
+  wire [3:0] _fSCL_T = {fSCL,auto_io_out_scl_in}; // @[Cat.scala 31:58]
+  wire [3:0] _fSDA_T = {fSDA,auto_io_out_sda_in}; // @[Cat.scala 31:58]
+  wire [3:0] _GEN_2 = _T_2 ? _fSCL_T : {{1'd0}, fSCL}; // @[I2C.scala 150:27 151:10 148:22]
+  wire [3:0] _GEN_3 = _T_2 ? _fSDA_T : {{1'd0}, fSDA}; // @[I2C.scala 150:27 152:10 149:22]
+  wire  _sSCL_x29_T_3 = fSCL[0] & fSCL[1]; // @[Misc.scala 166:48]
+  wire  _sSCL_x29_T_4 = fSCL[0] & fSCL[2]; // @[Misc.scala 166:48]
+  wire  _sSCL_x29_T_6 = fSCL[1] & fSCL[2]; // @[Misc.scala 166:48]
+  wire  sSCL_x29 = _sSCL_x29_T_3 | _sSCL_x29_T_4 | _sSCL_x29_T_6; // @[Misc.scala 167:22]
+  reg  sSCL; // @[I2C.scala 155:22]
+  wire  _sSDA_x32_T_3 = fSDA[0] & fSDA[1]; // @[Misc.scala 166:48]
+  wire  _sSDA_x32_T_4 = fSDA[0] & fSDA[2]; // @[Misc.scala 166:48]
+  wire  _sSDA_x32_T_6 = fSDA[1] & fSDA[2]; // @[Misc.scala 166:48]
+  wire  sSDA_x32 = _sSDA_x32_T_3 | _sSDA_x32_T_4 | _sSDA_x32_T_6; // @[Misc.scala 167:22]
+  reg  sSDA; // @[I2C.scala 156:22]
+  reg  dSCL; // @[I2C.scala 158:22]
+  reg  dSDA; // @[I2C.scala 159:22]
+  reg  dSCLOen; // @[I2C.scala 161:22]
+  wire  _startCond_x44_T = ~sSDA; // @[I2C.scala 165:46]
+  wire  startCond_x44 = ~sSDA & dSDA & sSCL; // @[I2C.scala 165:61]
+  reg  startCond; // @[I2C.scala 165:22]
+  wire  stopCond_x47 = sSDA & ~dSDA & sSCL; // @[I2C.scala 166:61]
+  reg  stopCond; // @[I2C.scala 166:22]
+  wire  _sclSync_T = ~sSCL; // @[I2C.scala 170:27]
+  reg  sclOen; // @[I2C.scala 193:23]
+  wire  bundleOut_0_scl_oe = ~sclOen; // @[I2C.scala 194:18]
+  wire  sclSync = dSCL & ~sSCL & bundleOut_0_scl_oe; // @[I2C.scala 170:33]
+  reg  slaveWait; // @[I2C.scala 174:22]
+  reg  clkEn; // @[I2C.scala 177:22]
+  reg [15:0] cnt; // @[I2C.scala 178:22]
+  wire  _T_9 = ~(|cnt) | _T | sclSync; // @[I2C.scala 181:39]
+  wire [15:0] _cnt_T_2 = cnt - 16'h1; // @[I2C.scala 189:18]
+  reg  sdaOen; // @[I2C.scala 196:23]
+  reg  sdaChk; // @[I2C.scala 199:23]
+  reg  transmitBit; // @[I2C.scala 201:24]
+  reg  receivedBit; // @[I2C.scala 202:24]
+  reg [3:0] bitCmd; // @[I2C.scala 207:24]
+  reg  bitCmdStop; // @[I2C.scala 208:24]
+  reg  bitCmdAck; // @[I2C.scala 212:24]
+  reg [4:0] bitState; // @[I2C.scala 219:24]
+  wire  arbLost_x83 = sdaChk & _startCond_x44_T & sdaOen | bitState != 5'h0 & stopCond & ~bitCmdStop; // @[I2C.scala 221:76]
+  reg  arbLost; // @[I2C.scala 221:24]
+  wire [4:0] _GEN_10 = 4'h8 == bitCmd ? 5'ha : bitState; // @[I2C.scala 219:24 237:27 241:43]
+  wire [4:0] _GEN_11 = 4'h4 == bitCmd ? 5'he : _GEN_10; // @[I2C.scala 237:27 240:43]
+  wire [4:0] _GEN_12 = 4'h2 == bitCmd ? 5'h6 : _GEN_11; // @[I2C.scala 237:27 239:43]
+  wire [4:0] _GEN_13 = 4'h1 == bitCmd ? 5'h1 : _GEN_12; // @[I2C.scala 237:27 238:43]
+  wire [4:0] _GEN_14 = 5'h11 == bitState ? 5'h0 : bitState; // @[I2C.scala 235:25 349:21 219:24]
+  wire  _GEN_16 = 5'h11 == bitState ? 1'h0 : sclOen; // @[I2C.scala 235:25 351:21 193:23]
+  wire  _GEN_17 = 5'h11 == bitState ? transmitBit : sdaOen; // @[I2C.scala 235:25 352:21 196:23]
+  wire  _GEN_18 = 5'h11 == bitState ? 1'h0 : sdaChk; // @[I2C.scala 235:25 353:21 199:23]
+  wire [4:0] _GEN_19 = 5'h10 == bitState ? 5'h11 : _GEN_14; // @[I2C.scala 235:25 343:21]
+  wire  _GEN_20 = 5'h10 == bitState | _GEN_16; // @[I2C.scala 235:25 344:21]
+  wire  _GEN_21 = 5'h10 == bitState ? transmitBit : _GEN_17; // @[I2C.scala 235:25 345:21]
+  wire  _GEN_22 = 5'h10 == bitState | _GEN_18; // @[I2C.scala 235:25 346:21]
+  wire  _GEN_23 = 5'h10 == bitState ? 1'h0 : 5'h11 == bitState; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_24 = 5'hf == bitState ? 5'h10 : _GEN_19; // @[I2C.scala 235:25 337:21]
+  wire  _GEN_25 = 5'hf == bitState | _GEN_20; // @[I2C.scala 235:25 338:21]
+  wire  _GEN_26 = 5'hf == bitState ? transmitBit : _GEN_21; // @[I2C.scala 235:25 339:21]
+  wire  _GEN_27 = 5'hf == bitState ? 1'h0 : _GEN_22; // @[I2C.scala 235:25 340:21]
+  wire  _GEN_28 = 5'hf == bitState ? 1'h0 : _GEN_23; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_29 = 5'he == bitState ? 5'hf : _GEN_24; // @[I2C.scala 235:25 331:21]
+  wire  _GEN_30 = 5'he == bitState ? 1'h0 : _GEN_25; // @[I2C.scala 235:25 332:21]
+  wire  _GEN_31 = 5'he == bitState ? transmitBit : _GEN_26; // @[I2C.scala 235:25 333:21]
+  wire  _GEN_32 = 5'he == bitState ? 1'h0 : _GEN_27; // @[I2C.scala 235:25 334:21]
+  wire  _GEN_33 = 5'he == bitState ? 1'h0 : _GEN_28; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_34 = 5'hd == bitState ? 5'h0 : _GEN_29; // @[I2C.scala 235:25 323:21]
+  wire  _GEN_35 = 5'hd == bitState | _GEN_33; // @[I2C.scala 235:25 324:21]
+  wire  _GEN_36 = 5'hd == bitState ? 1'h0 : _GEN_30; // @[I2C.scala 235:25 325:21]
+  wire  _GEN_37 = 5'hd == bitState | _GEN_31; // @[I2C.scala 235:25 326:21]
+  wire  _GEN_38 = 5'hd == bitState ? 1'h0 : _GEN_32; // @[I2C.scala 235:25 327:21]
+  wire [4:0] _GEN_39 = 5'hc == bitState ? 5'hd : _GEN_34; // @[I2C.scala 235:25 317:21]
+  wire  _GEN_40 = 5'hc == bitState | _GEN_36; // @[I2C.scala 235:25 318:21]
+  wire  _GEN_41 = 5'hc == bitState | _GEN_37; // @[I2C.scala 235:25 319:21]
+  wire  _GEN_42 = 5'hc == bitState ? 1'h0 : _GEN_38; // @[I2C.scala 235:25 320:21]
+  wire  _GEN_43 = 5'hc == bitState ? 1'h0 : _GEN_35; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_44 = 5'hb == bitState ? 5'hc : _GEN_39; // @[I2C.scala 235:25 311:21]
+  wire  _GEN_45 = 5'hb == bitState | _GEN_40; // @[I2C.scala 235:25 312:21]
+  wire  _GEN_46 = 5'hb == bitState | _GEN_41; // @[I2C.scala 235:25 313:21]
+  wire  _GEN_47 = 5'hb == bitState ? 1'h0 : _GEN_42; // @[I2C.scala 235:25 314:21]
+  wire  _GEN_48 = 5'hb == bitState ? 1'h0 : _GEN_43; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_49 = 5'ha == bitState ? 5'hb : _GEN_44; // @[I2C.scala 235:25 305:21]
+  wire  _GEN_50 = 5'ha == bitState ? 1'h0 : _GEN_45; // @[I2C.scala 235:25 306:21]
+  wire  _GEN_51 = 5'ha == bitState | _GEN_46; // @[I2C.scala 235:25 307:21]
+  wire  _GEN_52 = 5'ha == bitState ? 1'h0 : _GEN_47; // @[I2C.scala 235:25 308:21]
+  wire  _GEN_53 = 5'ha == bitState ? 1'h0 : _GEN_48; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_54 = 5'h9 == bitState ? 5'h0 : _GEN_49; // @[I2C.scala 235:25 297:21]
+  wire  _GEN_55 = 5'h9 == bitState | _GEN_53; // @[I2C.scala 235:25 298:21]
+  wire  _GEN_56 = 5'h9 == bitState | _GEN_50; // @[I2C.scala 235:25 299:21]
+  wire  _GEN_57 = 5'h9 == bitState | _GEN_51; // @[I2C.scala 235:25 300:21]
+  wire  _GEN_58 = 5'h9 == bitState ? 1'h0 : _GEN_52; // @[I2C.scala 235:25 301:21]
+  wire [4:0] _GEN_59 = 5'h8 == bitState ? 5'h9 : _GEN_54; // @[I2C.scala 235:25 291:21]
+  wire  _GEN_60 = 5'h8 == bitState | _GEN_56; // @[I2C.scala 235:25 292:21]
+  wire  _GEN_61 = 5'h8 == bitState ? 1'h0 : _GEN_57; // @[I2C.scala 235:25 293:21]
+  wire  _GEN_62 = 5'h8 == bitState ? 1'h0 : _GEN_58; // @[I2C.scala 235:25 294:21]
+  wire  _GEN_63 = 5'h8 == bitState ? 1'h0 : _GEN_55; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_64 = 5'h7 == bitState ? 5'h8 : _GEN_59; // @[I2C.scala 235:25 285:21]
+  wire  _GEN_65 = 5'h7 == bitState | _GEN_60; // @[I2C.scala 235:25 286:21]
+  wire  _GEN_66 = 5'h7 == bitState ? 1'h0 : _GEN_61; // @[I2C.scala 235:25 287:21]
+  wire  _GEN_67 = 5'h7 == bitState ? 1'h0 : _GEN_62; // @[I2C.scala 235:25 288:21]
+  wire  _GEN_68 = 5'h7 == bitState ? 1'h0 : _GEN_63; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_69 = 5'h6 == bitState ? 5'h7 : _GEN_64; // @[I2C.scala 235:25 279:21]
+  wire  _GEN_70 = 5'h6 == bitState ? 1'h0 : _GEN_65; // @[I2C.scala 235:25 280:21]
+  wire  _GEN_71 = 5'h6 == bitState ? 1'h0 : _GEN_66; // @[I2C.scala 235:25 281:21]
+  wire  _GEN_72 = 5'h6 == bitState ? 1'h0 : _GEN_67; // @[I2C.scala 235:25 282:21]
+  wire  _GEN_73 = 5'h6 == bitState ? 1'h0 : _GEN_68; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_74 = 5'h5 == bitState ? 5'h0 : _GEN_69; // @[I2C.scala 235:25 271:21]
+  wire  _GEN_75 = 5'h5 == bitState | _GEN_73; // @[I2C.scala 235:25 272:21]
+  wire  _GEN_76 = 5'h5 == bitState ? 1'h0 : _GEN_70; // @[I2C.scala 235:25 273:21]
+  wire  _GEN_77 = 5'h5 == bitState ? 1'h0 : _GEN_71; // @[I2C.scala 235:25 274:21]
+  wire  _GEN_78 = 5'h5 == bitState ? 1'h0 : _GEN_72; // @[I2C.scala 235:25 275:21]
+  wire [4:0] _GEN_79 = 5'h4 == bitState ? 5'h5 : _GEN_74; // @[I2C.scala 235:25 265:21]
+  wire  _GEN_80 = 5'h4 == bitState | _GEN_76; // @[I2C.scala 235:25 266:21]
+  wire  _GEN_81 = 5'h4 == bitState ? 1'h0 : _GEN_77; // @[I2C.scala 235:25 267:21]
+  wire  _GEN_82 = 5'h4 == bitState ? 1'h0 : _GEN_78; // @[I2C.scala 235:25 268:21]
+  wire  _GEN_83 = 5'h4 == bitState ? 1'h0 : _GEN_75; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_84 = 5'h3 == bitState ? 5'h4 : _GEN_79; // @[I2C.scala 235:25 259:21]
+  wire  _GEN_85 = 5'h3 == bitState | _GEN_80; // @[I2C.scala 235:25 260:21]
+  wire  _GEN_86 = 5'h3 == bitState ? 1'h0 : _GEN_81; // @[I2C.scala 235:25 261:21]
+  wire  _GEN_87 = 5'h3 == bitState ? 1'h0 : _GEN_82; // @[I2C.scala 235:25 262:21]
+  wire  _GEN_88 = 5'h3 == bitState ? 1'h0 : _GEN_83; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_89 = 5'h2 == bitState ? 5'h3 : _GEN_84; // @[I2C.scala 235:25 253:21]
+  wire  _GEN_90 = 5'h2 == bitState | _GEN_85; // @[I2C.scala 235:25 254:21]
+  wire  _GEN_91 = 5'h2 == bitState | _GEN_86; // @[I2C.scala 235:25 255:21]
+  wire  _GEN_92 = 5'h2 == bitState ? 1'h0 : _GEN_87; // @[I2C.scala 235:25 256:21]
+  wire  _GEN_93 = 5'h2 == bitState ? 1'h0 : _GEN_88; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_94 = 5'h1 == bitState ? 5'h2 : _GEN_89; // @[I2C.scala 235:25 247:21]
+  wire  _GEN_95 = 5'h1 == bitState ? sclOen : _GEN_90; // @[I2C.scala 235:25 248:21]
+  wire  _GEN_96 = 5'h1 == bitState | _GEN_91; // @[I2C.scala 235:25 249:21]
+  wire  _GEN_97 = 5'h1 == bitState ? 1'h0 : _GEN_92; // @[I2C.scala 235:25 250:21]
+  wire  _GEN_98 = 5'h1 == bitState ? 1'h0 : _GEN_93; // @[I2C.scala 232:15 235:25]
+  wire  _GEN_101 = 5'h0 == bitState ? sclOen : _GEN_95; // @[I2C.scala 193:23 235:25]
+  wire  _GEN_102 = 5'h0 == bitState ? sdaOen : _GEN_96; // @[I2C.scala 196:23 235:25]
+  wire  _GEN_103 = 5'h0 == bitState ? 1'h0 : _GEN_98; // @[I2C.scala 232:15 235:25]
+  wire  _GEN_106 = clkEn ? _GEN_101 : sclOen; // @[I2C.scala 234:18 193:23]
+  wire  _GEN_107 = clkEn ? _GEN_102 : sdaOen; // @[I2C.scala 234:18 196:23]
+  wire  _GEN_108 = clkEn & _GEN_103; // @[I2C.scala 232:15 234:18]
+  wire  _GEN_111 = arbLost | _GEN_106; // @[I2C.scala 224:18 227:15]
+  wire  _GEN_112 = arbLost | _GEN_107; // @[I2C.scala 224:18 228:15]
+  reg  load; // @[I2C.scala 361:24]
+  reg  shift; // @[I2C.scala 362:24]
+  reg  cmdAck; // @[I2C.scala 363:24]
+  reg  receivedAck; // @[I2C.scala 364:24]
+  wire  _go_T = cmd_read | cmd_write; // @[I2C.scala 365:31]
+  wire  go = (cmd_read | cmd_write | cmd_stop) & ~cmdAck; // @[I2C.scala 365:55]
+  reg [2:0] bitCnt; // @[I2C.scala 367:24]
+  wire [2:0] _bitCnt_T_1 = bitCnt - 3'h1; // @[I2C.scala 372:22]
+  wire  bitCntDone = ~(|bitCnt); // @[I2C.scala 374:21]
+  wire [8:0] _receivedData_T = {receivedData,receivedBit}; // @[Cat.scala 31:58]
+  wire [8:0] _GEN_116 = shift ? _receivedData_T : {{1'd0}, receivedData}; // @[I2C.scala 380:21 381:18 128:25]
+  wire [8:0] _GEN_117 = load ? {{1'd0}, transmitData} : _GEN_116; // @[I2C.scala 377:15 378:18]
+  reg [2:0] byteState; // @[I2C.scala 385:24]
+  wire [2:0] _GEN_118 = cmd_write ? 3'h3 : 3'h5; // @[I2C.scala 413:33 414:23 418:23]
+  wire [2:0] _GEN_119 = cmd_write ? 3'h4 : 3'h2; // @[I2C.scala 413:33 415:23 419:23]
+  wire [2:0] _GEN_120 = cmd_read ? 3'h2 : _GEN_118; // @[I2C.scala 409:32 410:23]
+  wire [3:0] _GEN_121 = cmd_read ? 4'h8 : {{1'd0}, _GEN_119}; // @[I2C.scala 409:32 411:23]
+  wire [2:0] _GEN_122 = cmd_start ? 3'h1 : _GEN_120; // @[I2C.scala 405:28 406:23]
+  wire [3:0] _GEN_123 = cmd_start ? 4'h1 : _GEN_121; // @[I2C.scala 405:28 407:23]
+  wire [2:0] _GEN_127 = cmd_read ? 3'h2 : 3'h3; // @[I2C.scala 427:27 428:23 432:23]
+  wire [3:0] _GEN_128 = cmd_read ? 4'h8 : 4'h4; // @[I2C.scala 427:27 429:23 433:23]
+  wire [2:0] _GEN_129 = bitCmdAck ? _GEN_127 : byteState; // @[I2C.scala 385:24 426:26]
+  wire [3:0] _GEN_130 = bitCmdAck ? _GEN_128 : bitCmd; // @[I2C.scala 207:24 426:26]
+  wire [2:0] _GEN_132 = bitCntDone ? 3'h4 : 3'h3; // @[I2C.scala 441:29 442:23 446:23]
+  wire [3:0] _GEN_133 = bitCntDone ? 4'h8 : 4'h4; // @[I2C.scala 441:29 443:23 447:23]
+  wire  _GEN_134 = bitCntDone ? 1'h0 : 1'h1; // @[I2C.scala 398:17 441:29 448:23]
+  wire [2:0] _GEN_135 = bitCmdAck ? _GEN_132 : byteState; // @[I2C.scala 385:24 440:26]
+  wire [3:0] _GEN_136 = bitCmdAck ? _GEN_133 : bitCmd; // @[I2C.scala 207:24 440:26]
+  wire  _GEN_137 = bitCmdAck & _GEN_134; // @[I2C.scala 398:17 440:26]
+  wire [2:0] _GEN_138 = bitCntDone ? 3'h4 : 3'h2; // @[I2C.scala 454:29 455:23 459:23]
+  wire [3:0] _GEN_139 = bitCntDone ? 4'h4 : 4'h8; // @[I2C.scala 454:29 456:23 460:23]
+  wire [2:0] _GEN_140 = bitCmdAck ? _GEN_138 : byteState; // @[I2C.scala 385:24 453:26]
+  wire [3:0] _GEN_141 = bitCmdAck ? _GEN_139 : bitCmd; // @[I2C.scala 207:24 453:26]
+  wire  _GEN_142 = bitCmdAck ? cmd_ack : receivedData[7]; // @[I2C.scala 397:17 453:26 464:23]
+  wire [2:0] _GEN_143 = cmd_stop ? 3'h5 : 3'h0; // @[I2C.scala 469:27 470:23 474:23]
+  wire [1:0] _GEN_144 = cmd_stop ? 2'h2 : 2'h0; // @[I2C.scala 469:27 471:23 475:23]
+  wire  _GEN_145 = cmd_stop ? 1'h0 : 1'h1; // @[I2C.scala 400:17 469:27 478:23]
+  wire [2:0] _GEN_146 = bitCmdAck ? _GEN_143 : byteState; // @[I2C.scala 385:24 468:26]
+  wire [3:0] _GEN_147 = bitCmdAck ? {{2'd0}, _GEN_144} : bitCmd; // @[I2C.scala 207:24 468:26]
+  wire  _GEN_148 = bitCmdAck & _GEN_145; // @[I2C.scala 400:17 468:26]
+  wire  _GEN_149 = bitCmdAck ? receivedBit : receivedAck; // @[I2C.scala 468:26 482:23 364:24]
+  wire  _GEN_150 = bitCmdAck | cmd_ack; // @[I2C.scala 468:26 484:23 487:23]
+  wire [2:0] _GEN_151 = bitCmdAck ? 3'h0 : byteState; // @[I2C.scala 491:26 492:21 385:24]
+  wire [3:0] _GEN_152 = bitCmdAck ? 4'h0 : bitCmd; // @[I2C.scala 491:26 493:21 207:24]
+  wire [2:0] _GEN_153 = 3'h5 == byteState ? _GEN_151 : byteState; // @[I2C.scala 385:24 402:24]
+  wire [3:0] _GEN_154 = 3'h5 == byteState ? _GEN_152 : bitCmd; // @[I2C.scala 207:24 402:24]
+  wire  _GEN_155 = 3'h5 == byteState & bitCmdAck; // @[I2C.scala 400:17 402:24]
+  wire [2:0] _GEN_156 = 3'h4 == byteState ? _GEN_146 : _GEN_153; // @[I2C.scala 402:24]
+  wire [3:0] _GEN_157 = 3'h4 == byteState ? _GEN_147 : _GEN_154; // @[I2C.scala 402:24]
+  wire  _GEN_158 = 3'h4 == byteState ? _GEN_148 : _GEN_155; // @[I2C.scala 402:24]
+  wire  _GEN_159 = 3'h4 == byteState ? _GEN_149 : receivedAck; // @[I2C.scala 364:24 402:24]
+  wire  _GEN_160 = 3'h4 == byteState ? _GEN_150 : receivedData[7]; // @[I2C.scala 397:17 402:24]
+  wire [2:0] _GEN_161 = 3'h2 == byteState ? _GEN_140 : _GEN_156; // @[I2C.scala 402:24]
+  wire [3:0] _GEN_162 = 3'h2 == byteState ? _GEN_141 : _GEN_157; // @[I2C.scala 402:24]
+  wire  _GEN_163 = 3'h2 == byteState & bitCmdAck; // @[I2C.scala 398:17 402:24]
+  wire  _GEN_164 = 3'h2 == byteState ? _GEN_142 : _GEN_160; // @[I2C.scala 402:24]
+  wire  _GEN_165 = 3'h2 == byteState ? 1'h0 : _GEN_158; // @[I2C.scala 400:17 402:24]
+  wire  _GEN_166 = 3'h2 == byteState ? receivedAck : _GEN_159; // @[I2C.scala 364:24 402:24]
+  wire [2:0] _GEN_167 = 3'h3 == byteState ? _GEN_135 : _GEN_161; // @[I2C.scala 402:24]
+  wire [3:0] _GEN_168 = 3'h3 == byteState ? _GEN_136 : _GEN_162; // @[I2C.scala 402:24]
+  wire  _GEN_169 = 3'h3 == byteState ? _GEN_137 : _GEN_163; // @[I2C.scala 402:24]
+  wire  _GEN_170 = 3'h3 == byteState ? receivedData[7] : _GEN_164; // @[I2C.scala 397:17 402:24]
+  wire  _GEN_171 = 3'h3 == byteState ? 1'h0 : _GEN_165; // @[I2C.scala 400:17 402:24]
+  wire  _GEN_172 = 3'h3 == byteState ? receivedAck : _GEN_166; // @[I2C.scala 364:24 402:24]
+  wire  _GEN_175 = 3'h1 == byteState & bitCmdAck; // @[I2C.scala 399:17 402:24]
+  wire  bundleIn_0_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [2:0] bundleIn_0_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  in_bits_read = bundleIn_0_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [28:0] bundleIn_0_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [9:0] in_bits_index = bundleIn_0_a_bits_address[11:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire [2:0] out_iindex = {in_bits_index[2],in_bits_index[1],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [9:0] out_findex = in_bits_index & 10'h3f8; // @[RegisterRouter.scala 83:24]
+  wire  _out_T_8 = out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  bundleIn_0_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_backSel_T = 8'h1 << out_iindex; // @[OneHot.scala 57:35]
+  wire  out_backSel_4 = _out_backSel_T[4]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_6 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_backSel_4 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] bundleIn_0_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_backMask_T_11 = bundleIn_0_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_9 = bundleIn_0_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_7 = bundleIn_0_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_5 = bundleIn_0_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_backMask = {_out_backMask_T_11,_out_backMask_T_9,_out_backMask_T_7,_out_backMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_womask_6 = &out_backMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_6 = out_woready_6 & out_womask_6; // @[RegisterRouter.scala 83:24]
+  wire [31:0] bundleIn_0_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _nextCmd_T = {cmd_start,cmd_stop,cmd_read,cmd_write,cmd_ack,2'h0,cmd_irqAck}; // @[I2C.scala 508:18]
+  wire [7:0] _nextCmd_T_1 = _nextCmd_T & 8'hfe; // @[I2C.scala 508:25]
+  wire [7:0] nextCmd = out_f_woready_6 ? bundleIn_0_a_bits_data[7:0] : _nextCmd_T_1; // @[I2C.scala 508:11 564:77 566:74]
+  wire  _T_40 = cmdAck | arbLost; // @[I2C.scala 511:16]
+  wire  _GEN_198 = startCond | status_busy; // @[I2C.scala 130:25 522:25 523:29]
+  wire  _GEN_200 = cmd_start ? 1'h0 : status_arbLost; // @[I2C.scala 130:25 529:25 530:29]
+  wire  _GEN_201 = arbLost | _GEN_200; // @[I2C.scala 526:18 527:29]
+  reg  statusReadReady; // @[I2C.scala 536:28]
+  wire  _GEN_202 = ~statusReadReady | statusReadReady; // @[I2C.scala 540:32 541:21 536:28]
+  wire  _GEN_203 = _T_40 ? 1'h0 : _GEN_202; // @[I2C.scala 537:28 538:21]
+  wire  out_rimask = |out_backMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_rofireMux_out_4 = statusReadReady | ~out_rimask; // @[RegisterRouter.scala 83:24]
+  wire  _out_rofireMux_T_21 = out_rofireMux_out_4 | ~(out_findex == 10'h0); // @[RegisterRouter.scala 83:24]
+  wire  _GEN_232 = 3'h4 == out_iindex ? _out_rofireMux_T_21 : 1'h1; // @[MuxLiteral.scala 48:{10,10}]
+  wire  out_rofireMux = 3'h7 == out_iindex | (3'h6 == out_iindex | (3'h5 == out_iindex | _GEN_232)); // @[MuxLiteral.scala 48:{10,10}]
+  wire  out_oready = in_bits_read ? out_rofireMux : 1'h1; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_0 = _out_backSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_0 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_0 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready = out_woready_0 & out_womask_6; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_1 = _out_backSel_T[1]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_1 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_1 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_1 = out_woready_1 & out_womask_6; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_2 = _out_backSel_T[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_2 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_2 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_3 = &out_backMask[6]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_3 = out_woready_2 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_4 = &out_backMask[7]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_4 = out_woready_2 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  wire [7:0] out_prepend_1 = {control_coreEn,control_intEn,6'h0}; // @[Cat.scala 31:58]
+  wire  out_frontSel_3 = _out_backSel_T[3]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_5 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_3 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_5 = out_woready_5 & out_womask_6; // @[RegisterRouter.scala 83:24]
+  wire [7:0] out_f_data = {status_receivedAck,status_busy,status_arbLost,3'h0,status_transferInProgress,status_irqFlag}; // @[I2C.scala 561:89]
+  wire  _GEN_210 = out_f_woready_6 ? 1'h0 : _GEN_203; // @[I2C.scala 564:77 565:82]
+  wire  _GEN_245 = 3'h1 == out_iindex ? _out_T_8 : _out_T_8; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_246 = 3'h2 == out_iindex ? _out_T_8 : _GEN_245; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_247 = 3'h3 == out_iindex ? _out_T_8 : _GEN_246; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_248 = 3'h4 == out_iindex ? _out_T_8 : _GEN_247; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_251 = 3'h7 == out_iindex | (3'h6 == out_iindex | (3'h5 == out_iindex | _GEN_248)); // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _GEN_253 = 3'h1 == out_iindex ? prescaler_hi : prescaler_lo; // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _GEN_254 = 3'h2 == out_iindex ? out_prepend_1 : _GEN_253; // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _GEN_255 = 3'h3 == out_iindex ? receivedData : _GEN_254; // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _GEN_256 = 3'h4 == out_iindex ? out_f_data : _GEN_255; // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _GEN_257 = 3'h5 == out_iindex ? 8'h0 : _GEN_256; // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _GEN_258 = 3'h6 == out_iindex ? 8'h0 : _GEN_257; // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _GEN_259 = 3'h7 == out_iindex ? 8'h0 : _GEN_258; // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _out_out_bits_data_T_4 = _GEN_251 ? _GEN_259 : 8'h0; // @[RegisterRouter.scala 83:24]
+  TLBuffer_13 buffer ( // @[Buffer.scala 68:28]
+    .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_1 intsource ( // @[Crossing.scala 26:31]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_70 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_io_out_scl_oe = ~sclOen; // @[I2C.scala 194:18]
+  assign auto_io_out_sda_oe = ~sdaOen; // @[I2C.scala 197:18]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = bundleIn_0_d_ready & out_oready; // @[RegisterRouter.scala 83:24]
+  assign buffer_auto_out_d_valid = bundleIn_0_a_valid & out_oready; // @[RegisterRouter.scala 83:24]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign buffer_auto_out_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = {{24'd0}, _out_out_bits_data_T_4}; // @[RegisterRouter.scala 83:{24,24}]
+  assign intsource_clock = clock;
+  assign intsource_reset = reset;
+  assign intsource_auto_in_0 = status_irqFlag & control_intEn; // @[I2C.scala 578:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = bundleIn_0_d_ready & out_oready; // @[RegisterRouter.scala 83:24]
+  assign monitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_valid = bundleIn_0_a_valid & out_oready; // @[RegisterRouter.scala 83:24]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  always @(posedge clock) begin
+    if (reset) begin // @[I2C.scala 125:25]
+      prescaler_hi <= 8'hff; // @[I2C.scala 125:25]
+    end else if (out_f_woready_1) begin // @[RegField.scala 74:88]
+      prescaler_hi <= bundleIn_0_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[I2C.scala 125:25]
+      prescaler_lo <= 8'hff; // @[I2C.scala 125:25]
+    end else if (out_f_woready) begin // @[RegField.scala 74:88]
+      prescaler_lo <= bundleIn_0_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[I2C.scala 126:25]
+      control_coreEn <= 1'h0; // @[I2C.scala 126:25]
+    end else if (out_f_woready_4) begin // @[RegField.scala 74:88]
+      control_coreEn <= bundleIn_0_a_bits_data[7]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[I2C.scala 126:25]
+      control_intEn <= 1'h0; // @[I2C.scala 126:25]
+    end else if (out_f_woready_3) begin // @[RegField.scala 74:88]
+      control_intEn <= bundleIn_0_a_bits_data[6]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[I2C.scala 127:25]
+      transmitData <= 8'h0; // @[I2C.scala 127:25]
+    end else if (out_f_woready_5) begin // @[RegField.scala 74:88]
+      transmitData <= bundleIn_0_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[I2C.scala 128:25]
+      receivedData <= 8'h0; // @[I2C.scala 128:25]
+    end else begin
+      receivedData <= _GEN_117[7:0];
+    end
+    if (reset) begin // @[I2C.scala 129:25]
+      cmd_start <= 1'h0; // @[I2C.scala 129:25]
+    end else if (cmdAck | arbLost) begin // @[I2C.scala 511:28]
+      cmd_start <= 1'h0; // @[I2C.scala 512:15]
+    end else begin
+      cmd_start <= nextCmd[7]; // @[I2C.scala 507:7]
+    end
+    if (reset) begin // @[I2C.scala 129:25]
+      cmd_stop <= 1'h0; // @[I2C.scala 129:25]
+    end else if (cmdAck | arbLost) begin // @[I2C.scala 511:28]
+      cmd_stop <= 1'h0; // @[I2C.scala 513:15]
+    end else begin
+      cmd_stop <= nextCmd[6]; // @[I2C.scala 507:7]
+    end
+    if (reset) begin // @[I2C.scala 129:25]
+      cmd_read <= 1'h0; // @[I2C.scala 129:25]
+    end else if (cmdAck | arbLost) begin // @[I2C.scala 511:28]
+      cmd_read <= 1'h0; // @[I2C.scala 514:15]
+    end else begin
+      cmd_read <= nextCmd[5]; // @[I2C.scala 507:7]
+    end
+    if (reset) begin // @[I2C.scala 129:25]
+      cmd_write <= 1'h0; // @[I2C.scala 129:25]
+    end else if (cmdAck | arbLost) begin // @[I2C.scala 511:28]
+      cmd_write <= 1'h0; // @[I2C.scala 515:15]
+    end else begin
+      cmd_write <= nextCmd[4]; // @[I2C.scala 507:7]
+    end
+    if (reset) begin // @[I2C.scala 129:25]
+      cmd_ack <= 1'h0; // @[I2C.scala 129:25]
+    end else begin
+      cmd_ack <= nextCmd[3]; // @[I2C.scala 507:7]
+    end
+    if (reset) begin // @[I2C.scala 129:25]
+      cmd_irqAck <= 1'h0; // @[I2C.scala 129:25]
+    end else begin
+      cmd_irqAck <= nextCmd[0]; // @[I2C.scala 507:7]
+    end
+    if (reset) begin // @[I2C.scala 130:25]
+      status_receivedAck <= 1'h0; // @[I2C.scala 130:25]
+    end else begin
+      status_receivedAck <= receivedAck; // @[I2C.scala 518:22]
+    end
+    if (reset) begin // @[I2C.scala 130:25]
+      status_busy <= 1'h0; // @[I2C.scala 130:25]
+    end else if (stopCond) begin // @[I2C.scala 519:19]
+      status_busy <= 1'h0; // @[I2C.scala 520:29]
+    end else begin
+      status_busy <= _GEN_198;
+    end
+    if (reset) begin // @[I2C.scala 130:25]
+      status_arbLost <= 1'h0; // @[I2C.scala 130:25]
+    end else begin
+      status_arbLost <= _GEN_201;
+    end
+    if (reset) begin // @[I2C.scala 130:25]
+      status_transferInProgress <= 1'h0; // @[I2C.scala 130:25]
+    end else begin
+      status_transferInProgress <= _go_T; // @[I2C.scala 532:29]
+    end
+    if (reset) begin // @[I2C.scala 130:25]
+      status_irqFlag <= 1'h0; // @[I2C.scala 130:25]
+    end else begin
+      status_irqFlag <= (_T_40 | status_irqFlag) & ~cmd_irqAck; // @[I2C.scala 533:29]
+    end
+    if (reset) begin // @[I2C.scala 139:22]
+      filterCnt <= 14'h0; // @[I2C.scala 139:22]
+    end else if (~control_coreEn) begin // @[I2C.scala 140:28]
+      filterCnt <= 14'h0; // @[I2C.scala 141:15]
+    end else if (~(|filterCnt)) begin // @[I2C.scala 142:34]
+      filterCnt <= _filterCnt_T[15:2]; // @[I2C.scala 143:15]
+    end else begin
+      filterCnt <= _filterCnt_T_3; // @[I2C.scala 145:15]
+    end
+    if (reset) begin // @[I2C.scala 148:22]
+      fSCL <= 3'h7; // @[I2C.scala 148:22]
+    end else begin
+      fSCL <= _GEN_2[2:0];
+    end
+    if (reset) begin // @[I2C.scala 149:22]
+      fSDA <= 3'h7; // @[I2C.scala 149:22]
+    end else begin
+      fSDA <= _GEN_3[2:0];
+    end
+    sSCL <= reset | sSCL_x29; // @[I2C.scala 155:{22,22,22}]
+    sSDA <= reset | sSDA_x32; // @[I2C.scala 156:{22,22,22}]
+    dSCL <= reset | sSCL; // @[I2C.scala 158:{22,22,22}]
+    dSDA <= reset | sSDA; // @[I2C.scala 159:{22,22,22}]
+    dSCLOen <= ~sclOen; // @[I2C.scala 194:18]
+    if (reset) begin // @[I2C.scala 165:22]
+      startCond <= 1'h0; // @[I2C.scala 165:22]
+    end else begin
+      startCond <= startCond_x44; // @[I2C.scala 165:22]
+    end
+    if (reset) begin // @[I2C.scala 166:22]
+      stopCond <= 1'h0; // @[I2C.scala 166:22]
+    end else begin
+      stopCond <= stopCond_x47; // @[I2C.scala 166:22]
+    end
+    sclOen <= reset | _GEN_111; // @[I2C.scala 193:{23,23}]
+    if (reset) begin // @[I2C.scala 174:22]
+      slaveWait <= 1'h0; // @[I2C.scala 174:22]
+    end else begin
+      slaveWait <= bundleOut_0_scl_oe & ~dSCLOen & _sclSync_T | slaveWait & _sclSync_T; // @[I2C.scala 175:13]
+    end
+    clkEn <= reset | _T_9; // @[I2C.scala 177:{22,22}]
+    if (reset) begin // @[I2C.scala 178:22]
+      cnt <= 16'h0; // @[I2C.scala 178:22]
+    end else if (~(|cnt) | _T | sclSync) begin // @[I2C.scala 181:52]
+      cnt <= _filterCnt_T; // @[I2C.scala 182:11]
+    end else if (!(slaveWait)) begin // @[I2C.scala 185:25]
+      cnt <= _cnt_T_2; // @[I2C.scala 189:11]
+    end
+    sdaOen <= reset | _GEN_112; // @[I2C.scala 196:{23,23}]
+    if (reset) begin // @[I2C.scala 199:23]
+      sdaChk <= 1'h0; // @[I2C.scala 199:23]
+    end else if (arbLost) begin // @[I2C.scala 224:18]
+      sdaChk <= 1'h0; // @[I2C.scala 229:15]
+    end else if (clkEn) begin // @[I2C.scala 234:18]
+      if (5'h0 == bitState) begin // @[I2C.scala 235:25]
+        sdaChk <= 1'h0; // @[I2C.scala 243:18]
+      end else begin
+        sdaChk <= _GEN_97;
+      end
+    end
+    if (reset) begin // @[I2C.scala 201:24]
+      transmitBit <= 1'h0; // @[I2C.scala 201:24]
+    end else if (arbLost) begin // @[I2C.scala 387:18]
+      transmitBit <= 1'h0; // @[I2C.scala 389:17]
+    end else if (3'h0 == byteState) begin // @[I2C.scala 402:24]
+      transmitBit <= receivedData[7]; // @[I2C.scala 397:17]
+    end else if (3'h1 == byteState) begin // @[I2C.scala 402:24]
+      transmitBit <= receivedData[7]; // @[I2C.scala 397:17]
+    end else begin
+      transmitBit <= _GEN_170;
+    end
+    if (sSCL & ~dSCL) begin // @[I2C.scala 203:24]
+      receivedBit <= sSDA; // @[I2C.scala 204:17]
+    end
+    if (reset) begin // @[I2C.scala 207:24]
+      bitCmd <= 4'h0; // @[I2C.scala 207:24]
+    end else if (arbLost) begin // @[I2C.scala 387:18]
+      bitCmd <= 4'h0; // @[I2C.scala 388:17]
+    end else if (3'h0 == byteState) begin // @[I2C.scala 402:24]
+      if (go) begin // @[I2C.scala 404:19]
+        bitCmd <= _GEN_123;
+      end
+    end else if (3'h1 == byteState) begin // @[I2C.scala 402:24]
+      bitCmd <= _GEN_130;
+    end else begin
+      bitCmd <= _GEN_168;
+    end
+    if (reset) begin // @[I2C.scala 208:24]
+      bitCmdStop <= 1'h0; // @[I2C.scala 208:24]
+    end else if (clkEn) begin // @[I2C.scala 209:16]
+      bitCmdStop <= bitCmd == 4'h2; // @[I2C.scala 210:16]
+    end
+    if (reset) begin // @[I2C.scala 212:24]
+      bitCmdAck <= 1'h0; // @[I2C.scala 212:24]
+    end else if (arbLost) begin // @[I2C.scala 224:18]
+      bitCmdAck <= 1'h0; // @[I2C.scala 226:15]
+    end else begin
+      bitCmdAck <= _GEN_108;
+    end
+    if (reset) begin // @[I2C.scala 219:24]
+      bitState <= 5'h0; // @[I2C.scala 219:24]
+    end else if (arbLost) begin // @[I2C.scala 224:18]
+      bitState <= 5'h0; // @[I2C.scala 225:15]
+    end else if (clkEn) begin // @[I2C.scala 234:18]
+      if (5'h0 == bitState) begin // @[I2C.scala 235:25]
+        bitState <= _GEN_13;
+      end else begin
+        bitState <= _GEN_94;
+      end
+    end
+    if (reset) begin // @[I2C.scala 221:24]
+      arbLost <= 1'h0; // @[I2C.scala 221:24]
+    end else begin
+      arbLost <= arbLost_x83; // @[I2C.scala 221:24]
+    end
+    if (reset) begin // @[I2C.scala 361:24]
+      load <= 1'h0; // @[I2C.scala 361:24]
+    end else if (arbLost) begin // @[I2C.scala 387:18]
+      load <= 1'h0; // @[I2C.scala 391:17]
+    end else if (3'h0 == byteState) begin // @[I2C.scala 402:24]
+      load <= go;
+    end else begin
+      load <= _GEN_175;
+    end
+    if (reset) begin // @[I2C.scala 362:24]
+      shift <= 1'h0; // @[I2C.scala 362:24]
+    end else if (arbLost) begin // @[I2C.scala 387:18]
+      shift <= 1'h0; // @[I2C.scala 390:17]
+    end else if (3'h0 == byteState) begin // @[I2C.scala 402:24]
+      shift <= 1'h0; // @[I2C.scala 398:17]
+    end else if (3'h1 == byteState) begin // @[I2C.scala 402:24]
+      shift <= 1'h0; // @[I2C.scala 398:17]
+    end else begin
+      shift <= _GEN_169;
+    end
+    if (reset) begin // @[I2C.scala 363:24]
+      cmdAck <= 1'h0; // @[I2C.scala 363:24]
+    end else if (arbLost) begin // @[I2C.scala 387:18]
+      cmdAck <= 1'h0; // @[I2C.scala 392:17]
+    end else if (3'h0 == byteState) begin // @[I2C.scala 402:24]
+      cmdAck <= 1'h0; // @[I2C.scala 400:17]
+    end else if (3'h1 == byteState) begin // @[I2C.scala 402:24]
+      cmdAck <= 1'h0; // @[I2C.scala 400:17]
+    end else begin
+      cmdAck <= _GEN_171;
+    end
+    if (reset) begin // @[I2C.scala 364:24]
+      receivedAck <= 1'h0; // @[I2C.scala 364:24]
+    end else if (arbLost) begin // @[I2C.scala 387:18]
+      receivedAck <= 1'h0; // @[I2C.scala 394:17]
+    end else if (!(3'h0 == byteState)) begin // @[I2C.scala 402:24]
+      if (!(3'h1 == byteState)) begin // @[I2C.scala 402:24]
+        receivedAck <= _GEN_172;
+      end
+    end
+    if (reset) begin // @[I2C.scala 367:24]
+      bitCnt <= 3'h0; // @[I2C.scala 367:24]
+    end else if (load) begin // @[I2C.scala 368:15]
+      bitCnt <= 3'h7; // @[I2C.scala 369:12]
+    end else if (shift) begin // @[I2C.scala 371:21]
+      bitCnt <= _bitCnt_T_1; // @[I2C.scala 372:12]
+    end
+    if (reset) begin // @[I2C.scala 385:24]
+      byteState <= 3'h0; // @[I2C.scala 385:24]
+    end else if (arbLost) begin // @[I2C.scala 387:18]
+      byteState <= 3'h0; // @[I2C.scala 393:17]
+    end else if (3'h0 == byteState) begin // @[I2C.scala 402:24]
+      if (go) begin // @[I2C.scala 404:19]
+        byteState <= _GEN_122;
+      end
+    end else if (3'h1 == byteState) begin // @[I2C.scala 402:24]
+      byteState <= _GEN_129;
+    end else begin
+      byteState <= _GEN_167;
+    end
+    statusReadReady <= reset | _GEN_210; // @[I2C.scala 536:{28,28}]
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  prescaler_lo = _RAND_1[7:0];
+  _RAND_2 = {1{`RANDOM}};
+  control_coreEn = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  control_intEn = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  transmitData = _RAND_4[7:0];
+  _RAND_5 = {1{`RANDOM}};
+  receivedData = _RAND_5[7:0];
+  _RAND_6 = {1{`RANDOM}};
+  cmd_start = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  cmd_stop = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  cmd_read = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  cmd_write = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  cmd_ack = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  cmd_irqAck = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  status_receivedAck = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  status_busy = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  status_arbLost = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  status_transferInProgress = _RAND_15[0:0];
+  _RAND_16 = {1{`RANDOM}};
+  status_irqFlag = _RAND_16[0:0];
+  _RAND_17 = {1{`RANDOM}};
+  filterCnt = _RAND_17[13:0];
+  _RAND_18 = {1{`RANDOM}};
+  fSCL = _RAND_18[2:0];
+  _RAND_19 = {1{`RANDOM}};
+  fSDA = _RAND_19[2:0];
+  _RAND_20 = {1{`RANDOM}};
+  sSCL = _RAND_20[0:0];
+  _RAND_21 = {1{`RANDOM}};
+  sSDA = _RAND_21[0:0];
+  _RAND_22 = {1{`RANDOM}};
+  dSCL = _RAND_22[0:0];
+  _RAND_23 = {1{`RANDOM}};
+  dSDA = _RAND_23[0:0];
+  _RAND_24 = {1{`RANDOM}};
+  dSCLOen = _RAND_24[0:0];
+  _RAND_25 = {1{`RANDOM}};
+  startCond = _RAND_25[0:0];
+  _RAND_26 = {1{`RANDOM}};
+  stopCond = _RAND_26[0:0];
+  _RAND_27 = {1{`RANDOM}};
+  sclOen = _RAND_27[0:0];
+  _RAND_28 = {1{`RANDOM}};
+  slaveWait = _RAND_28[0:0];
+  _RAND_29 = {1{`RANDOM}};
+  clkEn = _RAND_29[0:0];
+  _RAND_30 = {1{`RANDOM}};
+  cnt = _RAND_30[15:0];
+  _RAND_31 = {1{`RANDOM}};
+  sdaOen = _RAND_31[0:0];
+  _RAND_32 = {1{`RANDOM}};
+  sdaChk = _RAND_32[0:0];
+  _RAND_33 = {1{`RANDOM}};
+  transmitBit = _RAND_33[0:0];
+  _RAND_34 = {1{`RANDOM}};
+  receivedBit = _RAND_34[0:0];
+  _RAND_35 = {1{`RANDOM}};
+  bitCmd = _RAND_35[3:0];
+  _RAND_36 = {1{`RANDOM}};
+  bitCmdStop = _RAND_36[0:0];
+  _RAND_37 = {1{`RANDOM}};
+  bitCmdAck = _RAND_37[0:0];
+  _RAND_38 = {1{`RANDOM}};
+  bitState = _RAND_38[4:0];
+  _RAND_39 = {1{`RANDOM}};
+  arbLost = _RAND_39[0:0];
+  _RAND_40 = {1{`RANDOM}};
+  load = _RAND_40[0:0];
+  _RAND_41 = {1{`RANDOM}};
+  shift = _RAND_41[0:0];
+  _RAND_42 = {1{`RANDOM}};
+  cmdAck = _RAND_42[0:0];
+  _RAND_43 = {1{`RANDOM}};
+  receivedAck = _RAND_43[0:0];
+  _RAND_44 = {1{`RANDOM}};
+  bitCnt = _RAND_44[2:0];
+  _RAND_45 = {1{`RANDOM}};
+  byteState = _RAND_45[2:0];
+  _RAND_46 = {1{`RANDOM}};
+  statusReadReady = _RAND_46[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ClockSinkDomain_13(
+  output        auto_i2c_0_int_xing_out_sync_0,
+  output        auto_i2c_0_control_xing_in_a_ready,
+  input         auto_i2c_0_control_xing_in_a_valid,
+  input  [2:0]  auto_i2c_0_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_i2c_0_control_xing_in_a_bits_param,
+  input  [1:0]  auto_i2c_0_control_xing_in_a_bits_size,
+  input  [6:0]  auto_i2c_0_control_xing_in_a_bits_source,
+  input  [28:0] auto_i2c_0_control_xing_in_a_bits_address,
+  input  [3:0]  auto_i2c_0_control_xing_in_a_bits_mask,
+  input  [31:0] auto_i2c_0_control_xing_in_a_bits_data,
+  input         auto_i2c_0_control_xing_in_a_bits_corrupt,
+  input         auto_i2c_0_control_xing_in_d_ready,
+  output        auto_i2c_0_control_xing_in_d_valid,
+  output [2:0]  auto_i2c_0_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_i2c_0_control_xing_in_d_bits_size,
+  output [6:0]  auto_i2c_0_control_xing_in_d_bits_source,
+  output [31:0] auto_i2c_0_control_xing_in_d_bits_data,
+  input         auto_i2c_0_io_out_scl_in,
+  output        auto_i2c_0_io_out_scl_oe,
+  input         auto_i2c_0_io_out_sda_in,
+  output        auto_i2c_0_io_out_sda_oe,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  i2c_0_clock; // @[I2C.scala 597:49]
+  wire  i2c_0_reset; // @[I2C.scala 597:49]
+  wire  i2c_0_auto_int_xing_out_sync_0; // @[I2C.scala 597:49]
+  wire  i2c_0_auto_control_xing_in_a_ready; // @[I2C.scala 597:49]
+  wire  i2c_0_auto_control_xing_in_a_valid; // @[I2C.scala 597:49]
+  wire [2:0] i2c_0_auto_control_xing_in_a_bits_opcode; // @[I2C.scala 597:49]
+  wire [2:0] i2c_0_auto_control_xing_in_a_bits_param; // @[I2C.scala 597:49]
+  wire [1:0] i2c_0_auto_control_xing_in_a_bits_size; // @[I2C.scala 597:49]
+  wire [6:0] i2c_0_auto_control_xing_in_a_bits_source; // @[I2C.scala 597:49]
+  wire [28:0] i2c_0_auto_control_xing_in_a_bits_address; // @[I2C.scala 597:49]
+  wire [3:0] i2c_0_auto_control_xing_in_a_bits_mask; // @[I2C.scala 597:49]
+  wire [31:0] i2c_0_auto_control_xing_in_a_bits_data; // @[I2C.scala 597:49]
+  wire  i2c_0_auto_control_xing_in_a_bits_corrupt; // @[I2C.scala 597:49]
+  wire  i2c_0_auto_control_xing_in_d_ready; // @[I2C.scala 597:49]
+  wire  i2c_0_auto_control_xing_in_d_valid; // @[I2C.scala 597:49]
+  wire [2:0] i2c_0_auto_control_xing_in_d_bits_opcode; // @[I2C.scala 597:49]
+  wire [1:0] i2c_0_auto_control_xing_in_d_bits_size; // @[I2C.scala 597:49]
+  wire [6:0] i2c_0_auto_control_xing_in_d_bits_source; // @[I2C.scala 597:49]
+  wire [31:0] i2c_0_auto_control_xing_in_d_bits_data; // @[I2C.scala 597:49]
+  wire  i2c_0_auto_io_out_scl_in; // @[I2C.scala 597:49]
+  wire  i2c_0_auto_io_out_scl_oe; // @[I2C.scala 597:49]
+  wire  i2c_0_auto_io_out_sda_in; // @[I2C.scala 597:49]
+  wire  i2c_0_auto_io_out_sda_oe; // @[I2C.scala 597:49]
+  TLI2C i2c_0 ( // @[I2C.scala 597:49]
+    .clock(i2c_0_clock),
+    .reset(i2c_0_reset),
+    .auto_int_xing_out_sync_0(i2c_0_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(i2c_0_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(i2c_0_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(i2c_0_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(i2c_0_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(i2c_0_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(i2c_0_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(i2c_0_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(i2c_0_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(i2c_0_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(i2c_0_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(i2c_0_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(i2c_0_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(i2c_0_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(i2c_0_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(i2c_0_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(i2c_0_auto_control_xing_in_d_bits_data),
+    .auto_io_out_scl_in(i2c_0_auto_io_out_scl_in),
+    .auto_io_out_scl_oe(i2c_0_auto_io_out_scl_oe),
+    .auto_io_out_sda_in(i2c_0_auto_io_out_sda_in),
+    .auto_io_out_sda_oe(i2c_0_auto_io_out_sda_oe)
+  );
+  assign auto_i2c_0_int_xing_out_sync_0 = i2c_0_auto_int_xing_out_sync_0; // @[LazyModule.scala 311:12]
+  assign auto_i2c_0_control_xing_in_a_ready = i2c_0_auto_control_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_i2c_0_control_xing_in_d_valid = i2c_0_auto_control_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_i2c_0_control_xing_in_d_bits_opcode = i2c_0_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_i2c_0_control_xing_in_d_bits_size = i2c_0_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_i2c_0_control_xing_in_d_bits_source = i2c_0_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_i2c_0_control_xing_in_d_bits_data = i2c_0_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_i2c_0_io_out_scl_oe = i2c_0_auto_io_out_scl_oe; // @[LazyModule.scala 311:12]
+  assign auto_i2c_0_io_out_sda_oe = i2c_0_auto_io_out_sda_oe; // @[LazyModule.scala 311:12]
+  assign i2c_0_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign i2c_0_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign i2c_0_auto_control_xing_in_a_valid = auto_i2c_0_control_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign i2c_0_auto_control_xing_in_a_bits_opcode = auto_i2c_0_control_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign i2c_0_auto_control_xing_in_a_bits_param = auto_i2c_0_control_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign i2c_0_auto_control_xing_in_a_bits_size = auto_i2c_0_control_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign i2c_0_auto_control_xing_in_a_bits_source = auto_i2c_0_control_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign i2c_0_auto_control_xing_in_a_bits_address = auto_i2c_0_control_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign i2c_0_auto_control_xing_in_a_bits_mask = auto_i2c_0_control_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign i2c_0_auto_control_xing_in_a_bits_data = auto_i2c_0_control_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign i2c_0_auto_control_xing_in_a_bits_corrupt = auto_i2c_0_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign i2c_0_auto_control_xing_in_d_ready = auto_i2c_0_control_xing_in_d_ready; // @[LazyModule.scala 309:16]
+  assign i2c_0_auto_io_out_scl_in = auto_i2c_0_io_out_scl_in; // @[LazyModule.scala 311:12]
+  assign i2c_0_auto_io_out_sda_in = auto_i2c_0_io_out_sda_in; // @[LazyModule.scala 311:12]
+endmodule
+module TLMonitor_71(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [28:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [2:0]  io_in_d_bits_opcode,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [95:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [383:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [95:0] _RAND_16;
+  reg [383:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [28:0] _GEN_71 = {{27'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [28:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 29'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [28:0] _T_33 = io_in_a_bits_address ^ 29'h10026000; // @[Parameters.scala 137:31]
+  wire [29:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [29:0] _T_36 = $signed(_T_34) & -30'sh1000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 30'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_218 = _source_ok_T_4 & _T_172; // @[Monitor.scala 115:71]
+  wire  _T_236 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_273 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_274 = io_in_a_bits_mask & _T_273; // @[Monitor.scala 127:31]
+  wire  _T_275 = _T_274 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_279 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_309 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_317 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_347 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_355 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_385 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _T_397 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 42:24]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  _T_401 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 310:25]
+  wire  _T_405 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 312:27]
+  wire  _T_421 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 318:25]
+  wire  _T_449 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 328:25]
+  wire  _T_478 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 338:25]
+  wire  _T_495 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 346:25]
+  wire  _T_513 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 354:25]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [28:0] address; // @[Monitor.scala 388:22]
+  wire  _T_543 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_544 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_548 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_552 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_556 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_560 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode_1; // @[Monitor.scala 535:22]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_567 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_568 = io_in_d_bits_opcode == opcode_1; // @[Monitor.scala 542:29]
+  wire  _T_576 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_580 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_594 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_597 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_599 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_601 = ~_T_599[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_605 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire  _T_607 = ~_T_401; // @[Monitor.scala 671:74]
+  wire  _T_608 = io_in_d_valid & d_first_1 & ~_T_401; // @[Monitor.scala 671:71]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 & _T_607 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 & _T_607 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_594 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_618 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_620 = _T_618[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_625 = io_in_d_bits_opcode == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_626 = io_in_d_bits_opcode == _GEN_32 | _T_625; // @[Monitor.scala 685:77]
+  wire  _T_630 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_637 = io_in_d_bits_opcode == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_638 = io_in_d_bits_opcode == _GEN_48 | _T_637; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_642 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_652 = _T_605 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2 & _T_607; // @[Monitor.scala 694:116]
+  wire  _T_654 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_663 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  reg [95:0] inflight_1; // @[Monitor.scala 723:35]
+  reg [383:0] inflight_sizes_1; // @[Monitor.scala 725:35]
+  reg  d_first_counter_2; // @[Edges.scala 228:27]
+  wire  d_first_counter1_2 = d_first_counter_2 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_2 = ~d_first_counter_2; // @[Edges.scala 230:25]
+  wire [383:0] _c_size_lookup_T_1 = inflight_sizes_1 >> _a_opcode_lookup_T; // @[Monitor.scala 747:42]
+  wire [383:0] _c_size_lookup_T_6 = _c_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 747:93]
+  wire [383:0] _c_size_lookup_T_7 = {{1'd0}, _c_size_lookup_T_6[383:1]}; // @[Monitor.scala 747:146]
+  wire  _T_689 = io_in_d_valid & d_first_2 & _T_401; // @[Monitor.scala 779:71]
+  wire [127:0] _GEN_67 = d_first_done & d_first_2 & _T_401 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 783:90 784:21]
+  wire [1038:0] _GEN_68 = d_first_done & d_first_2 & _T_401 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 783:90 785:21]
+  wire [95:0] _T_697 = inflight_1 >> io_in_d_bits_source; // @[Monitor.scala 791:25]
+  wire [3:0] c_size_lookup = _c_size_lookup_T_7[3:0];
+  wire  _T_707 = _GEN_82 == c_size_lookup; // @[Monitor.scala 795:36]
+  wire [95:0] d_clr_1 = _GEN_67[95:0];
+  wire [95:0] _inflight_T_4 = ~d_clr_1; // @[Monitor.scala 809:46]
+  wire [95:0] _inflight_T_5 = inflight_1 & _inflight_T_4; // @[Monitor.scala 809:44]
+  wire [383:0] d_opcodes_clr_1 = _GEN_68[383:0];
+  wire [383:0] _inflight_opcodes_T_4 = ~d_opcodes_clr_1; // @[Monitor.scala 810:62]
+  wire [383:0] _inflight_sizes_T_5 = inflight_sizes_1 & _inflight_opcodes_T_4; // @[Monitor.scala 811:56]
+  reg [31:0] watchdog_1; // @[Monitor.scala 813:27]
+  wire  _T_727 = ~(|inflight_1) | plusarg_reader_1_out == 32'h0 | watchdog_1 < plusarg_reader_1_out; // @[Monitor.scala 816:47]
+  wire [31:0] _watchdog_T_3 = watchdog_1 + 32'h1; // @[Monitor.scala 818:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      opcode_1 <= io_in_d_bits_opcode; // @[Monitor.scala 550:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    if (reset) begin // @[Monitor.scala 723:35]
+      inflight_1 <= 96'h0; // @[Monitor.scala 723:35]
+    end else begin
+      inflight_1 <= _inflight_T_5; // @[Monitor.scala 809:22]
+    end
+    if (reset) begin // @[Monitor.scala 725:35]
+      inflight_sizes_1 <= 384'h0; // @[Monitor.scala 725:35]
+    end else begin
+      inflight_sizes_1 <= _inflight_sizes_T_5; // @[Monitor.scala 811:22]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_2 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_2) begin // @[Edges.scala 235:21]
+        d_first_counter_2 <= 1'h0;
+      end else begin
+        d_first_counter_2 <= d_first_counter1_2;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 813:27]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 813:27]
+    end else if (d_first_done) begin // @[Monitor.scala 819:47]
+      watchdog_1 <= 32'h0; // @[Monitor.scala 819:58]
+    end else begin
+      watchdog_1 <= _watchdog_T_3; // @[Monitor.scala 818:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_218 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_218) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_275 & (io_in_a_valid & _T_236 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_236 & ~reset & ~_T_275) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_309 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_309) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_279 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_279 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_347 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_347) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_317 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_317 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_385 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_385) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_355 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_355 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_397 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_T_397) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_401 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_401 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_421 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_421 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_405 & (io_in_d_valid & _T_449 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_449 & _T_2 & ~_T_405) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_478 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_478 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_495 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_495 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_513 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_513 & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_544 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_544) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_548 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_548) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_552 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_552) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_556 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_556) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_560 & (_T_543 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_543 & ~reset & ~_T_560) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_568 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_568) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_576 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_576) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_580 & (_T_567 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_567 & _T_2 & ~_T_580) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_601 & (_T_597 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_597 & ~reset & ~_T_601) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_608 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_626 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_626) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_630 & (_T_608 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & same_cycle_resp & _T_2 & ~_T_630) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_638 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_638) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_642 & (_T_608 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_608 & ~same_cycle_resp & _T_2 & ~_T_642) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_654 & (_T_652 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_652 & _T_2 & ~_T_654) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_663 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_663) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_697[0] & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_697[0]) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_707 & (_T_689 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_689 & _T_2 & ~_T_707) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_727 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_727) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:14)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[28:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  opcode_1 = _RAND_7[2:0];
+  _RAND_8 = {1{`RANDOM}};
+  size_1 = _RAND_8[1:0];
+  _RAND_9 = {1{`RANDOM}};
+  source_1 = _RAND_9[6:0];
+  _RAND_10 = {3{`RANDOM}};
+  inflight = _RAND_10[95:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_11[383:0];
+  _RAND_12 = {12{`RANDOM}};
+  inflight_sizes = _RAND_12[383:0];
+  _RAND_13 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  watchdog = _RAND_15[31:0];
+  _RAND_16 = {3{`RANDOM}};
+  inflight_1 = _RAND_16[95:0];
+  _RAND_17 = {12{`RANDOM}};
+  inflight_sizes_1 = _RAND_17[383:0];
+  _RAND_18 = {1{`RANDOM}};
+  d_first_counter_2 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  watchdog_1 = _RAND_19[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLI2C_1(
+  input         clock,
+  input         reset,
+  output        auto_int_xing_out_sync_0,
+  output        auto_control_xing_in_a_ready,
+  input         auto_control_xing_in_a_valid,
+  input  [2:0]  auto_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_control_xing_in_a_bits_param,
+  input  [1:0]  auto_control_xing_in_a_bits_size,
+  input  [6:0]  auto_control_xing_in_a_bits_source,
+  input  [28:0] auto_control_xing_in_a_bits_address,
+  input  [3:0]  auto_control_xing_in_a_bits_mask,
+  input  [31:0] auto_control_xing_in_a_bits_data,
+  input         auto_control_xing_in_a_bits_corrupt,
+  input         auto_control_xing_in_d_ready,
+  output        auto_control_xing_in_d_valid,
+  output [2:0]  auto_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_control_xing_in_d_bits_size,
+  output [6:0]  auto_control_xing_in_d_bits_source,
+  output [31:0] auto_control_xing_in_d_bits_data,
+  input         auto_io_out_scl_in,
+  output        auto_io_out_scl_oe,
+  input         auto_io_out_sda_in,
+  output        auto_io_out_sda_oe
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+  reg [31:0] _RAND_34;
+  reg [31:0] _RAND_35;
+  reg [31:0] _RAND_36;
+  reg [31:0] _RAND_37;
+  reg [31:0] _RAND_38;
+  reg [31:0] _RAND_39;
+  reg [31:0] _RAND_40;
+  reg [31:0] _RAND_41;
+  reg [31:0] _RAND_42;
+  reg [31:0] _RAND_43;
+  reg [31:0] _RAND_44;
+  reg [31:0] _RAND_45;
+  reg [31:0] _RAND_46;
+`endif // RANDOMIZE_REG_INIT
+  wire  buffer_auto_in_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_in_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 68:28]
+  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 68:28]
+  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_ready; // @[Buffer.scala 68:28]
+  wire  buffer_auto_out_d_valid; // @[Buffer.scala 68:28]
+  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 68:28]
+  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 68:28]
+  wire [6:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 68:28]
+  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 68:28]
+  wire  intsource_clock; // @[Crossing.scala 26:31]
+  wire  intsource_reset; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [28:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_d_bits_opcode; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  reg [7:0] prescaler_hi; // @[I2C.scala 125:25]
+  reg [7:0] prescaler_lo; // @[I2C.scala 125:25]
+  reg  control_coreEn; // @[I2C.scala 126:25]
+  reg  control_intEn; // @[I2C.scala 126:25]
+  reg [7:0] transmitData; // @[I2C.scala 127:25]
+  reg [7:0] receivedData; // @[I2C.scala 128:25]
+  reg  cmd_start; // @[I2C.scala 129:25]
+  reg  cmd_stop; // @[I2C.scala 129:25]
+  reg  cmd_read; // @[I2C.scala 129:25]
+  reg  cmd_write; // @[I2C.scala 129:25]
+  reg  cmd_ack; // @[I2C.scala 129:25]
+  reg  cmd_irqAck; // @[I2C.scala 129:25]
+  reg  status_receivedAck; // @[I2C.scala 130:25]
+  reg  status_busy; // @[I2C.scala 130:25]
+  reg  status_arbLost; // @[I2C.scala 130:25]
+  reg  status_transferInProgress; // @[I2C.scala 130:25]
+  reg  status_irqFlag; // @[I2C.scala 130:25]
+  reg [13:0] filterCnt; // @[I2C.scala 139:22]
+  wire  _T = ~control_coreEn; // @[I2C.scala 140:10]
+  wire  _T_2 = ~(|filterCnt); // @[I2C.scala 142:16]
+  wire [15:0] _filterCnt_T = {prescaler_hi,prescaler_lo}; // @[Cat.scala 31:58]
+  wire [13:0] _filterCnt_T_3 = filterCnt - 14'h1; // @[I2C.scala 145:28]
+  reg [2:0] fSCL; // @[I2C.scala 148:22]
+  reg [2:0] fSDA; // @[I2C.scala 149:22]
+  wire [3:0] _fSCL_T = {fSCL,auto_io_out_scl_in}; // @[Cat.scala 31:58]
+  wire [3:0] _fSDA_T = {fSDA,auto_io_out_sda_in}; // @[Cat.scala 31:58]
+  wire [3:0] _GEN_2 = _T_2 ? _fSCL_T : {{1'd0}, fSCL}; // @[I2C.scala 150:27 151:10 148:22]
+  wire [3:0] _GEN_3 = _T_2 ? _fSDA_T : {{1'd0}, fSDA}; // @[I2C.scala 150:27 152:10 149:22]
+  wire  _sSCL_x29_T_3 = fSCL[0] & fSCL[1]; // @[Misc.scala 166:48]
+  wire  _sSCL_x29_T_4 = fSCL[0] & fSCL[2]; // @[Misc.scala 166:48]
+  wire  _sSCL_x29_T_6 = fSCL[1] & fSCL[2]; // @[Misc.scala 166:48]
+  wire  sSCL_x29 = _sSCL_x29_T_3 | _sSCL_x29_T_4 | _sSCL_x29_T_6; // @[Misc.scala 167:22]
+  reg  sSCL; // @[I2C.scala 155:22]
+  wire  _sSDA_x32_T_3 = fSDA[0] & fSDA[1]; // @[Misc.scala 166:48]
+  wire  _sSDA_x32_T_4 = fSDA[0] & fSDA[2]; // @[Misc.scala 166:48]
+  wire  _sSDA_x32_T_6 = fSDA[1] & fSDA[2]; // @[Misc.scala 166:48]
+  wire  sSDA_x32 = _sSDA_x32_T_3 | _sSDA_x32_T_4 | _sSDA_x32_T_6; // @[Misc.scala 167:22]
+  reg  sSDA; // @[I2C.scala 156:22]
+  reg  dSCL; // @[I2C.scala 158:22]
+  reg  dSDA; // @[I2C.scala 159:22]
+  reg  dSCLOen; // @[I2C.scala 161:22]
+  wire  _startCond_x44_T = ~sSDA; // @[I2C.scala 165:46]
+  wire  startCond_x44 = ~sSDA & dSDA & sSCL; // @[I2C.scala 165:61]
+  reg  startCond; // @[I2C.scala 165:22]
+  wire  stopCond_x47 = sSDA & ~dSDA & sSCL; // @[I2C.scala 166:61]
+  reg  stopCond; // @[I2C.scala 166:22]
+  wire  _sclSync_T = ~sSCL; // @[I2C.scala 170:27]
+  reg  sclOen; // @[I2C.scala 193:23]
+  wire  bundleOut_0_scl_oe = ~sclOen; // @[I2C.scala 194:18]
+  wire  sclSync = dSCL & ~sSCL & bundleOut_0_scl_oe; // @[I2C.scala 170:33]
+  reg  slaveWait; // @[I2C.scala 174:22]
+  reg  clkEn; // @[I2C.scala 177:22]
+  reg [15:0] cnt; // @[I2C.scala 178:22]
+  wire  _T_9 = ~(|cnt) | _T | sclSync; // @[I2C.scala 181:39]
+  wire [15:0] _cnt_T_2 = cnt - 16'h1; // @[I2C.scala 189:18]
+  reg  sdaOen; // @[I2C.scala 196:23]
+  reg  sdaChk; // @[I2C.scala 199:23]
+  reg  transmitBit; // @[I2C.scala 201:24]
+  reg  receivedBit; // @[I2C.scala 202:24]
+  reg [3:0] bitCmd; // @[I2C.scala 207:24]
+  reg  bitCmdStop; // @[I2C.scala 208:24]
+  reg  bitCmdAck; // @[I2C.scala 212:24]
+  reg [4:0] bitState; // @[I2C.scala 219:24]
+  wire  arbLost_x83 = sdaChk & _startCond_x44_T & sdaOen | bitState != 5'h0 & stopCond & ~bitCmdStop; // @[I2C.scala 221:76]
+  reg  arbLost; // @[I2C.scala 221:24]
+  wire [4:0] _GEN_10 = 4'h8 == bitCmd ? 5'ha : bitState; // @[I2C.scala 219:24 237:27 241:43]
+  wire [4:0] _GEN_11 = 4'h4 == bitCmd ? 5'he : _GEN_10; // @[I2C.scala 237:27 240:43]
+  wire [4:0] _GEN_12 = 4'h2 == bitCmd ? 5'h6 : _GEN_11; // @[I2C.scala 237:27 239:43]
+  wire [4:0] _GEN_13 = 4'h1 == bitCmd ? 5'h1 : _GEN_12; // @[I2C.scala 237:27 238:43]
+  wire [4:0] _GEN_14 = 5'h11 == bitState ? 5'h0 : bitState; // @[I2C.scala 235:25 349:21 219:24]
+  wire  _GEN_16 = 5'h11 == bitState ? 1'h0 : sclOen; // @[I2C.scala 235:25 351:21 193:23]
+  wire  _GEN_17 = 5'h11 == bitState ? transmitBit : sdaOen; // @[I2C.scala 235:25 352:21 196:23]
+  wire  _GEN_18 = 5'h11 == bitState ? 1'h0 : sdaChk; // @[I2C.scala 235:25 353:21 199:23]
+  wire [4:0] _GEN_19 = 5'h10 == bitState ? 5'h11 : _GEN_14; // @[I2C.scala 235:25 343:21]
+  wire  _GEN_20 = 5'h10 == bitState | _GEN_16; // @[I2C.scala 235:25 344:21]
+  wire  _GEN_21 = 5'h10 == bitState ? transmitBit : _GEN_17; // @[I2C.scala 235:25 345:21]
+  wire  _GEN_22 = 5'h10 == bitState | _GEN_18; // @[I2C.scala 235:25 346:21]
+  wire  _GEN_23 = 5'h10 == bitState ? 1'h0 : 5'h11 == bitState; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_24 = 5'hf == bitState ? 5'h10 : _GEN_19; // @[I2C.scala 235:25 337:21]
+  wire  _GEN_25 = 5'hf == bitState | _GEN_20; // @[I2C.scala 235:25 338:21]
+  wire  _GEN_26 = 5'hf == bitState ? transmitBit : _GEN_21; // @[I2C.scala 235:25 339:21]
+  wire  _GEN_27 = 5'hf == bitState ? 1'h0 : _GEN_22; // @[I2C.scala 235:25 340:21]
+  wire  _GEN_28 = 5'hf == bitState ? 1'h0 : _GEN_23; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_29 = 5'he == bitState ? 5'hf : _GEN_24; // @[I2C.scala 235:25 331:21]
+  wire  _GEN_30 = 5'he == bitState ? 1'h0 : _GEN_25; // @[I2C.scala 235:25 332:21]
+  wire  _GEN_31 = 5'he == bitState ? transmitBit : _GEN_26; // @[I2C.scala 235:25 333:21]
+  wire  _GEN_32 = 5'he == bitState ? 1'h0 : _GEN_27; // @[I2C.scala 235:25 334:21]
+  wire  _GEN_33 = 5'he == bitState ? 1'h0 : _GEN_28; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_34 = 5'hd == bitState ? 5'h0 : _GEN_29; // @[I2C.scala 235:25 323:21]
+  wire  _GEN_35 = 5'hd == bitState | _GEN_33; // @[I2C.scala 235:25 324:21]
+  wire  _GEN_36 = 5'hd == bitState ? 1'h0 : _GEN_30; // @[I2C.scala 235:25 325:21]
+  wire  _GEN_37 = 5'hd == bitState | _GEN_31; // @[I2C.scala 235:25 326:21]
+  wire  _GEN_38 = 5'hd == bitState ? 1'h0 : _GEN_32; // @[I2C.scala 235:25 327:21]
+  wire [4:0] _GEN_39 = 5'hc == bitState ? 5'hd : _GEN_34; // @[I2C.scala 235:25 317:21]
+  wire  _GEN_40 = 5'hc == bitState | _GEN_36; // @[I2C.scala 235:25 318:21]
+  wire  _GEN_41 = 5'hc == bitState | _GEN_37; // @[I2C.scala 235:25 319:21]
+  wire  _GEN_42 = 5'hc == bitState ? 1'h0 : _GEN_38; // @[I2C.scala 235:25 320:21]
+  wire  _GEN_43 = 5'hc == bitState ? 1'h0 : _GEN_35; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_44 = 5'hb == bitState ? 5'hc : _GEN_39; // @[I2C.scala 235:25 311:21]
+  wire  _GEN_45 = 5'hb == bitState | _GEN_40; // @[I2C.scala 235:25 312:21]
+  wire  _GEN_46 = 5'hb == bitState | _GEN_41; // @[I2C.scala 235:25 313:21]
+  wire  _GEN_47 = 5'hb == bitState ? 1'h0 : _GEN_42; // @[I2C.scala 235:25 314:21]
+  wire  _GEN_48 = 5'hb == bitState ? 1'h0 : _GEN_43; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_49 = 5'ha == bitState ? 5'hb : _GEN_44; // @[I2C.scala 235:25 305:21]
+  wire  _GEN_50 = 5'ha == bitState ? 1'h0 : _GEN_45; // @[I2C.scala 235:25 306:21]
+  wire  _GEN_51 = 5'ha == bitState | _GEN_46; // @[I2C.scala 235:25 307:21]
+  wire  _GEN_52 = 5'ha == bitState ? 1'h0 : _GEN_47; // @[I2C.scala 235:25 308:21]
+  wire  _GEN_53 = 5'ha == bitState ? 1'h0 : _GEN_48; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_54 = 5'h9 == bitState ? 5'h0 : _GEN_49; // @[I2C.scala 235:25 297:21]
+  wire  _GEN_55 = 5'h9 == bitState | _GEN_53; // @[I2C.scala 235:25 298:21]
+  wire  _GEN_56 = 5'h9 == bitState | _GEN_50; // @[I2C.scala 235:25 299:21]
+  wire  _GEN_57 = 5'h9 == bitState | _GEN_51; // @[I2C.scala 235:25 300:21]
+  wire  _GEN_58 = 5'h9 == bitState ? 1'h0 : _GEN_52; // @[I2C.scala 235:25 301:21]
+  wire [4:0] _GEN_59 = 5'h8 == bitState ? 5'h9 : _GEN_54; // @[I2C.scala 235:25 291:21]
+  wire  _GEN_60 = 5'h8 == bitState | _GEN_56; // @[I2C.scala 235:25 292:21]
+  wire  _GEN_61 = 5'h8 == bitState ? 1'h0 : _GEN_57; // @[I2C.scala 235:25 293:21]
+  wire  _GEN_62 = 5'h8 == bitState ? 1'h0 : _GEN_58; // @[I2C.scala 235:25 294:21]
+  wire  _GEN_63 = 5'h8 == bitState ? 1'h0 : _GEN_55; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_64 = 5'h7 == bitState ? 5'h8 : _GEN_59; // @[I2C.scala 235:25 285:21]
+  wire  _GEN_65 = 5'h7 == bitState | _GEN_60; // @[I2C.scala 235:25 286:21]
+  wire  _GEN_66 = 5'h7 == bitState ? 1'h0 : _GEN_61; // @[I2C.scala 235:25 287:21]
+  wire  _GEN_67 = 5'h7 == bitState ? 1'h0 : _GEN_62; // @[I2C.scala 235:25 288:21]
+  wire  _GEN_68 = 5'h7 == bitState ? 1'h0 : _GEN_63; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_69 = 5'h6 == bitState ? 5'h7 : _GEN_64; // @[I2C.scala 235:25 279:21]
+  wire  _GEN_70 = 5'h6 == bitState ? 1'h0 : _GEN_65; // @[I2C.scala 235:25 280:21]
+  wire  _GEN_71 = 5'h6 == bitState ? 1'h0 : _GEN_66; // @[I2C.scala 235:25 281:21]
+  wire  _GEN_72 = 5'h6 == bitState ? 1'h0 : _GEN_67; // @[I2C.scala 235:25 282:21]
+  wire  _GEN_73 = 5'h6 == bitState ? 1'h0 : _GEN_68; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_74 = 5'h5 == bitState ? 5'h0 : _GEN_69; // @[I2C.scala 235:25 271:21]
+  wire  _GEN_75 = 5'h5 == bitState | _GEN_73; // @[I2C.scala 235:25 272:21]
+  wire  _GEN_76 = 5'h5 == bitState ? 1'h0 : _GEN_70; // @[I2C.scala 235:25 273:21]
+  wire  _GEN_77 = 5'h5 == bitState ? 1'h0 : _GEN_71; // @[I2C.scala 235:25 274:21]
+  wire  _GEN_78 = 5'h5 == bitState ? 1'h0 : _GEN_72; // @[I2C.scala 235:25 275:21]
+  wire [4:0] _GEN_79 = 5'h4 == bitState ? 5'h5 : _GEN_74; // @[I2C.scala 235:25 265:21]
+  wire  _GEN_80 = 5'h4 == bitState | _GEN_76; // @[I2C.scala 235:25 266:21]
+  wire  _GEN_81 = 5'h4 == bitState ? 1'h0 : _GEN_77; // @[I2C.scala 235:25 267:21]
+  wire  _GEN_82 = 5'h4 == bitState ? 1'h0 : _GEN_78; // @[I2C.scala 235:25 268:21]
+  wire  _GEN_83 = 5'h4 == bitState ? 1'h0 : _GEN_75; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_84 = 5'h3 == bitState ? 5'h4 : _GEN_79; // @[I2C.scala 235:25 259:21]
+  wire  _GEN_85 = 5'h3 == bitState | _GEN_80; // @[I2C.scala 235:25 260:21]
+  wire  _GEN_86 = 5'h3 == bitState ? 1'h0 : _GEN_81; // @[I2C.scala 235:25 261:21]
+  wire  _GEN_87 = 5'h3 == bitState ? 1'h0 : _GEN_82; // @[I2C.scala 235:25 262:21]
+  wire  _GEN_88 = 5'h3 == bitState ? 1'h0 : _GEN_83; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_89 = 5'h2 == bitState ? 5'h3 : _GEN_84; // @[I2C.scala 235:25 253:21]
+  wire  _GEN_90 = 5'h2 == bitState | _GEN_85; // @[I2C.scala 235:25 254:21]
+  wire  _GEN_91 = 5'h2 == bitState | _GEN_86; // @[I2C.scala 235:25 255:21]
+  wire  _GEN_92 = 5'h2 == bitState ? 1'h0 : _GEN_87; // @[I2C.scala 235:25 256:21]
+  wire  _GEN_93 = 5'h2 == bitState ? 1'h0 : _GEN_88; // @[I2C.scala 232:15 235:25]
+  wire [4:0] _GEN_94 = 5'h1 == bitState ? 5'h2 : _GEN_89; // @[I2C.scala 235:25 247:21]
+  wire  _GEN_95 = 5'h1 == bitState ? sclOen : _GEN_90; // @[I2C.scala 235:25 248:21]
+  wire  _GEN_96 = 5'h1 == bitState | _GEN_91; // @[I2C.scala 235:25 249:21]
+  wire  _GEN_97 = 5'h1 == bitState ? 1'h0 : _GEN_92; // @[I2C.scala 235:25 250:21]
+  wire  _GEN_98 = 5'h1 == bitState ? 1'h0 : _GEN_93; // @[I2C.scala 232:15 235:25]
+  wire  _GEN_101 = 5'h0 == bitState ? sclOen : _GEN_95; // @[I2C.scala 193:23 235:25]
+  wire  _GEN_102 = 5'h0 == bitState ? sdaOen : _GEN_96; // @[I2C.scala 196:23 235:25]
+  wire  _GEN_103 = 5'h0 == bitState ? 1'h0 : _GEN_98; // @[I2C.scala 232:15 235:25]
+  wire  _GEN_106 = clkEn ? _GEN_101 : sclOen; // @[I2C.scala 234:18 193:23]
+  wire  _GEN_107 = clkEn ? _GEN_102 : sdaOen; // @[I2C.scala 234:18 196:23]
+  wire  _GEN_108 = clkEn & _GEN_103; // @[I2C.scala 232:15 234:18]
+  wire  _GEN_111 = arbLost | _GEN_106; // @[I2C.scala 224:18 227:15]
+  wire  _GEN_112 = arbLost | _GEN_107; // @[I2C.scala 224:18 228:15]
+  reg  load; // @[I2C.scala 361:24]
+  reg  shift; // @[I2C.scala 362:24]
+  reg  cmdAck; // @[I2C.scala 363:24]
+  reg  receivedAck; // @[I2C.scala 364:24]
+  wire  _go_T = cmd_read | cmd_write; // @[I2C.scala 365:31]
+  wire  go = (cmd_read | cmd_write | cmd_stop) & ~cmdAck; // @[I2C.scala 365:55]
+  reg [2:0] bitCnt; // @[I2C.scala 367:24]
+  wire [2:0] _bitCnt_T_1 = bitCnt - 3'h1; // @[I2C.scala 372:22]
+  wire  bitCntDone = ~(|bitCnt); // @[I2C.scala 374:21]
+  wire [8:0] _receivedData_T = {receivedData,receivedBit}; // @[Cat.scala 31:58]
+  wire [8:0] _GEN_116 = shift ? _receivedData_T : {{1'd0}, receivedData}; // @[I2C.scala 380:21 381:18 128:25]
+  wire [8:0] _GEN_117 = load ? {{1'd0}, transmitData} : _GEN_116; // @[I2C.scala 377:15 378:18]
+  reg [2:0] byteState; // @[I2C.scala 385:24]
+  wire [2:0] _GEN_118 = cmd_write ? 3'h3 : 3'h5; // @[I2C.scala 413:33 414:23 418:23]
+  wire [2:0] _GEN_119 = cmd_write ? 3'h4 : 3'h2; // @[I2C.scala 413:33 415:23 419:23]
+  wire [2:0] _GEN_120 = cmd_read ? 3'h2 : _GEN_118; // @[I2C.scala 409:32 410:23]
+  wire [3:0] _GEN_121 = cmd_read ? 4'h8 : {{1'd0}, _GEN_119}; // @[I2C.scala 409:32 411:23]
+  wire [2:0] _GEN_122 = cmd_start ? 3'h1 : _GEN_120; // @[I2C.scala 405:28 406:23]
+  wire [3:0] _GEN_123 = cmd_start ? 4'h1 : _GEN_121; // @[I2C.scala 405:28 407:23]
+  wire [2:0] _GEN_127 = cmd_read ? 3'h2 : 3'h3; // @[I2C.scala 427:27 428:23 432:23]
+  wire [3:0] _GEN_128 = cmd_read ? 4'h8 : 4'h4; // @[I2C.scala 427:27 429:23 433:23]
+  wire [2:0] _GEN_129 = bitCmdAck ? _GEN_127 : byteState; // @[I2C.scala 385:24 426:26]
+  wire [3:0] _GEN_130 = bitCmdAck ? _GEN_128 : bitCmd; // @[I2C.scala 207:24 426:26]
+  wire [2:0] _GEN_132 = bitCntDone ? 3'h4 : 3'h3; // @[I2C.scala 441:29 442:23 446:23]
+  wire [3:0] _GEN_133 = bitCntDone ? 4'h8 : 4'h4; // @[I2C.scala 441:29 443:23 447:23]
+  wire  _GEN_134 = bitCntDone ? 1'h0 : 1'h1; // @[I2C.scala 398:17 441:29 448:23]
+  wire [2:0] _GEN_135 = bitCmdAck ? _GEN_132 : byteState; // @[I2C.scala 385:24 440:26]
+  wire [3:0] _GEN_136 = bitCmdAck ? _GEN_133 : bitCmd; // @[I2C.scala 207:24 440:26]
+  wire  _GEN_137 = bitCmdAck & _GEN_134; // @[I2C.scala 398:17 440:26]
+  wire [2:0] _GEN_138 = bitCntDone ? 3'h4 : 3'h2; // @[I2C.scala 454:29 455:23 459:23]
+  wire [3:0] _GEN_139 = bitCntDone ? 4'h4 : 4'h8; // @[I2C.scala 454:29 456:23 460:23]
+  wire [2:0] _GEN_140 = bitCmdAck ? _GEN_138 : byteState; // @[I2C.scala 385:24 453:26]
+  wire [3:0] _GEN_141 = bitCmdAck ? _GEN_139 : bitCmd; // @[I2C.scala 207:24 453:26]
+  wire  _GEN_142 = bitCmdAck ? cmd_ack : receivedData[7]; // @[I2C.scala 397:17 453:26 464:23]
+  wire [2:0] _GEN_143 = cmd_stop ? 3'h5 : 3'h0; // @[I2C.scala 469:27 470:23 474:23]
+  wire [1:0] _GEN_144 = cmd_stop ? 2'h2 : 2'h0; // @[I2C.scala 469:27 471:23 475:23]
+  wire  _GEN_145 = cmd_stop ? 1'h0 : 1'h1; // @[I2C.scala 400:17 469:27 478:23]
+  wire [2:0] _GEN_146 = bitCmdAck ? _GEN_143 : byteState; // @[I2C.scala 385:24 468:26]
+  wire [3:0] _GEN_147 = bitCmdAck ? {{2'd0}, _GEN_144} : bitCmd; // @[I2C.scala 207:24 468:26]
+  wire  _GEN_148 = bitCmdAck & _GEN_145; // @[I2C.scala 400:17 468:26]
+  wire  _GEN_149 = bitCmdAck ? receivedBit : receivedAck; // @[I2C.scala 468:26 482:23 364:24]
+  wire  _GEN_150 = bitCmdAck | cmd_ack; // @[I2C.scala 468:26 484:23 487:23]
+  wire [2:0] _GEN_151 = bitCmdAck ? 3'h0 : byteState; // @[I2C.scala 491:26 492:21 385:24]
+  wire [3:0] _GEN_152 = bitCmdAck ? 4'h0 : bitCmd; // @[I2C.scala 491:26 493:21 207:24]
+  wire [2:0] _GEN_153 = 3'h5 == byteState ? _GEN_151 : byteState; // @[I2C.scala 385:24 402:24]
+  wire [3:0] _GEN_154 = 3'h5 == byteState ? _GEN_152 : bitCmd; // @[I2C.scala 207:24 402:24]
+  wire  _GEN_155 = 3'h5 == byteState & bitCmdAck; // @[I2C.scala 400:17 402:24]
+  wire [2:0] _GEN_156 = 3'h4 == byteState ? _GEN_146 : _GEN_153; // @[I2C.scala 402:24]
+  wire [3:0] _GEN_157 = 3'h4 == byteState ? _GEN_147 : _GEN_154; // @[I2C.scala 402:24]
+  wire  _GEN_158 = 3'h4 == byteState ? _GEN_148 : _GEN_155; // @[I2C.scala 402:24]
+  wire  _GEN_159 = 3'h4 == byteState ? _GEN_149 : receivedAck; // @[I2C.scala 364:24 402:24]
+  wire  _GEN_160 = 3'h4 == byteState ? _GEN_150 : receivedData[7]; // @[I2C.scala 397:17 402:24]
+  wire [2:0] _GEN_161 = 3'h2 == byteState ? _GEN_140 : _GEN_156; // @[I2C.scala 402:24]
+  wire [3:0] _GEN_162 = 3'h2 == byteState ? _GEN_141 : _GEN_157; // @[I2C.scala 402:24]
+  wire  _GEN_163 = 3'h2 == byteState & bitCmdAck; // @[I2C.scala 398:17 402:24]
+  wire  _GEN_164 = 3'h2 == byteState ? _GEN_142 : _GEN_160; // @[I2C.scala 402:24]
+  wire  _GEN_165 = 3'h2 == byteState ? 1'h0 : _GEN_158; // @[I2C.scala 400:17 402:24]
+  wire  _GEN_166 = 3'h2 == byteState ? receivedAck : _GEN_159; // @[I2C.scala 364:24 402:24]
+  wire [2:0] _GEN_167 = 3'h3 == byteState ? _GEN_135 : _GEN_161; // @[I2C.scala 402:24]
+  wire [3:0] _GEN_168 = 3'h3 == byteState ? _GEN_136 : _GEN_162; // @[I2C.scala 402:24]
+  wire  _GEN_169 = 3'h3 == byteState ? _GEN_137 : _GEN_163; // @[I2C.scala 402:24]
+  wire  _GEN_170 = 3'h3 == byteState ? receivedData[7] : _GEN_164; // @[I2C.scala 397:17 402:24]
+  wire  _GEN_171 = 3'h3 == byteState ? 1'h0 : _GEN_165; // @[I2C.scala 400:17 402:24]
+  wire  _GEN_172 = 3'h3 == byteState ? receivedAck : _GEN_166; // @[I2C.scala 364:24 402:24]
+  wire  _GEN_175 = 3'h1 == byteState & bitCmdAck; // @[I2C.scala 399:17 402:24]
+  wire  bundleIn_0_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [2:0] bundleIn_0_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire  in_bits_read = bundleIn_0_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 72:36]
+  wire [28:0] bundleIn_0_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [9:0] in_bits_index = bundleIn_0_a_bits_address[11:2]; // @[RegisterRouter.scala 71:18 73:19]
+  wire [2:0] out_iindex = {in_bits_index[2],in_bits_index[1],in_bits_index[0]}; // @[Cat.scala 31:58]
+  wire [9:0] out_findex = in_bits_index & 10'h3f8; // @[RegisterRouter.scala 83:24]
+  wire  _out_T_8 = out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  bundleIn_0_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_backSel_T = 8'h1 << out_iindex; // @[OneHot.scala 57:35]
+  wire  out_backSel_4 = _out_backSel_T[4]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_6 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_backSel_4 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire [3:0] bundleIn_0_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _out_backMask_T_11 = bundleIn_0_a_bits_mask[3] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_9 = bundleIn_0_a_bits_mask[2] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_7 = bundleIn_0_a_bits_mask[1] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [7:0] _out_backMask_T_5 = bundleIn_0_a_bits_mask[0] ? 8'hff : 8'h0; // @[Bitwise.scala 74:12]
+  wire [31:0] out_backMask = {_out_backMask_T_11,_out_backMask_T_9,_out_backMask_T_7,_out_backMask_T_5}; // @[Cat.scala 31:58]
+  wire  out_womask_6 = &out_backMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_6 = out_woready_6 & out_womask_6; // @[RegisterRouter.scala 83:24]
+  wire [31:0] bundleIn_0_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  wire [7:0] _nextCmd_T = {cmd_start,cmd_stop,cmd_read,cmd_write,cmd_ack,2'h0,cmd_irqAck}; // @[I2C.scala 508:18]
+  wire [7:0] _nextCmd_T_1 = _nextCmd_T & 8'hfe; // @[I2C.scala 508:25]
+  wire [7:0] nextCmd = out_f_woready_6 ? bundleIn_0_a_bits_data[7:0] : _nextCmd_T_1; // @[I2C.scala 508:11 564:77 566:74]
+  wire  _T_40 = cmdAck | arbLost; // @[I2C.scala 511:16]
+  wire  _GEN_198 = startCond | status_busy; // @[I2C.scala 130:25 522:25 523:29]
+  wire  _GEN_200 = cmd_start ? 1'h0 : status_arbLost; // @[I2C.scala 130:25 529:25 530:29]
+  wire  _GEN_201 = arbLost | _GEN_200; // @[I2C.scala 526:18 527:29]
+  reg  statusReadReady; // @[I2C.scala 536:28]
+  wire  _GEN_202 = ~statusReadReady | statusReadReady; // @[I2C.scala 540:32 541:21 536:28]
+  wire  _GEN_203 = _T_40 ? 1'h0 : _GEN_202; // @[I2C.scala 537:28 538:21]
+  wire  out_rimask = |out_backMask[7:0]; // @[RegisterRouter.scala 83:24]
+  wire  out_rofireMux_out_4 = statusReadReady | ~out_rimask; // @[RegisterRouter.scala 83:24]
+  wire  _out_rofireMux_T_21 = out_rofireMux_out_4 | ~(out_findex == 10'h0); // @[RegisterRouter.scala 83:24]
+  wire  _GEN_232 = 3'h4 == out_iindex ? _out_rofireMux_T_21 : 1'h1; // @[MuxLiteral.scala 48:{10,10}]
+  wire  out_rofireMux = 3'h7 == out_iindex | (3'h6 == out_iindex | (3'h5 == out_iindex | _GEN_232)); // @[MuxLiteral.scala 48:{10,10}]
+  wire  out_oready = in_bits_read ? out_rofireMux : 1'h1; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_0 = _out_backSel_T[0]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_0 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_0 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready = out_woready_0 & out_womask_6; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_1 = _out_backSel_T[1]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_1 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_1 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_1 = out_woready_1 & out_womask_6; // @[RegisterRouter.scala 83:24]
+  wire  out_frontSel_2 = _out_backSel_T[2]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_2 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_2 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_3 = &out_backMask[6]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_3 = out_woready_2 & out_wimask_3; // @[RegisterRouter.scala 83:24]
+  wire  out_wimask_4 = &out_backMask[7]; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_4 = out_woready_2 & out_wimask_4; // @[RegisterRouter.scala 83:24]
+  wire [7:0] out_prepend_1 = {control_coreEn,control_intEn,6'h0}; // @[Cat.scala 31:58]
+  wire  out_frontSel_3 = _out_backSel_T[3]; // @[RegisterRouter.scala 83:24]
+  wire  out_woready_5 = bundleIn_0_a_valid & bundleIn_0_d_ready & ~in_bits_read & out_frontSel_3 & out_findex == 10'h0; // @[RegisterRouter.scala 83:24]
+  wire  out_f_woready_5 = out_woready_5 & out_womask_6; // @[RegisterRouter.scala 83:24]
+  wire [7:0] out_f_data = {status_receivedAck,status_busy,status_arbLost,3'h0,status_transferInProgress,status_irqFlag}; // @[I2C.scala 561:89]
+  wire  _GEN_210 = out_f_woready_6 ? 1'h0 : _GEN_203; // @[I2C.scala 564:77 565:82]
+  wire  _GEN_245 = 3'h1 == out_iindex ? _out_T_8 : _out_T_8; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_246 = 3'h2 == out_iindex ? _out_T_8 : _GEN_245; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_247 = 3'h3 == out_iindex ? _out_T_8 : _GEN_246; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_248 = 3'h4 == out_iindex ? _out_T_8 : _GEN_247; // @[MuxLiteral.scala 48:{10,10}]
+  wire  _GEN_251 = 3'h7 == out_iindex | (3'h6 == out_iindex | (3'h5 == out_iindex | _GEN_248)); // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _GEN_253 = 3'h1 == out_iindex ? prescaler_hi : prescaler_lo; // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _GEN_254 = 3'h2 == out_iindex ? out_prepend_1 : _GEN_253; // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _GEN_255 = 3'h3 == out_iindex ? receivedData : _GEN_254; // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _GEN_256 = 3'h4 == out_iindex ? out_f_data : _GEN_255; // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _GEN_257 = 3'h5 == out_iindex ? 8'h0 : _GEN_256; // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _GEN_258 = 3'h6 == out_iindex ? 8'h0 : _GEN_257; // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _GEN_259 = 3'h7 == out_iindex ? 8'h0 : _GEN_258; // @[MuxLiteral.scala 48:{10,10}]
+  wire [7:0] _out_out_bits_data_T_4 = _GEN_251 ? _GEN_259 : 8'h0; // @[RegisterRouter.scala 83:24]
+  TLBuffer_13 buffer ( // @[Buffer.scala 68:28]
+    .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_1 intsource ( // @[Crossing.scala 26:31]
+    .clock(intsource_clock),
+    .reset(intsource_reset),
+    .auto_in_0(intsource_auto_in_0),
+    .auto_out_sync_0(intsource_auto_out_sync_0)
+  );
+  TLMonitor_71 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_opcode(monitor_io_in_d_bits_opcode),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[Nodes.scala 1207:84 LazyModule.scala 298:16]
+  assign auto_io_out_scl_oe = ~sclOen; // @[I2C.scala 194:18]
+  assign auto_io_out_sda_oe = ~sdaOen; // @[I2C.scala 197:18]
+  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign buffer_auto_out_a_ready = bundleIn_0_d_ready & out_oready; // @[RegisterRouter.scala 83:24]
+  assign buffer_auto_out_d_valid = bundleIn_0_a_valid & out_oready; // @[RegisterRouter.scala 83:24]
+  assign buffer_auto_out_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign buffer_auto_out_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign buffer_auto_out_d_bits_data = {{24'd0}, _out_out_bits_data_T_4}; // @[RegisterRouter.scala 83:{24,24}]
+  assign intsource_clock = clock;
+  assign intsource_reset = reset;
+  assign intsource_auto_in_0 = status_irqFlag & control_intEn; // @[I2C.scala 578:35]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = bundleIn_0_d_ready & out_oready; // @[RegisterRouter.scala 83:24]
+  assign monitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_valid = bundleIn_0_a_valid & out_oready; // @[RegisterRouter.scala 83:24]
+  assign monitor_io_in_d_bits_opcode = {{2'd0}, in_bits_read}; // @[Nodes.scala 1210:84 RegisterRouter.scala 98:19]
+  assign monitor_io_in_d_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign monitor_io_in_d_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  always @(posedge clock) begin
+    if (reset) begin // @[I2C.scala 125:25]
+      prescaler_hi <= 8'hff; // @[I2C.scala 125:25]
+    end else if (out_f_woready_1) begin // @[RegField.scala 74:88]
+      prescaler_hi <= bundleIn_0_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[I2C.scala 125:25]
+      prescaler_lo <= 8'hff; // @[I2C.scala 125:25]
+    end else if (out_f_woready) begin // @[RegField.scala 74:88]
+      prescaler_lo <= bundleIn_0_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[I2C.scala 126:25]
+      control_coreEn <= 1'h0; // @[I2C.scala 126:25]
+    end else if (out_f_woready_4) begin // @[RegField.scala 74:88]
+      control_coreEn <= bundleIn_0_a_bits_data[7]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[I2C.scala 126:25]
+      control_intEn <= 1'h0; // @[I2C.scala 126:25]
+    end else if (out_f_woready_3) begin // @[RegField.scala 74:88]
+      control_intEn <= bundleIn_0_a_bits_data[6]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[I2C.scala 127:25]
+      transmitData <= 8'h0; // @[I2C.scala 127:25]
+    end else if (out_f_woready_5) begin // @[RegField.scala 74:88]
+      transmitData <= bundleIn_0_a_bits_data[7:0]; // @[RegField.scala 74:92]
+    end
+    if (reset) begin // @[I2C.scala 128:25]
+      receivedData <= 8'h0; // @[I2C.scala 128:25]
+    end else begin
+      receivedData <= _GEN_117[7:0];
+    end
+    if (reset) begin // @[I2C.scala 129:25]
+      cmd_start <= 1'h0; // @[I2C.scala 129:25]
+    end else if (cmdAck | arbLost) begin // @[I2C.scala 511:28]
+      cmd_start <= 1'h0; // @[I2C.scala 512:15]
+    end else begin
+      cmd_start <= nextCmd[7]; // @[I2C.scala 507:7]
+    end
+    if (reset) begin // @[I2C.scala 129:25]
+      cmd_stop <= 1'h0; // @[I2C.scala 129:25]
+    end else if (cmdAck | arbLost) begin // @[I2C.scala 511:28]
+      cmd_stop <= 1'h0; // @[I2C.scala 513:15]
+    end else begin
+      cmd_stop <= nextCmd[6]; // @[I2C.scala 507:7]
+    end
+    if (reset) begin // @[I2C.scala 129:25]
+      cmd_read <= 1'h0; // @[I2C.scala 129:25]
+    end else if (cmdAck | arbLost) begin // @[I2C.scala 511:28]
+      cmd_read <= 1'h0; // @[I2C.scala 514:15]
+    end else begin
+      cmd_read <= nextCmd[5]; // @[I2C.scala 507:7]
+    end
+    if (reset) begin // @[I2C.scala 129:25]
+      cmd_write <= 1'h0; // @[I2C.scala 129:25]
+    end else if (cmdAck | arbLost) begin // @[I2C.scala 511:28]
+      cmd_write <= 1'h0; // @[I2C.scala 515:15]
+    end else begin
+      cmd_write <= nextCmd[4]; // @[I2C.scala 507:7]
+    end
+    if (reset) begin // @[I2C.scala 129:25]
+      cmd_ack <= 1'h0; // @[I2C.scala 129:25]
+    end else begin
+      cmd_ack <= nextCmd[3]; // @[I2C.scala 507:7]
+    end
+    if (reset) begin // @[I2C.scala 129:25]
+      cmd_irqAck <= 1'h0; // @[I2C.scala 129:25]
+    end else begin
+      cmd_irqAck <= nextCmd[0]; // @[I2C.scala 507:7]
+    end
+    if (reset) begin // @[I2C.scala 130:25]
+      status_receivedAck <= 1'h0; // @[I2C.scala 130:25]
+    end else begin
+      status_receivedAck <= receivedAck; // @[I2C.scala 518:22]
+    end
+    if (reset) begin // @[I2C.scala 130:25]
+      status_busy <= 1'h0; // @[I2C.scala 130:25]
+    end else if (stopCond) begin // @[I2C.scala 519:19]
+      status_busy <= 1'h0; // @[I2C.scala 520:29]
+    end else begin
+      status_busy <= _GEN_198;
+    end
+    if (reset) begin // @[I2C.scala 130:25]
+      status_arbLost <= 1'h0; // @[I2C.scala 130:25]
+    end else begin
+      status_arbLost <= _GEN_201;
+    end
+    if (reset) begin // @[I2C.scala 130:25]
+      status_transferInProgress <= 1'h0; // @[I2C.scala 130:25]
+    end else begin
+      status_transferInProgress <= _go_T; // @[I2C.scala 532:29]
+    end
+    if (reset) begin // @[I2C.scala 130:25]
+      status_irqFlag <= 1'h0; // @[I2C.scala 130:25]
+    end else begin
+      status_irqFlag <= (_T_40 | status_irqFlag) & ~cmd_irqAck; // @[I2C.scala 533:29]
+    end
+    if (reset) begin // @[I2C.scala 139:22]
+      filterCnt <= 14'h0; // @[I2C.scala 139:22]
+    end else if (~control_coreEn) begin // @[I2C.scala 140:28]
+      filterCnt <= 14'h0; // @[I2C.scala 141:15]
+    end else if (~(|filterCnt)) begin // @[I2C.scala 142:34]
+      filterCnt <= _filterCnt_T[15:2]; // @[I2C.scala 143:15]
+    end else begin
+      filterCnt <= _filterCnt_T_3; // @[I2C.scala 145:15]
+    end
+    if (reset) begin // @[I2C.scala 148:22]
+      fSCL <= 3'h7; // @[I2C.scala 148:22]
+    end else begin
+      fSCL <= _GEN_2[2:0];
+    end
+    if (reset) begin // @[I2C.scala 149:22]
+      fSDA <= 3'h7; // @[I2C.scala 149:22]
+    end else begin
+      fSDA <= _GEN_3[2:0];
+    end
+    sSCL <= reset | sSCL_x29; // @[I2C.scala 155:{22,22,22}]
+    sSDA <= reset | sSDA_x32; // @[I2C.scala 156:{22,22,22}]
+    dSCL <= reset | sSCL; // @[I2C.scala 158:{22,22,22}]
+    dSDA <= reset | sSDA; // @[I2C.scala 159:{22,22,22}]
+    dSCLOen <= ~sclOen; // @[I2C.scala 194:18]
+    if (reset) begin // @[I2C.scala 165:22]
+      startCond <= 1'h0; // @[I2C.scala 165:22]
+    end else begin
+      startCond <= startCond_x44; // @[I2C.scala 165:22]
+    end
+    if (reset) begin // @[I2C.scala 166:22]
+      stopCond <= 1'h0; // @[I2C.scala 166:22]
+    end else begin
+      stopCond <= stopCond_x47; // @[I2C.scala 166:22]
+    end
+    sclOen <= reset | _GEN_111; // @[I2C.scala 193:{23,23}]
+    if (reset) begin // @[I2C.scala 174:22]
+      slaveWait <= 1'h0; // @[I2C.scala 174:22]
+    end else begin
+      slaveWait <= bundleOut_0_scl_oe & ~dSCLOen & _sclSync_T | slaveWait & _sclSync_T; // @[I2C.scala 175:13]
+    end
+    clkEn <= reset | _T_9; // @[I2C.scala 177:{22,22}]
+    if (reset) begin // @[I2C.scala 178:22]
+      cnt <= 16'h0; // @[I2C.scala 178:22]
+    end else if (~(|cnt) | _T | sclSync) begin // @[I2C.scala 181:52]
+      cnt <= _filterCnt_T; // @[I2C.scala 182:11]
+    end else if (!(slaveWait)) begin // @[I2C.scala 185:25]
+      cnt <= _cnt_T_2; // @[I2C.scala 189:11]
+    end
+    sdaOen <= reset | _GEN_112; // @[I2C.scala 196:{23,23}]
+    if (reset) begin // @[I2C.scala 199:23]
+      sdaChk <= 1'h0; // @[I2C.scala 199:23]
+    end else if (arbLost) begin // @[I2C.scala 224:18]
+      sdaChk <= 1'h0; // @[I2C.scala 229:15]
+    end else if (clkEn) begin // @[I2C.scala 234:18]
+      if (5'h0 == bitState) begin // @[I2C.scala 235:25]
+        sdaChk <= 1'h0; // @[I2C.scala 243:18]
+      end else begin
+        sdaChk <= _GEN_97;
+      end
+    end
+    if (reset) begin // @[I2C.scala 201:24]
+      transmitBit <= 1'h0; // @[I2C.scala 201:24]
+    end else if (arbLost) begin // @[I2C.scala 387:18]
+      transmitBit <= 1'h0; // @[I2C.scala 389:17]
+    end else if (3'h0 == byteState) begin // @[I2C.scala 402:24]
+      transmitBit <= receivedData[7]; // @[I2C.scala 397:17]
+    end else if (3'h1 == byteState) begin // @[I2C.scala 402:24]
+      transmitBit <= receivedData[7]; // @[I2C.scala 397:17]
+    end else begin
+      transmitBit <= _GEN_170;
+    end
+    if (sSCL & ~dSCL) begin // @[I2C.scala 203:24]
+      receivedBit <= sSDA; // @[I2C.scala 204:17]
+    end
+    if (reset) begin // @[I2C.scala 207:24]
+      bitCmd <= 4'h0; // @[I2C.scala 207:24]
+    end else if (arbLost) begin // @[I2C.scala 387:18]
+      bitCmd <= 4'h0; // @[I2C.scala 388:17]
+    end else if (3'h0 == byteState) begin // @[I2C.scala 402:24]
+      if (go) begin // @[I2C.scala 404:19]
+        bitCmd <= _GEN_123;
+      end
+    end else if (3'h1 == byteState) begin // @[I2C.scala 402:24]
+      bitCmd <= _GEN_130;
+    end else begin
+      bitCmd <= _GEN_168;
+    end
+    if (reset) begin // @[I2C.scala 208:24]
+      bitCmdStop <= 1'h0; // @[I2C.scala 208:24]
+    end else if (clkEn) begin // @[I2C.scala 209:16]
+      bitCmdStop <= bitCmd == 4'h2; // @[I2C.scala 210:16]
+    end
+    if (reset) begin // @[I2C.scala 212:24]
+      bitCmdAck <= 1'h0; // @[I2C.scala 212:24]
+    end else if (arbLost) begin // @[I2C.scala 224:18]
+      bitCmdAck <= 1'h0; // @[I2C.scala 226:15]
+    end else begin
+      bitCmdAck <= _GEN_108;
+    end
+    if (reset) begin // @[I2C.scala 219:24]
+      bitState <= 5'h0; // @[I2C.scala 219:24]
+    end else if (arbLost) begin // @[I2C.scala 224:18]
+      bitState <= 5'h0; // @[I2C.scala 225:15]
+    end else if (clkEn) begin // @[I2C.scala 234:18]
+      if (5'h0 == bitState) begin // @[I2C.scala 235:25]
+        bitState <= _GEN_13;
+      end else begin
+        bitState <= _GEN_94;
+      end
+    end
+    if (reset) begin // @[I2C.scala 221:24]
+      arbLost <= 1'h0; // @[I2C.scala 221:24]
+    end else begin
+      arbLost <= arbLost_x83; // @[I2C.scala 221:24]
+    end
+    if (reset) begin // @[I2C.scala 361:24]
+      load <= 1'h0; // @[I2C.scala 361:24]
+    end else if (arbLost) begin // @[I2C.scala 387:18]
+      load <= 1'h0; // @[I2C.scala 391:17]
+    end else if (3'h0 == byteState) begin // @[I2C.scala 402:24]
+      load <= go;
+    end else begin
+      load <= _GEN_175;
+    end
+    if (reset) begin // @[I2C.scala 362:24]
+      shift <= 1'h0; // @[I2C.scala 362:24]
+    end else if (arbLost) begin // @[I2C.scala 387:18]
+      shift <= 1'h0; // @[I2C.scala 390:17]
+    end else if (3'h0 == byteState) begin // @[I2C.scala 402:24]
+      shift <= 1'h0; // @[I2C.scala 398:17]
+    end else if (3'h1 == byteState) begin // @[I2C.scala 402:24]
+      shift <= 1'h0; // @[I2C.scala 398:17]
+    end else begin
+      shift <= _GEN_169;
+    end
+    if (reset) begin // @[I2C.scala 363:24]
+      cmdAck <= 1'h0; // @[I2C.scala 363:24]
+    end else if (arbLost) begin // @[I2C.scala 387:18]
+      cmdAck <= 1'h0; // @[I2C.scala 392:17]
+    end else if (3'h0 == byteState) begin // @[I2C.scala 402:24]
+      cmdAck <= 1'h0; // @[I2C.scala 400:17]
+    end else if (3'h1 == byteState) begin // @[I2C.scala 402:24]
+      cmdAck <= 1'h0; // @[I2C.scala 400:17]
+    end else begin
+      cmdAck <= _GEN_171;
+    end
+    if (reset) begin // @[I2C.scala 364:24]
+      receivedAck <= 1'h0; // @[I2C.scala 364:24]
+    end else if (arbLost) begin // @[I2C.scala 387:18]
+      receivedAck <= 1'h0; // @[I2C.scala 394:17]
+    end else if (!(3'h0 == byteState)) begin // @[I2C.scala 402:24]
+      if (!(3'h1 == byteState)) begin // @[I2C.scala 402:24]
+        receivedAck <= _GEN_172;
+      end
+    end
+    if (reset) begin // @[I2C.scala 367:24]
+      bitCnt <= 3'h0; // @[I2C.scala 367:24]
+    end else if (load) begin // @[I2C.scala 368:15]
+      bitCnt <= 3'h7; // @[I2C.scala 369:12]
+    end else if (shift) begin // @[I2C.scala 371:21]
+      bitCnt <= _bitCnt_T_1; // @[I2C.scala 372:12]
+    end
+    if (reset) begin // @[I2C.scala 385:24]
+      byteState <= 3'h0; // @[I2C.scala 385:24]
+    end else if (arbLost) begin // @[I2C.scala 387:18]
+      byteState <= 3'h0; // @[I2C.scala 393:17]
+    end else if (3'h0 == byteState) begin // @[I2C.scala 402:24]
+      if (go) begin // @[I2C.scala 404:19]
+        byteState <= _GEN_122;
+      end
+    end else if (3'h1 == byteState) begin // @[I2C.scala 402:24]
+      byteState <= _GEN_129;
+    end else begin
+      byteState <= _GEN_167;
+    end
+    statusReadReady <= reset | _GEN_210; // @[I2C.scala 536:{28,28}]
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  prescaler_lo = _RAND_1[7:0];
+  _RAND_2 = {1{`RANDOM}};
+  control_coreEn = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  control_intEn = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  transmitData = _RAND_4[7:0];
+  _RAND_5 = {1{`RANDOM}};
+  receivedData = _RAND_5[7:0];
+  _RAND_6 = {1{`RANDOM}};
+  cmd_start = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  cmd_stop = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  cmd_read = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  cmd_write = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  cmd_ack = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  cmd_irqAck = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  status_receivedAck = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  status_busy = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  status_arbLost = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  status_transferInProgress = _RAND_15[0:0];
+  _RAND_16 = {1{`RANDOM}};
+  status_irqFlag = _RAND_16[0:0];
+  _RAND_17 = {1{`RANDOM}};
+  filterCnt = _RAND_17[13:0];
+  _RAND_18 = {1{`RANDOM}};
+  fSCL = _RAND_18[2:0];
+  _RAND_19 = {1{`RANDOM}};
+  fSDA = _RAND_19[2:0];
+  _RAND_20 = {1{`RANDOM}};
+  sSCL = _RAND_20[0:0];
+  _RAND_21 = {1{`RANDOM}};
+  sSDA = _RAND_21[0:0];
+  _RAND_22 = {1{`RANDOM}};
+  dSCL = _RAND_22[0:0];
+  _RAND_23 = {1{`RANDOM}};
+  dSDA = _RAND_23[0:0];
+  _RAND_24 = {1{`RANDOM}};
+  dSCLOen = _RAND_24[0:0];
+  _RAND_25 = {1{`RANDOM}};
+  startCond = _RAND_25[0:0];
+  _RAND_26 = {1{`RANDOM}};
+  stopCond = _RAND_26[0:0];
+  _RAND_27 = {1{`RANDOM}};
+  sclOen = _RAND_27[0:0];
+  _RAND_28 = {1{`RANDOM}};
+  slaveWait = _RAND_28[0:0];
+  _RAND_29 = {1{`RANDOM}};
+  clkEn = _RAND_29[0:0];
+  _RAND_30 = {1{`RANDOM}};
+  cnt = _RAND_30[15:0];
+  _RAND_31 = {1{`RANDOM}};
+  sdaOen = _RAND_31[0:0];
+  _RAND_32 = {1{`RANDOM}};
+  sdaChk = _RAND_32[0:0];
+  _RAND_33 = {1{`RANDOM}};
+  transmitBit = _RAND_33[0:0];
+  _RAND_34 = {1{`RANDOM}};
+  receivedBit = _RAND_34[0:0];
+  _RAND_35 = {1{`RANDOM}};
+  bitCmd = _RAND_35[3:0];
+  _RAND_36 = {1{`RANDOM}};
+  bitCmdStop = _RAND_36[0:0];
+  _RAND_37 = {1{`RANDOM}};
+  bitCmdAck = _RAND_37[0:0];
+  _RAND_38 = {1{`RANDOM}};
+  bitState = _RAND_38[4:0];
+  _RAND_39 = {1{`RANDOM}};
+  arbLost = _RAND_39[0:0];
+  _RAND_40 = {1{`RANDOM}};
+  load = _RAND_40[0:0];
+  _RAND_41 = {1{`RANDOM}};
+  shift = _RAND_41[0:0];
+  _RAND_42 = {1{`RANDOM}};
+  cmdAck = _RAND_42[0:0];
+  _RAND_43 = {1{`RANDOM}};
+  receivedAck = _RAND_43[0:0];
+  _RAND_44 = {1{`RANDOM}};
+  bitCnt = _RAND_44[2:0];
+  _RAND_45 = {1{`RANDOM}};
+  byteState = _RAND_45[2:0];
+  _RAND_46 = {1{`RANDOM}};
+  statusReadReady = _RAND_46[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module ClockSinkDomain_14(
+  output        auto_i2c_1_int_xing_out_sync_0,
+  output        auto_i2c_1_control_xing_in_a_ready,
+  input         auto_i2c_1_control_xing_in_a_valid,
+  input  [2:0]  auto_i2c_1_control_xing_in_a_bits_opcode,
+  input  [2:0]  auto_i2c_1_control_xing_in_a_bits_param,
+  input  [1:0]  auto_i2c_1_control_xing_in_a_bits_size,
+  input  [6:0]  auto_i2c_1_control_xing_in_a_bits_source,
+  input  [28:0] auto_i2c_1_control_xing_in_a_bits_address,
+  input  [3:0]  auto_i2c_1_control_xing_in_a_bits_mask,
+  input  [31:0] auto_i2c_1_control_xing_in_a_bits_data,
+  input         auto_i2c_1_control_xing_in_a_bits_corrupt,
+  input         auto_i2c_1_control_xing_in_d_ready,
+  output        auto_i2c_1_control_xing_in_d_valid,
+  output [2:0]  auto_i2c_1_control_xing_in_d_bits_opcode,
+  output [1:0]  auto_i2c_1_control_xing_in_d_bits_size,
+  output [6:0]  auto_i2c_1_control_xing_in_d_bits_source,
+  output [31:0] auto_i2c_1_control_xing_in_d_bits_data,
+  input         auto_i2c_1_io_out_scl_in,
+  output        auto_i2c_1_io_out_scl_oe,
+  input         auto_i2c_1_io_out_sda_in,
+  output        auto_i2c_1_io_out_sda_oe,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  i2c_1_clock; // @[I2C.scala 597:49]
+  wire  i2c_1_reset; // @[I2C.scala 597:49]
+  wire  i2c_1_auto_int_xing_out_sync_0; // @[I2C.scala 597:49]
+  wire  i2c_1_auto_control_xing_in_a_ready; // @[I2C.scala 597:49]
+  wire  i2c_1_auto_control_xing_in_a_valid; // @[I2C.scala 597:49]
+  wire [2:0] i2c_1_auto_control_xing_in_a_bits_opcode; // @[I2C.scala 597:49]
+  wire [2:0] i2c_1_auto_control_xing_in_a_bits_param; // @[I2C.scala 597:49]
+  wire [1:0] i2c_1_auto_control_xing_in_a_bits_size; // @[I2C.scala 597:49]
+  wire [6:0] i2c_1_auto_control_xing_in_a_bits_source; // @[I2C.scala 597:49]
+  wire [28:0] i2c_1_auto_control_xing_in_a_bits_address; // @[I2C.scala 597:49]
+  wire [3:0] i2c_1_auto_control_xing_in_a_bits_mask; // @[I2C.scala 597:49]
+  wire [31:0] i2c_1_auto_control_xing_in_a_bits_data; // @[I2C.scala 597:49]
+  wire  i2c_1_auto_control_xing_in_a_bits_corrupt; // @[I2C.scala 597:49]
+  wire  i2c_1_auto_control_xing_in_d_ready; // @[I2C.scala 597:49]
+  wire  i2c_1_auto_control_xing_in_d_valid; // @[I2C.scala 597:49]
+  wire [2:0] i2c_1_auto_control_xing_in_d_bits_opcode; // @[I2C.scala 597:49]
+  wire [1:0] i2c_1_auto_control_xing_in_d_bits_size; // @[I2C.scala 597:49]
+  wire [6:0] i2c_1_auto_control_xing_in_d_bits_source; // @[I2C.scala 597:49]
+  wire [31:0] i2c_1_auto_control_xing_in_d_bits_data; // @[I2C.scala 597:49]
+  wire  i2c_1_auto_io_out_scl_in; // @[I2C.scala 597:49]
+  wire  i2c_1_auto_io_out_scl_oe; // @[I2C.scala 597:49]
+  wire  i2c_1_auto_io_out_sda_in; // @[I2C.scala 597:49]
+  wire  i2c_1_auto_io_out_sda_oe; // @[I2C.scala 597:49]
+  TLI2C_1 i2c_1 ( // @[I2C.scala 597:49]
+    .clock(i2c_1_clock),
+    .reset(i2c_1_reset),
+    .auto_int_xing_out_sync_0(i2c_1_auto_int_xing_out_sync_0),
+    .auto_control_xing_in_a_ready(i2c_1_auto_control_xing_in_a_ready),
+    .auto_control_xing_in_a_valid(i2c_1_auto_control_xing_in_a_valid),
+    .auto_control_xing_in_a_bits_opcode(i2c_1_auto_control_xing_in_a_bits_opcode),
+    .auto_control_xing_in_a_bits_param(i2c_1_auto_control_xing_in_a_bits_param),
+    .auto_control_xing_in_a_bits_size(i2c_1_auto_control_xing_in_a_bits_size),
+    .auto_control_xing_in_a_bits_source(i2c_1_auto_control_xing_in_a_bits_source),
+    .auto_control_xing_in_a_bits_address(i2c_1_auto_control_xing_in_a_bits_address),
+    .auto_control_xing_in_a_bits_mask(i2c_1_auto_control_xing_in_a_bits_mask),
+    .auto_control_xing_in_a_bits_data(i2c_1_auto_control_xing_in_a_bits_data),
+    .auto_control_xing_in_a_bits_corrupt(i2c_1_auto_control_xing_in_a_bits_corrupt),
+    .auto_control_xing_in_d_ready(i2c_1_auto_control_xing_in_d_ready),
+    .auto_control_xing_in_d_valid(i2c_1_auto_control_xing_in_d_valid),
+    .auto_control_xing_in_d_bits_opcode(i2c_1_auto_control_xing_in_d_bits_opcode),
+    .auto_control_xing_in_d_bits_size(i2c_1_auto_control_xing_in_d_bits_size),
+    .auto_control_xing_in_d_bits_source(i2c_1_auto_control_xing_in_d_bits_source),
+    .auto_control_xing_in_d_bits_data(i2c_1_auto_control_xing_in_d_bits_data),
+    .auto_io_out_scl_in(i2c_1_auto_io_out_scl_in),
+    .auto_io_out_scl_oe(i2c_1_auto_io_out_scl_oe),
+    .auto_io_out_sda_in(i2c_1_auto_io_out_sda_in),
+    .auto_io_out_sda_oe(i2c_1_auto_io_out_sda_oe)
+  );
+  assign auto_i2c_1_int_xing_out_sync_0 = i2c_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 311:12]
+  assign auto_i2c_1_control_xing_in_a_ready = i2c_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_i2c_1_control_xing_in_d_valid = i2c_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_i2c_1_control_xing_in_d_bits_opcode = i2c_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 309:16]
+  assign auto_i2c_1_control_xing_in_d_bits_size = i2c_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_i2c_1_control_xing_in_d_bits_source = i2c_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_i2c_1_control_xing_in_d_bits_data = i2c_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign auto_i2c_1_io_out_scl_oe = i2c_1_auto_io_out_scl_oe; // @[LazyModule.scala 311:12]
+  assign auto_i2c_1_io_out_sda_oe = i2c_1_auto_io_out_sda_oe; // @[LazyModule.scala 311:12]
+  assign i2c_1_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign i2c_1_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign i2c_1_auto_control_xing_in_a_valid = auto_i2c_1_control_xing_in_a_valid; // @[LazyModule.scala 309:16]
+  assign i2c_1_auto_control_xing_in_a_bits_opcode = auto_i2c_1_control_xing_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign i2c_1_auto_control_xing_in_a_bits_param = auto_i2c_1_control_xing_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign i2c_1_auto_control_xing_in_a_bits_size = auto_i2c_1_control_xing_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign i2c_1_auto_control_xing_in_a_bits_source = auto_i2c_1_control_xing_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign i2c_1_auto_control_xing_in_a_bits_address = auto_i2c_1_control_xing_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign i2c_1_auto_control_xing_in_a_bits_mask = auto_i2c_1_control_xing_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign i2c_1_auto_control_xing_in_a_bits_data = auto_i2c_1_control_xing_in_a_bits_data; // @[LazyModule.scala 309:16]
+  assign i2c_1_auto_control_xing_in_a_bits_corrupt = auto_i2c_1_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign i2c_1_auto_control_xing_in_d_ready = auto_i2c_1_control_xing_in_d_ready; // @[LazyModule.scala 309:16]
+  assign i2c_1_auto_io_out_scl_in = auto_i2c_1_io_out_scl_in; // @[LazyModule.scala 311:12]
+  assign i2c_1_auto_io_out_sda_in = auto_i2c_1_io_out_sda_in; // @[LazyModule.scala 311:12]
+endmodule
+module TLMonitor_72(
+  input         clock,
+  input         reset,
+  input         io_in_a_ready,
+  input         io_in_a_valid,
+  input  [2:0]  io_in_a_bits_opcode,
+  input  [2:0]  io_in_a_bits_param,
+  input  [1:0]  io_in_a_bits_size,
+  input  [6:0]  io_in_a_bits_source,
+  input  [16:0] io_in_a_bits_address,
+  input  [3:0]  io_in_a_bits_mask,
+  input         io_in_a_bits_corrupt,
+  input         io_in_d_ready,
+  input         io_in_d_valid,
+  input  [1:0]  io_in_d_bits_size,
+  input  [6:0]  io_in_d_bits_source
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [95:0] _RAND_9;
+  reg [383:0] _RAND_10;
+  reg [383:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+`endif // RANDOMIZE_REG_INIT
+  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 80:11]
+  wire [31:0] plusarg_reader_1_out; // @[PlusArg.scala 80:11]
+  wire  _T_2 = ~reset; // @[Monitor.scala 42:11]
+  wire  _source_ok_T_4 = io_in_a_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire [4:0] _is_aligned_mask_T_1 = 5'h3 << io_in_a_bits_size; // @[package.scala 234:77]
+  wire [1:0] is_aligned_mask = ~_is_aligned_mask_T_1[1:0]; // @[package.scala 234:46]
+  wire [16:0] _GEN_71 = {{15'd0}, is_aligned_mask}; // @[Edges.scala 20:16]
+  wire [16:0] _is_aligned_T = io_in_a_bits_address & _GEN_71; // @[Edges.scala 20:16]
+  wire  is_aligned = _is_aligned_T == 17'h0; // @[Edges.scala 20:24]
+  wire  mask_sizeOH_shiftAmount = io_in_a_bits_size[0]; // @[OneHot.scala 63:49]
+  wire [1:0] _mask_sizeOH_T_1 = 2'h1 << mask_sizeOH_shiftAmount; // @[OneHot.scala 64:12]
+  wire [1:0] mask_sizeOH = _mask_sizeOH_T_1 | 2'h1; // @[Misc.scala 201:81]
+  wire  _mask_T = io_in_a_bits_size >= 2'h2; // @[Misc.scala 205:21]
+  wire  mask_size = mask_sizeOH[1]; // @[Misc.scala 208:26]
+  wire  mask_bit = io_in_a_bits_address[1]; // @[Misc.scala 209:26]
+  wire  mask_nbit = ~mask_bit; // @[Misc.scala 210:20]
+  wire  mask_acc = _mask_T | mask_size & mask_nbit; // @[Misc.scala 214:29]
+  wire  mask_acc_1 = _mask_T | mask_size & mask_bit; // @[Misc.scala 214:29]
+  wire  mask_size_1 = mask_sizeOH[0]; // @[Misc.scala 208:26]
+  wire  mask_bit_1 = io_in_a_bits_address[0]; // @[Misc.scala 209:26]
+  wire  mask_nbit_1 = ~mask_bit_1; // @[Misc.scala 210:20]
+  wire  mask_eq_2 = mask_nbit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_2 = mask_acc | mask_size_1 & mask_eq_2; // @[Misc.scala 214:29]
+  wire  mask_eq_3 = mask_nbit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_3 = mask_acc | mask_size_1 & mask_eq_3; // @[Misc.scala 214:29]
+  wire  mask_eq_4 = mask_bit & mask_nbit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_4 = mask_acc_1 | mask_size_1 & mask_eq_4; // @[Misc.scala 214:29]
+  wire  mask_eq_5 = mask_bit & mask_bit_1; // @[Misc.scala 213:27]
+  wire  mask_acc_5 = mask_acc_1 | mask_size_1 & mask_eq_5; // @[Misc.scala 214:29]
+  wire [3:0] mask = {mask_acc_5,mask_acc_4,mask_acc_3,mask_acc_2}; // @[Cat.scala 31:58]
+  wire  _T_10 = ~_source_ok_T_4; // @[Monitor.scala 63:7]
+  wire  _T_20 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 81:25]
+  wire [16:0] _T_33 = io_in_a_bits_address ^ 17'h10000; // @[Parameters.scala 137:31]
+  wire [17:0] _T_34 = {1'b0,$signed(_T_33)}; // @[Parameters.scala 137:49]
+  wire [17:0] _T_36 = $signed(_T_34) & -18'sh10000; // @[Parameters.scala 137:52]
+  wire  _T_37 = $signed(_T_36) == 18'sh0; // @[Parameters.scala 137:67]
+  wire  _T_69 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 108:27]
+  wire [3:0] _T_73 = ~io_in_a_bits_mask; // @[Monitor.scala 88:18]
+  wire  _T_74 = _T_73 == 4'h0; // @[Monitor.scala 88:31]
+  wire  _T_78 = ~io_in_a_bits_corrupt; // @[Monitor.scala 89:18]
+  wire  _T_82 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 92:25]
+  wire  _T_135 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 99:31]
+  wire  _T_148 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 104:25]
+  wire  _T_164 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 92:42]
+  wire  _T_172 = _T_164 & _T_37; // @[Parameters.scala 670:56]
+  wire  _T_183 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 109:31]
+  wire  _T_187 = io_in_a_bits_mask == mask; // @[Monitor.scala 110:30]
+  wire  _T_195 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 114:25]
+  wire  _T_233 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 122:25]
+  wire [3:0] _T_267 = ~mask; // @[Monitor.scala 127:33]
+  wire [3:0] _T_268 = io_in_a_bits_mask & _T_267; // @[Monitor.scala 127:31]
+  wire  _T_269 = _T_268 == 4'h0; // @[Monitor.scala 127:40]
+  wire  _T_273 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 130:25]
+  wire  _T_303 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 138:33]
+  wire  _T_311 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 138:25]
+  wire  _T_341 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 145:30]
+  wire  _T_349 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 146:25]
+  wire  _T_379 = io_in_a_bits_param <= 3'h1; // @[Bundles.scala 158:28]
+  wire  _source_ok_T_10 = io_in_d_bits_source <= 7'h5f; // @[Parameters.scala 57:20]
+  wire  a_first_done = io_in_a_ready & io_in_a_valid; // @[Decoupled.scala 50:35]
+  reg  a_first_counter; // @[Edges.scala 228:27]
+  wire  a_first_counter1 = a_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first = ~a_first_counter; // @[Edges.scala 230:25]
+  reg [2:0] opcode; // @[Monitor.scala 384:22]
+  reg [2:0] param; // @[Monitor.scala 385:22]
+  reg [1:0] size; // @[Monitor.scala 386:22]
+  reg [6:0] source; // @[Monitor.scala 387:22]
+  reg [16:0] address; // @[Monitor.scala 388:22]
+  wire  _T_537 = io_in_a_valid & ~a_first; // @[Monitor.scala 389:19]
+  wire  _T_538 = io_in_a_bits_opcode == opcode; // @[Monitor.scala 390:32]
+  wire  _T_542 = io_in_a_bits_param == param; // @[Monitor.scala 391:32]
+  wire  _T_546 = io_in_a_bits_size == size; // @[Monitor.scala 392:32]
+  wire  _T_550 = io_in_a_bits_source == source; // @[Monitor.scala 393:32]
+  wire  _T_554 = io_in_a_bits_address == address; // @[Monitor.scala 394:32]
+  wire  d_first_done = io_in_d_ready & io_in_d_valid; // @[Decoupled.scala 50:35]
+  reg  d_first_counter; // @[Edges.scala 228:27]
+  wire  d_first_counter1 = d_first_counter - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first = ~d_first_counter; // @[Edges.scala 230:25]
+  reg [1:0] size_1; // @[Monitor.scala 537:22]
+  reg [6:0] source_1; // @[Monitor.scala 538:22]
+  wire  _T_561 = io_in_d_valid & ~d_first; // @[Monitor.scala 541:19]
+  wire  _T_570 = io_in_d_bits_size == size_1; // @[Monitor.scala 544:29]
+  wire  _T_574 = io_in_d_bits_source == source_1; // @[Monitor.scala 545:29]
+  reg [95:0] inflight; // @[Monitor.scala 611:27]
+  reg [383:0] inflight_opcodes; // @[Monitor.scala 613:35]
+  reg [383:0] inflight_sizes; // @[Monitor.scala 615:33]
+  reg  a_first_counter_1; // @[Edges.scala 228:27]
+  wire  a_first_counter1_1 = a_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  a_first_1 = ~a_first_counter_1; // @[Edges.scala 230:25]
+  reg  d_first_counter_1; // @[Edges.scala 228:27]
+  wire  d_first_counter1_1 = d_first_counter_1 - 1'h1; // @[Edges.scala 229:28]
+  wire  d_first_1 = ~d_first_counter_1; // @[Edges.scala 230:25]
+  wire [8:0] _GEN_72 = {io_in_d_bits_source, 2'h0}; // @[Monitor.scala 634:69]
+  wire [9:0] _a_opcode_lookup_T = {{1'd0}, _GEN_72}; // @[Monitor.scala 634:69]
+  wire [383:0] _a_opcode_lookup_T_1 = inflight_opcodes >> _a_opcode_lookup_T; // @[Monitor.scala 634:44]
+  wire [15:0] _a_opcode_lookup_T_5 = 16'h10 - 16'h1; // @[Monitor.scala 609:57]
+  wire [383:0] _GEN_73 = {{368'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_6 = _a_opcode_lookup_T_1 & _GEN_73; // @[Monitor.scala 634:97]
+  wire [383:0] _a_opcode_lookup_T_7 = {{1'd0}, _a_opcode_lookup_T_6[383:1]}; // @[Monitor.scala 634:152]
+  wire [383:0] _a_size_lookup_T_1 = inflight_sizes >> _a_opcode_lookup_T; // @[Monitor.scala 638:40]
+  wire [383:0] _a_size_lookup_T_6 = _a_size_lookup_T_1 & _GEN_73; // @[Monitor.scala 638:91]
+  wire [383:0] _a_size_lookup_T_7 = {{1'd0}, _a_size_lookup_T_6[383:1]}; // @[Monitor.scala 638:144]
+  wire  _T_588 = io_in_a_valid & a_first_1; // @[Monitor.scala 648:26]
+  wire [127:0] _a_set_wo_ready_T = 128'h1 << io_in_a_bits_source; // @[OneHot.scala 57:35]
+  wire  _T_591 = a_first_done & a_first_1; // @[Monitor.scala 652:27]
+  wire [3:0] _a_opcodes_set_interm_T = {io_in_a_bits_opcode, 1'h0}; // @[Monitor.scala 654:53]
+  wire [3:0] _a_opcodes_set_interm_T_1 = _a_opcodes_set_interm_T | 4'h1; // @[Monitor.scala 654:61]
+  wire [2:0] _a_sizes_set_interm_T = {io_in_a_bits_size, 1'h0}; // @[Monitor.scala 655:51]
+  wire [2:0] _a_sizes_set_interm_T_1 = _a_sizes_set_interm_T | 3'h1; // @[Monitor.scala 655:59]
+  wire [8:0] _GEN_78 = {io_in_a_bits_source, 2'h0}; // @[Monitor.scala 656:79]
+  wire [9:0] _a_opcodes_set_T = {{1'd0}, _GEN_78}; // @[Monitor.scala 656:79]
+  wire [3:0] a_opcodes_set_interm = a_first_done & a_first_1 ? _a_opcodes_set_interm_T_1 : 4'h0; // @[Monitor.scala 652:72 654:28]
+  wire [1026:0] _GEN_1 = {{1023'd0}, a_opcodes_set_interm}; // @[Monitor.scala 656:54]
+  wire [1026:0] _a_opcodes_set_T_1 = _GEN_1 << _a_opcodes_set_T; // @[Monitor.scala 656:54]
+  wire [2:0] a_sizes_set_interm = a_first_done & a_first_1 ? _a_sizes_set_interm_T_1 : 3'h0; // @[Monitor.scala 652:72 655:28]
+  wire [1025:0] _GEN_2 = {{1023'd0}, a_sizes_set_interm}; // @[Monitor.scala 657:52]
+  wire [1025:0] _a_sizes_set_T_1 = _GEN_2 << _a_opcodes_set_T; // @[Monitor.scala 657:52]
+  wire [95:0] _T_593 = inflight >> io_in_a_bits_source; // @[Monitor.scala 658:26]
+  wire  _T_595 = ~_T_593[0]; // @[Monitor.scala 658:17]
+  wire [127:0] _GEN_16 = a_first_done & a_first_1 ? _a_set_wo_ready_T : 128'h0; // @[Monitor.scala 652:72 653:28]
+  wire [1026:0] _GEN_19 = a_first_done & a_first_1 ? _a_opcodes_set_T_1 : 1027'h0; // @[Monitor.scala 652:72 656:28]
+  wire [1025:0] _GEN_20 = a_first_done & a_first_1 ? _a_sizes_set_T_1 : 1026'h0; // @[Monitor.scala 652:72 657:28]
+  wire  _T_599 = io_in_d_valid & d_first_1; // @[Monitor.scala 671:26]
+  wire [127:0] _d_clr_wo_ready_T = 128'h1 << io_in_d_bits_source; // @[OneHot.scala 57:35]
+  wire [1038:0] _GEN_3 = {{1023'd0}, _a_opcode_lookup_T_5}; // @[Monitor.scala 677:76]
+  wire [1038:0] _d_opcodes_clr_T_5 = _GEN_3 << _a_opcode_lookup_T; // @[Monitor.scala 677:76]
+  wire [127:0] _GEN_22 = d_first_done & d_first_1 ? _d_clr_wo_ready_T : 128'h0; // @[Monitor.scala 675:91 676:21]
+  wire [1038:0] _GEN_23 = d_first_done & d_first_1 ? _d_opcodes_clr_T_5 : 1039'h0; // @[Monitor.scala 675:91 677:21]
+  wire  _same_cycle_resp_T_2 = io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:113]
+  wire  same_cycle_resp = _T_588 & io_in_a_bits_source == io_in_d_bits_source; // @[Monitor.scala 681:88]
+  wire [95:0] _T_612 = inflight >> io_in_d_bits_source; // @[Monitor.scala 682:25]
+  wire  _T_614 = _T_612[0] | same_cycle_resp; // @[Monitor.scala 682:49]
+  wire [2:0] _GEN_27 = 3'h2 == io_in_a_bits_opcode ? 3'h1 : 3'h0; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_28 = 3'h3 == io_in_a_bits_opcode ? 3'h1 : _GEN_27; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_29 = 3'h4 == io_in_a_bits_opcode ? 3'h1 : _GEN_28; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_30 = 3'h5 == io_in_a_bits_opcode ? 3'h2 : _GEN_29; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_31 = 3'h6 == io_in_a_bits_opcode ? 3'h4 : _GEN_30; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_32 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_31; // @[Monitor.scala 685:{38,38}]
+  wire [2:0] _GEN_39 = 3'h6 == io_in_a_bits_opcode ? 3'h5 : _GEN_30; // @[Monitor.scala 686:{39,39}]
+  wire [2:0] _GEN_40 = 3'h7 == io_in_a_bits_opcode ? 3'h4 : _GEN_39; // @[Monitor.scala 686:{39,39}]
+  wire  _T_619 = 3'h1 == _GEN_40; // @[Monitor.scala 686:39]
+  wire  _T_620 = 3'h1 == _GEN_32 | _T_619; // @[Monitor.scala 685:77]
+  wire  _T_624 = io_in_a_bits_size == io_in_d_bits_size; // @[Monitor.scala 687:36]
+  wire [3:0] a_opcode_lookup = _a_opcode_lookup_T_7[3:0];
+  wire [2:0] _GEN_43 = 3'h2 == a_opcode_lookup[2:0] ? 3'h1 : 3'h0; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_44 = 3'h3 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_43; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_45 = 3'h4 == a_opcode_lookup[2:0] ? 3'h1 : _GEN_44; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_46 = 3'h5 == a_opcode_lookup[2:0] ? 3'h2 : _GEN_45; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_47 = 3'h6 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_46; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_48 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_47; // @[Monitor.scala 689:{38,38}]
+  wire [2:0] _GEN_55 = 3'h6 == a_opcode_lookup[2:0] ? 3'h5 : _GEN_46; // @[Monitor.scala 690:{38,38}]
+  wire [2:0] _GEN_56 = 3'h7 == a_opcode_lookup[2:0] ? 3'h4 : _GEN_55; // @[Monitor.scala 690:{38,38}]
+  wire  _T_631 = 3'h1 == _GEN_56; // @[Monitor.scala 690:38]
+  wire  _T_632 = 3'h1 == _GEN_48 | _T_631; // @[Monitor.scala 689:72]
+  wire [3:0] a_size_lookup = _a_size_lookup_T_7[3:0];
+  wire [3:0] _GEN_82 = {{2'd0}, io_in_d_bits_size}; // @[Monitor.scala 691:36]
+  wire  _T_636 = _GEN_82 == a_size_lookup; // @[Monitor.scala 691:36]
+  wire  _T_644 = _T_599 & a_first_1 & io_in_a_valid & _same_cycle_resp_T_2; // @[Monitor.scala 694:65]
+  wire  _T_648 = ~io_in_d_ready | io_in_a_ready; // @[Monitor.scala 695:32]
+  wire [95:0] a_set = _GEN_16[95:0];
+  wire [95:0] _inflight_T = inflight | a_set; // @[Monitor.scala 702:27]
+  wire [95:0] d_clr = _GEN_22[95:0];
+  wire [95:0] _inflight_T_1 = ~d_clr; // @[Monitor.scala 702:38]
+  wire [95:0] _inflight_T_2 = _inflight_T & _inflight_T_1; // @[Monitor.scala 702:36]
+  wire [383:0] a_opcodes_set = _GEN_19[383:0];
+  wire [383:0] _inflight_opcodes_T = inflight_opcodes | a_opcodes_set; // @[Monitor.scala 703:43]
+  wire [383:0] d_opcodes_clr = _GEN_23[383:0];
+  wire [383:0] _inflight_opcodes_T_1 = ~d_opcodes_clr; // @[Monitor.scala 703:62]
+  wire [383:0] _inflight_opcodes_T_2 = _inflight_opcodes_T & _inflight_opcodes_T_1; // @[Monitor.scala 703:60]
+  wire [383:0] a_sizes_set = _GEN_20[383:0];
+  wire [383:0] _inflight_sizes_T = inflight_sizes | a_sizes_set; // @[Monitor.scala 704:39]
+  wire [383:0] _inflight_sizes_T_2 = _inflight_sizes_T & _inflight_opcodes_T_1; // @[Monitor.scala 704:54]
+  reg [31:0] watchdog; // @[Monitor.scala 706:27]
+  wire  _T_657 = ~(|inflight) | plusarg_reader_out == 32'h0 | watchdog < plusarg_reader_out; // @[Monitor.scala 709:47]
+  wire [31:0] _watchdog_T_1 = watchdog + 32'h1; // @[Monitor.scala 711:26]
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_out)
+  );
+  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0), .WIDTH(32)) plusarg_reader_1 ( // @[PlusArg.scala 80:11]
+    .out(plusarg_reader_1_out)
+  );
+  always @(posedge clock) begin
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first) begin // @[Edges.scala 235:21]
+        a_first_counter <= 1'h0;
+      end else begin
+        a_first_counter <= a_first_counter1;
+      end
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      opcode <= io_in_a_bits_opcode; // @[Monitor.scala 397:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      param <= io_in_a_bits_param; // @[Monitor.scala 398:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      size <= io_in_a_bits_size; // @[Monitor.scala 399:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      source <= io_in_a_bits_source; // @[Monitor.scala 400:15]
+    end
+    if (a_first_done & a_first) begin // @[Monitor.scala 396:32]
+      address <= io_in_a_bits_address; // @[Monitor.scala 401:15]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first) begin // @[Edges.scala 235:21]
+        d_first_counter <= 1'h0;
+      end else begin
+        d_first_counter <= d_first_counter1;
+      end
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      size_1 <= io_in_d_bits_size; // @[Monitor.scala 552:15]
+    end
+    if (d_first_done & d_first) begin // @[Monitor.scala 549:32]
+      source_1 <= io_in_d_bits_source; // @[Monitor.scala 553:15]
+    end
+    if (reset) begin // @[Monitor.scala 611:27]
+      inflight <= 96'h0; // @[Monitor.scala 611:27]
+    end else begin
+      inflight <= _inflight_T_2; // @[Monitor.scala 702:14]
+    end
+    if (reset) begin // @[Monitor.scala 613:35]
+      inflight_opcodes <= 384'h0; // @[Monitor.scala 613:35]
+    end else begin
+      inflight_opcodes <= _inflight_opcodes_T_2; // @[Monitor.scala 703:22]
+    end
+    if (reset) begin // @[Monitor.scala 615:33]
+      inflight_sizes <= 384'h0; // @[Monitor.scala 615:33]
+    end else begin
+      inflight_sizes <= _inflight_sizes_T_2; // @[Monitor.scala 704:20]
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      a_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (a_first_done) begin // @[Edges.scala 234:17]
+      if (a_first_1) begin // @[Edges.scala 235:21]
+        a_first_counter_1 <= 1'h0;
+      end else begin
+        a_first_counter_1 <= a_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Edges.scala 228:27]
+      d_first_counter_1 <= 1'h0; // @[Edges.scala 228:27]
+    end else if (d_first_done) begin // @[Edges.scala 234:17]
+      if (d_first_1) begin // @[Edges.scala 235:21]
+        d_first_counter_1 <= 1'h0;
+      end else begin
+        d_first_counter_1 <= d_first_counter1_1;
+      end
+    end
+    if (reset) begin // @[Monitor.scala 706:27]
+      watchdog <= 32'h0; // @[Monitor.scala 706:27]
+    end else if (a_first_done | d_first_done) begin // @[Monitor.scala 712:47]
+      watchdog <= 32'h0; // @[Monitor.scala 712:58]
+    end else begin
+      watchdog <= _watchdog_T_1; // @[Monitor.scala 711:14]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock type which is unexpected using diplomatic parameters (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_20 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_20 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm type which is unexpected using diplomatic parameters (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_mask_T & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_mask_T) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_69 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_69) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_135 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_135) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_74 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_74) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_82 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_82 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which master claims it can't emit (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_172 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_172) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Get type which slave claims it can't support (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid source ID (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get address not aligned to size (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get carries invalid param (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get contains invalid mask (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_148 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_148 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Get is corrupt (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutFull type which is unexpected using diplomatic parameters (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull address not aligned to size (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull carries invalid param (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_195 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_195 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutFull contains invalid mask (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_233 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_233 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries PutPartial type which is unexpected using diplomatic parameters (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_233 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_233 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_233 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_233 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_183 & (io_in_a_valid & _T_233 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_233 & ~reset & ~_T_183) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial carries invalid param (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_269 & (io_in_a_valid & _T_233 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_233 & ~reset & ~_T_269) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_273 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_273 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Arithmetic type which is unexpected using diplomatic parameters (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_273 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_273 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_273 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_273 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_303 & (io_in_a_valid & _T_273 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_273 & ~reset & ~_T_303) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_273 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_273 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_311 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_311 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Logical type which is unexpected using diplomatic parameters (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_311 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_311 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid source ID (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_311 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_311 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical address not aligned to size (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_341 & (io_in_a_valid & _T_311 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_311 & ~reset & ~_T_341) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_311 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_311 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Logical contains invalid mask (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (io_in_a_valid & _T_349 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_349 & ~reset) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel carries Hint type which is unexpected using diplomatic parameters (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (_T_10 & (io_in_a_valid & _T_349 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_349 & ~reset & _T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid source ID (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~is_aligned & (io_in_a_valid & _T_349 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_349 & ~reset & ~is_aligned) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint address not aligned to size (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_379 & (io_in_a_valid & _T_349 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_349 & ~reset & ~_T_379) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint carries invalid opcode param (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_187 & (io_in_a_valid & _T_349 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_349 & ~reset & ~_T_187) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint contains invalid mask (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_78 & (io_in_a_valid & _T_349 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_a_valid & _T_349 & ~reset & ~_T_78) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel Hint is corrupt (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_source_ok_T_10 & (io_in_d_valid & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (io_in_d_valid & _T_2 & ~_source_ok_T_10) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BootROM.scala:84:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_538 & (_T_537 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & ~reset & ~_T_538) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_542 & (_T_537 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & ~reset & ~_T_542) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel param changed within multibeat operation (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_546 & (_T_537 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & ~reset & ~_T_546) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel size changed within multibeat operation (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_550 & (_T_537 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & ~reset & ~_T_550) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel source changed within multibeat operation (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_554 & (_T_537 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_537 & ~reset & ~_T_554) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel address changed with multibeat operation (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_570 & (_T_561 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_561 & _T_2 & ~_T_570) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel size changed within multibeat operation (connected at BootROM.scala:84:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_574 & (_T_561 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_561 & _T_2 & ~_T_574) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel source changed within multibeat operation (connected at BootROM.scala:84:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_595 & (_T_591 & ~reset)) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_591 & ~reset & ~_T_595) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'A' channel re-used a source ID (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_614 & (_T_599 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_599 & _T_2 & ~_T_614) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BootROM.scala:84:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_620 & (_T_599 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_599 & same_cycle_resp & _T_2 & ~_T_620) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at BootROM.scala:84:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_624 & (_T_599 & same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_599 & same_cycle_resp & _T_2 & ~_T_624) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BootROM.scala:84:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_632 & (_T_599 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_599 & ~same_cycle_resp & _T_2 & ~_T_632) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper opcode response (connected at BootROM.scala:84:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_636 & (_T_599 & ~same_cycle_resp & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_599 & ~same_cycle_resp & _T_2 & ~_T_636) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: 'D' channel contains improper response size (connected at BootROM.scala:84:18)\n    at Monitor.scala:49 assert(cond, message)\n"
+            ); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_648 & (_T_644 & _T_2)) begin
+          $fatal; // @[Monitor.scala 49:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_644 & _T_2 & ~_T_648) begin
+          $fwrite(32'h80000002,"Assertion failed: ready check\n    at Monitor.scala:49 assert(cond, message)\n"); // @[Monitor.scala 49:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_657 & ~reset) begin
+          $fatal; // @[Monitor.scala 42:11]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_657) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: TileLink timeout expired (connected at BootROM.scala:84:18)\n    at Monitor.scala:42 assert(cond, message)\n"
+            ); // @[Monitor.scala 42:11]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  a_first_counter = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  opcode = _RAND_1[2:0];
+  _RAND_2 = {1{`RANDOM}};
+  param = _RAND_2[2:0];
+  _RAND_3 = {1{`RANDOM}};
+  size = _RAND_3[1:0];
+  _RAND_4 = {1{`RANDOM}};
+  source = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  address = _RAND_5[16:0];
+  _RAND_6 = {1{`RANDOM}};
+  d_first_counter = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  size_1 = _RAND_7[1:0];
+  _RAND_8 = {1{`RANDOM}};
+  source_1 = _RAND_8[6:0];
+  _RAND_9 = {3{`RANDOM}};
+  inflight = _RAND_9[95:0];
+  _RAND_10 = {12{`RANDOM}};
+  inflight_opcodes = _RAND_10[383:0];
+  _RAND_11 = {12{`RANDOM}};
+  inflight_sizes = _RAND_11[383:0];
+  _RAND_12 = {1{`RANDOM}};
+  a_first_counter_1 = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  d_first_counter_1 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  watchdog = _RAND_14[31:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module TLROM(
+  input         clock,
+  input         reset,
+  output        auto_in_a_ready,
+  input         auto_in_a_valid,
+  input  [2:0]  auto_in_a_bits_opcode,
+  input  [2:0]  auto_in_a_bits_param,
+  input  [1:0]  auto_in_a_bits_size,
+  input  [6:0]  auto_in_a_bits_source,
+  input  [16:0] auto_in_a_bits_address,
+  input  [3:0]  auto_in_a_bits_mask,
+  input         auto_in_a_bits_corrupt,
+  input         auto_in_d_ready,
+  output        auto_in_d_valid,
+  output [1:0]  auto_in_d_bits_size,
+  output [6:0]  auto_in_d_bits_source,
+  output [31:0] auto_in_d_bits_data
+);
+  wire  monitor_clock; // @[Nodes.scala 24:25]
+  wire  monitor_reset; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_valid; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_opcode; // @[Nodes.scala 24:25]
+  wire [2:0] monitor_io_in_a_bits_param; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_a_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_a_bits_source; // @[Nodes.scala 24:25]
+  wire [16:0] monitor_io_in_a_bits_address; // @[Nodes.scala 24:25]
+  wire [3:0] monitor_io_in_a_bits_mask; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_a_bits_corrupt; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_ready; // @[Nodes.scala 24:25]
+  wire  monitor_io_in_d_valid; // @[Nodes.scala 24:25]
+  wire [1:0] monitor_io_in_d_bits_size; // @[Nodes.scala 24:25]
+  wire [6:0] monitor_io_in_d_bits_source; // @[Nodes.scala 24:25]
+  wire [10:0] index = auto_in_a_bits_address[12:2]; // @[BootROM.scala 49:34]
+  wire [2:0] high = auto_in_a_bits_address[15:13]; // @[BootROM.scala 50:68]
+  wire [31:0] _GEN_1 = 11'h1 == index ? 32'h0 : 32'h6f; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2 = 11'h2 == index ? 32'h0 : _GEN_1; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_3 = 11'h3 == index ? 32'h0 : _GEN_2; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_4 = 11'h4 == index ? 32'h0 : _GEN_3; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_5 = 11'h5 == index ? 32'h0 : _GEN_4; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_6 = 11'h6 == index ? 32'h0 : _GEN_5; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_7 = 11'h7 == index ? 32'h0 : _GEN_6; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_8 = 11'h8 == index ? 32'h0 : _GEN_7; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_9 = 11'h9 == index ? 32'h0 : _GEN_8; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_10 = 11'ha == index ? 32'h0 : _GEN_9; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_11 = 11'hb == index ? 32'h0 : _GEN_10; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_12 = 11'hc == index ? 32'h0 : _GEN_11; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_13 = 11'hd == index ? 32'h0 : _GEN_12; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_14 = 11'he == index ? 32'h0 : _GEN_13; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_15 = 11'hf == index ? 32'h0 : _GEN_14; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_16 = 11'h10 == index ? 32'h8002137 : _GEN_15; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_17 = 11'h11 == index ? 32'hff010113 : _GEN_16; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_18 = 11'h12 == index ? 32'h1fff0097 : _GEN_17; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_19 = 11'h13 == index ? 32'hfb8080e7 : _GEN_18; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_20 = 11'h14 == index ? 32'h6f : _GEN_19; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_21 = 11'h15 == index ? 32'hedfe0dd0 : _GEN_20; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_22 = 11'h16 == index ? 32'ha5130000 : _GEN_21; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_23 = 11'h17 == index ? 32'h38000000 : _GEN_22; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_24 = 11'h18 == index ? 32'h44110000 : _GEN_23; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_25 = 11'h19 == index ? 32'h28000000 : _GEN_24; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_26 = 11'h1a == index ? 32'h11000000 : _GEN_25; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_27 = 11'h1b == index ? 32'h10000000 : _GEN_26; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_28 = 11'h1c == index ? 32'h0 : _GEN_27; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_29 = 11'h1d == index ? 32'h61020000 : _GEN_28; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_30 = 11'h1e == index ? 32'hc110000 : _GEN_29; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_31 = 11'h1f == index ? 32'h0 : _GEN_30; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_32 = 11'h20 == index ? 32'h0 : _GEN_31; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_33 = 11'h21 == index ? 32'h0 : _GEN_32; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_34 = 11'h22 == index ? 32'h0 : _GEN_33; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_35 = 11'h23 == index ? 32'h1000000 : _GEN_34; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_36 = 11'h24 == index ? 32'h0 : _GEN_35; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_37 = 11'h25 == index ? 32'h3000000 : _GEN_36; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_38 = 11'h26 == index ? 32'h4000000 : _GEN_37; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_39 = 11'h27 == index ? 32'h0 : _GEN_38; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_40 = 11'h28 == index ? 32'h1000000 : _GEN_39; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_41 = 11'h29 == index ? 32'h3000000 : _GEN_40; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_42 = 11'h2a == index ? 32'h4000000 : _GEN_41; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_43 = 11'h2b == index ? 32'hf000000 : _GEN_42; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_44 = 11'h2c == index ? 32'h1000000 : _GEN_43; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_45 = 11'h2d == index ? 32'h3000000 : _GEN_44; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_46 = 11'h2e == index ? 32'h21000000 : _GEN_45; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_47 = 11'h2f == index ? 32'h1b000000 : _GEN_46; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_48 = 11'h30 == index ? 32'h65657266 : _GEN_47; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_49 = 11'h31 == index ? 32'h70696863 : _GEN_48; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_50 = 11'h32 == index ? 32'h6f722c73 : _GEN_49; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_51 = 11'h33 == index ? 32'h74656b63 : _GEN_50; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_52 = 11'h34 == index ? 32'h70696863 : _GEN_51; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_53 = 11'h35 == index ? 32'h6b6e752d : _GEN_52; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_54 = 11'h36 == index ? 32'h6e776f6e : _GEN_53; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_55 = 11'h37 == index ? 32'h7665642d : _GEN_54; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_56 = 11'h38 == index ? 32'h0 : _GEN_55; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_57 = 11'h39 == index ? 32'h3000000 : _GEN_56; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_58 = 11'h3a == index ? 32'h1d000000 : _GEN_57; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_59 = 11'h3b == index ? 32'h26000000 : _GEN_58; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_60 = 11'h3c == index ? 32'h65657266 : _GEN_59; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_61 = 11'h3d == index ? 32'h70696863 : _GEN_60; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_62 = 11'h3e == index ? 32'h6f722c73 : _GEN_61; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_63 = 11'h3f == index ? 32'h74656b63 : _GEN_62; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_64 = 11'h40 == index ? 32'h70696863 : _GEN_63; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_65 = 11'h41 == index ? 32'h6b6e752d : _GEN_64; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_66 = 11'h42 == index ? 32'h6e776f6e : _GEN_65; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_67 = 11'h43 == index ? 32'h0 : _GEN_66; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_68 = 11'h44 == index ? 32'h1000000 : _GEN_67; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_69 = 11'h45 == index ? 32'h61696c61 : _GEN_68; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_70 = 11'h46 == index ? 32'h736573 : _GEN_69; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_71 = 11'h47 == index ? 32'h3000000 : _GEN_70; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_72 = 11'h48 == index ? 32'h15000000 : _GEN_71; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_73 = 11'h49 == index ? 32'h2c000000 : _GEN_72; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_74 = 11'h4a == index ? 32'h636f732f : _GEN_73; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_75 = 11'h4b == index ? 32'h7265732f : _GEN_74; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_76 = 11'h4c == index ? 32'h406c6169 : _GEN_75; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_77 = 11'h4d == index ? 32'h31303031 : _GEN_76; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_78 = 11'h4e == index ? 32'h30303033 : _GEN_77; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_79 = 11'h4f == index ? 32'h0 : _GEN_78; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_80 = 11'h50 == index ? 32'h3000000 : _GEN_79; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_81 = 11'h51 == index ? 32'h15000000 : _GEN_80; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_82 = 11'h52 == index ? 32'h34000000 : _GEN_81; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_83 = 11'h53 == index ? 32'h636f732f : _GEN_82; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_84 = 11'h54 == index ? 32'h7265732f : _GEN_83; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_85 = 11'h55 == index ? 32'h406c6169 : _GEN_84; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_86 = 11'h56 == index ? 32'h32303031 : _GEN_85; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_87 = 11'h57 == index ? 32'h30303033 : _GEN_86; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_88 = 11'h58 == index ? 32'h0 : _GEN_87; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_89 = 11'h59 == index ? 32'h3000000 : _GEN_88; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_90 = 11'h5a == index ? 32'h15000000 : _GEN_89; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_91 = 11'h5b == index ? 32'h3c000000 : _GEN_90; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_92 = 11'h5c == index ? 32'h636f732f : _GEN_91; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_93 = 11'h5d == index ? 32'h7265732f : _GEN_92; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_94 = 11'h5e == index ? 32'h406c6169 : _GEN_93; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_95 = 11'h5f == index ? 32'h33303031 : _GEN_94; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_96 = 11'h60 == index ? 32'h30303033 : _GEN_95; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_97 = 11'h61 == index ? 32'h0 : _GEN_96; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_98 = 11'h62 == index ? 32'h3000000 : _GEN_97; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_99 = 11'h63 == index ? 32'h15000000 : _GEN_98; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_100 = 11'h64 == index ? 32'h44000000 : _GEN_99; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_101 = 11'h65 == index ? 32'h636f732f : _GEN_100; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_102 = 11'h66 == index ? 32'h7265732f : _GEN_101; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_103 = 11'h67 == index ? 32'h406c6169 : _GEN_102; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_104 = 11'h68 == index ? 32'h34303031 : _GEN_103; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_105 = 11'h69 == index ? 32'h30303033 : _GEN_104; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_106 = 11'h6a == index ? 32'h0 : _GEN_105; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_107 = 11'h6b == index ? 32'h3000000 : _GEN_106; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_108 = 11'h6c == index ? 32'h15000000 : _GEN_107; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_109 = 11'h6d == index ? 32'h4c000000 : _GEN_108; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_110 = 11'h6e == index ? 32'h636f732f : _GEN_109; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_111 = 11'h6f == index ? 32'h7265732f : _GEN_110; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_112 = 11'h70 == index ? 32'h406c6169 : _GEN_111; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_113 = 11'h71 == index ? 32'h35303031 : _GEN_112; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_114 = 11'h72 == index ? 32'h30303033 : _GEN_113; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_115 = 11'h73 == index ? 32'h0 : _GEN_114; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_116 = 11'h74 == index ? 32'h2000000 : _GEN_115; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_117 = 11'h75 == index ? 32'h1000000 : _GEN_116; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_118 = 11'h76 == index ? 32'h73757063 : _GEN_117; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_119 = 11'h77 == index ? 32'h0 : _GEN_118; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_120 = 11'h78 == index ? 32'h3000000 : _GEN_119; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_121 = 11'h79 == index ? 32'h4000000 : _GEN_120; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_122 = 11'h7a == index ? 32'h0 : _GEN_121; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_123 = 11'h7b == index ? 32'h1000000 : _GEN_122; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_124 = 11'h7c == index ? 32'h3000000 : _GEN_123; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_125 = 11'h7d == index ? 32'h4000000 : _GEN_124; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_126 = 11'h7e == index ? 32'hf000000 : _GEN_125; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_127 = 11'h7f == index ? 32'h0 : _GEN_126; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_128 = 11'h80 == index ? 32'h3000000 : _GEN_127; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_129 = 11'h81 == index ? 32'h4000000 : _GEN_128; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_130 = 11'h82 == index ? 32'h54000000 : _GEN_129; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_131 = 11'h83 == index ? 32'h800000 : _GEN_130; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_132 = 11'h84 == index ? 32'h1000000 : _GEN_131; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_133 = 11'h85 == index ? 32'h40757063 : _GEN_132; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_134 = 11'h86 == index ? 32'h30 : _GEN_133; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_135 = 11'h87 == index ? 32'h3000000 : _GEN_134; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_136 = 11'h88 == index ? 32'h4000000 : _GEN_135; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_137 = 11'h89 == index ? 32'h67000000 : _GEN_136; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_138 = 11'h8a == index ? 32'h0 : _GEN_137; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_139 = 11'h8b == index ? 32'h3000000 : _GEN_138; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_140 = 11'h8c == index ? 32'h15000000 : _GEN_139; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_141 = 11'h8d == index ? 32'h1b000000 : _GEN_140; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_142 = 11'h8e == index ? 32'h69666973 : _GEN_141; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_143 = 11'h8f == index ? 32'h722c6576 : _GEN_142; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_144 = 11'h90 == index ? 32'h656b636f : _GEN_143; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_145 = 11'h91 == index ? 32'h72003074 : _GEN_144; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_146 = 11'h92 == index ? 32'h76637369 : _GEN_145; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_147 = 11'h93 == index ? 32'h0 : _GEN_146; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_148 = 11'h94 == index ? 32'h3000000 : _GEN_147; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_149 = 11'h95 == index ? 32'h4000000 : _GEN_148; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_150 = 11'h96 == index ? 32'h77000000 : _GEN_149; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_151 = 11'h97 == index ? 32'h40000000 : _GEN_150; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_152 = 11'h98 == index ? 32'h3000000 : _GEN_151; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_153 = 11'h99 == index ? 32'h4000000 : _GEN_152; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_154 = 11'h9a == index ? 32'h8a000000 : _GEN_153; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_155 = 11'h9b == index ? 32'h40000000 : _GEN_154; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_156 = 11'h9c == index ? 32'h3000000 : _GEN_155; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_157 = 11'h9d == index ? 32'h4000000 : _GEN_156; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_158 = 11'h9e == index ? 32'h97000000 : _GEN_157; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_159 = 11'h9f == index ? 32'h100000 : _GEN_158; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_160 = 11'ha0 == index ? 32'h3000000 : _GEN_159; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_161 = 11'ha1 == index ? 32'h4000000 : _GEN_160; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_162 = 11'ha2 == index ? 32'ha4000000 : _GEN_161; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_163 = 11'ha3 == index ? 32'h757063 : _GEN_162; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_164 = 11'ha4 == index ? 32'h3000000 : _GEN_163; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_165 = 11'ha5 == index ? 32'h4000000 : _GEN_164; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_166 = 11'ha6 == index ? 32'hb0000000 : _GEN_165; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_167 = 11'ha7 == index ? 32'h2000000 : _GEN_166; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_168 = 11'ha8 == index ? 32'h3000000 : _GEN_167; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_169 = 11'ha9 == index ? 32'h4000000 : _GEN_168; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_170 = 11'haa == index ? 32'hcf000000 : _GEN_169; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_171 = 11'hab == index ? 32'h40000000 : _GEN_170; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_172 = 11'hac == index ? 32'h3000000 : _GEN_171; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_173 = 11'had == index ? 32'h4000000 : _GEN_172; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_174 = 11'hae == index ? 32'he2000000 : _GEN_173; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_175 = 11'haf == index ? 32'h80000000 : _GEN_174; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_176 = 11'hb0 == index ? 32'h3000000 : _GEN_175; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_177 = 11'hb1 == index ? 32'h4000000 : _GEN_176; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_178 = 11'hb2 == index ? 32'hef000000 : _GEN_177; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_179 = 11'hb3 == index ? 32'h400000 : _GEN_178; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_180 = 11'hb4 == index ? 32'h3000000 : _GEN_179; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_181 = 11'hb5 == index ? 32'h4000000 : _GEN_180; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_182 = 11'hb6 == index ? 32'hfc000000 : _GEN_181; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_183 = 11'hb7 == index ? 32'h1000000 : _GEN_182; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_184 = 11'hb8 == index ? 32'h3000000 : _GEN_183; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_185 = 11'hb9 == index ? 32'h4000000 : _GEN_184; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_186 = 11'hba == index ? 32'hd010000 : _GEN_185; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_187 = 11'hbb == index ? 32'h0 : _GEN_186; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_188 = 11'hbc == index ? 32'h3000000 : _GEN_187; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_189 = 11'hbd == index ? 32'h9000000 : _GEN_188; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_190 = 11'hbe == index ? 32'h11010000 : _GEN_189; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_191 = 11'hbf == index ? 32'h32337672 : _GEN_190; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_192 = 11'hc0 == index ? 32'h63616d69 : _GEN_191; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_193 = 11'hc1 == index ? 32'h0 : _GEN_192; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_194 = 11'hc2 == index ? 32'h3000000 : _GEN_193; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_195 = 11'hc3 == index ? 32'h4000000 : _GEN_194; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_196 = 11'hc4 == index ? 32'h1b010000 : _GEN_195; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_197 = 11'hc5 == index ? 32'h4000000 : _GEN_196; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_198 = 11'hc6 == index ? 32'h3000000 : _GEN_197; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_199 = 11'hc7 == index ? 32'h4000000 : _GEN_198; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_200 = 11'hc8 == index ? 32'h30010000 : _GEN_199; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_201 = 11'hc9 == index ? 32'h8000000 : _GEN_200; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_202 = 11'hca == index ? 32'h3000000 : _GEN_201; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_203 = 11'hcb == index ? 32'h4000000 : _GEN_202; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_204 = 11'hcc == index ? 32'h41010000 : _GEN_203; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_205 = 11'hcd == index ? 32'h2000000 : _GEN_204; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_206 = 11'hce == index ? 32'h3000000 : _GEN_205; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_207 = 11'hcf == index ? 32'h5000000 : _GEN_206; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_208 = 11'hd0 == index ? 32'h4d010000 : _GEN_207; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_209 = 11'hd1 == index ? 32'h79616b6f : _GEN_208; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_210 = 11'hd2 == index ? 32'h0 : _GEN_209; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_211 = 11'hd3 == index ? 32'h3000000 : _GEN_210; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_212 = 11'hd4 == index ? 32'h4000000 : _GEN_211; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_213 = 11'hd5 == index ? 32'h54000000 : _GEN_212; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_214 = 11'hd6 == index ? 32'h800000 : _GEN_213; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_215 = 11'hd7 == index ? 32'h1000000 : _GEN_214; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_216 = 11'hd8 == index ? 32'h65746e69 : _GEN_215; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_217 = 11'hd9 == index ? 32'h70757272 : _GEN_216; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_218 = 11'hda == index ? 32'h6f632d74 : _GEN_217; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_219 = 11'hdb == index ? 32'h6f72746e : _GEN_218; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_220 = 11'hdc == index ? 32'h72656c6c : _GEN_219; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_221 = 11'hdd == index ? 32'h0 : _GEN_220; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_222 = 11'hde == index ? 32'h3000000 : _GEN_221; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_223 = 11'hdf == index ? 32'h4000000 : _GEN_222; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_224 = 11'he0 == index ? 32'h54010000 : _GEN_223; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_225 = 11'he1 == index ? 32'h1000000 : _GEN_224; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_226 = 11'he2 == index ? 32'h3000000 : _GEN_225; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_227 = 11'he3 == index ? 32'hf000000 : _GEN_226; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_228 = 11'he4 == index ? 32'h1b000000 : _GEN_227; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_229 = 11'he5 == index ? 32'h63736972 : _GEN_228; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_230 = 11'he6 == index ? 32'h70632c76 : _GEN_229; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_231 = 11'he7 == index ? 32'h6e692d75 : _GEN_230; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_232 = 11'he8 == index ? 32'h6374 : _GEN_231; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_233 = 11'he9 == index ? 32'h3000000 : _GEN_232; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_234 = 11'hea == index ? 32'h0 : _GEN_233; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_235 = 11'heb == index ? 32'h65010000 : _GEN_234; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_236 = 11'hec == index ? 32'h3000000 : _GEN_235; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_237 = 11'hed == index ? 32'h4000000 : _GEN_236; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_238 = 11'hee == index ? 32'h7a010000 : _GEN_237; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_239 = 11'hef == index ? 32'h4000000 : _GEN_238; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_240 = 11'hf0 == index ? 32'h2000000 : _GEN_239; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_241 = 11'hf1 == index ? 32'h2000000 : _GEN_240; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_242 = 11'hf2 == index ? 32'h2000000 : _GEN_241; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_243 = 11'hf3 == index ? 32'h1000000 : _GEN_242; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_244 = 11'hf4 == index ? 32'h636f73 : _GEN_243; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_245 = 11'hf5 == index ? 32'h3000000 : _GEN_244; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_246 = 11'hf6 == index ? 32'h4000000 : _GEN_245; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_247 = 11'hf7 == index ? 32'h0 : _GEN_246; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_248 = 11'hf8 == index ? 32'h1000000 : _GEN_247; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_249 = 11'hf9 == index ? 32'h3000000 : _GEN_248; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_250 = 11'hfa == index ? 32'h4000000 : _GEN_249; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_251 = 11'hfb == index ? 32'hf000000 : _GEN_250; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_252 = 11'hfc == index ? 32'h1000000 : _GEN_251; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_253 = 11'hfd == index ? 32'h3000000 : _GEN_252; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_254 = 11'hfe == index ? 32'h2c000000 : _GEN_253; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_255 = 11'hff == index ? 32'h1b000000 : _GEN_254; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_256 = 11'h100 == index ? 32'h65657266 : _GEN_255; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_257 = 11'h101 == index ? 32'h70696863 : _GEN_256; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_258 = 11'h102 == index ? 32'h6f722c73 : _GEN_257; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_259 = 11'h103 == index ? 32'h74656b63 : _GEN_258; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_260 = 11'h104 == index ? 32'h70696863 : _GEN_259; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_261 = 11'h105 == index ? 32'h6b6e752d : _GEN_260; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_262 = 11'h106 == index ? 32'h6e776f6e : _GEN_261; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_263 = 11'h107 == index ? 32'h636f732d : _GEN_262; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_264 = 11'h108 == index ? 32'h6d697300 : _GEN_263; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_265 = 11'h109 == index ? 32'h2d656c70 : _GEN_264; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_266 = 11'h10a == index ? 32'h737562 : _GEN_265; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_267 = 11'h10b == index ? 32'h3000000 : _GEN_266; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_268 = 11'h10c == index ? 32'h0 : _GEN_267; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_269 = 11'h10d == index ? 32'h82010000 : _GEN_268; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_270 = 11'h10e == index ? 32'h1000000 : _GEN_269; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_271 = 11'h10f == index ? 32'h406e6f61 : _GEN_270; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_272 = 11'h110 == index ? 32'h30303031 : _GEN_271; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_273 = 11'h111 == index ? 32'h30303030 : _GEN_272; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_274 = 11'h112 == index ? 32'h0 : _GEN_273; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_275 = 11'h113 == index ? 32'h3000000 : _GEN_274; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_276 = 11'h114 == index ? 32'hc000000 : _GEN_275; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_277 = 11'h115 == index ? 32'h1b000000 : _GEN_276; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_278 = 11'h116 == index ? 32'h69666973 : _GEN_277; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_279 = 11'h117 == index ? 32'h612c6576 : _GEN_278; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_280 = 11'h118 == index ? 32'h306e6f : _GEN_279; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_281 = 11'h119 == index ? 32'h3000000 : _GEN_280; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_282 = 11'h11a == index ? 32'h4000000 : _GEN_281; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_283 = 11'h11b == index ? 32'h89010000 : _GEN_282; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_284 = 11'h11c == index ? 32'h3000000 : _GEN_283; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_285 = 11'h11d == index ? 32'h3000000 : _GEN_284; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_286 = 11'h11e == index ? 32'h8000000 : _GEN_285; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_287 = 11'h11f == index ? 32'h9a010000 : _GEN_286; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_288 = 11'h120 == index ? 32'h1000000 : _GEN_287; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_289 = 11'h121 == index ? 32'h2000000 : _GEN_288; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_290 = 11'h122 == index ? 32'h3000000 : _GEN_289; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_291 = 11'h123 == index ? 32'h8000000 : _GEN_290; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_292 = 11'h124 == index ? 32'hd010000 : _GEN_291; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_293 = 11'h125 == index ? 32'h10 : _GEN_292; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_294 = 11'h126 == index ? 32'h100000 : _GEN_293; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_295 = 11'h127 == index ? 32'h3000000 : _GEN_294; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_296 = 11'h128 == index ? 32'h8000000 : _GEN_295; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_297 = 11'h129 == index ? 32'ha5010000 : _GEN_296; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_298 = 11'h12a == index ? 32'h746e6f63 : _GEN_297; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_299 = 11'h12b == index ? 32'h6c6f72 : _GEN_298; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_300 = 11'h12c == index ? 32'h2000000 : _GEN_299; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_301 = 11'h12d == index ? 32'h1000000 : _GEN_300; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_302 = 11'h12e == index ? 32'h6e696c63 : _GEN_301; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_303 = 11'h12f == index ? 32'h30324074 : _GEN_302; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_304 = 11'h130 == index ? 32'h30303030 : _GEN_303; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_305 = 11'h131 == index ? 32'h30 : _GEN_304; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_306 = 11'h132 == index ? 32'h3000000 : _GEN_305; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_307 = 11'h133 == index ? 32'hd000000 : _GEN_306; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_308 = 11'h134 == index ? 32'h1b000000 : _GEN_307; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_309 = 11'h135 == index ? 32'h63736972 : _GEN_308; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_310 = 11'h136 == index ? 32'h6c632c76 : _GEN_309; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_311 = 11'h137 == index ? 32'h30746e69 : _GEN_310; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_312 = 11'h138 == index ? 32'h0 : _GEN_311; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_313 = 11'h139 == index ? 32'h3000000 : _GEN_312; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_314 = 11'h13a == index ? 32'h10000000 : _GEN_313; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_315 = 11'h13b == index ? 32'haf010000 : _GEN_314; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_316 = 11'h13c == index ? 32'h4000000 : _GEN_315; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_317 = 11'h13d == index ? 32'h3000000 : _GEN_316; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_318 = 11'h13e == index ? 32'h4000000 : _GEN_317; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_319 = 11'h13f == index ? 32'h7000000 : _GEN_318; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_320 = 11'h140 == index ? 32'h3000000 : _GEN_319; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_321 = 11'h141 == index ? 32'h8000000 : _GEN_320; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_322 = 11'h142 == index ? 32'hd010000 : _GEN_321; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_323 = 11'h143 == index ? 32'h2 : _GEN_322; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_324 = 11'h144 == index ? 32'h100 : _GEN_323; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_325 = 11'h145 == index ? 32'h3000000 : _GEN_324; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_326 = 11'h146 == index ? 32'h8000000 : _GEN_325; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_327 = 11'h147 == index ? 32'ha5010000 : _GEN_326; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_328 = 11'h148 == index ? 32'h746e6f63 : _GEN_327; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_329 = 11'h149 == index ? 32'h6c6f72 : _GEN_328; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_330 = 11'h14a == index ? 32'h2000000 : _GEN_329; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_331 = 11'h14b == index ? 32'h1000000 : _GEN_330; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_332 = 11'h14c == index ? 32'h75626564 : _GEN_331; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_333 = 11'h14d == index ? 32'h6f632d67 : _GEN_332; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_334 = 11'h14e == index ? 32'h6f72746e : _GEN_333; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_335 = 11'h14f == index ? 32'h72656c6c : _GEN_334; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_336 = 11'h150 == index ? 32'h3040 : _GEN_335; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_337 = 11'h151 == index ? 32'h3000000 : _GEN_336; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_338 = 11'h152 == index ? 32'h21000000 : _GEN_337; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_339 = 11'h153 == index ? 32'h1b000000 : _GEN_338; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_340 = 11'h154 == index ? 32'h69666973 : _GEN_339; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_341 = 11'h155 == index ? 32'h642c6576 : _GEN_340; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_342 = 11'h156 == index ? 32'h67756265 : _GEN_341; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_343 = 11'h157 == index ? 32'h3331302d : _GEN_342; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_344 = 11'h158 == index ? 32'h73697200 : _GEN_343; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_345 = 11'h159 == index ? 32'h642c7663 : _GEN_344; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_346 = 11'h15a == index ? 32'h67756265 : _GEN_345; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_347 = 11'h15b == index ? 32'h3331302d : _GEN_346; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_348 = 11'h15c == index ? 32'h0 : _GEN_347; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_349 = 11'h15d == index ? 32'h3000000 : _GEN_348; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_350 = 11'h15e == index ? 32'h5000000 : _GEN_349; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_351 = 11'h15f == index ? 32'hc3010000 : _GEN_350; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_352 = 11'h160 == index ? 32'h6761746a : _GEN_351; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_353 = 11'h161 == index ? 32'h0 : _GEN_352; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_354 = 11'h162 == index ? 32'h3000000 : _GEN_353; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_355 = 11'h163 == index ? 32'h8000000 : _GEN_354; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_356 = 11'h164 == index ? 32'haf010000 : _GEN_355; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_357 = 11'h165 == index ? 32'h4000000 : _GEN_356; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_358 = 11'h166 == index ? 32'hffff0000 : _GEN_357; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_359 = 11'h167 == index ? 32'h3000000 : _GEN_358; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_360 = 11'h168 == index ? 32'h8000000 : _GEN_359; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_361 = 11'h169 == index ? 32'hd010000 : _GEN_360; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_362 = 11'h16a == index ? 32'h0 : _GEN_361; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_363 = 11'h16b == index ? 32'h100000 : _GEN_362; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_364 = 11'h16c == index ? 32'h3000000 : _GEN_363; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_365 = 11'h16d == index ? 32'h8000000 : _GEN_364; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_366 = 11'h16e == index ? 32'ha5010000 : _GEN_365; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_367 = 11'h16f == index ? 32'h746e6f63 : _GEN_366; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_368 = 11'h170 == index ? 32'h6c6f72 : _GEN_367; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_369 = 11'h171 == index ? 32'h2000000 : _GEN_368; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_370 = 11'h172 == index ? 32'h1000000 : _GEN_369; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_371 = 11'h173 == index ? 32'h6f727265 : _GEN_370; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_372 = 11'h174 == index ? 32'h65642d72 : _GEN_371; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_373 = 11'h175 == index ? 32'h65636976 : _GEN_372; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_374 = 11'h176 == index ? 32'h30303340 : _GEN_373; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_375 = 11'h177 == index ? 32'h30 : _GEN_374; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_376 = 11'h178 == index ? 32'h3000000 : _GEN_375; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_377 = 11'h179 == index ? 32'he000000 : _GEN_376; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_378 = 11'h17a == index ? 32'h1b000000 : _GEN_377; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_379 = 11'h17b == index ? 32'h69666973 : _GEN_378; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_380 = 11'h17c == index ? 32'h652c6576 : _GEN_379; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_381 = 11'h17d == index ? 32'h726f7272 : _GEN_380; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_382 = 11'h17e == index ? 32'h30 : _GEN_381; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_383 = 11'h17f == index ? 32'h3000000 : _GEN_382; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_384 = 11'h180 == index ? 32'h8000000 : _GEN_383; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_385 = 11'h181 == index ? 32'hd010000 : _GEN_384; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_386 = 11'h182 == index ? 32'h300000 : _GEN_385; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_387 = 11'h183 == index ? 32'h100000 : _GEN_386; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_388 = 11'h184 == index ? 32'h2000000 : _GEN_387; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_389 = 11'h185 == index ? 32'h1000000 : _GEN_388; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_390 = 11'h186 == index ? 32'h6f697067 : _GEN_389; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_391 = 11'h187 == index ? 32'h30303140 : _GEN_390; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_392 = 11'h188 == index ? 32'h30303231 : _GEN_391; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_393 = 11'h189 == index ? 32'h30 : _GEN_392; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_394 = 11'h18a == index ? 32'h3000000 : _GEN_393; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_395 = 11'h18b == index ? 32'h4000000 : _GEN_394; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_396 = 11'h18c == index ? 32'hd0010000 : _GEN_395; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_397 = 11'h18d == index ? 32'h2000000 : _GEN_396; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_398 = 11'h18e == index ? 32'h3000000 : _GEN_397; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_399 = 11'h18f == index ? 32'h4000000 : _GEN_398; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_400 = 11'h190 == index ? 32'h54010000 : _GEN_399; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_401 = 11'h191 == index ? 32'h2000000 : _GEN_400; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_402 = 11'h192 == index ? 32'h3000000 : _GEN_401; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_403 = 11'h193 == index ? 32'h4000000 : _GEN_402; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_404 = 11'h194 == index ? 32'hdc010000 : _GEN_403; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_405 = 11'h195 == index ? 32'h5000000 : _GEN_404; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_406 = 11'h196 == index ? 32'h3000000 : _GEN_405; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_407 = 11'h197 == index ? 32'h1a000000 : _GEN_406; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_408 = 11'h198 == index ? 32'h1b000000 : _GEN_407; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_409 = 11'h199 == index ? 32'h69666973 : _GEN_408; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_410 = 11'h19a == index ? 32'h672c6576 : _GEN_409; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_411 = 11'h19b == index ? 32'h306f6970 : _GEN_410; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_412 = 11'h19c == index ? 32'h66697300 : _GEN_411; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_413 = 11'h19d == index ? 32'h2c657669 : _GEN_412; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_414 = 11'h19e == index ? 32'h6f697067 : _GEN_413; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_415 = 11'h19f == index ? 32'h31 : _GEN_414; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_416 = 11'h1a0 == index ? 32'h3000000 : _GEN_415; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_417 = 11'h1a1 == index ? 32'h0 : _GEN_416; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_418 = 11'h1a2 == index ? 32'he3010000 : _GEN_417; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_419 = 11'h1a3 == index ? 32'h3000000 : _GEN_418; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_420 = 11'h1a4 == index ? 32'h0 : _GEN_419; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_421 = 11'h1a5 == index ? 32'h65010000 : _GEN_420; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_422 = 11'h1a6 == index ? 32'h3000000 : _GEN_421; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_423 = 11'h1a7 == index ? 32'h4000000 : _GEN_422; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_424 = 11'h1a8 == index ? 32'h89010000 : _GEN_423; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_425 = 11'h1a9 == index ? 32'h3000000 : _GEN_424; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_426 = 11'h1aa == index ? 32'h3000000 : _GEN_425; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_427 = 11'h1ab == index ? 32'h80000000 : _GEN_426; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_428 = 11'h1ac == index ? 32'h9a010000 : _GEN_427; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_429 = 11'h1ad == index ? 32'hb000000 : _GEN_428; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_430 = 11'h1ae == index ? 32'hc000000 : _GEN_429; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_431 = 11'h1af == index ? 32'hd000000 : _GEN_430; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_432 = 11'h1b0 == index ? 32'he000000 : _GEN_431; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_433 = 11'h1b1 == index ? 32'hf000000 : _GEN_432; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_434 = 11'h1b2 == index ? 32'h10000000 : _GEN_433; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_435 = 11'h1b3 == index ? 32'h11000000 : _GEN_434; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_436 = 11'h1b4 == index ? 32'h12000000 : _GEN_435; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_437 = 11'h1b5 == index ? 32'h13000000 : _GEN_436; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_438 = 11'h1b6 == index ? 32'h14000000 : _GEN_437; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_439 = 11'h1b7 == index ? 32'h15000000 : _GEN_438; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_440 = 11'h1b8 == index ? 32'h16000000 : _GEN_439; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_441 = 11'h1b9 == index ? 32'h17000000 : _GEN_440; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_442 = 11'h1ba == index ? 32'h18000000 : _GEN_441; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_443 = 11'h1bb == index ? 32'h19000000 : _GEN_442; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_444 = 11'h1bc == index ? 32'h1a000000 : _GEN_443; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_445 = 11'h1bd == index ? 32'h1b000000 : _GEN_444; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_446 = 11'h1be == index ? 32'h1c000000 : _GEN_445; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_447 = 11'h1bf == index ? 32'h1d000000 : _GEN_446; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_448 = 11'h1c0 == index ? 32'h1e000000 : _GEN_447; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_449 = 11'h1c1 == index ? 32'h1f000000 : _GEN_448; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_450 = 11'h1c2 == index ? 32'h20000000 : _GEN_449; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_451 = 11'h1c3 == index ? 32'h21000000 : _GEN_450; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_452 = 11'h1c4 == index ? 32'h22000000 : _GEN_451; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_453 = 11'h1c5 == index ? 32'h23000000 : _GEN_452; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_454 = 11'h1c6 == index ? 32'h24000000 : _GEN_453; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_455 = 11'h1c7 == index ? 32'h25000000 : _GEN_454; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_456 = 11'h1c8 == index ? 32'h26000000 : _GEN_455; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_457 = 11'h1c9 == index ? 32'h27000000 : _GEN_456; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_458 = 11'h1ca == index ? 32'h28000000 : _GEN_457; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_459 = 11'h1cb == index ? 32'h29000000 : _GEN_458; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_460 = 11'h1cc == index ? 32'h2a000000 : _GEN_459; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_461 = 11'h1cd == index ? 32'h3000000 : _GEN_460; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_462 = 11'h1ce == index ? 32'h8000000 : _GEN_461; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_463 = 11'h1cf == index ? 32'hd010000 : _GEN_462; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_464 = 11'h1d0 == index ? 32'h200110 : _GEN_463; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_465 = 11'h1d1 == index ? 32'h100000 : _GEN_464; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_466 = 11'h1d2 == index ? 32'h3000000 : _GEN_465; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_467 = 11'h1d3 == index ? 32'h8000000 : _GEN_466; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_468 = 11'h1d4 == index ? 32'ha5010000 : _GEN_467; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_469 = 11'h1d5 == index ? 32'h746e6f63 : _GEN_468; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_470 = 11'h1d6 == index ? 32'h6c6f72 : _GEN_469; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_471 = 11'h1d7 == index ? 32'h2000000 : _GEN_470; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_472 = 11'h1d8 == index ? 32'h1000000 : _GEN_471; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_473 = 11'h1d9 == index ? 32'h40633269 : _GEN_472; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_474 = 11'h1da == index ? 32'h31303031 : _GEN_473; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_475 = 11'h1db == index ? 32'h30303036 : _GEN_474; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_476 = 11'h1dc == index ? 32'h0 : _GEN_475; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_477 = 11'h1dd == index ? 32'h3000000 : _GEN_476; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_478 = 11'h1de == index ? 32'h4000000 : _GEN_477; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_479 = 11'h1df == index ? 32'hdc010000 : _GEN_478; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_480 = 11'h1e0 == index ? 32'h5000000 : _GEN_479; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_481 = 11'h1e1 == index ? 32'h3000000 : _GEN_480; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_482 = 11'h1e2 == index ? 32'hc000000 : _GEN_481; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_483 = 11'h1e3 == index ? 32'h1b000000 : _GEN_482; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_484 = 11'h1e4 == index ? 32'h69666973 : _GEN_483; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_485 = 11'h1e5 == index ? 32'h692c6576 : _GEN_484; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_486 = 11'h1e6 == index ? 32'h306332 : _GEN_485; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_487 = 11'h1e7 == index ? 32'h3000000 : _GEN_486; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_488 = 11'h1e8 == index ? 32'h4000000 : _GEN_487; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_489 = 11'h1e9 == index ? 32'h89010000 : _GEN_488; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_490 = 11'h1ea == index ? 32'h3000000 : _GEN_489; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_491 = 11'h1eb == index ? 32'h3000000 : _GEN_490; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_492 = 11'h1ec == index ? 32'h4000000 : _GEN_491; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_493 = 11'h1ed == index ? 32'h9a010000 : _GEN_492; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_494 = 11'h1ee == index ? 32'h37000000 : _GEN_493; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_495 = 11'h1ef == index ? 32'h3000000 : _GEN_494; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_496 = 11'h1f0 == index ? 32'h8000000 : _GEN_495; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_497 = 11'h1f1 == index ? 32'hd010000 : _GEN_496; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_498 = 11'h1f2 == index ? 32'h600110 : _GEN_497; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_499 = 11'h1f3 == index ? 32'h100000 : _GEN_498; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_500 = 11'h1f4 == index ? 32'h3000000 : _GEN_499; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_501 = 11'h1f5 == index ? 32'h8000000 : _GEN_500; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_502 = 11'h1f6 == index ? 32'ha5010000 : _GEN_501; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_503 = 11'h1f7 == index ? 32'h746e6f63 : _GEN_502; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_504 = 11'h1f8 == index ? 32'h6c6f72 : _GEN_503; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_505 = 11'h1f9 == index ? 32'h2000000 : _GEN_504; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_506 = 11'h1fa == index ? 32'h1000000 : _GEN_505; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_507 = 11'h1fb == index ? 32'h40633269 : _GEN_506; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_508 = 11'h1fc == index ? 32'h32303031 : _GEN_507; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_509 = 11'h1fd == index ? 32'h30303036 : _GEN_508; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_510 = 11'h1fe == index ? 32'h0 : _GEN_509; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_511 = 11'h1ff == index ? 32'h3000000 : _GEN_510; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_512 = 11'h200 == index ? 32'h4000000 : _GEN_511; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_513 = 11'h201 == index ? 32'hdc010000 : _GEN_512; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_514 = 11'h202 == index ? 32'h5000000 : _GEN_513; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_515 = 11'h203 == index ? 32'h3000000 : _GEN_514; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_516 = 11'h204 == index ? 32'hc000000 : _GEN_515; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_517 = 11'h205 == index ? 32'h1b000000 : _GEN_516; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_518 = 11'h206 == index ? 32'h69666973 : _GEN_517; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_519 = 11'h207 == index ? 32'h692c6576 : _GEN_518; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_520 = 11'h208 == index ? 32'h306332 : _GEN_519; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_521 = 11'h209 == index ? 32'h3000000 : _GEN_520; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_522 = 11'h20a == index ? 32'h4000000 : _GEN_521; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_523 = 11'h20b == index ? 32'h89010000 : _GEN_522; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_524 = 11'h20c == index ? 32'h3000000 : _GEN_523; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_525 = 11'h20d == index ? 32'h3000000 : _GEN_524; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_526 = 11'h20e == index ? 32'h4000000 : _GEN_525; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_527 = 11'h20f == index ? 32'h9a010000 : _GEN_526; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_528 = 11'h210 == index ? 32'h38000000 : _GEN_527; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_529 = 11'h211 == index ? 32'h3000000 : _GEN_528; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_530 = 11'h212 == index ? 32'h8000000 : _GEN_529; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_531 = 11'h213 == index ? 32'hd010000 : _GEN_530; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_532 = 11'h214 == index ? 32'h600210 : _GEN_531; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_533 = 11'h215 == index ? 32'h100000 : _GEN_532; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_534 = 11'h216 == index ? 32'h3000000 : _GEN_533; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_535 = 11'h217 == index ? 32'h8000000 : _GEN_534; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_536 = 11'h218 == index ? 32'ha5010000 : _GEN_535; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_537 = 11'h219 == index ? 32'h746e6f63 : _GEN_536; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_538 = 11'h21a == index ? 32'h6c6f72 : _GEN_537; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_539 = 11'h21b == index ? 32'h2000000 : _GEN_538; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_540 = 11'h21c == index ? 32'h1000000 : _GEN_539; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_541 = 11'h21d == index ? 32'h65746e69 : _GEN_540; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_542 = 11'h21e == index ? 32'h70757272 : _GEN_541; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_543 = 11'h21f == index ? 32'h6f632d74 : _GEN_542; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_544 = 11'h220 == index ? 32'h6f72746e : _GEN_543; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_545 = 11'h221 == index ? 32'h72656c6c : _GEN_544; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_546 = 11'h222 == index ? 32'h30306340 : _GEN_545; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_547 = 11'h223 == index ? 32'h30303030 : _GEN_546; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_548 = 11'h224 == index ? 32'h0 : _GEN_547; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_549 = 11'h225 == index ? 32'h3000000 : _GEN_548; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_550 = 11'h226 == index ? 32'h4000000 : _GEN_549; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_551 = 11'h227 == index ? 32'h54010000 : _GEN_550; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_552 = 11'h228 == index ? 32'h1000000 : _GEN_551; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_553 = 11'h229 == index ? 32'h3000000 : _GEN_552; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_554 = 11'h22a == index ? 32'hc000000 : _GEN_553; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_555 = 11'h22b == index ? 32'h1b000000 : _GEN_554; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_556 = 11'h22c == index ? 32'h63736972 : _GEN_555; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_557 = 11'h22d == index ? 32'h6c702c76 : _GEN_556; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_558 = 11'h22e == index ? 32'h306369 : _GEN_557; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_559 = 11'h22f == index ? 32'h3000000 : _GEN_558; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_560 = 11'h230 == index ? 32'h0 : _GEN_559; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_561 = 11'h231 == index ? 32'h65010000 : _GEN_560; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_562 = 11'h232 == index ? 32'h3000000 : _GEN_561; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_563 = 11'h233 == index ? 32'h10000000 : _GEN_562; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_564 = 11'h234 == index ? 32'haf010000 : _GEN_563; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_565 = 11'h235 == index ? 32'h4000000 : _GEN_564; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_566 = 11'h236 == index ? 32'hb000000 : _GEN_565; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_567 = 11'h237 == index ? 32'h4000000 : _GEN_566; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_568 = 11'h238 == index ? 32'h9000000 : _GEN_567; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_569 = 11'h239 == index ? 32'h3000000 : _GEN_568; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_570 = 11'h23a == index ? 32'h8000000 : _GEN_569; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_571 = 11'h23b == index ? 32'hd010000 : _GEN_570; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_572 = 11'h23c == index ? 32'hc : _GEN_571; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_573 = 11'h23d == index ? 32'h4 : _GEN_572; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_574 = 11'h23e == index ? 32'h3000000 : _GEN_573; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_575 = 11'h23f == index ? 32'h8000000 : _GEN_574; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_576 = 11'h240 == index ? 32'ha5010000 : _GEN_575; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_577 = 11'h241 == index ? 32'h746e6f63 : _GEN_576; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_578 = 11'h242 == index ? 32'h6c6f72 : _GEN_577; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_579 = 11'h243 == index ? 32'h3000000 : _GEN_578; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_580 = 11'h244 == index ? 32'h4000000 : _GEN_579; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_581 = 11'h245 == index ? 32'hf3010000 : _GEN_580; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_582 = 11'h246 == index ? 32'h7000000 : _GEN_581; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_583 = 11'h247 == index ? 32'h3000000 : _GEN_582; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_584 = 11'h248 == index ? 32'h4000000 : _GEN_583; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_585 = 11'h249 == index ? 32'h6020000 : _GEN_584; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_586 = 11'h24a == index ? 32'h38000000 : _GEN_585; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_587 = 11'h24b == index ? 32'h3000000 : _GEN_586; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_588 = 11'h24c == index ? 32'h4000000 : _GEN_587; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_589 = 11'h24d == index ? 32'h7a010000 : _GEN_588; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_590 = 11'h24e == index ? 32'h3000000 : _GEN_589; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_591 = 11'h24f == index ? 32'h2000000 : _GEN_590; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_592 = 11'h250 == index ? 32'h1000000 : _GEN_591; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_593 = 11'h251 == index ? 32'h6d697469 : _GEN_592; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_594 = 11'h252 == index ? 32'h30303840 : _GEN_593; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_595 = 11'h253 == index ? 32'h30303030 : _GEN_594; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_596 = 11'h254 == index ? 32'h0 : _GEN_595; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_597 = 11'h255 == index ? 32'h3000000 : _GEN_596; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_598 = 11'h256 == index ? 32'hd000000 : _GEN_597; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_599 = 11'h257 == index ? 32'h1b000000 : _GEN_598; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_600 = 11'h258 == index ? 32'h69666973 : _GEN_599; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_601 = 11'h259 == index ? 32'h692c6576 : _GEN_600; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_602 = 11'h25a == index ? 32'h306d6974 : _GEN_601; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_603 = 11'h25b == index ? 32'h0 : _GEN_602; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_604 = 11'h25c == index ? 32'h3000000 : _GEN_603; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_605 = 11'h25d == index ? 32'h10000000 : _GEN_604; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_606 = 11'h25e == index ? 32'hd010000 : _GEN_605; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_607 = 11'h25f == index ? 32'h8 : _GEN_606; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_608 = 11'h260 == index ? 32'h200000 : _GEN_607; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_609 = 11'h261 == index ? 32'h200008 : _GEN_608; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_610 = 11'h262 == index ? 32'h200000 : _GEN_609; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_611 = 11'h263 == index ? 32'h3000000 : _GEN_610; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_612 = 11'h264 == index ? 32'hc000000 : _GEN_611; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_613 = 11'h265 == index ? 32'ha5010000 : _GEN_612; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_614 = 11'h266 == index ? 32'h6d656d : _GEN_613; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_615 = 11'h267 == index ? 32'h746e6f63 : _GEN_614; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_616 = 11'h268 == index ? 32'h6c6f72 : _GEN_615; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_617 = 11'h269 == index ? 32'h3000000 : _GEN_616; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_618 = 11'h26a == index ? 32'h4000000 : _GEN_617; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_619 = 11'h26b == index ? 32'h7a010000 : _GEN_618; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_620 = 11'h26c == index ? 32'h2000000 : _GEN_619; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_621 = 11'h26d == index ? 32'h2000000 : _GEN_620; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_622 = 11'h26e == index ? 32'h1000000 : _GEN_621; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_623 = 11'h26f == index ? 32'h406d7770 : _GEN_622; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_624 = 11'h270 == index ? 32'h31303031 : _GEN_623; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_625 = 11'h271 == index ? 32'h30303035 : _GEN_624; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_626 = 11'h272 == index ? 32'h0 : _GEN_625; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_627 = 11'h273 == index ? 32'h3000000 : _GEN_626; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_628 = 11'h274 == index ? 32'h4000000 : _GEN_627; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_629 = 11'h275 == index ? 32'hdc010000 : _GEN_628; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_630 = 11'h276 == index ? 32'h5000000 : _GEN_629; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_631 = 11'h277 == index ? 32'h3000000 : _GEN_630; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_632 = 11'h278 == index ? 32'hc000000 : _GEN_631; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_633 = 11'h279 == index ? 32'h1b000000 : _GEN_632; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_634 = 11'h27a == index ? 32'h69666973 : _GEN_633; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_635 = 11'h27b == index ? 32'h702c6576 : _GEN_634; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_636 = 11'h27c == index ? 32'h306d77 : _GEN_635; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_637 = 11'h27d == index ? 32'h3000000 : _GEN_636; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_638 = 11'h27e == index ? 32'h4000000 : _GEN_637; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_639 = 11'h27f == index ? 32'h89010000 : _GEN_638; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_640 = 11'h280 == index ? 32'h3000000 : _GEN_639; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_641 = 11'h281 == index ? 32'h3000000 : _GEN_640; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_642 = 11'h282 == index ? 32'h10000000 : _GEN_641; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_643 = 11'h283 == index ? 32'h9a010000 : _GEN_642; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_644 = 11'h284 == index ? 32'h2b000000 : _GEN_643; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_645 = 11'h285 == index ? 32'h2c000000 : _GEN_644; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_646 = 11'h286 == index ? 32'h2d000000 : _GEN_645; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_647 = 11'h287 == index ? 32'h2e000000 : _GEN_646; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_648 = 11'h288 == index ? 32'h3000000 : _GEN_647; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_649 = 11'h289 == index ? 32'h8000000 : _GEN_648; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_650 = 11'h28a == index ? 32'hd010000 : _GEN_649; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_651 = 11'h28b == index ? 32'h500110 : _GEN_650; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_652 = 11'h28c == index ? 32'h100000 : _GEN_651; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_653 = 11'h28d == index ? 32'h3000000 : _GEN_652; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_654 = 11'h28e == index ? 32'h8000000 : _GEN_653; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_655 = 11'h28f == index ? 32'ha5010000 : _GEN_654; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_656 = 11'h290 == index ? 32'h746e6f63 : _GEN_655; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_657 = 11'h291 == index ? 32'h6c6f72 : _GEN_656; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_658 = 11'h292 == index ? 32'h3000000 : _GEN_657; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_659 = 11'h293 == index ? 32'h4000000 : _GEN_658; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_660 = 11'h294 == index ? 32'h11020000 : _GEN_659; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_661 = 11'h295 == index ? 32'h10000000 : _GEN_660; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_662 = 11'h296 == index ? 32'h3000000 : _GEN_661; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_663 = 11'h297 == index ? 32'h4000000 : _GEN_662; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_664 = 11'h298 == index ? 32'h2d020000 : _GEN_663; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_665 = 11'h299 == index ? 32'h4000000 : _GEN_664; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_666 = 11'h29a == index ? 32'h2000000 : _GEN_665; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_667 = 11'h29b == index ? 32'h1000000 : _GEN_666; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_668 = 11'h29c == index ? 32'h406d7770 : _GEN_667; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_669 = 11'h29d == index ? 32'h32303031 : _GEN_668; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_670 = 11'h29e == index ? 32'h30303035 : _GEN_669; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_671 = 11'h29f == index ? 32'h0 : _GEN_670; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_672 = 11'h2a0 == index ? 32'h3000000 : _GEN_671; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_673 = 11'h2a1 == index ? 32'h4000000 : _GEN_672; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_674 = 11'h2a2 == index ? 32'hdc010000 : _GEN_673; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_675 = 11'h2a3 == index ? 32'h5000000 : _GEN_674; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_676 = 11'h2a4 == index ? 32'h3000000 : _GEN_675; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_677 = 11'h2a5 == index ? 32'hc000000 : _GEN_676; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_678 = 11'h2a6 == index ? 32'h1b000000 : _GEN_677; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_679 = 11'h2a7 == index ? 32'h69666973 : _GEN_678; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_680 = 11'h2a8 == index ? 32'h702c6576 : _GEN_679; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_681 = 11'h2a9 == index ? 32'h306d77 : _GEN_680; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_682 = 11'h2aa == index ? 32'h3000000 : _GEN_681; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_683 = 11'h2ab == index ? 32'h4000000 : _GEN_682; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_684 = 11'h2ac == index ? 32'h89010000 : _GEN_683; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_685 = 11'h2ad == index ? 32'h3000000 : _GEN_684; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_686 = 11'h2ae == index ? 32'h3000000 : _GEN_685; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_687 = 11'h2af == index ? 32'h10000000 : _GEN_686; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_688 = 11'h2b0 == index ? 32'h9a010000 : _GEN_687; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_689 = 11'h2b1 == index ? 32'h2f000000 : _GEN_688; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_690 = 11'h2b2 == index ? 32'h30000000 : _GEN_689; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_691 = 11'h2b3 == index ? 32'h31000000 : _GEN_690; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_692 = 11'h2b4 == index ? 32'h32000000 : _GEN_691; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_693 = 11'h2b5 == index ? 32'h3000000 : _GEN_692; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_694 = 11'h2b6 == index ? 32'h8000000 : _GEN_693; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_695 = 11'h2b7 == index ? 32'hd010000 : _GEN_694; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_696 = 11'h2b8 == index ? 32'h500210 : _GEN_695; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_697 = 11'h2b9 == index ? 32'h100000 : _GEN_696; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_698 = 11'h2ba == index ? 32'h3000000 : _GEN_697; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_699 = 11'h2bb == index ? 32'h8000000 : _GEN_698; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_700 = 11'h2bc == index ? 32'ha5010000 : _GEN_699; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_701 = 11'h2bd == index ? 32'h746e6f63 : _GEN_700; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_702 = 11'h2be == index ? 32'h6c6f72 : _GEN_701; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_703 = 11'h2bf == index ? 32'h3000000 : _GEN_702; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_704 = 11'h2c0 == index ? 32'h4000000 : _GEN_703; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_705 = 11'h2c1 == index ? 32'h11020000 : _GEN_704; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_706 = 11'h2c2 == index ? 32'h10000000 : _GEN_705; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_707 = 11'h2c3 == index ? 32'h3000000 : _GEN_706; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_708 = 11'h2c4 == index ? 32'h4000000 : _GEN_707; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_709 = 11'h2c5 == index ? 32'h2d020000 : _GEN_708; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_710 = 11'h2c6 == index ? 32'h4000000 : _GEN_709; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_711 = 11'h2c7 == index ? 32'h2000000 : _GEN_710; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_712 = 11'h2c8 == index ? 32'h1000000 : _GEN_711; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_713 = 11'h2c9 == index ? 32'h406d7770 : _GEN_712; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_714 = 11'h2ca == index ? 32'h33303031 : _GEN_713; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_715 = 11'h2cb == index ? 32'h30303035 : _GEN_714; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_716 = 11'h2cc == index ? 32'h0 : _GEN_715; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_717 = 11'h2cd == index ? 32'h3000000 : _GEN_716; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_718 = 11'h2ce == index ? 32'h4000000 : _GEN_717; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_719 = 11'h2cf == index ? 32'hdc010000 : _GEN_718; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_720 = 11'h2d0 == index ? 32'h5000000 : _GEN_719; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_721 = 11'h2d1 == index ? 32'h3000000 : _GEN_720; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_722 = 11'h2d2 == index ? 32'hc000000 : _GEN_721; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_723 = 11'h2d3 == index ? 32'h1b000000 : _GEN_722; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_724 = 11'h2d4 == index ? 32'h69666973 : _GEN_723; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_725 = 11'h2d5 == index ? 32'h702c6576 : _GEN_724; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_726 = 11'h2d6 == index ? 32'h306d77 : _GEN_725; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_727 = 11'h2d7 == index ? 32'h3000000 : _GEN_726; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_728 = 11'h2d8 == index ? 32'h4000000 : _GEN_727; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_729 = 11'h2d9 == index ? 32'h89010000 : _GEN_728; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_730 = 11'h2da == index ? 32'h3000000 : _GEN_729; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_731 = 11'h2db == index ? 32'h3000000 : _GEN_730; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_732 = 11'h2dc == index ? 32'h10000000 : _GEN_731; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_733 = 11'h2dd == index ? 32'h9a010000 : _GEN_732; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_734 = 11'h2de == index ? 32'h33000000 : _GEN_733; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_735 = 11'h2df == index ? 32'h34000000 : _GEN_734; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_736 = 11'h2e0 == index ? 32'h35000000 : _GEN_735; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_737 = 11'h2e1 == index ? 32'h36000000 : _GEN_736; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_738 = 11'h2e2 == index ? 32'h3000000 : _GEN_737; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_739 = 11'h2e3 == index ? 32'h8000000 : _GEN_738; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_740 = 11'h2e4 == index ? 32'hd010000 : _GEN_739; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_741 = 11'h2e5 == index ? 32'h500310 : _GEN_740; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_742 = 11'h2e6 == index ? 32'h100000 : _GEN_741; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_743 = 11'h2e7 == index ? 32'h3000000 : _GEN_742; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_744 = 11'h2e8 == index ? 32'h8000000 : _GEN_743; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_745 = 11'h2e9 == index ? 32'ha5010000 : _GEN_744; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_746 = 11'h2ea == index ? 32'h746e6f63 : _GEN_745; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_747 = 11'h2eb == index ? 32'h6c6f72 : _GEN_746; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_748 = 11'h2ec == index ? 32'h3000000 : _GEN_747; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_749 = 11'h2ed == index ? 32'h4000000 : _GEN_748; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_750 = 11'h2ee == index ? 32'h11020000 : _GEN_749; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_751 = 11'h2ef == index ? 32'h10000000 : _GEN_750; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_752 = 11'h2f0 == index ? 32'h3000000 : _GEN_751; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_753 = 11'h2f1 == index ? 32'h4000000 : _GEN_752; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_754 = 11'h2f2 == index ? 32'h2d020000 : _GEN_753; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_755 = 11'h2f3 == index ? 32'h4000000 : _GEN_754; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_756 = 11'h2f4 == index ? 32'h2000000 : _GEN_755; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_757 = 11'h2f5 == index ? 32'h1000000 : _GEN_756; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_758 = 11'h2f6 == index ? 32'h406d6f72 : _GEN_757; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_759 = 11'h2f7 == index ? 32'h30303031 : _GEN_758; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_760 = 11'h2f8 == index ? 32'h30 : _GEN_759; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_761 = 11'h2f9 == index ? 32'h3000000 : _GEN_760; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_762 = 11'h2fa == index ? 32'hc000000 : _GEN_761; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_763 = 11'h2fb == index ? 32'h1b000000 : _GEN_762; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_764 = 11'h2fc == index ? 32'h69666973 : _GEN_763; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_765 = 11'h2fd == index ? 32'h722c6576 : _GEN_764; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_766 = 11'h2fe == index ? 32'h306d6f : _GEN_765; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_767 = 11'h2ff == index ? 32'h3000000 : _GEN_766; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_768 = 11'h300 == index ? 32'h8000000 : _GEN_767; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_769 = 11'h301 == index ? 32'hd010000 : _GEN_768; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_770 = 11'h302 == index ? 32'h100 : _GEN_769; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_771 = 11'h303 == index ? 32'h100 : _GEN_770; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_772 = 11'h304 == index ? 32'h3000000 : _GEN_771; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_773 = 11'h305 == index ? 32'h4000000 : _GEN_772; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_774 = 11'h306 == index ? 32'ha5010000 : _GEN_773; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_775 = 11'h307 == index ? 32'h6d656d : _GEN_774; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_776 = 11'h308 == index ? 32'h2000000 : _GEN_775; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_777 = 11'h309 == index ? 32'h1000000 : _GEN_776; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_778 = 11'h30a == index ? 32'h69726573 : _GEN_777; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_779 = 11'h30b == index ? 32'h31406c61 : _GEN_778; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_780 = 11'h30c == index ? 32'h33313030 : _GEN_779; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_781 = 11'h30d == index ? 32'h303030 : _GEN_780; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_782 = 11'h30e == index ? 32'h3000000 : _GEN_781; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_783 = 11'h30f == index ? 32'h4000000 : _GEN_782; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_784 = 11'h310 == index ? 32'hdc010000 : _GEN_783; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_785 = 11'h311 == index ? 32'h5000000 : _GEN_784; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_786 = 11'h312 == index ? 32'h3000000 : _GEN_785; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_787 = 11'h313 == index ? 32'hd000000 : _GEN_786; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_788 = 11'h314 == index ? 32'h1b000000 : _GEN_787; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_789 = 11'h315 == index ? 32'h69666973 : _GEN_788; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_790 = 11'h316 == index ? 32'h752c6576 : _GEN_789; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_791 = 11'h317 == index ? 32'h30747261 : _GEN_790; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_792 = 11'h318 == index ? 32'h0 : _GEN_791; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_793 = 11'h319 == index ? 32'h3000000 : _GEN_792; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_794 = 11'h31a == index ? 32'h4000000 : _GEN_793; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_795 = 11'h31b == index ? 32'h89010000 : _GEN_794; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_796 = 11'h31c == index ? 32'h3000000 : _GEN_795; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_797 = 11'h31d == index ? 32'h3000000 : _GEN_796; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_798 = 11'h31e == index ? 32'h4000000 : _GEN_797; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_799 = 11'h31f == index ? 32'h9a010000 : _GEN_798; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_800 = 11'h320 == index ? 32'h3000000 : _GEN_799; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_801 = 11'h321 == index ? 32'h3000000 : _GEN_800; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_802 = 11'h322 == index ? 32'h8000000 : _GEN_801; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_803 = 11'h323 == index ? 32'hd010000 : _GEN_802; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_804 = 11'h324 == index ? 32'h300110 : _GEN_803; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_805 = 11'h325 == index ? 32'h100000 : _GEN_804; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_806 = 11'h326 == index ? 32'h3000000 : _GEN_805; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_807 = 11'h327 == index ? 32'h8000000 : _GEN_806; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_808 = 11'h328 == index ? 32'ha5010000 : _GEN_807; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_809 = 11'h329 == index ? 32'h746e6f63 : _GEN_808; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_810 = 11'h32a == index ? 32'h6c6f72 : _GEN_809; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_811 = 11'h32b == index ? 32'h2000000 : _GEN_810; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_812 = 11'h32c == index ? 32'h1000000 : _GEN_811; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_813 = 11'h32d == index ? 32'h69726573 : _GEN_812; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_814 = 11'h32e == index ? 32'h31406c61 : _GEN_813; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_815 = 11'h32f == index ? 32'h33323030 : _GEN_814; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_816 = 11'h330 == index ? 32'h303030 : _GEN_815; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_817 = 11'h331 == index ? 32'h3000000 : _GEN_816; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_818 = 11'h332 == index ? 32'h4000000 : _GEN_817; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_819 = 11'h333 == index ? 32'hdc010000 : _GEN_818; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_820 = 11'h334 == index ? 32'h5000000 : _GEN_819; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_821 = 11'h335 == index ? 32'h3000000 : _GEN_820; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_822 = 11'h336 == index ? 32'hd000000 : _GEN_821; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_823 = 11'h337 == index ? 32'h1b000000 : _GEN_822; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_824 = 11'h338 == index ? 32'h69666973 : _GEN_823; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_825 = 11'h339 == index ? 32'h752c6576 : _GEN_824; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_826 = 11'h33a == index ? 32'h30747261 : _GEN_825; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_827 = 11'h33b == index ? 32'h0 : _GEN_826; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_828 = 11'h33c == index ? 32'h3000000 : _GEN_827; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_829 = 11'h33d == index ? 32'h4000000 : _GEN_828; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_830 = 11'h33e == index ? 32'h89010000 : _GEN_829; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_831 = 11'h33f == index ? 32'h3000000 : _GEN_830; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_832 = 11'h340 == index ? 32'h3000000 : _GEN_831; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_833 = 11'h341 == index ? 32'h4000000 : _GEN_832; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_834 = 11'h342 == index ? 32'h9a010000 : _GEN_833; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_835 = 11'h343 == index ? 32'h4000000 : _GEN_834; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_836 = 11'h344 == index ? 32'h3000000 : _GEN_835; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_837 = 11'h345 == index ? 32'h8000000 : _GEN_836; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_838 = 11'h346 == index ? 32'hd010000 : _GEN_837; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_839 = 11'h347 == index ? 32'h300210 : _GEN_838; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_840 = 11'h348 == index ? 32'h100000 : _GEN_839; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_841 = 11'h349 == index ? 32'h3000000 : _GEN_840; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_842 = 11'h34a == index ? 32'h8000000 : _GEN_841; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_843 = 11'h34b == index ? 32'ha5010000 : _GEN_842; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_844 = 11'h34c == index ? 32'h746e6f63 : _GEN_843; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_845 = 11'h34d == index ? 32'h6c6f72 : _GEN_844; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_846 = 11'h34e == index ? 32'h2000000 : _GEN_845; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_847 = 11'h34f == index ? 32'h1000000 : _GEN_846; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_848 = 11'h350 == index ? 32'h69726573 : _GEN_847; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_849 = 11'h351 == index ? 32'h31406c61 : _GEN_848; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_850 = 11'h352 == index ? 32'h33333030 : _GEN_849; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_851 = 11'h353 == index ? 32'h303030 : _GEN_850; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_852 = 11'h354 == index ? 32'h3000000 : _GEN_851; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_853 = 11'h355 == index ? 32'h4000000 : _GEN_852; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_854 = 11'h356 == index ? 32'hdc010000 : _GEN_853; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_855 = 11'h357 == index ? 32'h5000000 : _GEN_854; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_856 = 11'h358 == index ? 32'h3000000 : _GEN_855; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_857 = 11'h359 == index ? 32'hd000000 : _GEN_856; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_858 = 11'h35a == index ? 32'h1b000000 : _GEN_857; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_859 = 11'h35b == index ? 32'h69666973 : _GEN_858; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_860 = 11'h35c == index ? 32'h752c6576 : _GEN_859; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_861 = 11'h35d == index ? 32'h30747261 : _GEN_860; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_862 = 11'h35e == index ? 32'h0 : _GEN_861; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_863 = 11'h35f == index ? 32'h3000000 : _GEN_862; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_864 = 11'h360 == index ? 32'h4000000 : _GEN_863; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_865 = 11'h361 == index ? 32'h89010000 : _GEN_864; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_866 = 11'h362 == index ? 32'h3000000 : _GEN_865; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_867 = 11'h363 == index ? 32'h3000000 : _GEN_866; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_868 = 11'h364 == index ? 32'h4000000 : _GEN_867; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_869 = 11'h365 == index ? 32'h9a010000 : _GEN_868; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_870 = 11'h366 == index ? 32'h5000000 : _GEN_869; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_871 = 11'h367 == index ? 32'h3000000 : _GEN_870; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_872 = 11'h368 == index ? 32'h8000000 : _GEN_871; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_873 = 11'h369 == index ? 32'hd010000 : _GEN_872; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_874 = 11'h36a == index ? 32'h300310 : _GEN_873; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_875 = 11'h36b == index ? 32'h100000 : _GEN_874; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_876 = 11'h36c == index ? 32'h3000000 : _GEN_875; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_877 = 11'h36d == index ? 32'h8000000 : _GEN_876; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_878 = 11'h36e == index ? 32'ha5010000 : _GEN_877; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_879 = 11'h36f == index ? 32'h746e6f63 : _GEN_878; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_880 = 11'h370 == index ? 32'h6c6f72 : _GEN_879; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_881 = 11'h371 == index ? 32'h2000000 : _GEN_880; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_882 = 11'h372 == index ? 32'h1000000 : _GEN_881; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_883 = 11'h373 == index ? 32'h69726573 : _GEN_882; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_884 = 11'h374 == index ? 32'h31406c61 : _GEN_883; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_885 = 11'h375 == index ? 32'h33343030 : _GEN_884; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_886 = 11'h376 == index ? 32'h303030 : _GEN_885; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_887 = 11'h377 == index ? 32'h3000000 : _GEN_886; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_888 = 11'h378 == index ? 32'h4000000 : _GEN_887; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_889 = 11'h379 == index ? 32'hdc010000 : _GEN_888; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_890 = 11'h37a == index ? 32'h5000000 : _GEN_889; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_891 = 11'h37b == index ? 32'h3000000 : _GEN_890; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_892 = 11'h37c == index ? 32'hd000000 : _GEN_891; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_893 = 11'h37d == index ? 32'h1b000000 : _GEN_892; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_894 = 11'h37e == index ? 32'h69666973 : _GEN_893; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_895 = 11'h37f == index ? 32'h752c6576 : _GEN_894; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_896 = 11'h380 == index ? 32'h30747261 : _GEN_895; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_897 = 11'h381 == index ? 32'h0 : _GEN_896; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_898 = 11'h382 == index ? 32'h3000000 : _GEN_897; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_899 = 11'h383 == index ? 32'h4000000 : _GEN_898; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_900 = 11'h384 == index ? 32'h89010000 : _GEN_899; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_901 = 11'h385 == index ? 32'h3000000 : _GEN_900; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_902 = 11'h386 == index ? 32'h3000000 : _GEN_901; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_903 = 11'h387 == index ? 32'h4000000 : _GEN_902; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_904 = 11'h388 == index ? 32'h9a010000 : _GEN_903; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_905 = 11'h389 == index ? 32'h6000000 : _GEN_904; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_906 = 11'h38a == index ? 32'h3000000 : _GEN_905; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_907 = 11'h38b == index ? 32'h8000000 : _GEN_906; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_908 = 11'h38c == index ? 32'hd010000 : _GEN_907; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_909 = 11'h38d == index ? 32'h300410 : _GEN_908; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_910 = 11'h38e == index ? 32'h100000 : _GEN_909; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_911 = 11'h38f == index ? 32'h3000000 : _GEN_910; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_912 = 11'h390 == index ? 32'h8000000 : _GEN_911; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_913 = 11'h391 == index ? 32'ha5010000 : _GEN_912; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_914 = 11'h392 == index ? 32'h746e6f63 : _GEN_913; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_915 = 11'h393 == index ? 32'h6c6f72 : _GEN_914; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_916 = 11'h394 == index ? 32'h2000000 : _GEN_915; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_917 = 11'h395 == index ? 32'h1000000 : _GEN_916; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_918 = 11'h396 == index ? 32'h69726573 : _GEN_917; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_919 = 11'h397 == index ? 32'h31406c61 : _GEN_918; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_920 = 11'h398 == index ? 32'h33353030 : _GEN_919; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_921 = 11'h399 == index ? 32'h303030 : _GEN_920; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_922 = 11'h39a == index ? 32'h3000000 : _GEN_921; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_923 = 11'h39b == index ? 32'h4000000 : _GEN_922; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_924 = 11'h39c == index ? 32'hdc010000 : _GEN_923; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_925 = 11'h39d == index ? 32'h5000000 : _GEN_924; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_926 = 11'h39e == index ? 32'h3000000 : _GEN_925; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_927 = 11'h39f == index ? 32'hd000000 : _GEN_926; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_928 = 11'h3a0 == index ? 32'h1b000000 : _GEN_927; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_929 = 11'h3a1 == index ? 32'h69666973 : _GEN_928; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_930 = 11'h3a2 == index ? 32'h752c6576 : _GEN_929; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_931 = 11'h3a3 == index ? 32'h30747261 : _GEN_930; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_932 = 11'h3a4 == index ? 32'h0 : _GEN_931; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_933 = 11'h3a5 == index ? 32'h3000000 : _GEN_932; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_934 = 11'h3a6 == index ? 32'h4000000 : _GEN_933; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_935 = 11'h3a7 == index ? 32'h89010000 : _GEN_934; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_936 = 11'h3a8 == index ? 32'h3000000 : _GEN_935; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_937 = 11'h3a9 == index ? 32'h3000000 : _GEN_936; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_938 = 11'h3aa == index ? 32'h4000000 : _GEN_937; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_939 = 11'h3ab == index ? 32'h9a010000 : _GEN_938; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_940 = 11'h3ac == index ? 32'h7000000 : _GEN_939; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_941 = 11'h3ad == index ? 32'h3000000 : _GEN_940; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_942 = 11'h3ae == index ? 32'h8000000 : _GEN_941; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_943 = 11'h3af == index ? 32'hd010000 : _GEN_942; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_944 = 11'h3b0 == index ? 32'h300510 : _GEN_943; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_945 = 11'h3b1 == index ? 32'h100000 : _GEN_944; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_946 = 11'h3b2 == index ? 32'h3000000 : _GEN_945; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_947 = 11'h3b3 == index ? 32'h8000000 : _GEN_946; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_948 = 11'h3b4 == index ? 32'ha5010000 : _GEN_947; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_949 = 11'h3b5 == index ? 32'h746e6f63 : _GEN_948; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_950 = 11'h3b6 == index ? 32'h6c6f72 : _GEN_949; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_951 = 11'h3b7 == index ? 32'h2000000 : _GEN_950; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_952 = 11'h3b8 == index ? 32'h1000000 : _GEN_951; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_953 = 11'h3b9 == index ? 32'h40697073 : _GEN_952; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_954 = 11'h3ba == index ? 32'h31303031 : _GEN_953; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_955 = 11'h3bb == index ? 32'h30303034 : _GEN_954; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_956 = 11'h3bc == index ? 32'h0 : _GEN_955; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_957 = 11'h3bd == index ? 32'h3000000 : _GEN_956; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_958 = 11'h3be == index ? 32'h4000000 : _GEN_957; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_959 = 11'h3bf == index ? 32'h0 : _GEN_958; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_960 = 11'h3c0 == index ? 32'h1000000 : _GEN_959; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_961 = 11'h3c1 == index ? 32'h3000000 : _GEN_960; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_962 = 11'h3c2 == index ? 32'h4000000 : _GEN_961; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_963 = 11'h3c3 == index ? 32'hf000000 : _GEN_962; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_964 = 11'h3c4 == index ? 32'h0 : _GEN_963; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_965 = 11'h3c5 == index ? 32'h3000000 : _GEN_964; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_966 = 11'h3c6 == index ? 32'h4000000 : _GEN_965; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_967 = 11'h3c7 == index ? 32'hdc010000 : _GEN_966; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_968 = 11'h3c8 == index ? 32'h5000000 : _GEN_967; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_969 = 11'h3c9 == index ? 32'h3000000 : _GEN_968; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_970 = 11'h3ca == index ? 32'hc000000 : _GEN_969; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_971 = 11'h3cb == index ? 32'h1b000000 : _GEN_970; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_972 = 11'h3cc == index ? 32'h69666973 : _GEN_971; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_973 = 11'h3cd == index ? 32'h732c6576 : _GEN_972; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_974 = 11'h3ce == index ? 32'h306970 : _GEN_973; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_975 = 11'h3cf == index ? 32'h3000000 : _GEN_974; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_976 = 11'h3d0 == index ? 32'h4000000 : _GEN_975; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_977 = 11'h3d1 == index ? 32'h89010000 : _GEN_976; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_978 = 11'h3d2 == index ? 32'h3000000 : _GEN_977; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_979 = 11'h3d3 == index ? 32'h3000000 : _GEN_978; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_980 = 11'h3d4 == index ? 32'h4000000 : _GEN_979; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_981 = 11'h3d5 == index ? 32'h9a010000 : _GEN_980; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_982 = 11'h3d6 == index ? 32'h8000000 : _GEN_981; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_983 = 11'h3d7 == index ? 32'h3000000 : _GEN_982; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_984 = 11'h3d8 == index ? 32'h10000000 : _GEN_983; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_985 = 11'h3d9 == index ? 32'hd010000 : _GEN_984; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_986 = 11'h3da == index ? 32'h400110 : _GEN_985; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_987 = 11'h3db == index ? 32'h100000 : _GEN_986; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_988 = 11'h3dc == index ? 32'h20 : _GEN_987; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_989 = 11'h3dd == index ? 32'h20 : _GEN_988; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_990 = 11'h3de == index ? 32'h3000000 : _GEN_989; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_991 = 11'h3df == index ? 32'hc000000 : _GEN_990; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_992 = 11'h3e0 == index ? 32'ha5010000 : _GEN_991; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_993 = 11'h3e1 == index ? 32'h746e6f63 : _GEN_992; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_994 = 11'h3e2 == index ? 32'h6c6f72 : _GEN_993; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_995 = 11'h3e3 == index ? 32'h6d656d : _GEN_994; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_996 = 11'h3e4 == index ? 32'h2000000 : _GEN_995; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_997 = 11'h3e5 == index ? 32'h1000000 : _GEN_996; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_998 = 11'h3e6 == index ? 32'h40697073 : _GEN_997; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_999 = 11'h3e7 == index ? 32'h32303031 : _GEN_998; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1000 = 11'h3e8 == index ? 32'h30303034 : _GEN_999; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1001 = 11'h3e9 == index ? 32'h0 : _GEN_1000; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1002 = 11'h3ea == index ? 32'h3000000 : _GEN_1001; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1003 = 11'h3eb == index ? 32'h4000000 : _GEN_1002; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1004 = 11'h3ec == index ? 32'h0 : _GEN_1003; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1005 = 11'h3ed == index ? 32'h1000000 : _GEN_1004; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1006 = 11'h3ee == index ? 32'h3000000 : _GEN_1005; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1007 = 11'h3ef == index ? 32'h4000000 : _GEN_1006; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1008 = 11'h3f0 == index ? 32'hf000000 : _GEN_1007; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1009 = 11'h3f1 == index ? 32'h0 : _GEN_1008; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1010 = 11'h3f2 == index ? 32'h3000000 : _GEN_1009; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1011 = 11'h3f3 == index ? 32'h4000000 : _GEN_1010; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1012 = 11'h3f4 == index ? 32'hdc010000 : _GEN_1011; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1013 = 11'h3f5 == index ? 32'h5000000 : _GEN_1012; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1014 = 11'h3f6 == index ? 32'h3000000 : _GEN_1013; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1015 = 11'h3f7 == index ? 32'hc000000 : _GEN_1014; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1016 = 11'h3f8 == index ? 32'h1b000000 : _GEN_1015; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1017 = 11'h3f9 == index ? 32'h69666973 : _GEN_1016; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1018 = 11'h3fa == index ? 32'h732c6576 : _GEN_1017; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1019 = 11'h3fb == index ? 32'h306970 : _GEN_1018; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1020 = 11'h3fc == index ? 32'h3000000 : _GEN_1019; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1021 = 11'h3fd == index ? 32'h4000000 : _GEN_1020; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1022 = 11'h3fe == index ? 32'h89010000 : _GEN_1021; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1023 = 11'h3ff == index ? 32'h3000000 : _GEN_1022; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1024 = 11'h400 == index ? 32'h3000000 : _GEN_1023; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1025 = 11'h401 == index ? 32'h4000000 : _GEN_1024; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1026 = 11'h402 == index ? 32'h9a010000 : _GEN_1025; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1027 = 11'h403 == index ? 32'ha000000 : _GEN_1026; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1028 = 11'h404 == index ? 32'h3000000 : _GEN_1027; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1029 = 11'h405 == index ? 32'h8000000 : _GEN_1028; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1030 = 11'h406 == index ? 32'hd010000 : _GEN_1029; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1031 = 11'h407 == index ? 32'h400210 : _GEN_1030; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1032 = 11'h408 == index ? 32'h100000 : _GEN_1031; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1033 = 11'h409 == index ? 32'h3000000 : _GEN_1032; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1034 = 11'h40a == index ? 32'h8000000 : _GEN_1033; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1035 = 11'h40b == index ? 32'ha5010000 : _GEN_1034; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1036 = 11'h40c == index ? 32'h746e6f63 : _GEN_1035; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1037 = 11'h40d == index ? 32'h6c6f72 : _GEN_1036; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1038 = 11'h40e == index ? 32'h2000000 : _GEN_1037; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1039 = 11'h40f == index ? 32'h1000000 : _GEN_1038; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1040 = 11'h410 == index ? 32'h40697073 : _GEN_1039; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1041 = 11'h411 == index ? 32'h33303031 : _GEN_1040; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1042 = 11'h412 == index ? 32'h30303034 : _GEN_1041; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1043 = 11'h413 == index ? 32'h0 : _GEN_1042; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1044 = 11'h414 == index ? 32'h3000000 : _GEN_1043; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1045 = 11'h415 == index ? 32'h4000000 : _GEN_1044; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1046 = 11'h416 == index ? 32'h0 : _GEN_1045; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1047 = 11'h417 == index ? 32'h1000000 : _GEN_1046; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1048 = 11'h418 == index ? 32'h3000000 : _GEN_1047; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1049 = 11'h419 == index ? 32'h4000000 : _GEN_1048; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1050 = 11'h41a == index ? 32'hf000000 : _GEN_1049; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1051 = 11'h41b == index ? 32'h0 : _GEN_1050; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1052 = 11'h41c == index ? 32'h3000000 : _GEN_1051; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1053 = 11'h41d == index ? 32'h4000000 : _GEN_1052; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1054 = 11'h41e == index ? 32'hdc010000 : _GEN_1053; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1055 = 11'h41f == index ? 32'h5000000 : _GEN_1054; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1056 = 11'h420 == index ? 32'h3000000 : _GEN_1055; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1057 = 11'h421 == index ? 32'hc000000 : _GEN_1056; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1058 = 11'h422 == index ? 32'h1b000000 : _GEN_1057; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1059 = 11'h423 == index ? 32'h69666973 : _GEN_1058; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1060 = 11'h424 == index ? 32'h732c6576 : _GEN_1059; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1061 = 11'h425 == index ? 32'h306970 : _GEN_1060; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1062 = 11'h426 == index ? 32'h3000000 : _GEN_1061; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1063 = 11'h427 == index ? 32'h4000000 : _GEN_1062; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1064 = 11'h428 == index ? 32'h89010000 : _GEN_1063; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1065 = 11'h429 == index ? 32'h3000000 : _GEN_1064; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1066 = 11'h42a == index ? 32'h3000000 : _GEN_1065; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1067 = 11'h42b == index ? 32'h4000000 : _GEN_1066; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1068 = 11'h42c == index ? 32'h9a010000 : _GEN_1067; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1069 = 11'h42d == index ? 32'h9000000 : _GEN_1068; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1070 = 11'h42e == index ? 32'h3000000 : _GEN_1069; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1071 = 11'h42f == index ? 32'h10000000 : _GEN_1070; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1072 = 11'h430 == index ? 32'hd010000 : _GEN_1071; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1073 = 11'h431 == index ? 32'h400310 : _GEN_1072; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1074 = 11'h432 == index ? 32'h100000 : _GEN_1073; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1075 = 11'h433 == index ? 32'h40 : _GEN_1074; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1076 = 11'h434 == index ? 32'h20 : _GEN_1075; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1077 = 11'h435 == index ? 32'h3000000 : _GEN_1076; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1078 = 11'h436 == index ? 32'hc000000 : _GEN_1077; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1079 = 11'h437 == index ? 32'ha5010000 : _GEN_1078; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1080 = 11'h438 == index ? 32'h746e6f63 : _GEN_1079; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1081 = 11'h439 == index ? 32'h6c6f72 : _GEN_1080; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1082 = 11'h43a == index ? 32'h6d656d : _GEN_1081; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1083 = 11'h43b == index ? 32'h3000000 : _GEN_1082; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1084 = 11'h43c == index ? 32'h4000000 : _GEN_1083; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1085 = 11'h43d == index ? 32'h7a010000 : _GEN_1084; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1086 = 11'h43e == index ? 32'h1000000 : _GEN_1085; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1087 = 11'h43f == index ? 32'h2000000 : _GEN_1086; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1088 = 11'h440 == index ? 32'h1000000 : _GEN_1087; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1089 = 11'h441 == index ? 32'h73627573 : _GEN_1088; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1090 = 11'h442 == index ? 32'h65747379 : _GEN_1089; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1091 = 11'h443 == index ? 32'h62705f6d : _GEN_1090; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1092 = 11'h444 == index ? 32'h635f7375 : _GEN_1091; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1093 = 11'h445 == index ? 32'h6b636f6c : _GEN_1092; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1094 = 11'h446 == index ? 32'h0 : _GEN_1093; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1095 = 11'h447 == index ? 32'h3000000 : _GEN_1094; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1096 = 11'h448 == index ? 32'h4000000 : _GEN_1095; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1097 = 11'h449 == index ? 32'h41020000 : _GEN_1096; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1098 = 11'h44a == index ? 32'h0 : _GEN_1097; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1099 = 11'h44b == index ? 32'h3000000 : _GEN_1098; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1100 = 11'h44c == index ? 32'h4000000 : _GEN_1099; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1101 = 11'h44d == index ? 32'h67000000 : _GEN_1100; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1102 = 11'h44e == index ? 32'he1f505 : _GEN_1101; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1103 = 11'h44f == index ? 32'h3000000 : _GEN_1102; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1104 = 11'h450 == index ? 32'h15000000 : _GEN_1103; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1105 = 11'h451 == index ? 32'h4e020000 : _GEN_1104; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1106 = 11'h452 == index ? 32'h73627573 : _GEN_1105; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1107 = 11'h453 == index ? 32'h65747379 : _GEN_1106; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1108 = 11'h454 == index ? 32'h62705f6d : _GEN_1107; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1109 = 11'h455 == index ? 32'h635f7375 : _GEN_1108; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1110 = 11'h456 == index ? 32'h6b636f6c : _GEN_1109; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1111 = 11'h457 == index ? 32'h0 : _GEN_1110; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1112 = 11'h458 == index ? 32'h3000000 : _GEN_1111; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1113 = 11'h459 == index ? 32'hc000000 : _GEN_1112; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1114 = 11'h45a == index ? 32'h1b000000 : _GEN_1113; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1115 = 11'h45b == index ? 32'h65786966 : _GEN_1114; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1116 = 11'h45c == index ? 32'h6c632d64 : _GEN_1115; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1117 = 11'h45d == index ? 32'h6b636f : _GEN_1116; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1118 = 11'h45e == index ? 32'h3000000 : _GEN_1117; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1119 = 11'h45f == index ? 32'h4000000 : _GEN_1118; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1120 = 11'h460 == index ? 32'h7a010000 : _GEN_1119; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1121 = 11'h461 == index ? 32'h5000000 : _GEN_1120; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1122 = 11'h462 == index ? 32'h2000000 : _GEN_1121; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1123 = 11'h463 == index ? 32'h2000000 : _GEN_1122; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1124 = 11'h464 == index ? 32'h2000000 : _GEN_1123; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1125 = 11'h465 == index ? 32'h9000000 : _GEN_1124; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1126 = 11'h466 == index ? 32'h64646123 : _GEN_1125; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1127 = 11'h467 == index ? 32'h73736572 : _GEN_1126; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1128 = 11'h468 == index ? 32'h6c65632d : _GEN_1127; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1129 = 11'h469 == index ? 32'h2300736c : _GEN_1128; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1130 = 11'h46a == index ? 32'h657a6973 : _GEN_1129; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1131 = 11'h46b == index ? 32'h6c65632d : _GEN_1130; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1132 = 11'h46c == index ? 32'h6300736c : _GEN_1131; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1133 = 11'h46d == index ? 32'h61706d6f : _GEN_1132; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1134 = 11'h46e == index ? 32'h6c626974 : _GEN_1133; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1135 = 11'h46f == index ? 32'h6f6d0065 : _GEN_1134; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1136 = 11'h470 == index ? 32'h6c6564 : _GEN_1135; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1137 = 11'h471 == index ? 32'h69726573 : _GEN_1136; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1138 = 11'h472 == index ? 32'h306c61 : _GEN_1137; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1139 = 11'h473 == index ? 32'h69726573 : _GEN_1138; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1140 = 11'h474 == index ? 32'h316c61 : _GEN_1139; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1141 = 11'h475 == index ? 32'h69726573 : _GEN_1140; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1142 = 11'h476 == index ? 32'h326c61 : _GEN_1141; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1143 = 11'h477 == index ? 32'h69726573 : _GEN_1142; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1144 = 11'h478 == index ? 32'h336c61 : _GEN_1143; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1145 = 11'h479 == index ? 32'h69726573 : _GEN_1144; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1146 = 11'h47a == index ? 32'h346c61 : _GEN_1145; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1147 = 11'h47b == index ? 32'h656d6974 : _GEN_1146; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1148 = 11'h47c == index ? 32'h65736162 : _GEN_1147; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1149 = 11'h47d == index ? 32'h6572662d : _GEN_1148; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1150 = 11'h47e == index ? 32'h6e657571 : _GEN_1149; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1151 = 11'h47f == index ? 32'h63007963 : _GEN_1150; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1152 = 11'h480 == index ? 32'h6b636f6c : _GEN_1151; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1153 = 11'h481 == index ? 32'h6572662d : _GEN_1152; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1154 = 11'h482 == index ? 32'h6e657571 : _GEN_1153; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1155 = 11'h483 == index ? 32'h64007963 : _GEN_1154; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1156 = 11'h484 == index ? 32'h6361632d : _GEN_1155; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1157 = 11'h485 == index ? 32'h622d6568 : _GEN_1156; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1158 = 11'h486 == index ? 32'h6b636f6c : _GEN_1157; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1159 = 11'h487 == index ? 32'h7a69732d : _GEN_1158; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1160 = 11'h488 == index ? 32'h2d640065 : _GEN_1159; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1161 = 11'h489 == index ? 32'h68636163 : _GEN_1160; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1162 = 11'h48a == index ? 32'h65732d65 : _GEN_1161; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1163 = 11'h48b == index ? 32'h64007374 : _GEN_1162; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1164 = 11'h48c == index ? 32'h6361632d : _GEN_1163; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1165 = 11'h48d == index ? 32'h732d6568 : _GEN_1164; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1166 = 11'h48e == index ? 32'h657a69 : _GEN_1165; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1167 = 11'h48f == index ? 32'h69766564 : _GEN_1166; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1168 = 11'h490 == index ? 32'h745f6563 : _GEN_1167; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1169 = 11'h491 == index ? 32'h657079 : _GEN_1168; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1170 = 11'h492 == index ? 32'h64726168 : _GEN_1169; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1171 = 11'h493 == index ? 32'h65726177 : _GEN_1170; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1172 = 11'h494 == index ? 32'h6578652d : _GEN_1171; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1173 = 11'h495 == index ? 32'h72622d63 : _GEN_1172; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1174 = 11'h496 == index ? 32'h706b6165 : _GEN_1173; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1175 = 11'h497 == index ? 32'h746e696f : _GEN_1174; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1176 = 11'h498 == index ? 32'h756f632d : _GEN_1175; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1177 = 11'h499 == index ? 32'h6900746e : _GEN_1176; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1178 = 11'h49a == index ? 32'h6361632d : _GEN_1177; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1179 = 11'h49b == index ? 32'h622d6568 : _GEN_1178; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1180 = 11'h49c == index ? 32'h6b636f6c : _GEN_1179; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1181 = 11'h49d == index ? 32'h7a69732d : _GEN_1180; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1182 = 11'h49e == index ? 32'h2d690065 : _GEN_1181; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1183 = 11'h49f == index ? 32'h68636163 : _GEN_1182; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1184 = 11'h4a0 == index ? 32'h65732d65 : _GEN_1183; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1185 = 11'h4a1 == index ? 32'h69007374 : _GEN_1184; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1186 = 11'h4a2 == index ? 32'h6361632d : _GEN_1185; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1187 = 11'h4a3 == index ? 32'h732d6568 : _GEN_1186; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1188 = 11'h4a4 == index ? 32'h657a69 : _GEN_1187; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1189 = 11'h4a5 == index ? 32'h7478656e : _GEN_1188; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1190 = 11'h4a6 == index ? 32'h76656c2d : _GEN_1189; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1191 = 11'h4a7 == index ? 32'h632d6c65 : _GEN_1190; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1192 = 11'h4a8 == index ? 32'h65686361 : _GEN_1191; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1193 = 11'h4a9 == index ? 32'h67657200 : _GEN_1192; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1194 = 11'h4aa == index ? 32'h73697200 : _GEN_1193; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1195 = 11'h4ab == index ? 32'h692c7663 : _GEN_1194; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1196 = 11'h4ac == index ? 32'h72006173 : _GEN_1195; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1197 = 11'h4ad == index ? 32'h76637369 : _GEN_1196; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1198 = 11'h4ae == index ? 32'h706d702c : _GEN_1197; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1199 = 11'h4af == index ? 32'h6e617267 : _GEN_1198; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1200 = 11'h4b0 == index ? 32'h72616c75 : _GEN_1199; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1201 = 11'h4b1 == index ? 32'h797469 : _GEN_1200; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1202 = 11'h4b2 == index ? 32'h63736972 : _GEN_1201; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1203 = 11'h4b3 == index ? 32'h6d702c76 : _GEN_1202; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1204 = 11'h4b4 == index ? 32'h67657270 : _GEN_1203; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1205 = 11'h4b5 == index ? 32'h736e6f69 : _GEN_1204; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1206 = 11'h4b6 == index ? 32'h66697300 : _GEN_1205; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1207 = 11'h4b7 == index ? 32'h2c657669 : _GEN_1206; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1208 = 11'h4b8 == index ? 32'h6d697469 : _GEN_1207; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1209 = 11'h4b9 == index ? 32'h61747300 : _GEN_1208; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1210 = 11'h4ba == index ? 32'h737574 : _GEN_1209; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1211 = 11'h4bb == index ? 32'h746e6923 : _GEN_1210; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1212 = 11'h4bc == index ? 32'h75727265 : _GEN_1211; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1213 = 11'h4bd == index ? 32'h632d7470 : _GEN_1212; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1214 = 11'h4be == index ? 32'h736c6c65 : _GEN_1213; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1215 = 11'h4bf == index ? 32'h746e6900 : _GEN_1214; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1216 = 11'h4c0 == index ? 32'h75727265 : _GEN_1215; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1217 = 11'h4c1 == index ? 32'h632d7470 : _GEN_1216; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1218 = 11'h4c2 == index ? 32'h72746e6f : _GEN_1217; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1219 = 11'h4c3 == index ? 32'h656c6c6f : _GEN_1218; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1220 = 11'h4c4 == index ? 32'h68700072 : _GEN_1219; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1221 = 11'h4c5 == index ? 32'h6c646e61 : _GEN_1220; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1222 = 11'h4c6 == index ? 32'h61720065 : _GEN_1221; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1223 = 11'h4c7 == index ? 32'h7365676e : _GEN_1222; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1224 = 11'h4c8 == index ? 32'h746e6900 : _GEN_1223; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1225 = 11'h4c9 == index ? 32'h75727265 : _GEN_1224; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1226 = 11'h4ca == index ? 32'h702d7470 : _GEN_1225; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1227 = 11'h4cb == index ? 32'h6e657261 : _GEN_1226; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1228 = 11'h4cc == index ? 32'h6e690074 : _GEN_1227; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1229 = 11'h4cd == index ? 32'h72726574 : _GEN_1228; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1230 = 11'h4ce == index ? 32'h73747075 : _GEN_1229; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1231 = 11'h4cf == index ? 32'h67657200 : _GEN_1230; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1232 = 11'h4d0 == index ? 32'h6d616e2d : _GEN_1231; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1233 = 11'h4d1 == index ? 32'h69007365 : _GEN_1232; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1234 = 11'h4d2 == index ? 32'h7265746e : _GEN_1233; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1235 = 11'h4d3 == index ? 32'h74707572 : _GEN_1234; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1236 = 11'h4d4 == index ? 32'h78652d73 : _GEN_1235; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1237 = 11'h4d5 == index ? 32'h646e6574 : _GEN_1236; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1238 = 11'h4d6 == index ? 32'h64006465 : _GEN_1237; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1239 = 11'h4d7 == index ? 32'h67756265 : _GEN_1238; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1240 = 11'h4d8 == index ? 32'h7474612d : _GEN_1239; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1241 = 11'h4d9 == index ? 32'h686361 : _GEN_1240; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1242 = 11'h4da == index ? 32'h69706723 : _GEN_1241; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1243 = 11'h4db == index ? 32'h65632d6f : _GEN_1242; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1244 = 11'h4dc == index ? 32'h736c6c : _GEN_1243; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1245 = 11'h4dd == index ? 32'h636f6c63 : _GEN_1244; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1246 = 11'h4de == index ? 32'h6700736b : _GEN_1245; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1247 = 11'h4df == index ? 32'h2d6f6970 : _GEN_1246; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1248 = 11'h4e0 == index ? 32'h746e6f63 : _GEN_1247; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1249 = 11'h4e1 == index ? 32'h6c6c6f72 : _GEN_1248; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1250 = 11'h4e2 == index ? 32'h72007265 : _GEN_1249; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1251 = 11'h4e3 == index ? 32'h76637369 : _GEN_1250; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1252 = 11'h4e4 == index ? 32'h78616d2c : _GEN_1251; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1253 = 11'h4e5 == index ? 32'h6972702d : _GEN_1252; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1254 = 11'h4e6 == index ? 32'h7469726f : _GEN_1253; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1255 = 11'h4e7 == index ? 32'h69720079 : _GEN_1254; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1256 = 11'h4e8 == index ? 32'h2c766373 : _GEN_1255; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1257 = 11'h4e9 == index ? 32'h7665646e : _GEN_1256; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1258 = 11'h4ea == index ? 32'h66697300 : _GEN_1257; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1259 = 11'h4eb == index ? 32'h2c657669 : _GEN_1258; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1260 = 11'h4ec == index ? 32'h706d6f63 : _GEN_1259; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1261 = 11'h4ed == index ? 32'h74617261 : _GEN_1260; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1262 = 11'h4ee == index ? 32'h772d726f : _GEN_1261; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1263 = 11'h4ef == index ? 32'h68746469 : _GEN_1262; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1264 = 11'h4f0 == index ? 32'h73746962 : _GEN_1263; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1265 = 11'h4f1 == index ? 32'h66697300 : _GEN_1264; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1266 = 11'h4f2 == index ? 32'h2c657669 : _GEN_1265; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1267 = 11'h4f3 == index ? 32'h6d6f636e : _GEN_1266; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1268 = 11'h4f4 == index ? 32'h61726170 : _GEN_1267; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1269 = 11'h4f5 == index ? 32'h73726f74 : _GEN_1268; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1270 = 11'h4f6 == index ? 32'h6c632300 : _GEN_1269; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1271 = 11'h4f7 == index ? 32'h2d6b636f : _GEN_1270; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1272 = 11'h4f8 == index ? 32'h6c6c6563 : _GEN_1271; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1273 = 11'h4f9 == index ? 32'h6c630073 : _GEN_1272; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1274 = 11'h4fa == index ? 32'h2d6b636f : _GEN_1273; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1275 = 11'h4fb == index ? 32'h7074756f : _GEN_1274; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1276 = 11'h4fc == index ? 32'h6e2d7475 : _GEN_1275; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1277 = 11'h4fd == index ? 32'h73656d61 : _GEN_1276; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1278 = 11'h4fe == index ? 32'h0 : _GEN_1277; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1279 = 11'h4ff == index ? 32'h0 : _GEN_1278; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1280 = 11'h500 == index ? 32'h0 : _GEN_1279; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1281 = 11'h501 == index ? 32'h0 : _GEN_1280; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1282 = 11'h502 == index ? 32'h0 : _GEN_1281; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1283 = 11'h503 == index ? 32'h0 : _GEN_1282; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1284 = 11'h504 == index ? 32'h0 : _GEN_1283; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1285 = 11'h505 == index ? 32'h0 : _GEN_1284; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1286 = 11'h506 == index ? 32'h0 : _GEN_1285; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1287 = 11'h507 == index ? 32'h0 : _GEN_1286; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1288 = 11'h508 == index ? 32'h0 : _GEN_1287; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1289 = 11'h509 == index ? 32'h0 : _GEN_1288; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1290 = 11'h50a == index ? 32'h0 : _GEN_1289; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1291 = 11'h50b == index ? 32'h0 : _GEN_1290; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1292 = 11'h50c == index ? 32'h0 : _GEN_1291; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1293 = 11'h50d == index ? 32'h0 : _GEN_1292; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1294 = 11'h50e == index ? 32'h0 : _GEN_1293; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1295 = 11'h50f == index ? 32'h0 : _GEN_1294; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1296 = 11'h510 == index ? 32'h0 : _GEN_1295; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1297 = 11'h511 == index ? 32'h0 : _GEN_1296; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1298 = 11'h512 == index ? 32'h0 : _GEN_1297; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1299 = 11'h513 == index ? 32'h0 : _GEN_1298; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1300 = 11'h514 == index ? 32'h0 : _GEN_1299; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1301 = 11'h515 == index ? 32'h0 : _GEN_1300; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1302 = 11'h516 == index ? 32'h0 : _GEN_1301; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1303 = 11'h517 == index ? 32'h0 : _GEN_1302; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1304 = 11'h518 == index ? 32'h0 : _GEN_1303; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1305 = 11'h519 == index ? 32'h0 : _GEN_1304; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1306 = 11'h51a == index ? 32'h0 : _GEN_1305; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1307 = 11'h51b == index ? 32'h0 : _GEN_1306; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1308 = 11'h51c == index ? 32'h0 : _GEN_1307; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1309 = 11'h51d == index ? 32'h0 : _GEN_1308; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1310 = 11'h51e == index ? 32'h0 : _GEN_1309; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1311 = 11'h51f == index ? 32'h0 : _GEN_1310; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1312 = 11'h520 == index ? 32'h0 : _GEN_1311; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1313 = 11'h521 == index ? 32'h0 : _GEN_1312; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1314 = 11'h522 == index ? 32'h0 : _GEN_1313; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1315 = 11'h523 == index ? 32'h0 : _GEN_1314; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1316 = 11'h524 == index ? 32'h0 : _GEN_1315; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1317 = 11'h525 == index ? 32'h0 : _GEN_1316; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1318 = 11'h526 == index ? 32'h0 : _GEN_1317; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1319 = 11'h527 == index ? 32'h0 : _GEN_1318; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1320 = 11'h528 == index ? 32'h0 : _GEN_1319; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1321 = 11'h529 == index ? 32'h0 : _GEN_1320; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1322 = 11'h52a == index ? 32'h0 : _GEN_1321; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1323 = 11'h52b == index ? 32'h0 : _GEN_1322; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1324 = 11'h52c == index ? 32'h0 : _GEN_1323; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1325 = 11'h52d == index ? 32'h0 : _GEN_1324; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1326 = 11'h52e == index ? 32'h0 : _GEN_1325; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1327 = 11'h52f == index ? 32'h0 : _GEN_1326; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1328 = 11'h530 == index ? 32'h0 : _GEN_1327; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1329 = 11'h531 == index ? 32'h0 : _GEN_1328; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1330 = 11'h532 == index ? 32'h0 : _GEN_1329; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1331 = 11'h533 == index ? 32'h0 : _GEN_1330; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1332 = 11'h534 == index ? 32'h0 : _GEN_1331; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1333 = 11'h535 == index ? 32'h0 : _GEN_1332; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1334 = 11'h536 == index ? 32'h0 : _GEN_1333; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1335 = 11'h537 == index ? 32'h0 : _GEN_1334; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1336 = 11'h538 == index ? 32'h0 : _GEN_1335; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1337 = 11'h539 == index ? 32'h0 : _GEN_1336; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1338 = 11'h53a == index ? 32'h0 : _GEN_1337; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1339 = 11'h53b == index ? 32'h0 : _GEN_1338; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1340 = 11'h53c == index ? 32'h0 : _GEN_1339; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1341 = 11'h53d == index ? 32'h0 : _GEN_1340; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1342 = 11'h53e == index ? 32'h0 : _GEN_1341; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1343 = 11'h53f == index ? 32'h0 : _GEN_1342; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1344 = 11'h540 == index ? 32'h0 : _GEN_1343; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1345 = 11'h541 == index ? 32'h0 : _GEN_1344; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1346 = 11'h542 == index ? 32'h0 : _GEN_1345; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1347 = 11'h543 == index ? 32'h0 : _GEN_1346; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1348 = 11'h544 == index ? 32'h0 : _GEN_1347; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1349 = 11'h545 == index ? 32'h0 : _GEN_1348; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1350 = 11'h546 == index ? 32'h0 : _GEN_1349; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1351 = 11'h547 == index ? 32'h0 : _GEN_1350; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1352 = 11'h548 == index ? 32'h0 : _GEN_1351; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1353 = 11'h549 == index ? 32'h0 : _GEN_1352; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1354 = 11'h54a == index ? 32'h0 : _GEN_1353; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1355 = 11'h54b == index ? 32'h0 : _GEN_1354; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1356 = 11'h54c == index ? 32'h0 : _GEN_1355; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1357 = 11'h54d == index ? 32'h0 : _GEN_1356; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1358 = 11'h54e == index ? 32'h0 : _GEN_1357; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1359 = 11'h54f == index ? 32'h0 : _GEN_1358; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1360 = 11'h550 == index ? 32'h0 : _GEN_1359; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1361 = 11'h551 == index ? 32'h0 : _GEN_1360; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1362 = 11'h552 == index ? 32'h0 : _GEN_1361; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1363 = 11'h553 == index ? 32'h0 : _GEN_1362; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1364 = 11'h554 == index ? 32'h0 : _GEN_1363; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1365 = 11'h555 == index ? 32'h0 : _GEN_1364; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1366 = 11'h556 == index ? 32'h0 : _GEN_1365; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1367 = 11'h557 == index ? 32'h0 : _GEN_1366; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1368 = 11'h558 == index ? 32'h0 : _GEN_1367; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1369 = 11'h559 == index ? 32'h0 : _GEN_1368; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1370 = 11'h55a == index ? 32'h0 : _GEN_1369; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1371 = 11'h55b == index ? 32'h0 : _GEN_1370; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1372 = 11'h55c == index ? 32'h0 : _GEN_1371; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1373 = 11'h55d == index ? 32'h0 : _GEN_1372; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1374 = 11'h55e == index ? 32'h0 : _GEN_1373; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1375 = 11'h55f == index ? 32'h0 : _GEN_1374; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1376 = 11'h560 == index ? 32'h0 : _GEN_1375; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1377 = 11'h561 == index ? 32'h0 : _GEN_1376; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1378 = 11'h562 == index ? 32'h0 : _GEN_1377; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1379 = 11'h563 == index ? 32'h0 : _GEN_1378; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1380 = 11'h564 == index ? 32'h0 : _GEN_1379; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1381 = 11'h565 == index ? 32'h0 : _GEN_1380; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1382 = 11'h566 == index ? 32'h0 : _GEN_1381; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1383 = 11'h567 == index ? 32'h0 : _GEN_1382; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1384 = 11'h568 == index ? 32'h0 : _GEN_1383; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1385 = 11'h569 == index ? 32'h0 : _GEN_1384; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1386 = 11'h56a == index ? 32'h0 : _GEN_1385; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1387 = 11'h56b == index ? 32'h0 : _GEN_1386; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1388 = 11'h56c == index ? 32'h0 : _GEN_1387; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1389 = 11'h56d == index ? 32'h0 : _GEN_1388; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1390 = 11'h56e == index ? 32'h0 : _GEN_1389; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1391 = 11'h56f == index ? 32'h0 : _GEN_1390; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1392 = 11'h570 == index ? 32'h0 : _GEN_1391; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1393 = 11'h571 == index ? 32'h0 : _GEN_1392; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1394 = 11'h572 == index ? 32'h0 : _GEN_1393; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1395 = 11'h573 == index ? 32'h0 : _GEN_1394; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1396 = 11'h574 == index ? 32'h0 : _GEN_1395; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1397 = 11'h575 == index ? 32'h0 : _GEN_1396; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1398 = 11'h576 == index ? 32'h0 : _GEN_1397; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1399 = 11'h577 == index ? 32'h0 : _GEN_1398; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1400 = 11'h578 == index ? 32'h0 : _GEN_1399; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1401 = 11'h579 == index ? 32'h0 : _GEN_1400; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1402 = 11'h57a == index ? 32'h0 : _GEN_1401; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1403 = 11'h57b == index ? 32'h0 : _GEN_1402; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1404 = 11'h57c == index ? 32'h0 : _GEN_1403; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1405 = 11'h57d == index ? 32'h0 : _GEN_1404; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1406 = 11'h57e == index ? 32'h0 : _GEN_1405; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1407 = 11'h57f == index ? 32'h0 : _GEN_1406; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1408 = 11'h580 == index ? 32'h0 : _GEN_1407; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1409 = 11'h581 == index ? 32'h0 : _GEN_1408; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1410 = 11'h582 == index ? 32'h0 : _GEN_1409; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1411 = 11'h583 == index ? 32'h0 : _GEN_1410; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1412 = 11'h584 == index ? 32'h0 : _GEN_1411; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1413 = 11'h585 == index ? 32'h0 : _GEN_1412; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1414 = 11'h586 == index ? 32'h0 : _GEN_1413; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1415 = 11'h587 == index ? 32'h0 : _GEN_1414; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1416 = 11'h588 == index ? 32'h0 : _GEN_1415; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1417 = 11'h589 == index ? 32'h0 : _GEN_1416; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1418 = 11'h58a == index ? 32'h0 : _GEN_1417; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1419 = 11'h58b == index ? 32'h0 : _GEN_1418; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1420 = 11'h58c == index ? 32'h0 : _GEN_1419; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1421 = 11'h58d == index ? 32'h0 : _GEN_1420; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1422 = 11'h58e == index ? 32'h0 : _GEN_1421; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1423 = 11'h58f == index ? 32'h0 : _GEN_1422; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1424 = 11'h590 == index ? 32'h0 : _GEN_1423; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1425 = 11'h591 == index ? 32'h0 : _GEN_1424; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1426 = 11'h592 == index ? 32'h0 : _GEN_1425; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1427 = 11'h593 == index ? 32'h0 : _GEN_1426; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1428 = 11'h594 == index ? 32'h0 : _GEN_1427; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1429 = 11'h595 == index ? 32'h0 : _GEN_1428; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1430 = 11'h596 == index ? 32'h0 : _GEN_1429; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1431 = 11'h597 == index ? 32'h0 : _GEN_1430; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1432 = 11'h598 == index ? 32'h0 : _GEN_1431; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1433 = 11'h599 == index ? 32'h0 : _GEN_1432; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1434 = 11'h59a == index ? 32'h0 : _GEN_1433; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1435 = 11'h59b == index ? 32'h0 : _GEN_1434; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1436 = 11'h59c == index ? 32'h0 : _GEN_1435; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1437 = 11'h59d == index ? 32'h0 : _GEN_1436; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1438 = 11'h59e == index ? 32'h0 : _GEN_1437; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1439 = 11'h59f == index ? 32'h0 : _GEN_1438; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1440 = 11'h5a0 == index ? 32'h0 : _GEN_1439; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1441 = 11'h5a1 == index ? 32'h0 : _GEN_1440; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1442 = 11'h5a2 == index ? 32'h0 : _GEN_1441; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1443 = 11'h5a3 == index ? 32'h0 : _GEN_1442; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1444 = 11'h5a4 == index ? 32'h0 : _GEN_1443; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1445 = 11'h5a5 == index ? 32'h0 : _GEN_1444; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1446 = 11'h5a6 == index ? 32'h0 : _GEN_1445; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1447 = 11'h5a7 == index ? 32'h0 : _GEN_1446; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1448 = 11'h5a8 == index ? 32'h0 : _GEN_1447; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1449 = 11'h5a9 == index ? 32'h0 : _GEN_1448; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1450 = 11'h5aa == index ? 32'h0 : _GEN_1449; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1451 = 11'h5ab == index ? 32'h0 : _GEN_1450; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1452 = 11'h5ac == index ? 32'h0 : _GEN_1451; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1453 = 11'h5ad == index ? 32'h0 : _GEN_1452; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1454 = 11'h5ae == index ? 32'h0 : _GEN_1453; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1455 = 11'h5af == index ? 32'h0 : _GEN_1454; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1456 = 11'h5b0 == index ? 32'h0 : _GEN_1455; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1457 = 11'h5b1 == index ? 32'h0 : _GEN_1456; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1458 = 11'h5b2 == index ? 32'h0 : _GEN_1457; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1459 = 11'h5b3 == index ? 32'h0 : _GEN_1458; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1460 = 11'h5b4 == index ? 32'h0 : _GEN_1459; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1461 = 11'h5b5 == index ? 32'h0 : _GEN_1460; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1462 = 11'h5b6 == index ? 32'h0 : _GEN_1461; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1463 = 11'h5b7 == index ? 32'h0 : _GEN_1462; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1464 = 11'h5b8 == index ? 32'h0 : _GEN_1463; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1465 = 11'h5b9 == index ? 32'h0 : _GEN_1464; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1466 = 11'h5ba == index ? 32'h0 : _GEN_1465; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1467 = 11'h5bb == index ? 32'h0 : _GEN_1466; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1468 = 11'h5bc == index ? 32'h0 : _GEN_1467; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1469 = 11'h5bd == index ? 32'h0 : _GEN_1468; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1470 = 11'h5be == index ? 32'h0 : _GEN_1469; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1471 = 11'h5bf == index ? 32'h0 : _GEN_1470; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1472 = 11'h5c0 == index ? 32'h0 : _GEN_1471; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1473 = 11'h5c1 == index ? 32'h0 : _GEN_1472; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1474 = 11'h5c2 == index ? 32'h0 : _GEN_1473; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1475 = 11'h5c3 == index ? 32'h0 : _GEN_1474; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1476 = 11'h5c4 == index ? 32'h0 : _GEN_1475; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1477 = 11'h5c5 == index ? 32'h0 : _GEN_1476; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1478 = 11'h5c6 == index ? 32'h0 : _GEN_1477; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1479 = 11'h5c7 == index ? 32'h0 : _GEN_1478; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1480 = 11'h5c8 == index ? 32'h0 : _GEN_1479; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1481 = 11'h5c9 == index ? 32'h0 : _GEN_1480; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1482 = 11'h5ca == index ? 32'h0 : _GEN_1481; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1483 = 11'h5cb == index ? 32'h0 : _GEN_1482; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1484 = 11'h5cc == index ? 32'h0 : _GEN_1483; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1485 = 11'h5cd == index ? 32'h0 : _GEN_1484; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1486 = 11'h5ce == index ? 32'h0 : _GEN_1485; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1487 = 11'h5cf == index ? 32'h0 : _GEN_1486; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1488 = 11'h5d0 == index ? 32'h0 : _GEN_1487; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1489 = 11'h5d1 == index ? 32'h0 : _GEN_1488; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1490 = 11'h5d2 == index ? 32'h0 : _GEN_1489; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1491 = 11'h5d3 == index ? 32'h0 : _GEN_1490; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1492 = 11'h5d4 == index ? 32'h0 : _GEN_1491; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1493 = 11'h5d5 == index ? 32'h0 : _GEN_1492; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1494 = 11'h5d6 == index ? 32'h0 : _GEN_1493; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1495 = 11'h5d7 == index ? 32'h0 : _GEN_1494; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1496 = 11'h5d8 == index ? 32'h0 : _GEN_1495; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1497 = 11'h5d9 == index ? 32'h0 : _GEN_1496; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1498 = 11'h5da == index ? 32'h0 : _GEN_1497; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1499 = 11'h5db == index ? 32'h0 : _GEN_1498; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1500 = 11'h5dc == index ? 32'h0 : _GEN_1499; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1501 = 11'h5dd == index ? 32'h0 : _GEN_1500; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1502 = 11'h5de == index ? 32'h0 : _GEN_1501; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1503 = 11'h5df == index ? 32'h0 : _GEN_1502; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1504 = 11'h5e0 == index ? 32'h0 : _GEN_1503; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1505 = 11'h5e1 == index ? 32'h0 : _GEN_1504; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1506 = 11'h5e2 == index ? 32'h0 : _GEN_1505; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1507 = 11'h5e3 == index ? 32'h0 : _GEN_1506; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1508 = 11'h5e4 == index ? 32'h0 : _GEN_1507; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1509 = 11'h5e5 == index ? 32'h0 : _GEN_1508; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1510 = 11'h5e6 == index ? 32'h0 : _GEN_1509; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1511 = 11'h5e7 == index ? 32'h0 : _GEN_1510; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1512 = 11'h5e8 == index ? 32'h0 : _GEN_1511; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1513 = 11'h5e9 == index ? 32'h0 : _GEN_1512; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1514 = 11'h5ea == index ? 32'h0 : _GEN_1513; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1515 = 11'h5eb == index ? 32'h0 : _GEN_1514; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1516 = 11'h5ec == index ? 32'h0 : _GEN_1515; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1517 = 11'h5ed == index ? 32'h0 : _GEN_1516; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1518 = 11'h5ee == index ? 32'h0 : _GEN_1517; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1519 = 11'h5ef == index ? 32'h0 : _GEN_1518; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1520 = 11'h5f0 == index ? 32'h0 : _GEN_1519; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1521 = 11'h5f1 == index ? 32'h0 : _GEN_1520; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1522 = 11'h5f2 == index ? 32'h0 : _GEN_1521; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1523 = 11'h5f3 == index ? 32'h0 : _GEN_1522; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1524 = 11'h5f4 == index ? 32'h0 : _GEN_1523; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1525 = 11'h5f5 == index ? 32'h0 : _GEN_1524; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1526 = 11'h5f6 == index ? 32'h0 : _GEN_1525; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1527 = 11'h5f7 == index ? 32'h0 : _GEN_1526; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1528 = 11'h5f8 == index ? 32'h0 : _GEN_1527; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1529 = 11'h5f9 == index ? 32'h0 : _GEN_1528; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1530 = 11'h5fa == index ? 32'h0 : _GEN_1529; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1531 = 11'h5fb == index ? 32'h0 : _GEN_1530; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1532 = 11'h5fc == index ? 32'h0 : _GEN_1531; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1533 = 11'h5fd == index ? 32'h0 : _GEN_1532; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1534 = 11'h5fe == index ? 32'h0 : _GEN_1533; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1535 = 11'h5ff == index ? 32'h0 : _GEN_1534; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1536 = 11'h600 == index ? 32'h0 : _GEN_1535; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1537 = 11'h601 == index ? 32'h0 : _GEN_1536; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1538 = 11'h602 == index ? 32'h0 : _GEN_1537; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1539 = 11'h603 == index ? 32'h0 : _GEN_1538; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1540 = 11'h604 == index ? 32'h0 : _GEN_1539; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1541 = 11'h605 == index ? 32'h0 : _GEN_1540; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1542 = 11'h606 == index ? 32'h0 : _GEN_1541; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1543 = 11'h607 == index ? 32'h0 : _GEN_1542; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1544 = 11'h608 == index ? 32'h0 : _GEN_1543; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1545 = 11'h609 == index ? 32'h0 : _GEN_1544; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1546 = 11'h60a == index ? 32'h0 : _GEN_1545; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1547 = 11'h60b == index ? 32'h0 : _GEN_1546; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1548 = 11'h60c == index ? 32'h0 : _GEN_1547; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1549 = 11'h60d == index ? 32'h0 : _GEN_1548; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1550 = 11'h60e == index ? 32'h0 : _GEN_1549; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1551 = 11'h60f == index ? 32'h0 : _GEN_1550; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1552 = 11'h610 == index ? 32'h0 : _GEN_1551; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1553 = 11'h611 == index ? 32'h0 : _GEN_1552; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1554 = 11'h612 == index ? 32'h0 : _GEN_1553; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1555 = 11'h613 == index ? 32'h0 : _GEN_1554; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1556 = 11'h614 == index ? 32'h0 : _GEN_1555; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1557 = 11'h615 == index ? 32'h0 : _GEN_1556; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1558 = 11'h616 == index ? 32'h0 : _GEN_1557; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1559 = 11'h617 == index ? 32'h0 : _GEN_1558; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1560 = 11'h618 == index ? 32'h0 : _GEN_1559; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1561 = 11'h619 == index ? 32'h0 : _GEN_1560; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1562 = 11'h61a == index ? 32'h0 : _GEN_1561; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1563 = 11'h61b == index ? 32'h0 : _GEN_1562; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1564 = 11'h61c == index ? 32'h0 : _GEN_1563; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1565 = 11'h61d == index ? 32'h0 : _GEN_1564; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1566 = 11'h61e == index ? 32'h0 : _GEN_1565; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1567 = 11'h61f == index ? 32'h0 : _GEN_1566; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1568 = 11'h620 == index ? 32'h0 : _GEN_1567; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1569 = 11'h621 == index ? 32'h0 : _GEN_1568; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1570 = 11'h622 == index ? 32'h0 : _GEN_1569; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1571 = 11'h623 == index ? 32'h0 : _GEN_1570; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1572 = 11'h624 == index ? 32'h0 : _GEN_1571; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1573 = 11'h625 == index ? 32'h0 : _GEN_1572; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1574 = 11'h626 == index ? 32'h0 : _GEN_1573; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1575 = 11'h627 == index ? 32'h0 : _GEN_1574; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1576 = 11'h628 == index ? 32'h0 : _GEN_1575; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1577 = 11'h629 == index ? 32'h0 : _GEN_1576; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1578 = 11'h62a == index ? 32'h0 : _GEN_1577; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1579 = 11'h62b == index ? 32'h0 : _GEN_1578; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1580 = 11'h62c == index ? 32'h0 : _GEN_1579; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1581 = 11'h62d == index ? 32'h0 : _GEN_1580; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1582 = 11'h62e == index ? 32'h0 : _GEN_1581; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1583 = 11'h62f == index ? 32'h0 : _GEN_1582; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1584 = 11'h630 == index ? 32'h0 : _GEN_1583; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1585 = 11'h631 == index ? 32'h0 : _GEN_1584; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1586 = 11'h632 == index ? 32'h0 : _GEN_1585; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1587 = 11'h633 == index ? 32'h0 : _GEN_1586; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1588 = 11'h634 == index ? 32'h0 : _GEN_1587; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1589 = 11'h635 == index ? 32'h0 : _GEN_1588; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1590 = 11'h636 == index ? 32'h0 : _GEN_1589; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1591 = 11'h637 == index ? 32'h0 : _GEN_1590; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1592 = 11'h638 == index ? 32'h0 : _GEN_1591; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1593 = 11'h639 == index ? 32'h0 : _GEN_1592; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1594 = 11'h63a == index ? 32'h0 : _GEN_1593; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1595 = 11'h63b == index ? 32'h0 : _GEN_1594; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1596 = 11'h63c == index ? 32'h0 : _GEN_1595; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1597 = 11'h63d == index ? 32'h0 : _GEN_1596; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1598 = 11'h63e == index ? 32'h0 : _GEN_1597; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1599 = 11'h63f == index ? 32'h0 : _GEN_1598; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1600 = 11'h640 == index ? 32'h0 : _GEN_1599; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1601 = 11'h641 == index ? 32'h0 : _GEN_1600; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1602 = 11'h642 == index ? 32'h0 : _GEN_1601; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1603 = 11'h643 == index ? 32'h0 : _GEN_1602; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1604 = 11'h644 == index ? 32'h0 : _GEN_1603; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1605 = 11'h645 == index ? 32'h0 : _GEN_1604; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1606 = 11'h646 == index ? 32'h0 : _GEN_1605; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1607 = 11'h647 == index ? 32'h0 : _GEN_1606; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1608 = 11'h648 == index ? 32'h0 : _GEN_1607; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1609 = 11'h649 == index ? 32'h0 : _GEN_1608; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1610 = 11'h64a == index ? 32'h0 : _GEN_1609; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1611 = 11'h64b == index ? 32'h0 : _GEN_1610; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1612 = 11'h64c == index ? 32'h0 : _GEN_1611; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1613 = 11'h64d == index ? 32'h0 : _GEN_1612; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1614 = 11'h64e == index ? 32'h0 : _GEN_1613; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1615 = 11'h64f == index ? 32'h0 : _GEN_1614; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1616 = 11'h650 == index ? 32'h0 : _GEN_1615; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1617 = 11'h651 == index ? 32'h0 : _GEN_1616; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1618 = 11'h652 == index ? 32'h0 : _GEN_1617; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1619 = 11'h653 == index ? 32'h0 : _GEN_1618; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1620 = 11'h654 == index ? 32'h0 : _GEN_1619; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1621 = 11'h655 == index ? 32'h0 : _GEN_1620; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1622 = 11'h656 == index ? 32'h0 : _GEN_1621; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1623 = 11'h657 == index ? 32'h0 : _GEN_1622; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1624 = 11'h658 == index ? 32'h0 : _GEN_1623; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1625 = 11'h659 == index ? 32'h0 : _GEN_1624; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1626 = 11'h65a == index ? 32'h0 : _GEN_1625; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1627 = 11'h65b == index ? 32'h0 : _GEN_1626; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1628 = 11'h65c == index ? 32'h0 : _GEN_1627; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1629 = 11'h65d == index ? 32'h0 : _GEN_1628; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1630 = 11'h65e == index ? 32'h0 : _GEN_1629; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1631 = 11'h65f == index ? 32'h0 : _GEN_1630; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1632 = 11'h660 == index ? 32'h0 : _GEN_1631; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1633 = 11'h661 == index ? 32'h0 : _GEN_1632; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1634 = 11'h662 == index ? 32'h0 : _GEN_1633; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1635 = 11'h663 == index ? 32'h0 : _GEN_1634; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1636 = 11'h664 == index ? 32'h0 : _GEN_1635; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1637 = 11'h665 == index ? 32'h0 : _GEN_1636; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1638 = 11'h666 == index ? 32'h0 : _GEN_1637; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1639 = 11'h667 == index ? 32'h0 : _GEN_1638; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1640 = 11'h668 == index ? 32'h0 : _GEN_1639; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1641 = 11'h669 == index ? 32'h0 : _GEN_1640; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1642 = 11'h66a == index ? 32'h0 : _GEN_1641; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1643 = 11'h66b == index ? 32'h0 : _GEN_1642; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1644 = 11'h66c == index ? 32'h0 : _GEN_1643; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1645 = 11'h66d == index ? 32'h0 : _GEN_1644; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1646 = 11'h66e == index ? 32'h0 : _GEN_1645; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1647 = 11'h66f == index ? 32'h0 : _GEN_1646; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1648 = 11'h670 == index ? 32'h0 : _GEN_1647; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1649 = 11'h671 == index ? 32'h0 : _GEN_1648; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1650 = 11'h672 == index ? 32'h0 : _GEN_1649; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1651 = 11'h673 == index ? 32'h0 : _GEN_1650; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1652 = 11'h674 == index ? 32'h0 : _GEN_1651; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1653 = 11'h675 == index ? 32'h0 : _GEN_1652; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1654 = 11'h676 == index ? 32'h0 : _GEN_1653; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1655 = 11'h677 == index ? 32'h0 : _GEN_1654; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1656 = 11'h678 == index ? 32'h0 : _GEN_1655; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1657 = 11'h679 == index ? 32'h0 : _GEN_1656; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1658 = 11'h67a == index ? 32'h0 : _GEN_1657; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1659 = 11'h67b == index ? 32'h0 : _GEN_1658; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1660 = 11'h67c == index ? 32'h0 : _GEN_1659; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1661 = 11'h67d == index ? 32'h0 : _GEN_1660; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1662 = 11'h67e == index ? 32'h0 : _GEN_1661; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1663 = 11'h67f == index ? 32'h0 : _GEN_1662; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1664 = 11'h680 == index ? 32'h0 : _GEN_1663; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1665 = 11'h681 == index ? 32'h0 : _GEN_1664; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1666 = 11'h682 == index ? 32'h0 : _GEN_1665; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1667 = 11'h683 == index ? 32'h0 : _GEN_1666; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1668 = 11'h684 == index ? 32'h0 : _GEN_1667; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1669 = 11'h685 == index ? 32'h0 : _GEN_1668; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1670 = 11'h686 == index ? 32'h0 : _GEN_1669; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1671 = 11'h687 == index ? 32'h0 : _GEN_1670; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1672 = 11'h688 == index ? 32'h0 : _GEN_1671; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1673 = 11'h689 == index ? 32'h0 : _GEN_1672; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1674 = 11'h68a == index ? 32'h0 : _GEN_1673; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1675 = 11'h68b == index ? 32'h0 : _GEN_1674; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1676 = 11'h68c == index ? 32'h0 : _GEN_1675; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1677 = 11'h68d == index ? 32'h0 : _GEN_1676; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1678 = 11'h68e == index ? 32'h0 : _GEN_1677; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1679 = 11'h68f == index ? 32'h0 : _GEN_1678; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1680 = 11'h690 == index ? 32'h0 : _GEN_1679; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1681 = 11'h691 == index ? 32'h0 : _GEN_1680; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1682 = 11'h692 == index ? 32'h0 : _GEN_1681; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1683 = 11'h693 == index ? 32'h0 : _GEN_1682; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1684 = 11'h694 == index ? 32'h0 : _GEN_1683; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1685 = 11'h695 == index ? 32'h0 : _GEN_1684; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1686 = 11'h696 == index ? 32'h0 : _GEN_1685; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1687 = 11'h697 == index ? 32'h0 : _GEN_1686; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1688 = 11'h698 == index ? 32'h0 : _GEN_1687; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1689 = 11'h699 == index ? 32'h0 : _GEN_1688; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1690 = 11'h69a == index ? 32'h0 : _GEN_1689; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1691 = 11'h69b == index ? 32'h0 : _GEN_1690; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1692 = 11'h69c == index ? 32'h0 : _GEN_1691; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1693 = 11'h69d == index ? 32'h0 : _GEN_1692; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1694 = 11'h69e == index ? 32'h0 : _GEN_1693; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1695 = 11'h69f == index ? 32'h0 : _GEN_1694; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1696 = 11'h6a0 == index ? 32'h0 : _GEN_1695; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1697 = 11'h6a1 == index ? 32'h0 : _GEN_1696; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1698 = 11'h6a2 == index ? 32'h0 : _GEN_1697; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1699 = 11'h6a3 == index ? 32'h0 : _GEN_1698; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1700 = 11'h6a4 == index ? 32'h0 : _GEN_1699; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1701 = 11'h6a5 == index ? 32'h0 : _GEN_1700; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1702 = 11'h6a6 == index ? 32'h0 : _GEN_1701; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1703 = 11'h6a7 == index ? 32'h0 : _GEN_1702; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1704 = 11'h6a8 == index ? 32'h0 : _GEN_1703; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1705 = 11'h6a9 == index ? 32'h0 : _GEN_1704; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1706 = 11'h6aa == index ? 32'h0 : _GEN_1705; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1707 = 11'h6ab == index ? 32'h0 : _GEN_1706; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1708 = 11'h6ac == index ? 32'h0 : _GEN_1707; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1709 = 11'h6ad == index ? 32'h0 : _GEN_1708; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1710 = 11'h6ae == index ? 32'h0 : _GEN_1709; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1711 = 11'h6af == index ? 32'h0 : _GEN_1710; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1712 = 11'h6b0 == index ? 32'h0 : _GEN_1711; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1713 = 11'h6b1 == index ? 32'h0 : _GEN_1712; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1714 = 11'h6b2 == index ? 32'h0 : _GEN_1713; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1715 = 11'h6b3 == index ? 32'h0 : _GEN_1714; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1716 = 11'h6b4 == index ? 32'h0 : _GEN_1715; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1717 = 11'h6b5 == index ? 32'h0 : _GEN_1716; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1718 = 11'h6b6 == index ? 32'h0 : _GEN_1717; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1719 = 11'h6b7 == index ? 32'h0 : _GEN_1718; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1720 = 11'h6b8 == index ? 32'h0 : _GEN_1719; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1721 = 11'h6b9 == index ? 32'h0 : _GEN_1720; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1722 = 11'h6ba == index ? 32'h0 : _GEN_1721; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1723 = 11'h6bb == index ? 32'h0 : _GEN_1722; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1724 = 11'h6bc == index ? 32'h0 : _GEN_1723; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1725 = 11'h6bd == index ? 32'h0 : _GEN_1724; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1726 = 11'h6be == index ? 32'h0 : _GEN_1725; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1727 = 11'h6bf == index ? 32'h0 : _GEN_1726; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1728 = 11'h6c0 == index ? 32'h0 : _GEN_1727; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1729 = 11'h6c1 == index ? 32'h0 : _GEN_1728; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1730 = 11'h6c2 == index ? 32'h0 : _GEN_1729; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1731 = 11'h6c3 == index ? 32'h0 : _GEN_1730; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1732 = 11'h6c4 == index ? 32'h0 : _GEN_1731; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1733 = 11'h6c5 == index ? 32'h0 : _GEN_1732; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1734 = 11'h6c6 == index ? 32'h0 : _GEN_1733; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1735 = 11'h6c7 == index ? 32'h0 : _GEN_1734; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1736 = 11'h6c8 == index ? 32'h0 : _GEN_1735; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1737 = 11'h6c9 == index ? 32'h0 : _GEN_1736; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1738 = 11'h6ca == index ? 32'h0 : _GEN_1737; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1739 = 11'h6cb == index ? 32'h0 : _GEN_1738; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1740 = 11'h6cc == index ? 32'h0 : _GEN_1739; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1741 = 11'h6cd == index ? 32'h0 : _GEN_1740; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1742 = 11'h6ce == index ? 32'h0 : _GEN_1741; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1743 = 11'h6cf == index ? 32'h0 : _GEN_1742; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1744 = 11'h6d0 == index ? 32'h0 : _GEN_1743; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1745 = 11'h6d1 == index ? 32'h0 : _GEN_1744; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1746 = 11'h6d2 == index ? 32'h0 : _GEN_1745; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1747 = 11'h6d3 == index ? 32'h0 : _GEN_1746; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1748 = 11'h6d4 == index ? 32'h0 : _GEN_1747; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1749 = 11'h6d5 == index ? 32'h0 : _GEN_1748; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1750 = 11'h6d6 == index ? 32'h0 : _GEN_1749; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1751 = 11'h6d7 == index ? 32'h0 : _GEN_1750; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1752 = 11'h6d8 == index ? 32'h0 : _GEN_1751; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1753 = 11'h6d9 == index ? 32'h0 : _GEN_1752; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1754 = 11'h6da == index ? 32'h0 : _GEN_1753; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1755 = 11'h6db == index ? 32'h0 : _GEN_1754; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1756 = 11'h6dc == index ? 32'h0 : _GEN_1755; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1757 = 11'h6dd == index ? 32'h0 : _GEN_1756; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1758 = 11'h6de == index ? 32'h0 : _GEN_1757; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1759 = 11'h6df == index ? 32'h0 : _GEN_1758; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1760 = 11'h6e0 == index ? 32'h0 : _GEN_1759; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1761 = 11'h6e1 == index ? 32'h0 : _GEN_1760; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1762 = 11'h6e2 == index ? 32'h0 : _GEN_1761; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1763 = 11'h6e3 == index ? 32'h0 : _GEN_1762; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1764 = 11'h6e4 == index ? 32'h0 : _GEN_1763; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1765 = 11'h6e5 == index ? 32'h0 : _GEN_1764; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1766 = 11'h6e6 == index ? 32'h0 : _GEN_1765; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1767 = 11'h6e7 == index ? 32'h0 : _GEN_1766; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1768 = 11'h6e8 == index ? 32'h0 : _GEN_1767; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1769 = 11'h6e9 == index ? 32'h0 : _GEN_1768; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1770 = 11'h6ea == index ? 32'h0 : _GEN_1769; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1771 = 11'h6eb == index ? 32'h0 : _GEN_1770; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1772 = 11'h6ec == index ? 32'h0 : _GEN_1771; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1773 = 11'h6ed == index ? 32'h0 : _GEN_1772; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1774 = 11'h6ee == index ? 32'h0 : _GEN_1773; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1775 = 11'h6ef == index ? 32'h0 : _GEN_1774; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1776 = 11'h6f0 == index ? 32'h0 : _GEN_1775; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1777 = 11'h6f1 == index ? 32'h0 : _GEN_1776; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1778 = 11'h6f2 == index ? 32'h0 : _GEN_1777; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1779 = 11'h6f3 == index ? 32'h0 : _GEN_1778; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1780 = 11'h6f4 == index ? 32'h0 : _GEN_1779; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1781 = 11'h6f5 == index ? 32'h0 : _GEN_1780; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1782 = 11'h6f6 == index ? 32'h0 : _GEN_1781; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1783 = 11'h6f7 == index ? 32'h0 : _GEN_1782; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1784 = 11'h6f8 == index ? 32'h0 : _GEN_1783; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1785 = 11'h6f9 == index ? 32'h0 : _GEN_1784; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1786 = 11'h6fa == index ? 32'h0 : _GEN_1785; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1787 = 11'h6fb == index ? 32'h0 : _GEN_1786; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1788 = 11'h6fc == index ? 32'h0 : _GEN_1787; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1789 = 11'h6fd == index ? 32'h0 : _GEN_1788; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1790 = 11'h6fe == index ? 32'h0 : _GEN_1789; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1791 = 11'h6ff == index ? 32'h0 : _GEN_1790; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1792 = 11'h700 == index ? 32'h0 : _GEN_1791; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1793 = 11'h701 == index ? 32'h0 : _GEN_1792; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1794 = 11'h702 == index ? 32'h0 : _GEN_1793; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1795 = 11'h703 == index ? 32'h0 : _GEN_1794; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1796 = 11'h704 == index ? 32'h0 : _GEN_1795; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1797 = 11'h705 == index ? 32'h0 : _GEN_1796; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1798 = 11'h706 == index ? 32'h0 : _GEN_1797; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1799 = 11'h707 == index ? 32'h0 : _GEN_1798; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1800 = 11'h708 == index ? 32'h0 : _GEN_1799; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1801 = 11'h709 == index ? 32'h0 : _GEN_1800; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1802 = 11'h70a == index ? 32'h0 : _GEN_1801; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1803 = 11'h70b == index ? 32'h0 : _GEN_1802; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1804 = 11'h70c == index ? 32'h0 : _GEN_1803; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1805 = 11'h70d == index ? 32'h0 : _GEN_1804; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1806 = 11'h70e == index ? 32'h0 : _GEN_1805; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1807 = 11'h70f == index ? 32'h0 : _GEN_1806; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1808 = 11'h710 == index ? 32'h0 : _GEN_1807; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1809 = 11'h711 == index ? 32'h0 : _GEN_1808; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1810 = 11'h712 == index ? 32'h0 : _GEN_1809; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1811 = 11'h713 == index ? 32'h0 : _GEN_1810; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1812 = 11'h714 == index ? 32'h0 : _GEN_1811; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1813 = 11'h715 == index ? 32'h0 : _GEN_1812; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1814 = 11'h716 == index ? 32'h0 : _GEN_1813; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1815 = 11'h717 == index ? 32'h0 : _GEN_1814; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1816 = 11'h718 == index ? 32'h0 : _GEN_1815; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1817 = 11'h719 == index ? 32'h0 : _GEN_1816; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1818 = 11'h71a == index ? 32'h0 : _GEN_1817; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1819 = 11'h71b == index ? 32'h0 : _GEN_1818; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1820 = 11'h71c == index ? 32'h0 : _GEN_1819; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1821 = 11'h71d == index ? 32'h0 : _GEN_1820; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1822 = 11'h71e == index ? 32'h0 : _GEN_1821; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1823 = 11'h71f == index ? 32'h0 : _GEN_1822; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1824 = 11'h720 == index ? 32'h0 : _GEN_1823; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1825 = 11'h721 == index ? 32'h0 : _GEN_1824; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1826 = 11'h722 == index ? 32'h0 : _GEN_1825; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1827 = 11'h723 == index ? 32'h0 : _GEN_1826; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1828 = 11'h724 == index ? 32'h0 : _GEN_1827; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1829 = 11'h725 == index ? 32'h0 : _GEN_1828; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1830 = 11'h726 == index ? 32'h0 : _GEN_1829; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1831 = 11'h727 == index ? 32'h0 : _GEN_1830; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1832 = 11'h728 == index ? 32'h0 : _GEN_1831; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1833 = 11'h729 == index ? 32'h0 : _GEN_1832; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1834 = 11'h72a == index ? 32'h0 : _GEN_1833; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1835 = 11'h72b == index ? 32'h0 : _GEN_1834; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1836 = 11'h72c == index ? 32'h0 : _GEN_1835; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1837 = 11'h72d == index ? 32'h0 : _GEN_1836; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1838 = 11'h72e == index ? 32'h0 : _GEN_1837; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1839 = 11'h72f == index ? 32'h0 : _GEN_1838; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1840 = 11'h730 == index ? 32'h0 : _GEN_1839; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1841 = 11'h731 == index ? 32'h0 : _GEN_1840; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1842 = 11'h732 == index ? 32'h0 : _GEN_1841; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1843 = 11'h733 == index ? 32'h0 : _GEN_1842; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1844 = 11'h734 == index ? 32'h0 : _GEN_1843; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1845 = 11'h735 == index ? 32'h0 : _GEN_1844; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1846 = 11'h736 == index ? 32'h0 : _GEN_1845; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1847 = 11'h737 == index ? 32'h0 : _GEN_1846; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1848 = 11'h738 == index ? 32'h0 : _GEN_1847; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1849 = 11'h739 == index ? 32'h0 : _GEN_1848; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1850 = 11'h73a == index ? 32'h0 : _GEN_1849; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1851 = 11'h73b == index ? 32'h0 : _GEN_1850; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1852 = 11'h73c == index ? 32'h0 : _GEN_1851; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1853 = 11'h73d == index ? 32'h0 : _GEN_1852; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1854 = 11'h73e == index ? 32'h0 : _GEN_1853; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1855 = 11'h73f == index ? 32'h0 : _GEN_1854; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1856 = 11'h740 == index ? 32'h0 : _GEN_1855; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1857 = 11'h741 == index ? 32'h0 : _GEN_1856; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1858 = 11'h742 == index ? 32'h0 : _GEN_1857; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1859 = 11'h743 == index ? 32'h0 : _GEN_1858; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1860 = 11'h744 == index ? 32'h0 : _GEN_1859; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1861 = 11'h745 == index ? 32'h0 : _GEN_1860; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1862 = 11'h746 == index ? 32'h0 : _GEN_1861; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1863 = 11'h747 == index ? 32'h0 : _GEN_1862; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1864 = 11'h748 == index ? 32'h0 : _GEN_1863; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1865 = 11'h749 == index ? 32'h0 : _GEN_1864; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1866 = 11'h74a == index ? 32'h0 : _GEN_1865; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1867 = 11'h74b == index ? 32'h0 : _GEN_1866; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1868 = 11'h74c == index ? 32'h0 : _GEN_1867; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1869 = 11'h74d == index ? 32'h0 : _GEN_1868; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1870 = 11'h74e == index ? 32'h0 : _GEN_1869; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1871 = 11'h74f == index ? 32'h0 : _GEN_1870; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1872 = 11'h750 == index ? 32'h0 : _GEN_1871; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1873 = 11'h751 == index ? 32'h0 : _GEN_1872; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1874 = 11'h752 == index ? 32'h0 : _GEN_1873; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1875 = 11'h753 == index ? 32'h0 : _GEN_1874; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1876 = 11'h754 == index ? 32'h0 : _GEN_1875; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1877 = 11'h755 == index ? 32'h0 : _GEN_1876; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1878 = 11'h756 == index ? 32'h0 : _GEN_1877; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1879 = 11'h757 == index ? 32'h0 : _GEN_1878; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1880 = 11'h758 == index ? 32'h0 : _GEN_1879; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1881 = 11'h759 == index ? 32'h0 : _GEN_1880; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1882 = 11'h75a == index ? 32'h0 : _GEN_1881; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1883 = 11'h75b == index ? 32'h0 : _GEN_1882; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1884 = 11'h75c == index ? 32'h0 : _GEN_1883; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1885 = 11'h75d == index ? 32'h0 : _GEN_1884; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1886 = 11'h75e == index ? 32'h0 : _GEN_1885; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1887 = 11'h75f == index ? 32'h0 : _GEN_1886; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1888 = 11'h760 == index ? 32'h0 : _GEN_1887; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1889 = 11'h761 == index ? 32'h0 : _GEN_1888; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1890 = 11'h762 == index ? 32'h0 : _GEN_1889; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1891 = 11'h763 == index ? 32'h0 : _GEN_1890; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1892 = 11'h764 == index ? 32'h0 : _GEN_1891; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1893 = 11'h765 == index ? 32'h0 : _GEN_1892; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1894 = 11'h766 == index ? 32'h0 : _GEN_1893; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1895 = 11'h767 == index ? 32'h0 : _GEN_1894; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1896 = 11'h768 == index ? 32'h0 : _GEN_1895; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1897 = 11'h769 == index ? 32'h0 : _GEN_1896; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1898 = 11'h76a == index ? 32'h0 : _GEN_1897; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1899 = 11'h76b == index ? 32'h0 : _GEN_1898; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1900 = 11'h76c == index ? 32'h0 : _GEN_1899; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1901 = 11'h76d == index ? 32'h0 : _GEN_1900; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1902 = 11'h76e == index ? 32'h0 : _GEN_1901; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1903 = 11'h76f == index ? 32'h0 : _GEN_1902; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1904 = 11'h770 == index ? 32'h0 : _GEN_1903; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1905 = 11'h771 == index ? 32'h0 : _GEN_1904; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1906 = 11'h772 == index ? 32'h0 : _GEN_1905; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1907 = 11'h773 == index ? 32'h0 : _GEN_1906; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1908 = 11'h774 == index ? 32'h0 : _GEN_1907; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1909 = 11'h775 == index ? 32'h0 : _GEN_1908; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1910 = 11'h776 == index ? 32'h0 : _GEN_1909; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1911 = 11'h777 == index ? 32'h0 : _GEN_1910; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1912 = 11'h778 == index ? 32'h0 : _GEN_1911; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1913 = 11'h779 == index ? 32'h0 : _GEN_1912; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1914 = 11'h77a == index ? 32'h0 : _GEN_1913; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1915 = 11'h77b == index ? 32'h0 : _GEN_1914; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1916 = 11'h77c == index ? 32'h0 : _GEN_1915; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1917 = 11'h77d == index ? 32'h0 : _GEN_1916; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1918 = 11'h77e == index ? 32'h0 : _GEN_1917; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1919 = 11'h77f == index ? 32'h0 : _GEN_1918; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1920 = 11'h780 == index ? 32'h0 : _GEN_1919; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1921 = 11'h781 == index ? 32'h0 : _GEN_1920; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1922 = 11'h782 == index ? 32'h0 : _GEN_1921; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1923 = 11'h783 == index ? 32'h0 : _GEN_1922; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1924 = 11'h784 == index ? 32'h0 : _GEN_1923; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1925 = 11'h785 == index ? 32'h0 : _GEN_1924; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1926 = 11'h786 == index ? 32'h0 : _GEN_1925; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1927 = 11'h787 == index ? 32'h0 : _GEN_1926; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1928 = 11'h788 == index ? 32'h0 : _GEN_1927; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1929 = 11'h789 == index ? 32'h0 : _GEN_1928; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1930 = 11'h78a == index ? 32'h0 : _GEN_1929; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1931 = 11'h78b == index ? 32'h0 : _GEN_1930; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1932 = 11'h78c == index ? 32'h0 : _GEN_1931; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1933 = 11'h78d == index ? 32'h0 : _GEN_1932; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1934 = 11'h78e == index ? 32'h0 : _GEN_1933; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1935 = 11'h78f == index ? 32'h0 : _GEN_1934; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1936 = 11'h790 == index ? 32'h0 : _GEN_1935; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1937 = 11'h791 == index ? 32'h0 : _GEN_1936; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1938 = 11'h792 == index ? 32'h0 : _GEN_1937; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1939 = 11'h793 == index ? 32'h0 : _GEN_1938; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1940 = 11'h794 == index ? 32'h0 : _GEN_1939; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1941 = 11'h795 == index ? 32'h0 : _GEN_1940; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1942 = 11'h796 == index ? 32'h0 : _GEN_1941; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1943 = 11'h797 == index ? 32'h0 : _GEN_1942; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1944 = 11'h798 == index ? 32'h0 : _GEN_1943; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1945 = 11'h799 == index ? 32'h0 : _GEN_1944; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1946 = 11'h79a == index ? 32'h0 : _GEN_1945; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1947 = 11'h79b == index ? 32'h0 : _GEN_1946; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1948 = 11'h79c == index ? 32'h0 : _GEN_1947; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1949 = 11'h79d == index ? 32'h0 : _GEN_1948; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1950 = 11'h79e == index ? 32'h0 : _GEN_1949; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1951 = 11'h79f == index ? 32'h0 : _GEN_1950; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1952 = 11'h7a0 == index ? 32'h0 : _GEN_1951; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1953 = 11'h7a1 == index ? 32'h0 : _GEN_1952; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1954 = 11'h7a2 == index ? 32'h0 : _GEN_1953; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1955 = 11'h7a3 == index ? 32'h0 : _GEN_1954; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1956 = 11'h7a4 == index ? 32'h0 : _GEN_1955; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1957 = 11'h7a5 == index ? 32'h0 : _GEN_1956; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1958 = 11'h7a6 == index ? 32'h0 : _GEN_1957; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1959 = 11'h7a7 == index ? 32'h0 : _GEN_1958; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1960 = 11'h7a8 == index ? 32'h0 : _GEN_1959; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1961 = 11'h7a9 == index ? 32'h0 : _GEN_1960; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1962 = 11'h7aa == index ? 32'h0 : _GEN_1961; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1963 = 11'h7ab == index ? 32'h0 : _GEN_1962; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1964 = 11'h7ac == index ? 32'h0 : _GEN_1963; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1965 = 11'h7ad == index ? 32'h0 : _GEN_1964; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1966 = 11'h7ae == index ? 32'h0 : _GEN_1965; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1967 = 11'h7af == index ? 32'h0 : _GEN_1966; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1968 = 11'h7b0 == index ? 32'h0 : _GEN_1967; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1969 = 11'h7b1 == index ? 32'h0 : _GEN_1968; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1970 = 11'h7b2 == index ? 32'h0 : _GEN_1969; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1971 = 11'h7b3 == index ? 32'h0 : _GEN_1970; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1972 = 11'h7b4 == index ? 32'h0 : _GEN_1971; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1973 = 11'h7b5 == index ? 32'h0 : _GEN_1972; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1974 = 11'h7b6 == index ? 32'h0 : _GEN_1973; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1975 = 11'h7b7 == index ? 32'h0 : _GEN_1974; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1976 = 11'h7b8 == index ? 32'h0 : _GEN_1975; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1977 = 11'h7b9 == index ? 32'h0 : _GEN_1976; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1978 = 11'h7ba == index ? 32'h0 : _GEN_1977; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1979 = 11'h7bb == index ? 32'h0 : _GEN_1978; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1980 = 11'h7bc == index ? 32'h0 : _GEN_1979; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1981 = 11'h7bd == index ? 32'h0 : _GEN_1980; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1982 = 11'h7be == index ? 32'h0 : _GEN_1981; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1983 = 11'h7bf == index ? 32'h0 : _GEN_1982; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1984 = 11'h7c0 == index ? 32'h0 : _GEN_1983; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1985 = 11'h7c1 == index ? 32'h0 : _GEN_1984; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1986 = 11'h7c2 == index ? 32'h0 : _GEN_1985; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1987 = 11'h7c3 == index ? 32'h0 : _GEN_1986; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1988 = 11'h7c4 == index ? 32'h0 : _GEN_1987; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1989 = 11'h7c5 == index ? 32'h0 : _GEN_1988; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1990 = 11'h7c6 == index ? 32'h0 : _GEN_1989; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1991 = 11'h7c7 == index ? 32'h0 : _GEN_1990; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1992 = 11'h7c8 == index ? 32'h0 : _GEN_1991; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1993 = 11'h7c9 == index ? 32'h0 : _GEN_1992; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1994 = 11'h7ca == index ? 32'h0 : _GEN_1993; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1995 = 11'h7cb == index ? 32'h0 : _GEN_1994; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1996 = 11'h7cc == index ? 32'h0 : _GEN_1995; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1997 = 11'h7cd == index ? 32'h0 : _GEN_1996; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1998 = 11'h7ce == index ? 32'h0 : _GEN_1997; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_1999 = 11'h7cf == index ? 32'h0 : _GEN_1998; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2000 = 11'h7d0 == index ? 32'h0 : _GEN_1999; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2001 = 11'h7d1 == index ? 32'h0 : _GEN_2000; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2002 = 11'h7d2 == index ? 32'h0 : _GEN_2001; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2003 = 11'h7d3 == index ? 32'h0 : _GEN_2002; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2004 = 11'h7d4 == index ? 32'h0 : _GEN_2003; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2005 = 11'h7d5 == index ? 32'h0 : _GEN_2004; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2006 = 11'h7d6 == index ? 32'h0 : _GEN_2005; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2007 = 11'h7d7 == index ? 32'h0 : _GEN_2006; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2008 = 11'h7d8 == index ? 32'h0 : _GEN_2007; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2009 = 11'h7d9 == index ? 32'h0 : _GEN_2008; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2010 = 11'h7da == index ? 32'h0 : _GEN_2009; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2011 = 11'h7db == index ? 32'h0 : _GEN_2010; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2012 = 11'h7dc == index ? 32'h0 : _GEN_2011; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2013 = 11'h7dd == index ? 32'h0 : _GEN_2012; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2014 = 11'h7de == index ? 32'h0 : _GEN_2013; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2015 = 11'h7df == index ? 32'h0 : _GEN_2014; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2016 = 11'h7e0 == index ? 32'h0 : _GEN_2015; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2017 = 11'h7e1 == index ? 32'h0 : _GEN_2016; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2018 = 11'h7e2 == index ? 32'h0 : _GEN_2017; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2019 = 11'h7e3 == index ? 32'h0 : _GEN_2018; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2020 = 11'h7e4 == index ? 32'h0 : _GEN_2019; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2021 = 11'h7e5 == index ? 32'h0 : _GEN_2020; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2022 = 11'h7e6 == index ? 32'h0 : _GEN_2021; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2023 = 11'h7e7 == index ? 32'h0 : _GEN_2022; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2024 = 11'h7e8 == index ? 32'h0 : _GEN_2023; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2025 = 11'h7e9 == index ? 32'h0 : _GEN_2024; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2026 = 11'h7ea == index ? 32'h0 : _GEN_2025; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2027 = 11'h7eb == index ? 32'h0 : _GEN_2026; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2028 = 11'h7ec == index ? 32'h0 : _GEN_2027; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2029 = 11'h7ed == index ? 32'h0 : _GEN_2028; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2030 = 11'h7ee == index ? 32'h0 : _GEN_2029; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2031 = 11'h7ef == index ? 32'h0 : _GEN_2030; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2032 = 11'h7f0 == index ? 32'h0 : _GEN_2031; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2033 = 11'h7f1 == index ? 32'h0 : _GEN_2032; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2034 = 11'h7f2 == index ? 32'h0 : _GEN_2033; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2035 = 11'h7f3 == index ? 32'h0 : _GEN_2034; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2036 = 11'h7f4 == index ? 32'h0 : _GEN_2035; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2037 = 11'h7f5 == index ? 32'h0 : _GEN_2036; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2038 = 11'h7f6 == index ? 32'h0 : _GEN_2037; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2039 = 11'h7f7 == index ? 32'h0 : _GEN_2038; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2040 = 11'h7f8 == index ? 32'h0 : _GEN_2039; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2041 = 11'h7f9 == index ? 32'h0 : _GEN_2040; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2042 = 11'h7fa == index ? 32'h0 : _GEN_2041; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2043 = 11'h7fb == index ? 32'h0 : _GEN_2042; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2044 = 11'h7fc == index ? 32'h0 : _GEN_2043; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2045 = 11'h7fd == index ? 32'h0 : _GEN_2044; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2046 = 11'h7fe == index ? 32'h0 : _GEN_2045; // @[BootROM.scala 51:{47,47}]
+  wire [31:0] _GEN_2047 = 11'h7ff == index ? 32'h0 : _GEN_2046; // @[BootROM.scala 51:{47,47}]
+  TLMonitor_72 monitor ( // @[Nodes.scala 24:25]
+    .clock(monitor_clock),
+    .reset(monitor_reset),
+    .io_in_a_ready(monitor_io_in_a_ready),
+    .io_in_a_valid(monitor_io_in_a_valid),
+    .io_in_a_bits_opcode(monitor_io_in_a_bits_opcode),
+    .io_in_a_bits_param(monitor_io_in_a_bits_param),
+    .io_in_a_bits_size(monitor_io_in_a_bits_size),
+    .io_in_a_bits_source(monitor_io_in_a_bits_source),
+    .io_in_a_bits_address(monitor_io_in_a_bits_address),
+    .io_in_a_bits_mask(monitor_io_in_a_bits_mask),
+    .io_in_a_bits_corrupt(monitor_io_in_a_bits_corrupt),
+    .io_in_d_ready(monitor_io_in_d_ready),
+    .io_in_d_valid(monitor_io_in_d_valid),
+    .io_in_d_bits_size(monitor_io_in_d_bits_size),
+    .io_in_d_bits_source(monitor_io_in_d_bits_source)
+  );
+  assign auto_in_a_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_in_d_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_in_d_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_in_d_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign auto_in_d_bits_data = |high ? 32'h0 : _GEN_2047; // @[BootROM.scala 51:47]
+  assign monitor_clock = clock;
+  assign monitor_reset = reset;
+  assign monitor_io_in_a_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_valid = auto_in_a_valid; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_bits_size = auto_in_a_bits_size; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign monitor_io_in_d_bits_source = auto_in_a_bits_source; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+endmodule
+module ClockSinkDomain_15(
+  output        auto_bootrom_in_a_ready,
+  input         auto_bootrom_in_a_valid,
+  input  [2:0]  auto_bootrom_in_a_bits_opcode,
+  input  [2:0]  auto_bootrom_in_a_bits_param,
+  input  [1:0]  auto_bootrom_in_a_bits_size,
+  input  [6:0]  auto_bootrom_in_a_bits_source,
+  input  [16:0] auto_bootrom_in_a_bits_address,
+  input  [3:0]  auto_bootrom_in_a_bits_mask,
+  input         auto_bootrom_in_a_bits_corrupt,
+  input         auto_bootrom_in_d_ready,
+  output        auto_bootrom_in_d_valid,
+  output [1:0]  auto_bootrom_in_d_bits_size,
+  output [6:0]  auto_bootrom_in_d_bits_source,
+  output [31:0] auto_bootrom_in_d_bits_data,
+  input         auto_clock_in_clock,
+  input         auto_clock_in_reset
+);
+  wire  bootrom_clock; // @[BootROM.scala 81:17]
+  wire  bootrom_reset; // @[BootROM.scala 81:17]
+  wire  bootrom_auto_in_a_ready; // @[BootROM.scala 81:17]
+  wire  bootrom_auto_in_a_valid; // @[BootROM.scala 81:17]
+  wire [2:0] bootrom_auto_in_a_bits_opcode; // @[BootROM.scala 81:17]
+  wire [2:0] bootrom_auto_in_a_bits_param; // @[BootROM.scala 81:17]
+  wire [1:0] bootrom_auto_in_a_bits_size; // @[BootROM.scala 81:17]
+  wire [6:0] bootrom_auto_in_a_bits_source; // @[BootROM.scala 81:17]
+  wire [16:0] bootrom_auto_in_a_bits_address; // @[BootROM.scala 81:17]
+  wire [3:0] bootrom_auto_in_a_bits_mask; // @[BootROM.scala 81:17]
+  wire  bootrom_auto_in_a_bits_corrupt; // @[BootROM.scala 81:17]
+  wire  bootrom_auto_in_d_ready; // @[BootROM.scala 81:17]
+  wire  bootrom_auto_in_d_valid; // @[BootROM.scala 81:17]
+  wire [1:0] bootrom_auto_in_d_bits_size; // @[BootROM.scala 81:17]
+  wire [6:0] bootrom_auto_in_d_bits_source; // @[BootROM.scala 81:17]
+  wire [31:0] bootrom_auto_in_d_bits_data; // @[BootROM.scala 81:17]
+  TLROM bootrom ( // @[BootROM.scala 81:17]
+    .clock(bootrom_clock),
+    .reset(bootrom_reset),
+    .auto_in_a_ready(bootrom_auto_in_a_ready),
+    .auto_in_a_valid(bootrom_auto_in_a_valid),
+    .auto_in_a_bits_opcode(bootrom_auto_in_a_bits_opcode),
+    .auto_in_a_bits_param(bootrom_auto_in_a_bits_param),
+    .auto_in_a_bits_size(bootrom_auto_in_a_bits_size),
+    .auto_in_a_bits_source(bootrom_auto_in_a_bits_source),
+    .auto_in_a_bits_address(bootrom_auto_in_a_bits_address),
+    .auto_in_a_bits_mask(bootrom_auto_in_a_bits_mask),
+    .auto_in_a_bits_corrupt(bootrom_auto_in_a_bits_corrupt),
+    .auto_in_d_ready(bootrom_auto_in_d_ready),
+    .auto_in_d_valid(bootrom_auto_in_d_valid),
+    .auto_in_d_bits_size(bootrom_auto_in_d_bits_size),
+    .auto_in_d_bits_source(bootrom_auto_in_d_bits_source),
+    .auto_in_d_bits_data(bootrom_auto_in_d_bits_data)
+  );
+  assign auto_bootrom_in_a_ready = bootrom_auto_in_a_ready; // @[LazyModule.scala 309:16]
+  assign auto_bootrom_in_d_valid = bootrom_auto_in_d_valid; // @[LazyModule.scala 309:16]
+  assign auto_bootrom_in_d_bits_size = bootrom_auto_in_d_bits_size; // @[LazyModule.scala 309:16]
+  assign auto_bootrom_in_d_bits_source = bootrom_auto_in_d_bits_source; // @[LazyModule.scala 309:16]
+  assign auto_bootrom_in_d_bits_data = bootrom_auto_in_d_bits_data; // @[LazyModule.scala 309:16]
+  assign bootrom_clock = auto_clock_in_clock; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bootrom_reset = auto_clock_in_reset; // @[Nodes.scala 1210:84 LazyModule.scala 309:16]
+  assign bootrom_auto_in_a_valid = auto_bootrom_in_a_valid; // @[LazyModule.scala 309:16]
+  assign bootrom_auto_in_a_bits_opcode = auto_bootrom_in_a_bits_opcode; // @[LazyModule.scala 309:16]
+  assign bootrom_auto_in_a_bits_param = auto_bootrom_in_a_bits_param; // @[LazyModule.scala 309:16]
+  assign bootrom_auto_in_a_bits_size = auto_bootrom_in_a_bits_size; // @[LazyModule.scala 309:16]
+  assign bootrom_auto_in_a_bits_source = auto_bootrom_in_a_bits_source; // @[LazyModule.scala 309:16]
+  assign bootrom_auto_in_a_bits_address = auto_bootrom_in_a_bits_address; // @[LazyModule.scala 309:16]
+  assign bootrom_auto_in_a_bits_mask = auto_bootrom_in_a_bits_mask; // @[LazyModule.scala 309:16]
+  assign bootrom_auto_in_a_bits_corrupt = auto_bootrom_in_a_bits_corrupt; // @[LazyModule.scala 309:16]
+  assign bootrom_auto_in_d_ready = auto_bootrom_in_d_ready; // @[LazyModule.scala 309:16]
+endmodule
+module CaptureUpdateChain(
+  input        clock,
+  input        reset,
+  input        io_chainIn_shift,
+  input        io_chainIn_data,
+  input        io_chainIn_capture,
+  input        io_chainIn_update,
+  output       io_chainOut_data,
+  input  [1:0] io_capture_bits_dmiStatus,
+  output       io_update_valid,
+  output       io_update_bits_dmireset
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+`endif // RANDOMIZE_REG_INIT
+  reg  regs_0; // @[JtagShifter.scala 154:39]
+  reg  regs_1; // @[JtagShifter.scala 154:39]
+  reg  regs_2; // @[JtagShifter.scala 154:39]
+  reg  regs_3; // @[JtagShifter.scala 154:39]
+  reg  regs_4; // @[JtagShifter.scala 154:39]
+  reg  regs_5; // @[JtagShifter.scala 154:39]
+  reg  regs_6; // @[JtagShifter.scala 154:39]
+  reg  regs_7; // @[JtagShifter.scala 154:39]
+  reg  regs_8; // @[JtagShifter.scala 154:39]
+  reg  regs_9; // @[JtagShifter.scala 154:39]
+  reg  regs_10; // @[JtagShifter.scala 154:39]
+  reg  regs_11; // @[JtagShifter.scala 154:39]
+  reg  regs_12; // @[JtagShifter.scala 154:39]
+  reg  regs_13; // @[JtagShifter.scala 154:39]
+  reg  regs_14; // @[JtagShifter.scala 154:39]
+  reg  regs_15; // @[JtagShifter.scala 154:39]
+  reg  regs_16; // @[JtagShifter.scala 154:39]
+  reg  regs_17; // @[JtagShifter.scala 154:39]
+  reg  regs_18; // @[JtagShifter.scala 154:39]
+  reg  regs_19; // @[JtagShifter.scala 154:39]
+  reg  regs_20; // @[JtagShifter.scala 154:39]
+  reg  regs_21; // @[JtagShifter.scala 154:39]
+  reg  regs_22; // @[JtagShifter.scala 154:39]
+  reg  regs_23; // @[JtagShifter.scala 154:39]
+  reg  regs_24; // @[JtagShifter.scala 154:39]
+  reg  regs_25; // @[JtagShifter.scala 154:39]
+  reg  regs_26; // @[JtagShifter.scala 154:39]
+  reg  regs_27; // @[JtagShifter.scala 154:39]
+  reg  regs_28; // @[JtagShifter.scala 154:39]
+  reg  regs_29; // @[JtagShifter.scala 154:39]
+  reg  regs_30; // @[JtagShifter.scala 154:39]
+  reg  regs_31; // @[JtagShifter.scala 154:39]
+  wire [7:0] updateBits_lo_lo = {regs_7,regs_6,regs_5,regs_4,regs_3,regs_2,regs_1,regs_0}; // @[Cat.scala 31:58]
+  wire [15:0] updateBits_lo = {regs_15,regs_14,regs_13,regs_12,regs_11,regs_10,regs_9,regs_8,updateBits_lo_lo}; // @[Cat.scala 31:58]
+  wire [7:0] updateBits_hi_lo = {regs_23,regs_22,regs_21,regs_20,regs_19,regs_18,regs_17,regs_16}; // @[Cat.scala 31:58]
+  wire [31:0] updateBits = {regs_31,regs_30,regs_29,regs_28,regs_27,regs_26,regs_25,regs_24,updateBits_hi_lo,
+    updateBits_lo}; // @[Cat.scala 31:58]
+  wire [31:0] captureBits = {20'h5,io_capture_bits_dmiStatus,6'h7,4'h1}; // @[JtagShifter.scala 161:43]
+  wire  _T_1 = ~(io_chainIn_capture & io_chainIn_update); // @[JtagShifter.scala 183:10]
+  wire  _T_4 = _T_1 & ~(io_chainIn_capture & io_chainIn_shift); // @[JtagShifter.scala 184:7]
+  wire  _T_7 = _T_4 & ~(io_chainIn_update & io_chainIn_shift); // @[JtagShifter.scala 185:7]
+  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 156:20]
+  assign io_update_valid = io_chainIn_capture ? 1'h0 : io_chainIn_update; // @[JtagShifter.scala 166:29 170:21]
+  assign io_update_bits_dmireset = updateBits[16]; // @[JtagShifter.scala 159:40]
+  always @(posedge clock) begin
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_0 <= captureBits[0]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_0 <= regs_1; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_1 <= captureBits[1]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_1 <= regs_2; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_2 <= captureBits[2]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_2 <= regs_3; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_3 <= captureBits[3]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_3 <= regs_4; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_4 <= captureBits[4]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_4 <= regs_5; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_5 <= captureBits[5]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_5 <= regs_6; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_6 <= captureBits[6]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_6 <= regs_7; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_7 <= captureBits[7]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_7 <= regs_8; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_8 <= captureBits[8]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_8 <= regs_9; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_9 <= captureBits[9]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_9 <= regs_10; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_10 <= captureBits[10]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_10 <= regs_11; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_11 <= captureBits[11]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_11 <= regs_12; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_12 <= captureBits[12]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_12 <= regs_13; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_13 <= captureBits[13]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_13 <= regs_14; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_14 <= captureBits[14]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_14 <= regs_15; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_15 <= captureBits[15]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_15 <= regs_16; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_16 <= captureBits[16]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_16 <= regs_17; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_17 <= captureBits[17]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_17 <= regs_18; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_18 <= captureBits[18]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_18 <= regs_19; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_19 <= captureBits[19]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_19 <= regs_20; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_20 <= captureBits[20]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_20 <= regs_21; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_21 <= captureBits[21]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_21 <= regs_22; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_22 <= captureBits[22]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_22 <= regs_23; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_23 <= captureBits[23]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_23 <= regs_24; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_24 <= captureBits[24]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_24 <= regs_25; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_25 <= captureBits[25]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_25 <= regs_26; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_26 <= captureBits[26]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_26 <= regs_27; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_27 <= captureBits[27]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_27 <= regs_28; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_28 <= captureBits[28]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_28 <= regs_29; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_29 <= captureBits[29]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_29 <= regs_30; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_30 <= captureBits[30]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_30 <= regs_31; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_31 <= captureBits[31]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_31 <= io_chainIn_data; // @[JtagShifter.scala 175:15]
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_7 & ~reset) begin
+          $fatal; // @[JtagShifter.scala 183:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_7) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at JtagShifter.scala:183 assert(!(io.chainIn.capture && io.chainIn.update)\n"); // @[JtagShifter.scala 183:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  regs_1 = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  regs_2 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  regs_3 = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  regs_4 = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  regs_5 = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  regs_6 = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  regs_7 = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  regs_8 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  regs_9 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  regs_10 = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  regs_11 = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  regs_12 = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  regs_13 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  regs_14 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  regs_15 = _RAND_15[0:0];
+  _RAND_16 = {1{`RANDOM}};
+  regs_16 = _RAND_16[0:0];
+  _RAND_17 = {1{`RANDOM}};
+  regs_17 = _RAND_17[0:0];
+  _RAND_18 = {1{`RANDOM}};
+  regs_18 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  regs_19 = _RAND_19[0:0];
+  _RAND_20 = {1{`RANDOM}};
+  regs_20 = _RAND_20[0:0];
+  _RAND_21 = {1{`RANDOM}};
+  regs_21 = _RAND_21[0:0];
+  _RAND_22 = {1{`RANDOM}};
+  regs_22 = _RAND_22[0:0];
+  _RAND_23 = {1{`RANDOM}};
+  regs_23 = _RAND_23[0:0];
+  _RAND_24 = {1{`RANDOM}};
+  regs_24 = _RAND_24[0:0];
+  _RAND_25 = {1{`RANDOM}};
+  regs_25 = _RAND_25[0:0];
+  _RAND_26 = {1{`RANDOM}};
+  regs_26 = _RAND_26[0:0];
+  _RAND_27 = {1{`RANDOM}};
+  regs_27 = _RAND_27[0:0];
+  _RAND_28 = {1{`RANDOM}};
+  regs_28 = _RAND_28[0:0];
+  _RAND_29 = {1{`RANDOM}};
+  regs_29 = _RAND_29[0:0];
+  _RAND_30 = {1{`RANDOM}};
+  regs_30 = _RAND_30[0:0];
+  _RAND_31 = {1{`RANDOM}};
+  regs_31 = _RAND_31[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module CaptureUpdateChain_1(
+  input         clock,
+  input         reset,
+  input         io_chainIn_shift,
+  input         io_chainIn_data,
+  input         io_chainIn_capture,
+  input         io_chainIn_update,
+  output        io_chainOut_data,
+  input  [6:0]  io_capture_bits_addr,
+  input  [31:0] io_capture_bits_data,
+  input  [1:0]  io_capture_bits_resp,
+  output        io_capture_capture,
+  output        io_update_valid,
+  output [6:0]  io_update_bits_addr,
+  output [31:0] io_update_bits_data,
+  output [1:0]  io_update_bits_op
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+  reg [31:0] _RAND_32;
+  reg [31:0] _RAND_33;
+  reg [31:0] _RAND_34;
+  reg [31:0] _RAND_35;
+  reg [31:0] _RAND_36;
+  reg [31:0] _RAND_37;
+  reg [31:0] _RAND_38;
+  reg [31:0] _RAND_39;
+  reg [31:0] _RAND_40;
+`endif // RANDOMIZE_REG_INIT
+  reg  regs_0; // @[JtagShifter.scala 154:39]
+  reg  regs_1; // @[JtagShifter.scala 154:39]
+  reg  regs_2; // @[JtagShifter.scala 154:39]
+  reg  regs_3; // @[JtagShifter.scala 154:39]
+  reg  regs_4; // @[JtagShifter.scala 154:39]
+  reg  regs_5; // @[JtagShifter.scala 154:39]
+  reg  regs_6; // @[JtagShifter.scala 154:39]
+  reg  regs_7; // @[JtagShifter.scala 154:39]
+  reg  regs_8; // @[JtagShifter.scala 154:39]
+  reg  regs_9; // @[JtagShifter.scala 154:39]
+  reg  regs_10; // @[JtagShifter.scala 154:39]
+  reg  regs_11; // @[JtagShifter.scala 154:39]
+  reg  regs_12; // @[JtagShifter.scala 154:39]
+  reg  regs_13; // @[JtagShifter.scala 154:39]
+  reg  regs_14; // @[JtagShifter.scala 154:39]
+  reg  regs_15; // @[JtagShifter.scala 154:39]
+  reg  regs_16; // @[JtagShifter.scala 154:39]
+  reg  regs_17; // @[JtagShifter.scala 154:39]
+  reg  regs_18; // @[JtagShifter.scala 154:39]
+  reg  regs_19; // @[JtagShifter.scala 154:39]
+  reg  regs_20; // @[JtagShifter.scala 154:39]
+  reg  regs_21; // @[JtagShifter.scala 154:39]
+  reg  regs_22; // @[JtagShifter.scala 154:39]
+  reg  regs_23; // @[JtagShifter.scala 154:39]
+  reg  regs_24; // @[JtagShifter.scala 154:39]
+  reg  regs_25; // @[JtagShifter.scala 154:39]
+  reg  regs_26; // @[JtagShifter.scala 154:39]
+  reg  regs_27; // @[JtagShifter.scala 154:39]
+  reg  regs_28; // @[JtagShifter.scala 154:39]
+  reg  regs_29; // @[JtagShifter.scala 154:39]
+  reg  regs_30; // @[JtagShifter.scala 154:39]
+  reg  regs_31; // @[JtagShifter.scala 154:39]
+  reg  regs_32; // @[JtagShifter.scala 154:39]
+  reg  regs_33; // @[JtagShifter.scala 154:39]
+  reg  regs_34; // @[JtagShifter.scala 154:39]
+  reg  regs_35; // @[JtagShifter.scala 154:39]
+  reg  regs_36; // @[JtagShifter.scala 154:39]
+  reg  regs_37; // @[JtagShifter.scala 154:39]
+  reg  regs_38; // @[JtagShifter.scala 154:39]
+  reg  regs_39; // @[JtagShifter.scala 154:39]
+  reg  regs_40; // @[JtagShifter.scala 154:39]
+  wire [9:0] updateBits_lo_lo = {regs_9,regs_8,regs_7,regs_6,regs_5,regs_4,regs_3,regs_2,regs_1,regs_0}; // @[Cat.scala 31:58]
+  wire [9:0] updateBits_lo_hi = {regs_19,regs_18,regs_17,regs_16,regs_15,regs_14,regs_13,regs_12,regs_11,regs_10}; // @[Cat.scala 31:58]
+  wire [9:0] updateBits_hi_lo = {regs_29,regs_28,regs_27,regs_26,regs_25,regs_24,regs_23,regs_22,regs_21,regs_20}; // @[Cat.scala 31:58]
+  wire [4:0] updateBits_hi_hi_lo = {regs_34,regs_33,regs_32,regs_31,regs_30}; // @[Cat.scala 31:58]
+  wire [40:0] updateBits = {regs_40,regs_39,regs_38,regs_37,regs_36,regs_35,updateBits_hi_hi_lo,updateBits_hi_lo,
+    updateBits_lo_hi,updateBits_lo_lo}; // @[Cat.scala 31:58]
+  wire [40:0] captureBits = {io_capture_bits_addr,io_capture_bits_data,io_capture_bits_resp}; // @[JtagShifter.scala 161:43]
+  wire  _T_1 = ~(io_chainIn_capture & io_chainIn_update); // @[JtagShifter.scala 183:10]
+  wire  _T_4 = _T_1 & ~(io_chainIn_capture & io_chainIn_shift); // @[JtagShifter.scala 184:7]
+  wire  _T_7 = _T_4 & ~(io_chainIn_update & io_chainIn_shift); // @[JtagShifter.scala 185:7]
+  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 156:20]
+  assign io_capture_capture = io_chainIn_capture; // @[JtagShifter.scala 166:29 169:24]
+  assign io_update_valid = io_chainIn_capture ? 1'h0 : io_chainIn_update; // @[JtagShifter.scala 166:29 170:21]
+  assign io_update_bits_addr = updateBits[40:34]; // @[JtagShifter.scala 159:40]
+  assign io_update_bits_data = updateBits[33:2]; // @[JtagShifter.scala 159:40]
+  assign io_update_bits_op = updateBits[1:0]; // @[JtagShifter.scala 159:40]
+  always @(posedge clock) begin
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_0 <= captureBits[0]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_0 <= regs_1; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_1 <= captureBits[1]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_1 <= regs_2; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_2 <= captureBits[2]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_2 <= regs_3; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_3 <= captureBits[3]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_3 <= regs_4; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_4 <= captureBits[4]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_4 <= regs_5; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_5 <= captureBits[5]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_5 <= regs_6; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_6 <= captureBits[6]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_6 <= regs_7; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_7 <= captureBits[7]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_7 <= regs_8; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_8 <= captureBits[8]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_8 <= regs_9; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_9 <= captureBits[9]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_9 <= regs_10; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_10 <= captureBits[10]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_10 <= regs_11; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_11 <= captureBits[11]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_11 <= regs_12; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_12 <= captureBits[12]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_12 <= regs_13; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_13 <= captureBits[13]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_13 <= regs_14; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_14 <= captureBits[14]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_14 <= regs_15; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_15 <= captureBits[15]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_15 <= regs_16; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_16 <= captureBits[16]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_16 <= regs_17; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_17 <= captureBits[17]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_17 <= regs_18; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_18 <= captureBits[18]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_18 <= regs_19; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_19 <= captureBits[19]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_19 <= regs_20; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_20 <= captureBits[20]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_20 <= regs_21; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_21 <= captureBits[21]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_21 <= regs_22; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_22 <= captureBits[22]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_22 <= regs_23; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_23 <= captureBits[23]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_23 <= regs_24; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_24 <= captureBits[24]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_24 <= regs_25; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_25 <= captureBits[25]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_25 <= regs_26; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_26 <= captureBits[26]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_26 <= regs_27; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_27 <= captureBits[27]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_27 <= regs_28; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_28 <= captureBits[28]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_28 <= regs_29; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_29 <= captureBits[29]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_29 <= regs_30; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_30 <= captureBits[30]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_30 <= regs_31; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_31 <= captureBits[31]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_31 <= regs_32; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_32 <= captureBits[32]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_32 <= regs_33; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_33 <= captureBits[33]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_33 <= regs_34; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_34 <= captureBits[34]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_34 <= regs_35; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_35 <= captureBits[35]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_35 <= regs_36; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_36 <= captureBits[36]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_36 <= regs_37; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_37 <= captureBits[37]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_37 <= regs_38; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_38 <= captureBits[38]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_38 <= regs_39; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_39 <= captureBits[39]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_39 <= regs_40; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_40 <= captureBits[40]; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_40 <= io_chainIn_data; // @[JtagShifter.scala 175:15]
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_7 & ~reset) begin
+          $fatal; // @[JtagShifter.scala 183:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_7) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at JtagShifter.scala:183 assert(!(io.chainIn.capture && io.chainIn.update)\n"); // @[JtagShifter.scala 183:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  regs_1 = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  regs_2 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  regs_3 = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  regs_4 = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  regs_5 = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  regs_6 = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  regs_7 = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  regs_8 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  regs_9 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  regs_10 = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  regs_11 = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  regs_12 = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  regs_13 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  regs_14 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  regs_15 = _RAND_15[0:0];
+  _RAND_16 = {1{`RANDOM}};
+  regs_16 = _RAND_16[0:0];
+  _RAND_17 = {1{`RANDOM}};
+  regs_17 = _RAND_17[0:0];
+  _RAND_18 = {1{`RANDOM}};
+  regs_18 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  regs_19 = _RAND_19[0:0];
+  _RAND_20 = {1{`RANDOM}};
+  regs_20 = _RAND_20[0:0];
+  _RAND_21 = {1{`RANDOM}};
+  regs_21 = _RAND_21[0:0];
+  _RAND_22 = {1{`RANDOM}};
+  regs_22 = _RAND_22[0:0];
+  _RAND_23 = {1{`RANDOM}};
+  regs_23 = _RAND_23[0:0];
+  _RAND_24 = {1{`RANDOM}};
+  regs_24 = _RAND_24[0:0];
+  _RAND_25 = {1{`RANDOM}};
+  regs_25 = _RAND_25[0:0];
+  _RAND_26 = {1{`RANDOM}};
+  regs_26 = _RAND_26[0:0];
+  _RAND_27 = {1{`RANDOM}};
+  regs_27 = _RAND_27[0:0];
+  _RAND_28 = {1{`RANDOM}};
+  regs_28 = _RAND_28[0:0];
+  _RAND_29 = {1{`RANDOM}};
+  regs_29 = _RAND_29[0:0];
+  _RAND_30 = {1{`RANDOM}};
+  regs_30 = _RAND_30[0:0];
+  _RAND_31 = {1{`RANDOM}};
+  regs_31 = _RAND_31[0:0];
+  _RAND_32 = {1{`RANDOM}};
+  regs_32 = _RAND_32[0:0];
+  _RAND_33 = {1{`RANDOM}};
+  regs_33 = _RAND_33[0:0];
+  _RAND_34 = {1{`RANDOM}};
+  regs_34 = _RAND_34[0:0];
+  _RAND_35 = {1{`RANDOM}};
+  regs_35 = _RAND_35[0:0];
+  _RAND_36 = {1{`RANDOM}};
+  regs_36 = _RAND_36[0:0];
+  _RAND_37 = {1{`RANDOM}};
+  regs_37 = _RAND_37[0:0];
+  _RAND_38 = {1{`RANDOM}};
+  regs_38 = _RAND_38[0:0];
+  _RAND_39 = {1{`RANDOM}};
+  regs_39 = _RAND_39[0:0];
+  _RAND_40 = {1{`RANDOM}};
+  regs_40 = _RAND_40[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module CaptureChain(
+  input   clock,
+  input   reset,
+  input   io_chainIn_shift,
+  input   io_chainIn_data,
+  input   io_chainIn_capture,
+  input   io_chainIn_update,
+  output  io_chainOut_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+  reg [31:0] _RAND_20;
+  reg [31:0] _RAND_21;
+  reg [31:0] _RAND_22;
+  reg [31:0] _RAND_23;
+  reg [31:0] _RAND_24;
+  reg [31:0] _RAND_25;
+  reg [31:0] _RAND_26;
+  reg [31:0] _RAND_27;
+  reg [31:0] _RAND_28;
+  reg [31:0] _RAND_29;
+  reg [31:0] _RAND_30;
+  reg [31:0] _RAND_31;
+`endif // RANDOMIZE_REG_INIT
+  reg  regs_0; // @[JtagShifter.scala 101:39]
+  reg  regs_1; // @[JtagShifter.scala 101:39]
+  reg  regs_2; // @[JtagShifter.scala 101:39]
+  reg  regs_3; // @[JtagShifter.scala 101:39]
+  reg  regs_4; // @[JtagShifter.scala 101:39]
+  reg  regs_5; // @[JtagShifter.scala 101:39]
+  reg  regs_6; // @[JtagShifter.scala 101:39]
+  reg  regs_7; // @[JtagShifter.scala 101:39]
+  reg  regs_8; // @[JtagShifter.scala 101:39]
+  reg  regs_9; // @[JtagShifter.scala 101:39]
+  reg  regs_10; // @[JtagShifter.scala 101:39]
+  reg  regs_11; // @[JtagShifter.scala 101:39]
+  reg  regs_12; // @[JtagShifter.scala 101:39]
+  reg  regs_13; // @[JtagShifter.scala 101:39]
+  reg  regs_14; // @[JtagShifter.scala 101:39]
+  reg  regs_15; // @[JtagShifter.scala 101:39]
+  reg  regs_16; // @[JtagShifter.scala 101:39]
+  reg  regs_17; // @[JtagShifter.scala 101:39]
+  reg  regs_18; // @[JtagShifter.scala 101:39]
+  reg  regs_19; // @[JtagShifter.scala 101:39]
+  reg  regs_20; // @[JtagShifter.scala 101:39]
+  reg  regs_21; // @[JtagShifter.scala 101:39]
+  reg  regs_22; // @[JtagShifter.scala 101:39]
+  reg  regs_23; // @[JtagShifter.scala 101:39]
+  reg  regs_24; // @[JtagShifter.scala 101:39]
+  reg  regs_25; // @[JtagShifter.scala 101:39]
+  reg  regs_26; // @[JtagShifter.scala 101:39]
+  reg  regs_27; // @[JtagShifter.scala 101:39]
+  reg  regs_28; // @[JtagShifter.scala 101:39]
+  reg  regs_29; // @[JtagShifter.scala 101:39]
+  reg  regs_30; // @[JtagShifter.scala 101:39]
+  reg  regs_31; // @[JtagShifter.scala 101:39]
+  wire  _GEN_1 = io_chainIn_shift ? regs_1 : regs_0; // @[JtagShifter.scala 110:34 112:37 101:39]
+  wire  _GEN_2 = io_chainIn_shift ? regs_2 : regs_1; // @[JtagShifter.scala 110:34 112:37 101:39]
+  wire  _GEN_5 = io_chainIn_shift ? regs_5 : regs_4; // @[JtagShifter.scala 110:34 112:37 101:39]
+  wire  _GEN_9 = io_chainIn_shift ? regs_9 : regs_8; // @[JtagShifter.scala 110:34 112:37 101:39]
+  wire  _GEN_12 = io_chainIn_shift ? regs_12 : regs_11; // @[JtagShifter.scala 110:34 112:37 101:39]
+  wire  _T_1 = ~(io_chainIn_capture & io_chainIn_update); // @[JtagShifter.scala 117:10]
+  wire  _T_4 = _T_1 & ~(io_chainIn_capture & io_chainIn_shift); // @[JtagShifter.scala 118:7]
+  wire  _T_7 = _T_4 & ~(io_chainIn_update & io_chainIn_shift); // @[JtagShifter.scala 119:7]
+  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 103:20]
+  always @(posedge clock) begin
+    regs_0 <= io_chainIn_capture | _GEN_1; // @[JtagShifter.scala 107:29 108:35]
+    regs_1 <= io_chainIn_capture | _GEN_2; // @[JtagShifter.scala 107:29 108:35]
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_2 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_2 <= regs_3; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_3 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_3 <= regs_4; // @[JtagShifter.scala 112:37]
+    end
+    regs_4 <= io_chainIn_capture | _GEN_5; // @[JtagShifter.scala 107:29 108:35]
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_5 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_5 <= regs_6; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_6 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_6 <= regs_7; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_7 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_7 <= regs_8; // @[JtagShifter.scala 112:37]
+    end
+    regs_8 <= io_chainIn_capture | _GEN_9; // @[JtagShifter.scala 107:29 108:35]
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_9 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_9 <= regs_10; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_10 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_10 <= regs_11; // @[JtagShifter.scala 112:37]
+    end
+    regs_11 <= io_chainIn_capture | _GEN_12; // @[JtagShifter.scala 107:29 108:35]
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_12 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_12 <= regs_13; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_13 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_13 <= regs_14; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_14 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_14 <= regs_15; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_15 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_15 <= regs_16; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_16 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_16 <= regs_17; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_17 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_17 <= regs_18; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_18 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_18 <= regs_19; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_19 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_19 <= regs_20; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_20 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_20 <= regs_21; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_21 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_21 <= regs_22; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_22 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_22 <= regs_23; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_23 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_23 <= regs_24; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_24 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_24 <= regs_25; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_25 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_25 <= regs_26; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_26 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_26 <= regs_27; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_27 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_27 <= regs_28; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_28 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_28 <= regs_29; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_29 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_29 <= regs_30; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_30 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_30 <= regs_31; // @[JtagShifter.scala 112:37]
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 107:29]
+      regs_31 <= 1'h0; // @[JtagShifter.scala 108:35]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 110:34]
+      regs_31 <= io_chainIn_data; // @[JtagShifter.scala 111:15]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_7 & ~reset) begin
+          $fatal; // @[JtagShifter.scala 117:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_7) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at JtagShifter.scala:117 assert(!(io.chainIn.capture && io.chainIn.update)\n"); // @[JtagShifter.scala 117:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  regs_1 = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  regs_2 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  regs_3 = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  regs_4 = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  regs_5 = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  regs_6 = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  regs_7 = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  regs_8 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  regs_9 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  regs_10 = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  regs_11 = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  regs_12 = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  regs_13 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  regs_14 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  regs_15 = _RAND_15[0:0];
+  _RAND_16 = {1{`RANDOM}};
+  regs_16 = _RAND_16[0:0];
+  _RAND_17 = {1{`RANDOM}};
+  regs_17 = _RAND_17[0:0];
+  _RAND_18 = {1{`RANDOM}};
+  regs_18 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  regs_19 = _RAND_19[0:0];
+  _RAND_20 = {1{`RANDOM}};
+  regs_20 = _RAND_20[0:0];
+  _RAND_21 = {1{`RANDOM}};
+  regs_21 = _RAND_21[0:0];
+  _RAND_22 = {1{`RANDOM}};
+  regs_22 = _RAND_22[0:0];
+  _RAND_23 = {1{`RANDOM}};
+  regs_23 = _RAND_23[0:0];
+  _RAND_24 = {1{`RANDOM}};
+  regs_24 = _RAND_24[0:0];
+  _RAND_25 = {1{`RANDOM}};
+  regs_25 = _RAND_25[0:0];
+  _RAND_26 = {1{`RANDOM}};
+  regs_26 = _RAND_26[0:0];
+  _RAND_27 = {1{`RANDOM}};
+  regs_27 = _RAND_27[0:0];
+  _RAND_28 = {1{`RANDOM}};
+  regs_28 = _RAND_28[0:0];
+  _RAND_29 = {1{`RANDOM}};
+  regs_29 = _RAND_29[0:0];
+  _RAND_30 = {1{`RANDOM}};
+  regs_30 = _RAND_30[0:0];
+  _RAND_31 = {1{`RANDOM}};
+  regs_31 = _RAND_31[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module JtagStateMachine(
+  input        clock,
+  input        reset,
+  input        io_tms,
+  output [3:0] io_currState
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+`endif // RANDOMIZE_REG_INIT
+  reg [3:0] currState; // @[JtagStateMachine.scala 78:26]
+  wire [3:0] _nextState_T_1 = io_tms ? 4'h7 : 4'hc; // @[JtagStateMachine.scala 85:23]
+  wire [3:0] _nextState_T_3 = io_tms ? 4'h1 : 4'h2; // @[JtagStateMachine.scala 91:23]
+  wire [3:0] _nextState_T_5 = io_tms ? 4'h5 : 4'h3; // @[JtagStateMachine.scala 97:23]
+  wire [3:0] _nextState_T_6 = io_tms ? 4'h0 : 4'h3; // @[JtagStateMachine.scala 100:23]
+  wire [3:0] _nextState_T_7 = io_tms ? 4'h5 : 4'h2; // @[JtagStateMachine.scala 103:23]
+  wire [3:0] _nextState_T_9 = io_tms ? 4'hf : 4'he; // @[JtagStateMachine.scala 109:23]
+  wire [3:0] _nextState_T_10 = io_tms ? 4'h9 : 4'ha; // @[JtagStateMachine.scala 112:23]
+  wire [3:0] _nextState_T_12 = io_tms ? 4'hd : 4'hb; // @[JtagStateMachine.scala 118:23]
+  wire [3:0] _nextState_T_13 = io_tms ? 4'h8 : 4'hb; // @[JtagStateMachine.scala 121:23]
+  wire [3:0] _nextState_T_14 = io_tms ? 4'hd : 4'ha; // @[JtagStateMachine.scala 124:23]
+  wire [3:0] _GEN_0 = 4'hd == currState ? _nextState_T_1 : 4'hf; // @[JtagStateMachine.scala 127:17 80:22]
+  wire [3:0] _GEN_1 = 4'h8 == currState ? _nextState_T_14 : _GEN_0; // @[JtagStateMachine.scala 124:17 80:22]
+  wire [3:0] _GEN_2 = 4'hb == currState ? _nextState_T_13 : _GEN_1; // @[JtagStateMachine.scala 121:17 80:22]
+  wire [3:0] _GEN_3 = 4'h9 == currState ? _nextState_T_12 : _GEN_2; // @[JtagStateMachine.scala 118:17 80:22]
+  wire [3:0] _GEN_4 = 4'ha == currState ? _nextState_T_10 : _GEN_3; // @[JtagStateMachine.scala 115:17 80:22]
+  wire [3:0] _GEN_5 = 4'he == currState ? _nextState_T_10 : _GEN_4; // @[JtagStateMachine.scala 112:17 80:22]
+  wire [3:0] _GEN_6 = 4'h4 == currState ? _nextState_T_9 : _GEN_5; // @[JtagStateMachine.scala 109:17 80:22]
+  wire [3:0] _GEN_7 = 4'h5 == currState ? _nextState_T_1 : _GEN_6; // @[JtagStateMachine.scala 106:17 80:22]
+  wire [3:0] _GEN_8 = 4'h0 == currState ? _nextState_T_7 : _GEN_7; // @[JtagStateMachine.scala 103:17 80:22]
+  wire [3:0] _GEN_9 = 4'h3 == currState ? _nextState_T_6 : _GEN_8; // @[JtagStateMachine.scala 100:17 80:22]
+  wire [3:0] _GEN_10 = 4'h1 == currState ? _nextState_T_5 : _GEN_9; // @[JtagStateMachine.scala 80:22 97:17]
+  wire [3:0] _GEN_11 = 4'h2 == currState ? _nextState_T_3 : _GEN_10; // @[JtagStateMachine.scala 80:22 94:17]
+  assign io_currState = currState; // @[JtagStateMachine.scala 131:16]
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[JtagStateMachine.scala 80:22]
+      currState <= 4'hf; // @[JtagStateMachine.scala 82:23]
+    end else if (4'hf == currState) begin // @[JtagStateMachine.scala 80:22]
+      if (io_tms) begin // @[JtagStateMachine.scala 85:23]
+        currState <= 4'hf;
+      end else begin
+        currState <= 4'hc;
+      end
+    end else if (4'hc == currState) begin // @[JtagStateMachine.scala 80:22]
+      if (io_tms) begin // @[JtagStateMachine.scala 88:23]
+        currState <= 4'h7;
+      end else begin
+        currState <= 4'hc;
+      end
+    end else if (4'h7 == currState) begin // @[JtagStateMachine.scala 80:22]
+      if (io_tms) begin // @[JtagStateMachine.scala 91:17]
+        currState <= 4'h4;
+      end else begin
+        currState <= 4'h6;
+      end
+    end else if (4'h6 == currState) begin
+      currState <= _nextState_T_3;
+    end else begin
+      currState <= _GEN_11;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  currState = _RAND_0[3:0];
+`endif // RANDOMIZE_REG_INIT
+  if (reset) begin
+    currState = 4'hf;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module CaptureUpdateChain_2(
+  input        clock,
+  input        reset,
+  input        io_chainIn_shift,
+  input        io_chainIn_data,
+  input        io_chainIn_capture,
+  input        io_chainIn_update,
+  output       io_chainOut_data,
+  output [4:0] io_update_bits
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+`endif // RANDOMIZE_REG_INIT
+  reg  regs_0; // @[JtagShifter.scala 154:39]
+  reg  regs_1; // @[JtagShifter.scala 154:39]
+  reg  regs_2; // @[JtagShifter.scala 154:39]
+  reg  regs_3; // @[JtagShifter.scala 154:39]
+  reg  regs_4; // @[JtagShifter.scala 154:39]
+  wire [1:0] updateBits_lo = {regs_1,regs_0}; // @[Cat.scala 31:58]
+  wire [2:0] updateBits_hi = {regs_4,regs_3,regs_2}; // @[Cat.scala 31:58]
+  wire  _GEN_1 = io_chainIn_shift ? regs_1 : regs_0; // @[JtagShifter.scala 174:34 176:37 154:39]
+  wire  _GEN_9 = io_chainIn_update ? regs_0 : _GEN_1; // @[JtagShifter.scala 171:35 154:39]
+  wire  _T_1 = ~(io_chainIn_capture & io_chainIn_update); // @[JtagShifter.scala 183:10]
+  wire  _T_4 = _T_1 & ~(io_chainIn_capture & io_chainIn_shift); // @[JtagShifter.scala 184:7]
+  wire  _T_7 = _T_4 & ~(io_chainIn_update & io_chainIn_shift); // @[JtagShifter.scala 185:7]
+  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 156:20]
+  assign io_update_bits = {updateBits_hi,updateBits_lo}; // @[Cat.scala 31:58]
+  always @(posedge clock) begin
+    regs_0 <= io_chainIn_capture | _GEN_9; // @[JtagShifter.scala 166:29 167:59]
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_1 <= 1'h0; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_1 <= regs_2; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_2 <= 1'h0; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_2 <= regs_3; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_3 <= 1'h0; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_3 <= regs_4; // @[JtagShifter.scala 176:37]
+      end
+    end
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 166:29]
+      regs_4 <= 1'h0; // @[JtagShifter.scala 167:59]
+    end else if (!(io_chainIn_update)) begin // @[JtagShifter.scala 171:35]
+      if (io_chainIn_shift) begin // @[JtagShifter.scala 174:34]
+        regs_4 <= io_chainIn_data; // @[JtagShifter.scala 175:15]
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_7 & ~reset) begin
+          $fatal; // @[JtagShifter.scala 183:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_7) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at JtagShifter.scala:183 assert(!(io.chainIn.capture && io.chainIn.update)\n"); // @[JtagShifter.scala 183:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  regs_1 = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  regs_2 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  regs_3 = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  regs_4 = _RAND_4[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module JtagTapController(
+  input        clock,
+  input        reset,
+  input        io_jtag_TMS,
+  input        io_jtag_TDI,
+  output       io_jtag_TDO_data,
+  output       io_jtag_TDO_driven,
+  input        io_control_jtag_reset,
+  output [4:0] io_output_instruction,
+  output       io_output_tapIsInTestLogicReset,
+  output       io_dataChainOut_shift,
+  output       io_dataChainOut_data,
+  output       io_dataChainOut_capture,
+  output       io_dataChainOut_update,
+  input        io_dataChainIn_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+`endif // RANDOMIZE_REG_INIT
+  wire  stateMachine_clock; // @[JtagTap.scala 82:30]
+  wire  stateMachine_reset; // @[JtagTap.scala 82:30]
+  wire  stateMachine_io_tms; // @[JtagTap.scala 82:30]
+  wire [3:0] stateMachine_io_currState; // @[JtagTap.scala 82:30]
+  wire  irChain_clock; // @[JtagTap.scala 102:23]
+  wire  irChain_reset; // @[JtagTap.scala 102:23]
+  wire  irChain_io_chainIn_shift; // @[JtagTap.scala 102:23]
+  wire  irChain_io_chainIn_data; // @[JtagTap.scala 102:23]
+  wire  irChain_io_chainIn_capture; // @[JtagTap.scala 102:23]
+  wire  irChain_io_chainIn_update; // @[JtagTap.scala 102:23]
+  wire  irChain_io_chainOut_data; // @[JtagTap.scala 102:23]
+  wire [4:0] irChain_io_update_bits; // @[JtagTap.scala 102:23]
+  wire  clock_falling = ~clock; // @[JtagTap.scala 67:48]
+  reg  tdoReg; // @[JtagTap.scala 89:30]
+  reg  tdoeReg; // @[JtagTap.scala 90:30]
+  wire [3:0] currState = stateMachine_io_currState; // @[JtagTap.scala 75:23 85:15]
+  wire  _irChain_io_chainIn_shift_T = currState == 4'ha; // @[JtagTap.scala 104:41]
+  wire  _irChain_io_chainIn_update_T = currState == 4'hd; // @[JtagTap.scala 107:42]
+  reg [4:0] activeInstruction; // @[JtagTap.scala 111:36]
+  wire  tapIsInTestLogicReset = currState == 4'hf; // @[JtagTap.scala 120:38]
+  wire  _io_dataChainOut_shift_T = currState == 4'h2; // @[JtagTap.scala 126:38]
+  wire  _GEN_2 = irChain_io_chainOut_data; // @[JtagTap.scala 137:51 138:9]
+  JtagStateMachine stateMachine ( // @[JtagTap.scala 82:30]
+    .clock(stateMachine_clock),
+    .reset(stateMachine_reset),
+    .io_tms(stateMachine_io_tms),
+    .io_currState(stateMachine_io_currState)
+  );
+  CaptureUpdateChain_2 irChain ( // @[JtagTap.scala 102:23]
+    .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 io_jtag_TDO_data = tdoReg; // @[JtagTap.scala 91:26]
+  assign io_jtag_TDO_driven = tdoeReg; // @[JtagTap.scala 92:26]
+  assign io_output_instruction = activeInstruction; // @[JtagTap.scala 117:27]
+  assign io_output_tapIsInTestLogicReset = currState == 4'hf; // @[JtagTap.scala 120:38]
+  assign io_dataChainOut_shift = currState == 4'h2; // @[JtagTap.scala 126:38]
+  assign io_dataChainOut_data = io_jtag_TDI; // @[JtagTap.scala 127:24]
+  assign io_dataChainOut_capture = currState == 4'h6; // @[JtagTap.scala 128:40]
+  assign io_dataChainOut_update = currState == 4'h5; // @[JtagTap.scala 129:39]
+  assign stateMachine_clock = clock;
+  assign stateMachine_reset = io_control_jtag_reset;
+  assign stateMachine_io_tms = io_jtag_TMS; // @[JtagTap.scala 84:25]
+  assign irChain_clock = clock;
+  assign irChain_reset = reset;
+  assign irChain_io_chainIn_shift = currState == 4'ha; // @[JtagTap.scala 104:41]
+  assign irChain_io_chainIn_data = io_jtag_TDI; // @[JtagTap.scala 105:27]
+  assign irChain_io_chainIn_capture = currState == 4'he; // @[JtagTap.scala 106:43]
+  assign irChain_io_chainIn_update = currState == 4'hd; // @[JtagTap.scala 107:42]
+  always @(posedge clock_falling or posedge io_control_jtag_reset) begin
+    if (io_control_jtag_reset) begin // @[JtagTap.scala 134:44]
+      tdoReg <= 1'h0; // @[JtagTap.scala 135:9]
+    end else if (_io_dataChainOut_shift_T) begin
+      tdoReg <= io_dataChainIn_data;
+    end else begin
+      tdoReg <= _GEN_2;
+    end
+  end
+  always @(posedge clock_falling or posedge io_control_jtag_reset) begin
+    if (io_control_jtag_reset) begin // @[JtagTap.scala 134:44]
+      tdoeReg <= 1'h0; // @[JtagTap.scala 136:16]
+    end else begin
+      tdoeReg <= _io_dataChainOut_shift_T | _irChain_io_chainIn_shift_T;
+    end
+  end
+  always @(posedge clock_falling or posedge io_control_jtag_reset) begin
+    if (io_control_jtag_reset) begin // @[JtagTap.scala 112:34]
+      activeInstruction <= 5'h1; // @[JtagTap.scala 113:25]
+    end else if (tapIsInTestLogicReset) begin // @[JtagTap.scala 114:53]
+      activeInstruction <= 5'h1; // @[JtagTap.scala 115:25]
+    end else if (_irChain_io_chainIn_update_T) begin // @[JtagTap.scala 111:36]
+      activeInstruction <= irChain_io_update_bits;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  tdoeReg = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  activeInstruction = _RAND_2[4:0];
+`endif // RANDOMIZE_REG_INIT
+  if (io_control_jtag_reset) begin
+    tdoReg = 1'h0;
+  end
+  if (io_control_jtag_reset) begin
+    tdoeReg = 1'h0;
+  end
+  if (io_control_jtag_reset) begin
+    activeInstruction = 5'h1;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module JtagBypassChain(
+  input   clock,
+  input   reset,
+  input   io_chainIn_shift,
+  input   io_chainIn_data,
+  input   io_chainIn_capture,
+  input   io_chainIn_update,
+  output  io_chainOut_data
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+`endif // RANDOMIZE_REG_INIT
+  reg  reg_; // @[JtagShifter.scala 61:16]
+  wire  _T_1 = ~(io_chainIn_capture & io_chainIn_update); // @[JtagShifter.scala 72:10]
+  wire  _T_4 = _T_1 & ~(io_chainIn_capture & io_chainIn_shift); // @[JtagShifter.scala 73:7]
+  wire  _T_7 = _T_4 & ~(io_chainIn_update & io_chainIn_shift); // @[JtagShifter.scala 74:7]
+  assign io_chainOut_data = reg_; // @[JtagShifter.scala 63:20]
+  always @(posedge clock) begin
+    if (io_chainIn_capture) begin // @[JtagShifter.scala 67:29]
+      reg_ <= 1'h0; // @[JtagShifter.scala 68:9]
+    end else if (io_chainIn_shift) begin // @[JtagShifter.scala 69:34]
+      reg_ <= io_chainIn_data; // @[JtagShifter.scala 70:9]
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~_T_7 & ~reset) begin
+          $fatal; // @[JtagShifter.scala 72:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~reset & ~_T_7) begin
+          $fwrite(32'h80000002,
+            "Assertion failed\n    at JtagShifter.scala:72 assert(!(io.chainIn.capture && io.chainIn.update)\n"); // @[JtagShifter.scala 72:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module DebugTransportModuleJTAG(
+  input         io_jtag_clock,
+  input         io_jtag_reset,
+  input         io_dmi_req_ready,
+  output        io_dmi_req_valid,
+  output [6:0]  io_dmi_req_bits_addr,
+  output [31:0] io_dmi_req_bits_data,
+  output [1:0]  io_dmi_req_bits_op,
+  output        io_dmi_resp_ready,
+  input         io_dmi_resp_valid,
+  input  [31:0] io_dmi_resp_bits_data,
+  input  [1:0]  io_dmi_resp_bits_resp,
+  input         io_jtag_TMS,
+  input         io_jtag_TDI,
+  output        io_jtag_TDO_data,
+  output        io_jtag_TDO_driven
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+`endif // RANDOMIZE_REG_INIT
+  wire  dtmInfoChain_clock; // @[DebugTransport.scala 128:29]
+  wire  dtmInfoChain_reset; // @[DebugTransport.scala 128:29]
+  wire  dtmInfoChain_io_chainIn_shift; // @[DebugTransport.scala 128:29]
+  wire  dtmInfoChain_io_chainIn_data; // @[DebugTransport.scala 128:29]
+  wire  dtmInfoChain_io_chainIn_capture; // @[DebugTransport.scala 128:29]
+  wire  dtmInfoChain_io_chainIn_update; // @[DebugTransport.scala 128:29]
+  wire  dtmInfoChain_io_chainOut_data; // @[DebugTransport.scala 128:29]
+  wire [1:0] dtmInfoChain_io_capture_bits_dmiStatus; // @[DebugTransport.scala 128:29]
+  wire  dtmInfoChain_io_update_valid; // @[DebugTransport.scala 128:29]
+  wire  dtmInfoChain_io_update_bits_dmireset; // @[DebugTransport.scala 128:29]
+  wire  dmiAccessChain_clock; // @[DebugTransport.scala 134:31]
+  wire  dmiAccessChain_reset; // @[DebugTransport.scala 134:31]
+  wire  dmiAccessChain_io_chainIn_shift; // @[DebugTransport.scala 134:31]
+  wire  dmiAccessChain_io_chainIn_data; // @[DebugTransport.scala 134:31]
+  wire  dmiAccessChain_io_chainIn_capture; // @[DebugTransport.scala 134:31]
+  wire  dmiAccessChain_io_chainIn_update; // @[DebugTransport.scala 134:31]
+  wire  dmiAccessChain_io_chainOut_data; // @[DebugTransport.scala 134:31]
+  wire [6:0] dmiAccessChain_io_capture_bits_addr; // @[DebugTransport.scala 134:31]
+  wire [31:0] dmiAccessChain_io_capture_bits_data; // @[DebugTransport.scala 134:31]
+  wire [1:0] dmiAccessChain_io_capture_bits_resp; // @[DebugTransport.scala 134:31]
+  wire  dmiAccessChain_io_capture_capture; // @[DebugTransport.scala 134:31]
+  wire  dmiAccessChain_io_update_valid; // @[DebugTransport.scala 134:31]
+  wire [6:0] dmiAccessChain_io_update_bits_addr; // @[DebugTransport.scala 134:31]
+  wire [31:0] dmiAccessChain_io_update_bits_data; // @[DebugTransport.scala 134:31]
+  wire [1:0] dmiAccessChain_io_update_bits_op; // @[DebugTransport.scala 134:31]
+  wire  tapIO_idcodeChain_clock; // @[JtagTap.scala 181:33]
+  wire  tapIO_idcodeChain_reset; // @[JtagTap.scala 181:33]
+  wire  tapIO_idcodeChain_io_chainIn_shift; // @[JtagTap.scala 181:33]
+  wire  tapIO_idcodeChain_io_chainIn_data; // @[JtagTap.scala 181:33]
+  wire  tapIO_idcodeChain_io_chainIn_capture; // @[JtagTap.scala 181:33]
+  wire  tapIO_idcodeChain_io_chainIn_update; // @[JtagTap.scala 181:33]
+  wire  tapIO_idcodeChain_io_chainOut_data; // @[JtagTap.scala 181:33]
+  wire  tapIO_controllerInternal_clock; // @[JtagTap.scala 199:36]
+  wire  tapIO_controllerInternal_reset; // @[JtagTap.scala 199:36]
+  wire  tapIO_controllerInternal_io_jtag_TMS; // @[JtagTap.scala 199:36]
+  wire  tapIO_controllerInternal_io_jtag_TDI; // @[JtagTap.scala 199:36]
+  wire  tapIO_controllerInternal_io_jtag_TDO_data; // @[JtagTap.scala 199:36]
+  wire  tapIO_controllerInternal_io_jtag_TDO_driven; // @[JtagTap.scala 199:36]
+  wire  tapIO_controllerInternal_io_control_jtag_reset; // @[JtagTap.scala 199:36]
+  wire [4:0] tapIO_controllerInternal_io_output_instruction; // @[JtagTap.scala 199:36]
+  wire  tapIO_controllerInternal_io_output_tapIsInTestLogicReset; // @[JtagTap.scala 199:36]
+  wire  tapIO_controllerInternal_io_dataChainOut_shift; // @[JtagTap.scala 199:36]
+  wire  tapIO_controllerInternal_io_dataChainOut_data; // @[JtagTap.scala 199:36]
+  wire  tapIO_controllerInternal_io_dataChainOut_capture; // @[JtagTap.scala 199:36]
+  wire  tapIO_controllerInternal_io_dataChainOut_update; // @[JtagTap.scala 199:36]
+  wire  tapIO_controllerInternal_io_dataChainIn_data; // @[JtagTap.scala 199:36]
+  wire  tapIO_bypassChain_clock; // @[JtagTap.scala 207:29]
+  wire  tapIO_bypassChain_reset; // @[JtagTap.scala 207:29]
+  wire  tapIO_bypassChain_io_chainIn_shift; // @[JtagTap.scala 207:29]
+  wire  tapIO_bypassChain_io_chainIn_data; // @[JtagTap.scala 207:29]
+  wire  tapIO_bypassChain_io_chainIn_capture; // @[JtagTap.scala 207:29]
+  wire  tapIO_bypassChain_io_chainIn_update; // @[JtagTap.scala 207:29]
+  wire  tapIO_bypassChain_io_chainOut_data; // @[JtagTap.scala 207:29]
+  reg  busyReg; // @[DebugTransport.scala 96:24]
+  reg  stickyBusyReg; // @[DebugTransport.scala 97:30]
+  reg  stickyNonzeroRespReg; // @[DebugTransport.scala 98:37]
+  reg  downgradeOpReg; // @[DebugTransport.scala 100:31]
+  reg [6:0] dmiReqReg_addr; // @[DebugTransport.scala 110:23]
+  reg [31:0] dmiReqReg_data; // @[DebugTransport.scala 110:23]
+  reg [1:0] dmiReqReg_op; // @[DebugTransport.scala 110:23]
+  reg  dmiReqValidReg; // @[DebugTransport.scala 111:31]
+  wire  _dmiStatus_T = stickyNonzeroRespReg | stickyBusyReg; // @[DebugTransport.scala 118:63]
+  wire  _GEN_0 = io_dmi_req_valid | busyReg; // @[DebugTransport.scala 143:27 144:13 96:24]
+  wire  _T_1 = io_dmi_resp_ready & io_dmi_resp_valid; // @[Decoupled.scala 50:35]
+  wire  busy = busyReg & ~io_dmi_resp_valid | stickyBusyReg; // @[DebugTransport.scala 155:42]
+  wire  _downgradeOpReg_T = ~busy; // @[DebugTransport.scala 164:24]
+  wire  nonzeroResp = stickyNonzeroRespReg | io_dmi_resp_valid & io_dmi_resp_bits_resp != 2'h0; // @[DebugTransport.scala 178:39]
+  wire  _GEN_4 = dmiAccessChain_io_capture_capture ? busy : stickyBusyReg; // @[DebugTransport.scala 163:44 165:19 97:30]
+  wire  _GEN_5 = dmiAccessChain_io_capture_capture ? nonzeroResp : stickyNonzeroRespReg; // @[DebugTransport.scala 163:44 166:26 98:37]
+  wire [6:0] _dmiAccessChain_io_capture_bits_T_addr = io_dmi_resp_valid ? dmiReqReg_addr : 7'h0; // @[DebugTransport.scala 197:60]
+  wire [31:0] _dmiAccessChain_io_capture_bits_T_data = io_dmi_resp_valid ? io_dmi_resp_bits_data : 32'h0; // @[DebugTransport.scala 197:60]
+  wire [1:0] _dmiAccessChain_io_capture_bits_T_resp = io_dmi_resp_valid ? io_dmi_resp_bits_resp : 2'h0; // @[DebugTransport.scala 197:60]
+  wire  _T_4 = io_dmi_req_ready & io_dmi_req_valid; // @[Decoupled.scala 50:35]
+  wire  _GEN_14 = downgradeOpReg | dmiAccessChain_io_update_bits_op == 2'h0 ? 1'h0 : 1'h1; // @[DebugTransport.scala 208:97 216:24]
+  wire  _GEN_19 = stickyBusyReg ? 1'h0 : _GEN_14; // @[DebugTransport.scala 206:26]
+  wire  dmiReqValidCheck = dmiAccessChain_io_update_valid & _GEN_19; // @[DebugTransport.scala 205:41]
+  wire  _T_8 = ~io_jtag_reset; // @[DebugTransport.scala 203:9]
+  wire  _GEN_13 = downgradeOpReg | dmiAccessChain_io_update_bits_op == 2'h0 ? dmiReqValidReg : 1'h1; // @[DebugTransport.scala 111:31 208:97 215:22]
+  wire  _io_dmi_resp_ready_T = dmiReqReg_op == 2'h2; // @[DebugTransport.scala 225:18]
+  wire  _io_dmi_resp_ready_T_2 = dmiAccessChain_io_capture_capture & _downgradeOpReg_T; // @[DebugTransport.scala 229:41]
+  wire [31:0] _GEN_1 = 32'h913 % 32'h2; // @[JtagTap.scala 184:18]
+  wire [1:0] _tapIO_T = _GEN_1[1:0]; // @[JtagTap.scala 184:18]
+  wire [11:0] _tapIO_T_8 = 12'h800 - 12'h1; // @[JtagTap.scala 185:41]
+  wire [30:0] _GEN_59 = {{19'd0}, _tapIO_T_8}; // @[JtagTap.scala 185:26]
+  wire [30:0] _tapIO_T_9 = 31'h489 & _GEN_59; // @[JtagTap.scala 185:26]
+  wire  tapIO_icodeSelects_0 = tapIO_controllerInternal_io_output_instruction == 5'h1; // @[JtagTap.scala 223:82]
+  wire  tapIO_icodeSelects_0_1 = tapIO_controllerInternal_io_output_instruction == 5'h10; // @[JtagTap.scala 223:82]
+  wire  tapIO_icodeSelects_0_2 = tapIO_controllerInternal_io_output_instruction == 5'h11; // @[JtagTap.scala 223:82]
+  wire  _GEN_28 = tapIO_icodeSelects_0_2 ? dmiAccessChain_io_chainOut_data : tapIO_bypassChain_io_chainOut_data; // @[JtagTap.scala 233:28 234:43 240:41]
+  wire  _GEN_32 = tapIO_icodeSelects_0_1 ? dtmInfoChain_io_chainOut_data : _GEN_28; // @[JtagTap.scala 233:28 234:43]
+  wire  tapIO_output_tapIsInTestLogicReset = tapIO_controllerInternal_io_output_tapIsInTestLogicReset; // @[JtagTap.scala 174:26 256:23]
+  CaptureUpdateChain dtmInfoChain ( // @[DebugTransport.scala 128:29]
+    .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 134:31]
+    .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 tapIO_idcodeChain ( // @[JtagTap.scala 181:33]
+    .clock(tapIO_idcodeChain_clock),
+    .reset(tapIO_idcodeChain_reset),
+    .io_chainIn_shift(tapIO_idcodeChain_io_chainIn_shift),
+    .io_chainIn_data(tapIO_idcodeChain_io_chainIn_data),
+    .io_chainIn_capture(tapIO_idcodeChain_io_chainIn_capture),
+    .io_chainIn_update(tapIO_idcodeChain_io_chainIn_update),
+    .io_chainOut_data(tapIO_idcodeChain_io_chainOut_data)
+  );
+  JtagTapController tapIO_controllerInternal ( // @[JtagTap.scala 199:36]
+    .clock(tapIO_controllerInternal_clock),
+    .reset(tapIO_controllerInternal_reset),
+    .io_jtag_TMS(tapIO_controllerInternal_io_jtag_TMS),
+    .io_jtag_TDI(tapIO_controllerInternal_io_jtag_TDI),
+    .io_jtag_TDO_data(tapIO_controllerInternal_io_jtag_TDO_data),
+    .io_jtag_TDO_driven(tapIO_controllerInternal_io_jtag_TDO_driven),
+    .io_control_jtag_reset(tapIO_controllerInternal_io_control_jtag_reset),
+    .io_output_instruction(tapIO_controllerInternal_io_output_instruction),
+    .io_output_tapIsInTestLogicReset(tapIO_controllerInternal_io_output_tapIsInTestLogicReset),
+    .io_dataChainOut_shift(tapIO_controllerInternal_io_dataChainOut_shift),
+    .io_dataChainOut_data(tapIO_controllerInternal_io_dataChainOut_data),
+    .io_dataChainOut_capture(tapIO_controllerInternal_io_dataChainOut_capture),
+    .io_dataChainOut_update(tapIO_controllerInternal_io_dataChainOut_update),
+    .io_dataChainIn_data(tapIO_controllerInternal_io_dataChainIn_data)
+  );
+  JtagBypassChain tapIO_bypassChain ( // @[JtagTap.scala 207:29]
+    .clock(tapIO_bypassChain_clock),
+    .reset(tapIO_bypassChain_reset),
+    .io_chainIn_shift(tapIO_bypassChain_io_chainIn_shift),
+    .io_chainIn_data(tapIO_bypassChain_io_chainIn_data),
+    .io_chainIn_capture(tapIO_bypassChain_io_chainIn_capture),
+    .io_chainIn_update(tapIO_bypassChain_io_chainIn_update),
+    .io_chainOut_data(tapIO_bypassChain_io_chainOut_data)
+  );
+  assign io_dmi_req_valid = dmiReqValidReg; // @[DebugTransport.scala 241:20]
+  assign io_dmi_req_bits_addr = dmiReqReg_addr; // @[DebugTransport.scala 244:19]
+  assign io_dmi_req_bits_data = dmiReqReg_data; // @[DebugTransport.scala 244:19]
+  assign io_dmi_req_bits_op = dmiReqReg_op; // @[DebugTransport.scala 244:19]
+  assign io_dmi_resp_ready = _io_dmi_resp_ready_T ? io_dmi_resp_valid : _io_dmi_resp_ready_T_2; // @[DebugTransport.scala 224:27]
+  assign io_jtag_TDO_data = tapIO_controllerInternal_io_jtag_TDO_data; // @[JtagTap.scala 174:26 254:21]
+  assign io_jtag_TDO_driven = tapIO_controllerInternal_io_jtag_TDO_driven; // @[JtagTap.scala 174:26 254:21]
+  assign dtmInfoChain_clock = io_jtag_clock;
+  assign dtmInfoChain_reset = io_jtag_reset; // @[DebugTransport.scala 89:50]
+  assign dtmInfoChain_io_chainIn_shift = tapIO_icodeSelects_0_1 & tapIO_controllerInternal_io_dataChainOut_shift; // @[JtagTap.scala 245:21 246:26 248:26]
+  assign dtmInfoChain_io_chainIn_data = tapIO_icodeSelects_0_1 & tapIO_controllerInternal_io_dataChainOut_data; // @[JtagTap.scala 245:21 246:26 248:26]
+  assign dtmInfoChain_io_chainIn_capture = tapIO_icodeSelects_0_1 & tapIO_controllerInternal_io_dataChainOut_capture; // @[JtagTap.scala 245:21 246:26 248:26]
+  assign dtmInfoChain_io_chainIn_update = tapIO_icodeSelects_0_1 & tapIO_controllerInternal_io_dataChainOut_update; // @[JtagTap.scala 245:21 246:26 248:26]
+  assign dtmInfoChain_io_capture_bits_dmiStatus = {stickyNonzeroRespReg,_dmiStatus_T}; // @[Cat.scala 31:58]
+  assign dmiAccessChain_clock = io_jtag_clock;
+  assign dmiAccessChain_reset = io_jtag_reset; // @[DebugTransport.scala 89:50]
+  assign dmiAccessChain_io_chainIn_shift = tapIO_icodeSelects_0_2 & tapIO_controllerInternal_io_dataChainOut_shift; // @[JtagTap.scala 245:21 246:26 248:26]
+  assign dmiAccessChain_io_chainIn_data = tapIO_icodeSelects_0_2 & tapIO_controllerInternal_io_dataChainOut_data; // @[JtagTap.scala 245:21 246:26 248:26]
+  assign dmiAccessChain_io_chainIn_capture = tapIO_icodeSelects_0_2 & tapIO_controllerInternal_io_dataChainOut_capture; // @[JtagTap.scala 245:21 246:26 248:26]
+  assign dmiAccessChain_io_chainIn_update = tapIO_icodeSelects_0_2 & tapIO_controllerInternal_io_dataChainOut_update; // @[JtagTap.scala 245:21 246:26 248:26]
+  assign dmiAccessChain_io_capture_bits_addr = busy ? 7'h0 : _dmiAccessChain_io_capture_bits_T_addr; // @[DebugTransport.scala 197:40]
+  assign dmiAccessChain_io_capture_bits_data = busy ? 32'h0 : _dmiAccessChain_io_capture_bits_T_data; // @[DebugTransport.scala 197:40]
+  assign dmiAccessChain_io_capture_bits_resp = busy ? 2'h3 : _dmiAccessChain_io_capture_bits_T_resp; // @[DebugTransport.scala 197:40]
+  assign tapIO_idcodeChain_clock = io_jtag_clock;
+  assign tapIO_idcodeChain_reset = io_jtag_reset; // @[DebugTransport.scala 89:50]
+  assign tapIO_idcodeChain_io_chainIn_shift = tapIO_icodeSelects_0 & tapIO_controllerInternal_io_dataChainOut_shift; // @[JtagTap.scala 245:21 246:26 248:26]
+  assign tapIO_idcodeChain_io_chainIn_data = tapIO_icodeSelects_0 & tapIO_controllerInternal_io_dataChainOut_data; // @[JtagTap.scala 245:21 246:26 248:26]
+  assign tapIO_idcodeChain_io_chainIn_capture = tapIO_icodeSelects_0 & tapIO_controllerInternal_io_dataChainOut_capture; // @[JtagTap.scala 245:21 246:26 248:26]
+  assign tapIO_idcodeChain_io_chainIn_update = tapIO_icodeSelects_0 & tapIO_controllerInternal_io_dataChainOut_update; // @[JtagTap.scala 245:21 246:26 248:26]
+  assign tapIO_controllerInternal_clock = io_jtag_clock;
+  assign tapIO_controllerInternal_reset = io_jtag_reset; // @[DebugTransport.scala 89:50]
+  assign tapIO_controllerInternal_io_jtag_TMS = io_jtag_TMS; // @[JtagTap.scala 174:26 DebugTransport.scala 262:14]
+  assign tapIO_controllerInternal_io_jtag_TDI = io_jtag_TDI; // @[JtagTap.scala 174:26 DebugTransport.scala 262:14]
+  assign tapIO_controllerInternal_io_control_jtag_reset = io_jtag_reset; // @[DebugTransport.scala 264:45]
+  assign tapIO_controllerInternal_io_dataChainIn_data = tapIO_icodeSelects_0 ? tapIO_idcodeChain_io_chainOut_data :
+    _GEN_32; // @[JtagTap.scala 233:28 234:43]
+  assign tapIO_bypassChain_clock = io_jtag_clock;
+  assign tapIO_bypassChain_reset = io_jtag_reset; // @[DebugTransport.scala 89:50]
+  assign tapIO_bypassChain_io_chainIn_shift = tapIO_controllerInternal_io_dataChainOut_shift; // @[JtagTap.scala 210:28]
+  assign tapIO_bypassChain_io_chainIn_data = tapIO_controllerInternal_io_dataChainOut_data; // @[JtagTap.scala 210:28]
+  assign tapIO_bypassChain_io_chainIn_capture = tapIO_controllerInternal_io_dataChainOut_capture; // @[JtagTap.scala 210:28]
+  assign tapIO_bypassChain_io_chainIn_update = tapIO_controllerInternal_io_dataChainOut_update; // @[JtagTap.scala 210:28]
+  always @(posedge io_jtag_clock) begin
+    if (dmiAccessChain_io_update_valid) begin // @[DebugTransport.scala 205:41]
+      if (!(stickyBusyReg)) begin // @[DebugTransport.scala 206:26]
+        if (downgradeOpReg | dmiAccessChain_io_update_bits_op == 2'h0) begin // @[DebugTransport.scala 208:97]
+          dmiReqReg_addr <= 7'h0; // @[DebugTransport.scala 210:22]
+        end else begin
+          dmiReqReg_addr <= dmiAccessChain_io_update_bits_addr; // @[DebugTransport.scala 214:17]
+        end
+      end
+    end
+    if (dmiAccessChain_io_update_valid) begin // @[DebugTransport.scala 205:41]
+      if (!(stickyBusyReg)) begin // @[DebugTransport.scala 206:26]
+        if (downgradeOpReg | dmiAccessChain_io_update_bits_op == 2'h0) begin // @[DebugTransport.scala 208:97]
+          dmiReqReg_data <= 32'h0; // @[DebugTransport.scala 211:22]
+        end else begin
+          dmiReqReg_data <= dmiAccessChain_io_update_bits_data; // @[DebugTransport.scala 214:17]
+        end
+      end
+    end
+    if (dmiAccessChain_io_update_valid) begin // @[DebugTransport.scala 205:41]
+      if (!(stickyBusyReg)) begin // @[DebugTransport.scala 206:26]
+        if (downgradeOpReg | dmiAccessChain_io_update_bits_op == 2'h0) begin // @[DebugTransport.scala 208:97]
+          dmiReqReg_op <= 2'h0; // @[DebugTransport.scala 212:22]
+        end else begin
+          dmiReqReg_op <= dmiAccessChain_io_update_bits_op; // @[DebugTransport.scala 214:17]
+        end
+      end
+    end
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(~(dmiReqValidCheck & _T_4)) & ~io_jtag_reset) begin
+          $fatal; // @[DebugTransport.scala 203:9]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (~io_jtag_reset & ~(~(dmiReqValidCheck & _T_4))) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: Conflicting updates for dmiReqValidReg, should not happen.\n    at DebugTransport.scala:203 assert(!(dmiReqValidCheck && io.dmi.req.fire()), \"Conflicting updates for dmiReqValidReg, should not happen.\");\n"
+            ); // @[DebugTransport.scala 203:9]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_tapIO_T == 2'h1) & _T_8) begin
+          $fatal; // @[JtagTap.scala 184:15]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_8 & ~(_tapIO_T == 2'h1)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: LSB must be set in IDCODE, see 12.1.1d\n    at JtagTap.scala:184 assert(i %% 2.U === 1.U, \"LSB must be set in IDCODE, see 12.1.1d\")\n"
+            ); // @[JtagTap.scala 184:15]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef STOP_COND
+      if (`STOP_COND) begin
+    `endif
+        if (~(_tapIO_T_9 != 31'h7f) & _T_8) begin
+          $fatal; // @[JtagTap.scala 185:15]
+        end
+    `ifdef STOP_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+    `ifndef SYNTHESIS
+    `ifdef PRINTF_COND
+      if (`PRINTF_COND) begin
+    `endif
+        if (_T_8 & ~(_tapIO_T_9 != 31'h7f)) begin
+          $fwrite(32'h80000002,
+            "Assertion failed: IDCODE must not have 0b00001111111 as manufacturer identity, see 12.2.1b\n    at JtagTap.scala:185 assert(((i >> 1) & ((1.U << 11) - 1.U)) =/= JtagIdcode.dummyMfrId.U,\n"
+            ); // @[JtagTap.scala 185:15]
+        end
+    `ifdef PRINTF_COND
+      end
+    `endif
+    `endif // SYNTHESIS
+  end
+  always @(posedge io_jtag_clock or posedge io_jtag_reset) begin
+    if (io_jtag_reset) begin // @[DebugTransport.scala 269:45]
+      busyReg <= 1'h0; // @[DebugTransport.scala 270:13]
+    end else if (tapIO_output_tapIsInTestLogicReset) begin // @[DebugTransport.scala 146:29]
+      busyReg <= 1'h0; // @[DebugTransport.scala 147:13]
+    end else if (_T_1) begin
+      busyReg <= 1'h0;
+    end else begin
+      busyReg <= _GEN_0;
+    end
+  end
+  always @(posedge io_jtag_clock or posedge io_jtag_reset) begin
+    if (io_jtag_reset) begin // @[DebugTransport.scala 269:45]
+      stickyBusyReg <= 1'h0; // @[DebugTransport.scala 271:19]
+    end else if (tapIO_output_tapIsInTestLogicReset) begin // @[DebugTransport.scala 168:39]
+      stickyBusyReg <= 1'h0; // @[DebugTransport.scala 169:49 171:21]
+    end else if (dtmInfoChain_io_update_valid) begin
+      if (dtmInfoChain_io_update_bits_dmireset) begin
+        stickyBusyReg <= 1'h0;
+      end else begin
+        stickyBusyReg <= _GEN_4;
+      end
+    end else begin
+      stickyBusyReg <= _GEN_4;
+    end
+  end
+  always @(posedge io_jtag_clock or posedge io_jtag_reset) begin
+    if (io_jtag_reset) begin // @[DebugTransport.scala 269:45]
+      stickyNonzeroRespReg <= 1'h0; // @[DebugTransport.scala 272:26]
+    end else if (tapIO_output_tapIsInTestLogicReset) begin // @[DebugTransport.scala 168:39]
+      stickyNonzeroRespReg <= 1'h0; // @[DebugTransport.scala 169:49 170:28]
+    end else if (dtmInfoChain_io_update_valid) begin
+      if (dtmInfoChain_io_update_bits_dmireset) begin
+        stickyNonzeroRespReg <= 1'h0;
+      end else begin
+        stickyNonzeroRespReg <= _GEN_5;
+      end
+    end else begin
+      stickyNonzeroRespReg <= _GEN_5;
+    end
+  end
+  always @(posedge io_jtag_clock or posedge io_jtag_reset) begin
+    if (io_jtag_reset) begin // @[DebugTransport.scala 269:45]
+      downgradeOpReg <= 1'h0; // @[DebugTransport.scala 273:20]
+    end else if (tapIO_output_tapIsInTestLogicReset) begin // @[DebugTransport.scala 163:44]
+      downgradeOpReg <= 1'h0; // @[DebugTransport.scala 164:20]
+    end else if (dmiAccessChain_io_capture_capture) begin // @[DebugTransport.scala 160:41]
+      downgradeOpReg <= ~busy & nonzeroResp; // @[DebugTransport.scala 161:20]
+    end else if (dmiAccessChain_io_update_valid) begin // @[DebugTransport.scala 100:31]
+      downgradeOpReg <= 1'h0;
+    end
+  end
+  always @(posedge io_jtag_clock or posedge io_jtag_reset) begin
+    if (io_jtag_reset) begin // @[DebugTransport.scala 269:45]
+      dmiReqValidReg <= 1'h0; // @[DebugTransport.scala 274:20]
+    end else if (tapIO_output_tapIsInTestLogicReset) begin // @[DebugTransport.scala 220:28]
+      dmiReqValidReg <= 1'h0; // @[DebugTransport.scala 221:20]
+    end else if (_T_4) begin // @[DebugTransport.scala 205:41]
+      dmiReqValidReg <= 1'h0; // @[DebugTransport.scala 206:26 111:31]
+    end else if (dmiAccessChain_io_update_valid) begin // @[DebugTransport.scala 111:31]
+      if (!(stickyBusyReg)) begin
+        dmiReqValidReg <= _GEN_13;
+      end
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  stickyBusyReg = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  stickyNonzeroRespReg = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  downgradeOpReg = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  dmiReqReg_addr = _RAND_4[6:0];
+  _RAND_5 = {1{`RANDOM}};
+  dmiReqReg_data = _RAND_5[31:0];
+  _RAND_6 = {1{`RANDOM}};
+  dmiReqReg_op = _RAND_6[1:0];
+  _RAND_7 = {1{`RANDOM}};
+  dmiReqValidReg = _RAND_7[0:0];
+`endif // RANDOMIZE_REG_INIT
+  if (io_jtag_reset) begin
+    busyReg = 1'h0;
+  end
+  if (io_jtag_reset) begin
+    stickyBusyReg = 1'h0;
+  end
+  if (io_jtag_reset) begin
+    stickyNonzeroRespReg = 1'h0;
+  end
+  if (io_jtag_reset) begin
+    downgradeOpReg = 1'h0;
+  end
+  if (io_jtag_reset) begin
+    dmiReqValidReg = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module MarmotCaravelSystem(
+  input   clock,
+  input   reset,
+  input   debug_clock,
+  input   debug_systemjtag_jtag_TCK,
+  input   debug_systemjtag_jtag_TMS,
+  input   debug_systemjtag_jtag_TDI,
+  output  debug_systemjtag_jtag_TDO_data,
+  output  debug_systemjtag_jtag_TDO_driven,
+  input   debug_systemjtag_reset,
+  output  uart_0_txd,
+  input   uart_0_rxd,
+  output  uart_1_txd,
+  input   uart_1_rxd,
+  output  uart_2_txd,
+  input   uart_2_rxd,
+  output  uart_3_txd,
+  input   uart_3_rxd,
+  output  uart_4_txd,
+  input   uart_4_rxd,
+  output  spi_0_sck,
+  input   spi_0_dq_0_i,
+  output  spi_0_dq_0_o,
+  output  spi_0_dq_0_oe,
+  input   spi_0_dq_1_i,
+  output  spi_0_dq_1_o,
+  output  spi_0_dq_1_oe,
+  input   spi_0_dq_2_i,
+  output  spi_0_dq_2_o,
+  output  spi_0_dq_2_oe,
+  input   spi_0_dq_3_i,
+  output  spi_0_dq_3_o,
+  output  spi_0_dq_3_oe,
+  output  spi_0_cs_0,
+  output  spi_0_cs_1,
+  input   gpio_0_pins_0_i_ival,
+  output  gpio_0_pins_0_o_oval,
+  output  gpio_0_pins_0_o_oe,
+  output  gpio_0_pins_0_o_ie,
+  input   gpio_0_pins_1_i_ival,
+  output  gpio_0_pins_1_o_oval,
+  output  gpio_0_pins_1_o_oe,
+  output  gpio_0_pins_1_o_ie,
+  input   gpio_0_pins_2_i_ival,
+  output  gpio_0_pins_2_o_oval,
+  output  gpio_0_pins_2_o_oe,
+  output  gpio_0_pins_2_o_ie,
+  input   gpio_0_pins_3_i_ival,
+  output  gpio_0_pins_3_o_oval,
+  output  gpio_0_pins_3_o_oe,
+  output  gpio_0_pins_3_o_ie,
+  input   gpio_0_pins_4_i_ival,
+  output  gpio_0_pins_4_o_oval,
+  output  gpio_0_pins_4_o_oe,
+  output  gpio_0_pins_4_o_ie,
+  input   gpio_0_pins_5_i_ival,
+  output  gpio_0_pins_5_o_oval,
+  output  gpio_0_pins_5_o_oe,
+  output  gpio_0_pins_5_o_ie,
+  input   gpio_0_pins_6_i_ival,
+  output  gpio_0_pins_6_o_oval,
+  output  gpio_0_pins_6_o_oe,
+  input   gpio_0_pins_7_i_ival,
+  output  gpio_0_pins_7_o_oval,
+  output  gpio_0_pins_7_o_oe,
+  input   gpio_0_pins_8_i_ival,
+  output  gpio_0_pins_8_o_oval,
+  output  gpio_0_pins_8_o_oe,
+  input   gpio_0_pins_9_i_ival,
+  output  gpio_0_pins_9_o_oval,
+  output  gpio_0_pins_9_o_oe,
+  input   gpio_0_pins_10_i_ival,
+  output  gpio_0_pins_10_o_oval,
+  output  gpio_0_pins_10_o_oe,
+  input   gpio_0_pins_11_i_ival,
+  output  gpio_0_pins_11_o_oval,
+  output  gpio_0_pins_11_o_oe,
+  input   gpio_0_pins_12_i_ival,
+  output  gpio_0_pins_12_o_oval,
+  output  gpio_0_pins_12_o_oe,
+  output  gpio_0_pins_12_o_ie,
+  input   gpio_0_pins_13_i_ival,
+  output  gpio_0_pins_13_o_oval,
+  output  gpio_0_pins_13_o_oe,
+  output  gpio_0_pins_13_o_ie,
+  input   gpio_0_pins_14_i_ival,
+  output  gpio_0_pins_14_o_oval,
+  output  gpio_0_pins_14_o_oe,
+  output  gpio_0_pins_14_o_ie,
+  input   gpio_0_pins_15_i_ival,
+  output  gpio_0_pins_15_o_oval,
+  output  gpio_0_pins_15_o_oe,
+  output  gpio_0_pins_15_o_ie,
+  input   gpio_0_pins_16_i_ival,
+  output  gpio_0_pins_16_o_oval,
+  output  gpio_0_pins_16_o_oe,
+  output  gpio_0_pins_16_o_ie,
+  input   gpio_0_pins_17_i_ival,
+  output  gpio_0_pins_17_o_oval,
+  output  gpio_0_pins_17_o_oe,
+  output  gpio_0_pins_17_o_ie,
+  input   gpio_0_pins_18_i_ival,
+  output  gpio_0_pins_18_o_oval,
+  output  gpio_0_pins_18_o_oe,
+  output  gpio_0_pins_18_o_ie,
+  input   gpio_0_pins_19_i_ival,
+  output  gpio_0_pins_19_o_oval,
+  output  gpio_0_pins_19_o_oe,
+  output  gpio_0_pins_19_o_ie,
+  input   gpio_0_pins_20_i_ival,
+  output  gpio_0_pins_20_o_oval,
+  output  gpio_0_pins_20_o_oe,
+  output  gpio_0_pins_20_o_ie,
+  input   gpio_0_pins_21_i_ival,
+  output  gpio_0_pins_21_o_oval,
+  output  gpio_0_pins_21_o_oe,
+  output  gpio_0_pins_21_o_ie,
+  input   gpio_0_pins_22_i_ival,
+  output  gpio_0_pins_22_o_oval,
+  output  gpio_0_pins_22_o_oe,
+  output  gpio_0_pins_22_o_ie,
+  input   gpio_0_pins_23_i_ival,
+  output  gpio_0_pins_23_o_oval,
+  output  gpio_0_pins_23_o_oe,
+  output  gpio_0_pins_23_o_ie,
+  input   gpio_0_pins_24_i_ival,
+  output  gpio_0_pins_24_o_oval,
+  output  gpio_0_pins_24_o_oe,
+  output  gpio_0_pins_24_o_ie,
+  input   gpio_0_pins_25_i_ival,
+  output  gpio_0_pins_25_o_oval,
+  output  gpio_0_pins_25_o_oe,
+  input   gpio_0_pins_26_i_ival,
+  output  gpio_0_pins_26_o_oval,
+  output  gpio_0_pins_26_o_oe,
+  input   gpio_0_pins_27_i_ival,
+  output  gpio_0_pins_27_o_oval,
+  output  gpio_0_pins_27_o_oe,
+  input   gpio_0_pins_28_i_ival,
+  output  gpio_0_pins_28_o_oval,
+  output  gpio_0_pins_28_o_oe,
+  input   gpio_0_pins_29_i_ival,
+  output  gpio_0_pins_29_o_oval,
+  output  gpio_0_pins_29_o_oe,
+  input   gpio_0_pins_30_i_ival,
+  output  gpio_0_pins_30_o_oval,
+  output  gpio_0_pins_30_o_oe,
+  input   gpio_0_pins_31_i_ival,
+  output  gpio_0_pins_31_o_oval,
+  output  gpio_0_pins_31_o_oe,
+  input   iof_0_iof_0_0_o_oval,
+  input   iof_0_iof_0_1_o_oval,
+  output  iof_0_iof_0_2_i_ival,
+  input   iof_0_iof_0_2_o_oval,
+  input   iof_0_iof_0_2_o_oe,
+  input   iof_0_iof_0_2_o_ie,
+  output  iof_0_iof_0_3_i_ival,
+  input   iof_0_iof_0_3_o_oval,
+  input   iof_0_iof_0_3_o_oe,
+  input   iof_0_iof_0_3_o_ie,
+  output  iof_0_iof_0_4_i_ival,
+  input   iof_0_iof_0_4_o_oval,
+  input   iof_0_iof_0_4_o_oe,
+  input   iof_0_iof_0_4_o_ie,
+  output  iof_0_iof_0_5_i_ival,
+  input   iof_0_iof_0_5_o_oval,
+  input   iof_0_iof_0_5_o_oe,
+  input   iof_0_iof_0_5_o_ie,
+  output  iof_0_iof_0_12_i_ival,
+  input   iof_0_iof_0_12_o_oe,
+  output  iof_0_iof_0_13_i_ival,
+  input   iof_0_iof_0_13_o_oe,
+  output  iof_0_iof_0_14_i_ival,
+  input   iof_0_iof_0_14_o_oe,
+  output  iof_0_iof_0_15_i_ival,
+  input   iof_0_iof_0_15_o_oe,
+  output  iof_0_iof_0_16_i_ival,
+  input   iof_0_iof_0_17_o_oval,
+  output  iof_0_iof_0_18_i_ival,
+  input   iof_0_iof_0_19_o_oval,
+  output  iof_0_iof_0_20_i_ival,
+  input   iof_0_iof_0_21_o_oval,
+  output  iof_0_iof_0_22_i_ival,
+  input   iof_0_iof_0_23_o_oval,
+  input   iof_0_iof_0_24_o_oval,
+  input   iof_0_iof_1_12_o_oval,
+  input   iof_0_iof_1_13_o_oval,
+  input   iof_0_iof_1_14_o_oval,
+  input   iof_0_iof_1_15_o_oval,
+  input   iof_0_iof_1_16_o_oval,
+  input   iof_0_iof_1_17_o_oval,
+  input   iof_0_iof_1_18_o_oval,
+  input   iof_0_iof_1_19_o_oval,
+  input   iof_0_iof_1_20_o_oval,
+  input   iof_0_iof_1_21_o_oval,
+  input   iof_0_iof_1_22_o_oval,
+  input   iof_0_iof_1_23_o_oval,
+  output  pwm_0_gpio_0,
+  output  pwm_0_gpio_1,
+  output  pwm_0_gpio_2,
+  output  pwm_0_gpio_3,
+  output  pwm_1_gpio_0,
+  output  pwm_1_gpio_1,
+  output  pwm_1_gpio_2,
+  output  pwm_1_gpio_3,
+  output  pwm_2_gpio_0,
+  output  pwm_2_gpio_1,
+  output  pwm_2_gpio_2,
+  output  pwm_2_gpio_3,
+  output  qspi_0_sck,
+  input   qspi_0_dq_0_i,
+  output  qspi_0_dq_0_o,
+  output  qspi_0_dq_0_oe,
+  input   qspi_0_dq_1_i,
+  output  qspi_0_dq_1_o,
+  output  qspi_0_dq_1_oe,
+  input   qspi_0_dq_2_i,
+  output  qspi_0_dq_2_o,
+  output  qspi_0_dq_2_oe,
+  input   qspi_0_dq_3_i,
+  output  qspi_0_dq_3_o,
+  output  qspi_0_dq_3_oe,
+  output  qspi_0_cs_0,
+  output  qspi_ram_0_sck,
+  input   qspi_ram_0_dq_0_i,
+  output  qspi_ram_0_dq_0_o,
+  output  qspi_ram_0_dq_0_oe,
+  input   qspi_ram_0_dq_1_i,
+  output  qspi_ram_0_dq_1_o,
+  output  qspi_ram_0_dq_1_oe,
+  input   qspi_ram_0_dq_2_i,
+  output  qspi_ram_0_dq_2_o,
+  output  qspi_ram_0_dq_2_oe,
+  input   qspi_ram_0_dq_3_i,
+  output  qspi_ram_0_dq_3_o,
+  output  qspi_ram_0_dq_3_oe,
+  output  qspi_ram_0_cs_0,
+  input   aon_pins_erst_n_i_ival,
+  input   aon_pins_lfextclk_i_ival,
+  output  aon_rsts_corerst,
+  input   i2c_0_scl_in,
+  output  i2c_0_scl_oe,
+  input   i2c_0_sda_in,
+  output  i2c_0_sda_oe,
+  input   i2c_1_scl_in,
+  output  i2c_1_scl_oe,
+  input   i2c_1_sda_in,
+  output  i2c_1_sda_oe, // <no_sram>
+  output [5:0]  tag_array_ext_RW0_addr, // <no_sram>
+  output        tag_array_ext_RW0_en, // <no_sram>
+  output        tag_array_ext_RW0_clk, // <no_sram>
+  output        tag_array_ext_RW0_wmode, // <no_sram>
+  output [20:0] tag_array_ext_RW0_wdata, // <no_sram>
+  input  [20:0] tag_array_ext_RW0_rdata, // <no_sram>
+  output [9:0]  data_arrays_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_ext_RW0_wmode, // <no_sram>
+  output [31:0] data_arrays_0_ext_RW0_wdata, // <no_sram>
+  input  [31:0] data_arrays_0_ext_RW0_rdata, // <no_sram>
+  output [3:0]  data_arrays_0_ext_RW0_wmask, // <no_sram>
+  output [6:0]  tag_array_0_ext_RW0_addr, // <no_sram>
+  output        tag_array_0_ext_RW0_en, // <no_sram>
+  output        tag_array_0_ext_RW0_clk, // <no_sram>
+  output        tag_array_0_ext_RW0_wmode, // <no_sram>
+  output [37:0] tag_array_0_ext_RW0_wdata, // <no_sram>
+  input  [37:0] tag_array_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  tag_array_0_ext_RW0_wmask, // <no_sram>
+  output [10:0] data_arrays_0_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_wmode, // <no_sram>
+  output [63:0] data_arrays_0_0_ext_RW0_wdata, // <no_sram>
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  data_arrays_0_0_ext_RW0_wmask // <no_sram>
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+`endif // RANDOMIZE_REG_INIT
+  wire  ibus_auto_int_bus_int_in_14_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_13_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_12_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_12_1; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_12_2; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_12_3; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_11_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_11_1; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_11_2; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_11_3; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_10_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_10_1; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_10_2; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_10_3; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_1; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_2; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_3; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_4; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_5; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_6; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_7; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_8; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_9; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_10; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_11; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_12; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_13; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_14; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_15; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_16; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_17; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_18; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_19; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_20; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_21; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_22; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_23; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_24; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_25; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_26; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_27; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_28; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_29; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_30; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_9_31; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_8_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_7_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_6_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_5_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_4_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_3_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_2_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_1_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_0_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_in_0_1; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_0; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_1; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_2; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_3; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_4; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_5; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_6; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_7; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_8; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_9; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_10; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_11; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_12; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_13; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_14; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_15; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_16; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_17; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_18; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_19; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_20; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_21; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_22; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_23; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_24; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_25; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_26; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_27; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_28; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_29; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_30; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_31; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_32; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_33; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_34; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_35; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_36; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_37; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_38; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_39; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_40; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_41; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_42; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_43; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_44; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_45; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_46; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_47; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_48; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_49; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_50; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_51; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_52; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_53; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_54; // @[BaseSubsystem.scala 50:24]
+  wire  ibus_auto_int_bus_int_out_55; // @[BaseSubsystem.scala 50:24]
+  wire  dummyClockGroupSourceNode_clock; // @[ClockGroup.scala 79:81]
+  wire  dummyClockGroupSourceNode_reset; // @[ClockGroup.scala 79:81]
+  wire  dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_5_clock; // @[ClockGroup.scala 79:81]
+  wire  dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_5_reset; // @[ClockGroup.scala 79:81]
+  wire  dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_4_clock; // @[ClockGroup.scala 79:81]
+  wire  dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_4_reset; // @[ClockGroup.scala 79:81]
+  wire  dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_3_clock; // @[ClockGroup.scala 79:81]
+  wire  dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_3_reset; // @[ClockGroup.scala 79:81]
+  wire  dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_2_clock; // @[ClockGroup.scala 79:81]
+  wire  dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_2_reset; // @[ClockGroup.scala 79:81]
+  wire  dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_1_clock; // @[ClockGroup.scala 79:81]
+  wire  dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_1_reset; // @[ClockGroup.scala 79:81]
+  wire  dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_0_clock; // @[ClockGroup.scala 79:81]
+  wire  dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_0_reset; // @[ClockGroup.scala 79:81]
+  wire  subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_ready; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_valid; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_opcode; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_param; // @[SystemBus.scala 24:26]
+  wire [3:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_size; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_source; // @[SystemBus.scala 24:26]
+  wire [30:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_address; // @[SystemBus.scala 24:26]
+  wire [3:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_mask; // @[SystemBus.scala 24:26]
+  wire [31:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_data; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_corrupt; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_b_ready; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_b_valid; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_b_bits_param; // @[SystemBus.scala 24:26]
+  wire [30:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_b_bits_address; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_ready; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_valid; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_opcode; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_param; // @[SystemBus.scala 24:26]
+  wire [3:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_size; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_source; // @[SystemBus.scala 24:26]
+  wire [30:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_address; // @[SystemBus.scala 24:26]
+  wire [31:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_data; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_corrupt; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_ready; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_valid; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_opcode; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_param; // @[SystemBus.scala 24:26]
+  wire [3:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_size; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_source; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_sink; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_denied; // @[SystemBus.scala 24:26]
+  wire [31:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_data; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_corrupt; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_e_valid; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_e_bits_sink; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_ready; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_valid; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_opcode; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_param; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_size; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_source; // @[SystemBus.scala 24:26]
+  wire [30:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_address; // @[SystemBus.scala 24:26]
+  wire [3:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_mask; // @[SystemBus.scala 24:26]
+  wire [31:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_data; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_corrupt; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_b_ready; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_b_valid; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_b_bits_param; // @[SystemBus.scala 24:26]
+  wire [30:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_b_bits_address; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_ready; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_valid; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_opcode; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_param; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_size; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_source; // @[SystemBus.scala 24:26]
+  wire [30:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_address; // @[SystemBus.scala 24:26]
+  wire [31:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_data; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_corrupt; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_ready; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_valid; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_opcode; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_param; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_size; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_source; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_sink; // @[SystemBus.scala 24:26]
+  wire [31:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_data; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_e_valid; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_e_bits_sink; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_ready; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_valid; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_opcode; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_param; // @[SystemBus.scala 24:26]
+  wire [3:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_size; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_source; // @[SystemBus.scala 24:26]
+  wire [29:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_address; // @[SystemBus.scala 24:26]
+  wire [3:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_mask; // @[SystemBus.scala 24:26]
+  wire [31:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_data; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_corrupt; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_ready; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_valid; // @[SystemBus.scala 24:26]
+  wire [2:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_opcode; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_param; // @[SystemBus.scala 24:26]
+  wire [3:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_size; // @[SystemBus.scala 24:26]
+  wire [1:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_source; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_sink; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_denied; // @[SystemBus.scala 24:26]
+  wire [31:0] subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_data; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_corrupt; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_fixedClockNode_out_1_clock; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_fixedClockNode_out_1_reset; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_5_clock; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_5_reset; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_4_clock; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_4_reset; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_3_clock; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_3_reset; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_2_clock; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_2_reset; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_1_clock; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_1_reset; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_0_clock; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_0_reset; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_1_clock; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_1_reset; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_0_clock; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_0_reset; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_out_1_member_subsystem_fbus_0_clock; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_out_1_member_subsystem_fbus_0_reset; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_1_clock; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_1_reset; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_0_clock; // @[SystemBus.scala 24:26]
+  wire  subsystem_sbus_auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_0_reset; // @[SystemBus.scala 24:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [28:0] subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [28:0] subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [28:0] subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [28:0] subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [28:0] subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [28:0] subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [28:0] subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [28:0] subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [8:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [29:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [8:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [7:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [28:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [28:0] subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [28:0] subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [28:0] subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [28:0] subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [28:0] subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_13_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_13_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_12_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_12_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_11_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_11_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_10_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_10_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_9_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_9_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_8_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_8_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_7_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_7_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_6_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_6_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_5_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_5_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_4_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_4_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_3_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_3_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_2_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_2_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_1_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_1_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_0_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_fixedClockNode_out_0_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_subsystem_pbus_clock_groups_in_member_subsystem_pbus_0_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_subsystem_pbus_clock_groups_in_member_subsystem_pbus_0_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_bus_xing_in_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_bus_xing_in_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_bus_xing_in_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_bus_xing_in_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_bus_xing_in_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_bus_xing_in_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [29:0] subsystem_pbus_auto_bus_xing_in_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_pbus_auto_bus_xing_in_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_bus_xing_in_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_bus_xing_in_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_bus_xing_in_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_bus_xing_in_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_bus_xing_in_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_bus_xing_in_d_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_pbus_auto_bus_xing_in_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_pbus_auto_bus_xing_in_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_bus_xing_in_d_bits_sink; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_bus_xing_in_d_bits_denied; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_pbus_auto_bus_xing_in_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_pbus_auto_bus_xing_in_d_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_fbus_auto_subsystem_fbus_clock_groups_in_member_subsystem_fbus_0_clock; // @[FrontBus.scala 22:26]
+  wire  subsystem_fbus_auto_subsystem_fbus_clock_groups_in_member_subsystem_fbus_0_reset; // @[FrontBus.scala 22:26]
+  wire  subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [16:0] subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_source; // @[PeripheryBus.scala 31:26]
+  wire [28:0] subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_a_ridx; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_a_widx; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_a_safe_ridx_valid; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_a_safe_widx_valid; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_a_safe_source_reset_n; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_a_safe_sink_reset_n; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_source; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_sink; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_denied; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_d_ridx; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_d_widx; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_d_safe_ridx_valid; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_d_safe_widx_valid; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_d_safe_source_reset_n; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_aon_asource_out_d_safe_sink_reset_n; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [27:0] subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_sink; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_denied; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [11:0] subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [25:0] subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [27:0] subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [6:0] subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [29:0] subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_sink; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_denied; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_fixedClockNode_out_2_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_fixedClockNode_out_2_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_fixedClockNode_out_0_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_fixedClockNode_out_0_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_1_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_1_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_0_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_0_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_subsystem_cbus_clock_groups_out_member_subsystem_pbus_0_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_subsystem_cbus_clock_groups_out_member_subsystem_pbus_0_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_bus_xing_in_a_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_bus_xing_in_a_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_bus_xing_in_a_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_bus_xing_in_a_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_cbus_auto_bus_xing_in_a_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_bus_xing_in_a_bits_source; // @[PeripheryBus.scala 31:26]
+  wire [29:0] subsystem_cbus_auto_bus_xing_in_a_bits_address; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_cbus_auto_bus_xing_in_a_bits_mask; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_cbus_auto_bus_xing_in_a_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_bus_xing_in_a_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_bus_xing_in_d_ready; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_bus_xing_in_d_valid; // @[PeripheryBus.scala 31:26]
+  wire [2:0] subsystem_cbus_auto_bus_xing_in_d_bits_opcode; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_bus_xing_in_d_bits_param; // @[PeripheryBus.scala 31:26]
+  wire [3:0] subsystem_cbus_auto_bus_xing_in_d_bits_size; // @[PeripheryBus.scala 31:26]
+  wire [1:0] subsystem_cbus_auto_bus_xing_in_d_bits_source; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_bus_xing_in_d_bits_sink; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_bus_xing_in_d_bits_denied; // @[PeripheryBus.scala 31:26]
+  wire [31:0] subsystem_cbus_auto_bus_xing_in_d_bits_data; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_auto_bus_xing_in_d_bits_corrupt; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_clock; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_cbus_reset; // @[PeripheryBus.scala 31:26]
+  wire  subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_ready; // @[MemoryBus.scala 25:26]
+  wire  subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_valid; // @[MemoryBus.scala 25:26]
+  wire [2:0] subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_opcode; // @[MemoryBus.scala 25:26]
+  wire [2:0] subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_param; // @[MemoryBus.scala 25:26]
+  wire  subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_size; // @[MemoryBus.scala 25:26]
+  wire [10:0] subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_source; // @[MemoryBus.scala 25:26]
+  wire [30:0] subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_address; // @[MemoryBus.scala 25:26]
+  wire  subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_mask; // @[MemoryBus.scala 25:26]
+  wire [7:0] subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_data; // @[MemoryBus.scala 25:26]
+  wire  subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_corrupt; // @[MemoryBus.scala 25:26]
+  wire  subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_ready; // @[MemoryBus.scala 25:26]
+  wire  subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_valid; // @[MemoryBus.scala 25:26]
+  wire [2:0] subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_opcode; // @[MemoryBus.scala 25:26]
+  wire  subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_size; // @[MemoryBus.scala 25:26]
+  wire [10:0] subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_source; // @[MemoryBus.scala 25:26]
+  wire [7:0] subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_data; // @[MemoryBus.scala 25:26]
+  wire  subsystem_mbus_auto_subsystem_mbus_clock_groups_in_member_subsystem_mbus_0_clock; // @[MemoryBus.scala 25:26]
+  wire  subsystem_mbus_auto_subsystem_mbus_clock_groups_in_member_subsystem_mbus_0_reset; // @[MemoryBus.scala 25:26]
+  wire  subsystem_mbus_auto_bus_xing_in_a_ready; // @[MemoryBus.scala 25:26]
+  wire  subsystem_mbus_auto_bus_xing_in_a_valid; // @[MemoryBus.scala 25:26]
+  wire [2:0] subsystem_mbus_auto_bus_xing_in_a_bits_opcode; // @[MemoryBus.scala 25:26]
+  wire [2:0] subsystem_mbus_auto_bus_xing_in_a_bits_param; // @[MemoryBus.scala 25:26]
+  wire [2:0] subsystem_mbus_auto_bus_xing_in_a_bits_size; // @[MemoryBus.scala 25:26]
+  wire [3:0] subsystem_mbus_auto_bus_xing_in_a_bits_source; // @[MemoryBus.scala 25:26]
+  wire [30:0] subsystem_mbus_auto_bus_xing_in_a_bits_address; // @[MemoryBus.scala 25:26]
+  wire [3:0] subsystem_mbus_auto_bus_xing_in_a_bits_mask; // @[MemoryBus.scala 25:26]
+  wire [31:0] subsystem_mbus_auto_bus_xing_in_a_bits_data; // @[MemoryBus.scala 25:26]
+  wire  subsystem_mbus_auto_bus_xing_in_d_ready; // @[MemoryBus.scala 25:26]
+  wire  subsystem_mbus_auto_bus_xing_in_d_valid; // @[MemoryBus.scala 25:26]
+  wire [2:0] subsystem_mbus_auto_bus_xing_in_d_bits_opcode; // @[MemoryBus.scala 25:26]
+  wire [2:0] subsystem_mbus_auto_bus_xing_in_d_bits_size; // @[MemoryBus.scala 25:26]
+  wire [3:0] subsystem_mbus_auto_bus_xing_in_d_bits_source; // @[MemoryBus.scala 25:26]
+  wire [31:0] subsystem_mbus_auto_bus_xing_in_d_bits_data; // @[MemoryBus.scala 25:26]
+  wire  subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_ready; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_valid; // @[BankedL2Params.scala 47:31]
+  wire [2:0] subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_opcode; // @[BankedL2Params.scala 47:31]
+  wire [2:0] subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_param; // @[BankedL2Params.scala 47:31]
+  wire [2:0] subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_size; // @[BankedL2Params.scala 47:31]
+  wire [3:0] subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_source; // @[BankedL2Params.scala 47:31]
+  wire [30:0] subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_address; // @[BankedL2Params.scala 47:31]
+  wire [3:0] subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_mask; // @[BankedL2Params.scala 47:31]
+  wire [31:0] subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_data; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_ready; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_valid; // @[BankedL2Params.scala 47:31]
+  wire [2:0] subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_opcode; // @[BankedL2Params.scala 47:31]
+  wire [2:0] subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_size; // @[BankedL2Params.scala 47:31]
+  wire [3:0] subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_source; // @[BankedL2Params.scala 47:31]
+  wire [31:0] subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_data; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_coherent_jbar_in_a_ready; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_coherent_jbar_in_a_valid; // @[BankedL2Params.scala 47:31]
+  wire [2:0] subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_opcode; // @[BankedL2Params.scala 47:31]
+  wire [2:0] subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_param; // @[BankedL2Params.scala 47:31]
+  wire [2:0] subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_size; // @[BankedL2Params.scala 47:31]
+  wire [1:0] subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_source; // @[BankedL2Params.scala 47:31]
+  wire [30:0] subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_address; // @[BankedL2Params.scala 47:31]
+  wire [3:0] subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_mask; // @[BankedL2Params.scala 47:31]
+  wire [31:0] subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_data; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_corrupt; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_coherent_jbar_in_b_ready; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_coherent_jbar_in_b_valid; // @[BankedL2Params.scala 47:31]
+  wire [1:0] subsystem_l2_wrapper_auto_coherent_jbar_in_b_bits_param; // @[BankedL2Params.scala 47:31]
+  wire [30:0] subsystem_l2_wrapper_auto_coherent_jbar_in_b_bits_address; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_coherent_jbar_in_c_ready; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_coherent_jbar_in_c_valid; // @[BankedL2Params.scala 47:31]
+  wire [2:0] subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_opcode; // @[BankedL2Params.scala 47:31]
+  wire [2:0] subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_param; // @[BankedL2Params.scala 47:31]
+  wire [2:0] subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_size; // @[BankedL2Params.scala 47:31]
+  wire [1:0] subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_source; // @[BankedL2Params.scala 47:31]
+  wire [30:0] subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_address; // @[BankedL2Params.scala 47:31]
+  wire [31:0] subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_data; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_corrupt; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_coherent_jbar_in_d_ready; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_coherent_jbar_in_d_valid; // @[BankedL2Params.scala 47:31]
+  wire [2:0] subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_opcode; // @[BankedL2Params.scala 47:31]
+  wire [1:0] subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_param; // @[BankedL2Params.scala 47:31]
+  wire [2:0] subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_size; // @[BankedL2Params.scala 47:31]
+  wire [1:0] subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_source; // @[BankedL2Params.scala 47:31]
+  wire [1:0] subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_sink; // @[BankedL2Params.scala 47:31]
+  wire [31:0] subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_data; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_coherent_jbar_in_e_valid; // @[BankedL2Params.scala 47:31]
+  wire [1:0] subsystem_l2_wrapper_auto_coherent_jbar_in_e_bits_sink; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_in_member_subsystem_l2_1_clock; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_in_member_subsystem_l2_1_reset; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_in_member_subsystem_l2_0_clock; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_in_member_subsystem_l2_0_reset; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_out_member_subsystem_mbus_0_clock; // @[BankedL2Params.scala 47:31]
+  wire  subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_out_member_subsystem_mbus_0_reset; // @[BankedL2Params.scala 47:31]
+  wire  tile_prci_domain_auto_intsink_in_sync_0; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tile_reset_domain_tile_hartid_in; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_int_out_clock_xing_out_2_sync_0; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_int_out_clock_xing_out_1_sync_0; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_int_out_clock_xing_out_0_sync_0; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_int_in_clock_xing_in_2_sync_0; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_int_in_clock_xing_in_1_sync_0; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_int_in_clock_xing_in_0_sync_0; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_int_in_clock_xing_in_0_sync_1; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_slave_clock_xing_in_a_ready; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_slave_clock_xing_in_a_valid; // @[HasTiles.scala 252:38]
+  wire [2:0] tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_opcode; // @[HasTiles.scala 252:38]
+  wire [2:0] tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_param; // @[HasTiles.scala 252:38]
+  wire [2:0] tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_size; // @[HasTiles.scala 252:38]
+  wire [1:0] tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_source; // @[HasTiles.scala 252:38]
+  wire [27:0] tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_address; // @[HasTiles.scala 252:38]
+  wire [3:0] tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_mask; // @[HasTiles.scala 252:38]
+  wire [31:0] tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_data; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_corrupt; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_slave_clock_xing_in_d_ready; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_slave_clock_xing_in_d_valid; // @[HasTiles.scala 252:38]
+  wire [2:0] tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_opcode; // @[HasTiles.scala 252:38]
+  wire [1:0] tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_param; // @[HasTiles.scala 252:38]
+  wire [2:0] tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_size; // @[HasTiles.scala 252:38]
+  wire [1:0] tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_source; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_sink; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_denied; // @[HasTiles.scala 252:38]
+  wire [31:0] tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_data; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_corrupt; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_master_clock_xing_out_a_ready; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_master_clock_xing_out_a_valid; // @[HasTiles.scala 252:38]
+  wire [2:0] tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_opcode; // @[HasTiles.scala 252:38]
+  wire [2:0] tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_param; // @[HasTiles.scala 252:38]
+  wire [3:0] tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_size; // @[HasTiles.scala 252:38]
+  wire [1:0] tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_source; // @[HasTiles.scala 252:38]
+  wire [30:0] tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_address; // @[HasTiles.scala 252:38]
+  wire [3:0] tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_mask; // @[HasTiles.scala 252:38]
+  wire [31:0] tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_data; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_corrupt; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_master_clock_xing_out_b_ready; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_master_clock_xing_out_b_valid; // @[HasTiles.scala 252:38]
+  wire [1:0] tile_prci_domain_auto_tl_master_clock_xing_out_b_bits_param; // @[HasTiles.scala 252:38]
+  wire [30:0] tile_prci_domain_auto_tl_master_clock_xing_out_b_bits_address; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_master_clock_xing_out_c_ready; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_master_clock_xing_out_c_valid; // @[HasTiles.scala 252:38]
+  wire [2:0] tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_opcode; // @[HasTiles.scala 252:38]
+  wire [2:0] tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_param; // @[HasTiles.scala 252:38]
+  wire [3:0] tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_size; // @[HasTiles.scala 252:38]
+  wire [1:0] tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_source; // @[HasTiles.scala 252:38]
+  wire [30:0] tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_address; // @[HasTiles.scala 252:38]
+  wire [31:0] tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_data; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_corrupt; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_master_clock_xing_out_d_ready; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_master_clock_xing_out_d_valid; // @[HasTiles.scala 252:38]
+  wire [2:0] tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_opcode; // @[HasTiles.scala 252:38]
+  wire [1:0] tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_param; // @[HasTiles.scala 252:38]
+  wire [3:0] tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_size; // @[HasTiles.scala 252:38]
+  wire [1:0] tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_source; // @[HasTiles.scala 252:38]
+  wire [1:0] tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_sink; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_denied; // @[HasTiles.scala 252:38]
+  wire [31:0] tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_data; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_corrupt; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tl_master_clock_xing_out_e_valid; // @[HasTiles.scala 252:38]
+  wire [1:0] tile_prci_domain_auto_tl_master_clock_xing_out_e_bits_sink; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tap_clock_in_clock; // @[HasTiles.scala 252:38]
+  wire  tile_prci_domain_auto_tap_clock_in_reset; // @[HasTiles.scala 252:38]
+  wire  plicDomainWrapper_auto_plic_int_in_0; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_1; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_2; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_3; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_4; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_5; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_6; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_7; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_8; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_9; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_10; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_11; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_12; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_13; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_14; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_15; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_16; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_17; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_18; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_19; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_20; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_21; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_22; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_23; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_24; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_25; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_26; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_27; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_28; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_29; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_30; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_31; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_32; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_33; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_34; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_35; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_36; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_37; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_38; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_39; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_40; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_41; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_42; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_43; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_44; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_45; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_46; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_47; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_48; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_49; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_50; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_51; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_52; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_53; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_54; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_in_55; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_out_1_0; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_int_out_0_0; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_in_a_ready; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_in_a_valid; // @[Plic.scala 359:39]
+  wire [2:0] plicDomainWrapper_auto_plic_in_a_bits_opcode; // @[Plic.scala 359:39]
+  wire [2:0] plicDomainWrapper_auto_plic_in_a_bits_param; // @[Plic.scala 359:39]
+  wire [1:0] plicDomainWrapper_auto_plic_in_a_bits_size; // @[Plic.scala 359:39]
+  wire [6:0] plicDomainWrapper_auto_plic_in_a_bits_source; // @[Plic.scala 359:39]
+  wire [27:0] plicDomainWrapper_auto_plic_in_a_bits_address; // @[Plic.scala 359:39]
+  wire [3:0] plicDomainWrapper_auto_plic_in_a_bits_mask; // @[Plic.scala 359:39]
+  wire [31:0] plicDomainWrapper_auto_plic_in_a_bits_data; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_in_a_bits_corrupt; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_in_d_ready; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_plic_in_d_valid; // @[Plic.scala 359:39]
+  wire [2:0] plicDomainWrapper_auto_plic_in_d_bits_opcode; // @[Plic.scala 359:39]
+  wire [1:0] plicDomainWrapper_auto_plic_in_d_bits_size; // @[Plic.scala 359:39]
+  wire [6:0] plicDomainWrapper_auto_plic_in_d_bits_source; // @[Plic.scala 359:39]
+  wire [31:0] plicDomainWrapper_auto_plic_in_d_bits_data; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_clock_in_clock; // @[Plic.scala 359:39]
+  wire  plicDomainWrapper_auto_clock_in_reset; // @[Plic.scala 359:39]
+  wire  clint_clock; // @[CLINT.scala 109:27]
+  wire  clint_reset; // @[CLINT.scala 109:27]
+  wire  clint_auto_int_out_0; // @[CLINT.scala 109:27]
+  wire  clint_auto_int_out_1; // @[CLINT.scala 109:27]
+  wire  clint_auto_in_a_ready; // @[CLINT.scala 109:27]
+  wire  clint_auto_in_a_valid; // @[CLINT.scala 109:27]
+  wire [2:0] clint_auto_in_a_bits_opcode; // @[CLINT.scala 109:27]
+  wire [2:0] clint_auto_in_a_bits_param; // @[CLINT.scala 109:27]
+  wire [1:0] clint_auto_in_a_bits_size; // @[CLINT.scala 109:27]
+  wire [6:0] clint_auto_in_a_bits_source; // @[CLINT.scala 109:27]
+  wire [25:0] clint_auto_in_a_bits_address; // @[CLINT.scala 109:27]
+  wire [3:0] clint_auto_in_a_bits_mask; // @[CLINT.scala 109:27]
+  wire [31:0] clint_auto_in_a_bits_data; // @[CLINT.scala 109:27]
+  wire  clint_auto_in_a_bits_corrupt; // @[CLINT.scala 109:27]
+  wire  clint_auto_in_d_ready; // @[CLINT.scala 109:27]
+  wire  clint_auto_in_d_valid; // @[CLINT.scala 109:27]
+  wire [2:0] clint_auto_in_d_bits_opcode; // @[CLINT.scala 109:27]
+  wire [1:0] clint_auto_in_d_bits_size; // @[CLINT.scala 109:27]
+  wire [6:0] clint_auto_in_d_bits_source; // @[CLINT.scala 109:27]
+  wire [31:0] clint_auto_in_d_bits_data; // @[CLINT.scala 109:27]
+  wire  clint_io_rtcTick; // @[CLINT.scala 109:27]
+  wire  debug_1_auto_dmInner_dmInner_tl_in_a_ready; // @[Periphery.scala 84:27]
+  wire  debug_1_auto_dmInner_dmInner_tl_in_a_valid; // @[Periphery.scala 84:27]
+  wire [2:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_opcode; // @[Periphery.scala 84:27]
+  wire [2:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_param; // @[Periphery.scala 84:27]
+  wire [1:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_size; // @[Periphery.scala 84:27]
+  wire [6:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_source; // @[Periphery.scala 84:27]
+  wire [11:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_address; // @[Periphery.scala 84:27]
+  wire [3:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_mask; // @[Periphery.scala 84:27]
+  wire [31:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_data; // @[Periphery.scala 84:27]
+  wire  debug_1_auto_dmInner_dmInner_tl_in_a_bits_corrupt; // @[Periphery.scala 84:27]
+  wire  debug_1_auto_dmInner_dmInner_tl_in_d_ready; // @[Periphery.scala 84:27]
+  wire  debug_1_auto_dmInner_dmInner_tl_in_d_valid; // @[Periphery.scala 84:27]
+  wire [2:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_opcode; // @[Periphery.scala 84:27]
+  wire [1:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_size; // @[Periphery.scala 84:27]
+  wire [6:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_source; // @[Periphery.scala 84:27]
+  wire [31:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_data; // @[Periphery.scala 84:27]
+  wire  debug_1_auto_dmOuter_intsource_out_sync_0; // @[Periphery.scala 84:27]
+  wire  debug_1_io_debug_clock; // @[Periphery.scala 84:27]
+  wire  debug_1_io_ctrl_ndreset; // @[Periphery.scala 84:27]
+  wire  debug_1_io_dmi_dmi_req_ready; // @[Periphery.scala 84:27]
+  wire  debug_1_io_dmi_dmi_req_valid; // @[Periphery.scala 84:27]
+  wire [6:0] debug_1_io_dmi_dmi_req_bits_addr; // @[Periphery.scala 84:27]
+  wire [31:0] debug_1_io_dmi_dmi_req_bits_data; // @[Periphery.scala 84:27]
+  wire [1:0] debug_1_io_dmi_dmi_req_bits_op; // @[Periphery.scala 84:27]
+  wire  debug_1_io_dmi_dmi_resp_ready; // @[Periphery.scala 84:27]
+  wire  debug_1_io_dmi_dmi_resp_valid; // @[Periphery.scala 84:27]
+  wire [31:0] debug_1_io_dmi_dmi_resp_bits_data; // @[Periphery.scala 84:27]
+  wire [1:0] debug_1_io_dmi_dmi_resp_bits_resp; // @[Periphery.scala 84:27]
+  wire  debug_1_io_dmi_dmiClock; // @[Periphery.scala 84:27]
+  wire  debug_1_io_dmi_dmiReset; // @[Periphery.scala 84:27]
+  wire  tileHartIdNexusNode_auto_out; // @[HasTiles.scala 159:39]
+  wire  intsource_clock; // @[Crossing.scala 26:31]
+  wire  intsource_reset; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_in_1; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  intsource_auto_out_sync_1; // @[Crossing.scala 26:31]
+  wire  intsource_1_clock; // @[Crossing.scala 26:31]
+  wire  intsource_1_reset; // @[Crossing.scala 26:31]
+  wire  intsource_1_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_1_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  intsource_2_clock; // @[Crossing.scala 26:31]
+  wire  intsource_2_reset; // @[Crossing.scala 26:31]
+  wire  intsource_2_auto_in_0; // @[Crossing.scala 26:31]
+  wire  intsource_2_auto_out_sync_0; // @[Crossing.scala 26:31]
+  wire  intsink_1_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_1_auto_out_0; // @[Crossing.scala 94:29]
+  wire  intsink_2_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_2_auto_out_0; // @[Crossing.scala 94:29]
+  wire  intsink_3_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_3_auto_out_0; // @[Crossing.scala 94:29]
+  wire  aon_1_auto_intsource_out_sync_0; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_intsource_out_sync_1; // @[MockAONPeriphery.scala 21:23]
+  wire [2:0] aon_1_auto_isolation_in_a_mem_0_opcode; // @[MockAONPeriphery.scala 21:23]
+  wire [2:0] aon_1_auto_isolation_in_a_mem_0_param; // @[MockAONPeriphery.scala 21:23]
+  wire [1:0] aon_1_auto_isolation_in_a_mem_0_size; // @[MockAONPeriphery.scala 21:23]
+  wire [6:0] aon_1_auto_isolation_in_a_mem_0_source; // @[MockAONPeriphery.scala 21:23]
+  wire [28:0] aon_1_auto_isolation_in_a_mem_0_address; // @[MockAONPeriphery.scala 21:23]
+  wire [3:0] aon_1_auto_isolation_in_a_mem_0_mask; // @[MockAONPeriphery.scala 21:23]
+  wire [31:0] aon_1_auto_isolation_in_a_mem_0_data; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_a_mem_0_corrupt; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_a_ridx; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_a_widx; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_a_safe_ridx_valid; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_a_safe_widx_valid; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_a_safe_source_reset_n; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_a_safe_sink_reset_n; // @[MockAONPeriphery.scala 21:23]
+  wire [2:0] aon_1_auto_isolation_in_d_mem_0_opcode; // @[MockAONPeriphery.scala 21:23]
+  wire [1:0] aon_1_auto_isolation_in_d_mem_0_param; // @[MockAONPeriphery.scala 21:23]
+  wire [1:0] aon_1_auto_isolation_in_d_mem_0_size; // @[MockAONPeriphery.scala 21:23]
+  wire [6:0] aon_1_auto_isolation_in_d_mem_0_source; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_d_mem_0_sink; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_d_mem_0_denied; // @[MockAONPeriphery.scala 21:23]
+  wire [31:0] aon_1_auto_isolation_in_d_mem_0_data; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_d_mem_0_corrupt; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_d_ridx; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_d_widx; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_d_safe_ridx_valid; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_d_safe_widx_valid; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_d_safe_source_reset_n; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_auto_isolation_in_d_safe_sink_reset_n; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_io_pins_erst_n_i_ival; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_io_pins_lfextclk_i_ival; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_io_rsts_corerst; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_io_rtc; // @[MockAONPeriphery.scala 21:23]
+  wire  aon_1_io_ndreset; // @[MockAONPeriphery.scala 21:23]
+  wire  intsink_4_clock; // @[Crossing.scala 74:29]
+  wire  intsink_4_auto_in_sync_0; // @[Crossing.scala 74:29]
+  wire  intsink_4_auto_in_sync_1; // @[Crossing.scala 74:29]
+  wire  intsink_4_auto_out_0; // @[Crossing.scala 74:29]
+  wire  intsink_4_auto_out_1; // @[Crossing.scala 74:29]
+  wire  uartClockDomainWrapper_auto_uart_0_int_xing_out_sync_0; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_auto_uart_0_control_xing_in_a_ready; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_auto_uart_0_control_xing_in_a_valid; // @[UART.scala 242:44]
+  wire [2:0] uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_opcode; // @[UART.scala 242:44]
+  wire [2:0] uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_param; // @[UART.scala 242:44]
+  wire [1:0] uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_size; // @[UART.scala 242:44]
+  wire [6:0] uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_source; // @[UART.scala 242:44]
+  wire [28:0] uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_address; // @[UART.scala 242:44]
+  wire [3:0] uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_mask; // @[UART.scala 242:44]
+  wire [31:0] uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_data; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_corrupt; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_auto_uart_0_control_xing_in_d_ready; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_auto_uart_0_control_xing_in_d_valid; // @[UART.scala 242:44]
+  wire [2:0] uartClockDomainWrapper_auto_uart_0_control_xing_in_d_bits_opcode; // @[UART.scala 242:44]
+  wire [1:0] uartClockDomainWrapper_auto_uart_0_control_xing_in_d_bits_size; // @[UART.scala 242:44]
+  wire [6:0] uartClockDomainWrapper_auto_uart_0_control_xing_in_d_bits_source; // @[UART.scala 242:44]
+  wire [31:0] uartClockDomainWrapper_auto_uart_0_control_xing_in_d_bits_data; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_auto_uart_0_io_out_txd; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_auto_uart_0_io_out_rxd; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_auto_clock_in_clock; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_auto_clock_in_reset; // @[UART.scala 242:44]
+  wire  intsink_5_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_5_auto_out_0; // @[Crossing.scala 94:29]
+  wire  uartClockDomainWrapper_1_auto_uart_1_int_xing_out_sync_0; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_ready; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_valid; // @[UART.scala 242:44]
+  wire [2:0] uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_opcode; // @[UART.scala 242:44]
+  wire [2:0] uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_param; // @[UART.scala 242:44]
+  wire [1:0] uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_size; // @[UART.scala 242:44]
+  wire [6:0] uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_source; // @[UART.scala 242:44]
+  wire [28:0] uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_address; // @[UART.scala 242:44]
+  wire [3:0] uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_mask; // @[UART.scala 242:44]
+  wire [31:0] uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_data; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_corrupt; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_ready; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_valid; // @[UART.scala 242:44]
+  wire [2:0] uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_bits_opcode; // @[UART.scala 242:44]
+  wire [1:0] uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_bits_size; // @[UART.scala 242:44]
+  wire [6:0] uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_bits_source; // @[UART.scala 242:44]
+  wire [31:0] uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_bits_data; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_1_auto_uart_1_io_out_txd; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_1_auto_uart_1_io_out_rxd; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_1_auto_clock_in_clock; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_1_auto_clock_in_reset; // @[UART.scala 242:44]
+  wire  intsink_6_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_6_auto_out_0; // @[Crossing.scala 94:29]
+  wire  uartClockDomainWrapper_2_auto_uart_2_int_xing_out_sync_0; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_ready; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_valid; // @[UART.scala 242:44]
+  wire [2:0] uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_opcode; // @[UART.scala 242:44]
+  wire [2:0] uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_param; // @[UART.scala 242:44]
+  wire [1:0] uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_size; // @[UART.scala 242:44]
+  wire [6:0] uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_source; // @[UART.scala 242:44]
+  wire [28:0] uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_address; // @[UART.scala 242:44]
+  wire [3:0] uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_mask; // @[UART.scala 242:44]
+  wire [31:0] uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_data; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_corrupt; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_ready; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_valid; // @[UART.scala 242:44]
+  wire [2:0] uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_bits_opcode; // @[UART.scala 242:44]
+  wire [1:0] uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_bits_size; // @[UART.scala 242:44]
+  wire [6:0] uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_bits_source; // @[UART.scala 242:44]
+  wire [31:0] uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_bits_data; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_2_auto_uart_2_io_out_txd; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_2_auto_uart_2_io_out_rxd; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_2_auto_clock_in_clock; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_2_auto_clock_in_reset; // @[UART.scala 242:44]
+  wire  intsink_7_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_7_auto_out_0; // @[Crossing.scala 94:29]
+  wire  uartClockDomainWrapper_3_auto_uart_3_int_xing_out_sync_0; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_ready; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_valid; // @[UART.scala 242:44]
+  wire [2:0] uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_opcode; // @[UART.scala 242:44]
+  wire [2:0] uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_param; // @[UART.scala 242:44]
+  wire [1:0] uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_size; // @[UART.scala 242:44]
+  wire [6:0] uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_source; // @[UART.scala 242:44]
+  wire [28:0] uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_address; // @[UART.scala 242:44]
+  wire [3:0] uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_mask; // @[UART.scala 242:44]
+  wire [31:0] uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_data; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_corrupt; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_ready; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_valid; // @[UART.scala 242:44]
+  wire [2:0] uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_bits_opcode; // @[UART.scala 242:44]
+  wire [1:0] uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_bits_size; // @[UART.scala 242:44]
+  wire [6:0] uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_bits_source; // @[UART.scala 242:44]
+  wire [31:0] uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_bits_data; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_3_auto_uart_3_io_out_txd; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_3_auto_uart_3_io_out_rxd; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_3_auto_clock_in_clock; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_3_auto_clock_in_reset; // @[UART.scala 242:44]
+  wire  intsink_8_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_8_auto_out_0; // @[Crossing.scala 94:29]
+  wire  uartClockDomainWrapper_4_auto_uart_4_int_xing_out_sync_0; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_ready; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_valid; // @[UART.scala 242:44]
+  wire [2:0] uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_opcode; // @[UART.scala 242:44]
+  wire [2:0] uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_param; // @[UART.scala 242:44]
+  wire [1:0] uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_size; // @[UART.scala 242:44]
+  wire [6:0] uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_source; // @[UART.scala 242:44]
+  wire [28:0] uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_address; // @[UART.scala 242:44]
+  wire [3:0] uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_mask; // @[UART.scala 242:44]
+  wire [31:0] uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_data; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_corrupt; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_ready; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_valid; // @[UART.scala 242:44]
+  wire [2:0] uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_bits_opcode; // @[UART.scala 242:44]
+  wire [1:0] uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_bits_size; // @[UART.scala 242:44]
+  wire [6:0] uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_bits_source; // @[UART.scala 242:44]
+  wire [31:0] uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_bits_data; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_4_auto_uart_4_io_out_txd; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_4_auto_uart_4_io_out_rxd; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_4_auto_clock_in_clock; // @[UART.scala 242:44]
+  wire  uartClockDomainWrapper_4_auto_clock_in_reset; // @[UART.scala 242:44]
+  wire  intsink_9_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_9_auto_out_0; // @[Crossing.scala 94:29]
+  wire  qspiClockDomainWrapper_auto_qspi_0_int_xing_out_sync_0; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_ready; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_valid; // @[SPI.scala 92:44]
+  wire [2:0] qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_opcode; // @[SPI.scala 92:44]
+  wire [2:0] qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_param; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_size; // @[SPI.scala 92:44]
+  wire [8:0] qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_source; // @[SPI.scala 92:44]
+  wire [29:0] qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_address; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_mask; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_corrupt; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_d_ready; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_d_valid; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_d_bits_size; // @[SPI.scala 92:44]
+  wire [8:0] qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_d_bits_source; // @[SPI.scala 92:44]
+  wire [7:0] qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_d_bits_data; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_ready; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_valid; // @[SPI.scala 92:44]
+  wire [2:0] qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_opcode; // @[SPI.scala 92:44]
+  wire [2:0] qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_param; // @[SPI.scala 92:44]
+  wire [1:0] qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_size; // @[SPI.scala 92:44]
+  wire [6:0] qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_source; // @[SPI.scala 92:44]
+  wire [28:0] qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_address; // @[SPI.scala 92:44]
+  wire [3:0] qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_mask; // @[SPI.scala 92:44]
+  wire [31:0] qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_data; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_corrupt; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_ready; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_valid; // @[SPI.scala 92:44]
+  wire [2:0] qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_bits_opcode; // @[SPI.scala 92:44]
+  wire [1:0] qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_bits_size; // @[SPI.scala 92:44]
+  wire [6:0] qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_bits_source; // @[SPI.scala 92:44]
+  wire [31:0] qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_bits_data; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_io_out_sck; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_io_out_dq_0_i; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_io_out_dq_0_o; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_io_out_dq_0_oe; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_io_out_dq_1_i; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_io_out_dq_1_o; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_io_out_dq_1_oe; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_io_out_dq_2_i; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_io_out_dq_2_o; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_io_out_dq_2_oe; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_io_out_dq_3_i; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_io_out_dq_3_o; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_io_out_dq_3_oe; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_qspi_0_io_out_cs_0; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_clock_in_clock; // @[SPI.scala 92:44]
+  wire  qspiClockDomainWrapper_auto_clock_in_reset; // @[SPI.scala 92:44]
+  wire  intsink_10_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_10_auto_out_0; // @[Crossing.scala 94:29]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_int_xing_out_sync_0; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_ready; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_valid; // @[SPI.scala 39:44]
+  wire [2:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_opcode; // @[SPI.scala 39:44]
+  wire [2:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_param; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_size; // @[SPI.scala 39:44]
+  wire [10:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_source; // @[SPI.scala 39:44]
+  wire [30:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_address; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_mask; // @[SPI.scala 39:44]
+  wire [7:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_data; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_corrupt; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_ready; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_valid; // @[SPI.scala 39:44]
+  wire [2:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_bits_opcode; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_bits_size; // @[SPI.scala 39:44]
+  wire [10:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_bits_source; // @[SPI.scala 39:44]
+  wire [7:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_bits_data; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_ready; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_valid; // @[SPI.scala 39:44]
+  wire [2:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_opcode; // @[SPI.scala 39:44]
+  wire [2:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_param; // @[SPI.scala 39:44]
+  wire [1:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_size; // @[SPI.scala 39:44]
+  wire [6:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_source; // @[SPI.scala 39:44]
+  wire [28:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_address; // @[SPI.scala 39:44]
+  wire [3:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_mask; // @[SPI.scala 39:44]
+  wire [31:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_data; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_corrupt; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_ready; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_valid; // @[SPI.scala 39:44]
+  wire [2:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_bits_opcode; // @[SPI.scala 39:44]
+  wire [1:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_bits_size; // @[SPI.scala 39:44]
+  wire [6:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_bits_source; // @[SPI.scala 39:44]
+  wire [31:0] qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_bits_data; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_sck; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_0_i; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_0_o; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_0_oe; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_1_i; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_1_o; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_1_oe; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_2_i; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_2_o; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_2_oe; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_3_i; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_3_o; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_3_oe; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_cs_0; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_clock_in_clock; // @[SPI.scala 39:44]
+  wire  qspiClockDomainWrapper_1_auto_clock_in_reset; // @[SPI.scala 39:44]
+  wire  intsink_11_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_11_auto_out_0; // @[Crossing.scala 94:29]
+  wire  spiClockDomainWrapper_auto_spi_0_int_xing_out_sync_0; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_control_xing_in_a_ready; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_control_xing_in_a_valid; // @[SPI.scala 35:43]
+  wire [2:0] spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_opcode; // @[SPI.scala 35:43]
+  wire [2:0] spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_param; // @[SPI.scala 35:43]
+  wire [1:0] spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_size; // @[SPI.scala 35:43]
+  wire [6:0] spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_source; // @[SPI.scala 35:43]
+  wire [28:0] spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_address; // @[SPI.scala 35:43]
+  wire [3:0] spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_mask; // @[SPI.scala 35:43]
+  wire [31:0] spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_data; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_corrupt; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_control_xing_in_d_ready; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_control_xing_in_d_valid; // @[SPI.scala 35:43]
+  wire [2:0] spiClockDomainWrapper_auto_spi_0_control_xing_in_d_bits_opcode; // @[SPI.scala 35:43]
+  wire [1:0] spiClockDomainWrapper_auto_spi_0_control_xing_in_d_bits_size; // @[SPI.scala 35:43]
+  wire [6:0] spiClockDomainWrapper_auto_spi_0_control_xing_in_d_bits_source; // @[SPI.scala 35:43]
+  wire [31:0] spiClockDomainWrapper_auto_spi_0_control_xing_in_d_bits_data; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_io_out_sck; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_io_out_dq_0_i; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_io_out_dq_0_o; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_io_out_dq_0_oe; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_io_out_dq_1_i; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_io_out_dq_1_o; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_io_out_dq_1_oe; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_io_out_dq_2_i; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_io_out_dq_2_o; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_io_out_dq_2_oe; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_io_out_dq_3_i; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_io_out_dq_3_o; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_io_out_dq_3_oe; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_io_out_cs_0; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_spi_0_io_out_cs_1; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_clock_in_clock; // @[SPI.scala 35:43]
+  wire  spiClockDomainWrapper_auto_clock_in_reset; // @[SPI.scala 35:43]
+  wire  intsink_12_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_12_auto_out_0; // @[Crossing.scala 94:29]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_0; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_1; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_2; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_3; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_4; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_5; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_6; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_7; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_8; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_9; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_10; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_11; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_12; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_13; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_14; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_15; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_16; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_17; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_18; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_19; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_20; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_21; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_22; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_23; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_24; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_25; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_26; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_27; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_28; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_29; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_30; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_31; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_ready; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_valid; // @[GPIO.scala 281:44]
+  wire [2:0] gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_opcode; // @[GPIO.scala 281:44]
+  wire [2:0] gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_param; // @[GPIO.scala 281:44]
+  wire [1:0] gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_size; // @[GPIO.scala 281:44]
+  wire [6:0] gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_source; // @[GPIO.scala 281:44]
+  wire [28:0] gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_address; // @[GPIO.scala 281:44]
+  wire [3:0] gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_mask; // @[GPIO.scala 281:44]
+  wire [31:0] gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_data; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_corrupt; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_ready; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_valid; // @[GPIO.scala 281:44]
+  wire [2:0] gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_bits_opcode; // @[GPIO.scala 281:44]
+  wire [1:0] gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_bits_size; // @[GPIO.scala 281:44]
+  wire [6:0] gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_bits_source; // @[GPIO.scala 281:44]
+  wire [31:0] gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_bits_data; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_0_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_1_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_2_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_2_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_2_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_2_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_3_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_3_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_3_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_3_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_4_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_4_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_4_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_4_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_5_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_5_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_5_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_5_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_12_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_12_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_13_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_13_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_14_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_14_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_15_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_15_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_16_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_17_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_18_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_19_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_20_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_21_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_22_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_23_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_24_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_12_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_13_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_14_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_15_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_16_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_17_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_18_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_19_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_20_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_21_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_22_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_23_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_0_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_0_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_0_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_0_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_1_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_1_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_1_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_1_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_2_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_2_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_2_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_2_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_3_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_3_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_3_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_3_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_4_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_4_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_4_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_4_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_5_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_5_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_5_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_5_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_6_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_6_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_6_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_7_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_7_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_7_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_8_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_8_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_8_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_9_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_9_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_9_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_10_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_10_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_10_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_11_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_11_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_11_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_12_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_12_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_12_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_12_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_13_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_13_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_13_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_13_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_14_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_14_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_14_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_14_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_15_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_15_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_15_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_15_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_16_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_16_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_16_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_16_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_17_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_17_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_17_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_17_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_18_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_18_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_18_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_18_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_19_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_19_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_19_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_19_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_20_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_20_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_20_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_20_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_21_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_21_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_21_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_21_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_22_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_22_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_22_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_22_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_23_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_23_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_23_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_23_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_24_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_24_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_24_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_24_o_ie; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_25_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_25_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_25_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_26_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_26_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_26_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_27_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_27_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_27_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_28_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_28_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_28_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_29_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_29_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_29_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_30_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_30_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_30_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_31_i_ival; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_31_o_oval; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_gpio_0_io_out_pins_31_o_oe; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_clock_in_clock; // @[GPIO.scala 281:44]
+  wire  gpioClockDomainWrapper_auto_clock_in_reset; // @[GPIO.scala 281:44]
+  wire  intsink_13_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_1; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_2; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_3; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_4; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_5; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_6; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_7; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_8; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_9; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_10; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_11; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_12; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_13; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_14; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_15; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_16; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_17; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_18; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_19; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_20; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_21; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_22; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_23; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_24; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_25; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_26; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_27; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_28; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_29; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_30; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_in_sync_31; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_0; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_1; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_2; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_3; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_4; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_5; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_6; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_7; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_8; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_9; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_10; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_11; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_12; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_13; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_14; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_15; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_16; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_17; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_18; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_19; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_20; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_21; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_22; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_23; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_24; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_25; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_26; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_27; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_28; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_29; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_30; // @[Crossing.scala 94:29]
+  wire  intsink_13_auto_out_31; // @[Crossing.scala 94:29]
+  wire  pwmClockDomainWrapper_auto_pwm_0_int_xing_out_sync_0; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_auto_pwm_0_int_xing_out_sync_1; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_auto_pwm_0_int_xing_out_sync_2; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_auto_pwm_0_int_xing_out_sync_3; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_ready; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_valid; // @[PWM.scala 134:43]
+  wire [2:0] pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_opcode; // @[PWM.scala 134:43]
+  wire [2:0] pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_param; // @[PWM.scala 134:43]
+  wire [1:0] pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_size; // @[PWM.scala 134:43]
+  wire [6:0] pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_source; // @[PWM.scala 134:43]
+  wire [28:0] pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_address; // @[PWM.scala 134:43]
+  wire [3:0] pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_mask; // @[PWM.scala 134:43]
+  wire [31:0] pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_data; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_corrupt; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_ready; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_valid; // @[PWM.scala 134:43]
+  wire [2:0] pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_bits_opcode; // @[PWM.scala 134:43]
+  wire [1:0] pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_bits_size; // @[PWM.scala 134:43]
+  wire [6:0] pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_bits_source; // @[PWM.scala 134:43]
+  wire [31:0] pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_bits_data; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_auto_pwm_0_io_out_gpio_0; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_auto_pwm_0_io_out_gpio_1; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_auto_pwm_0_io_out_gpio_2; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_auto_pwm_0_io_out_gpio_3; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_auto_clock_in_clock; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_auto_clock_in_reset; // @[PWM.scala 134:43]
+  wire  intsink_14_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_14_auto_in_sync_1; // @[Crossing.scala 94:29]
+  wire  intsink_14_auto_in_sync_2; // @[Crossing.scala 94:29]
+  wire  intsink_14_auto_in_sync_3; // @[Crossing.scala 94:29]
+  wire  intsink_14_auto_out_0; // @[Crossing.scala 94:29]
+  wire  intsink_14_auto_out_1; // @[Crossing.scala 94:29]
+  wire  intsink_14_auto_out_2; // @[Crossing.scala 94:29]
+  wire  intsink_14_auto_out_3; // @[Crossing.scala 94:29]
+  wire  pwmClockDomainWrapper_1_auto_pwm_1_int_xing_out_sync_0; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_1_auto_pwm_1_int_xing_out_sync_1; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_1_auto_pwm_1_int_xing_out_sync_2; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_1_auto_pwm_1_int_xing_out_sync_3; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_ready; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_valid; // @[PWM.scala 134:43]
+  wire [2:0] pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_opcode; // @[PWM.scala 134:43]
+  wire [2:0] pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_param; // @[PWM.scala 134:43]
+  wire [1:0] pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_size; // @[PWM.scala 134:43]
+  wire [6:0] pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_source; // @[PWM.scala 134:43]
+  wire [28:0] pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_address; // @[PWM.scala 134:43]
+  wire [3:0] pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_mask; // @[PWM.scala 134:43]
+  wire [31:0] pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_data; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_corrupt; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_ready; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_valid; // @[PWM.scala 134:43]
+  wire [2:0] pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_bits_opcode; // @[PWM.scala 134:43]
+  wire [1:0] pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_bits_size; // @[PWM.scala 134:43]
+  wire [6:0] pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_bits_source; // @[PWM.scala 134:43]
+  wire [31:0] pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_bits_data; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_1_auto_pwm_1_io_out_gpio_0; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_1_auto_pwm_1_io_out_gpio_1; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_1_auto_pwm_1_io_out_gpio_2; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_1_auto_pwm_1_io_out_gpio_3; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_1_auto_clock_in_clock; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_1_auto_clock_in_reset; // @[PWM.scala 134:43]
+  wire  intsink_15_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_15_auto_in_sync_1; // @[Crossing.scala 94:29]
+  wire  intsink_15_auto_in_sync_2; // @[Crossing.scala 94:29]
+  wire  intsink_15_auto_in_sync_3; // @[Crossing.scala 94:29]
+  wire  intsink_15_auto_out_0; // @[Crossing.scala 94:29]
+  wire  intsink_15_auto_out_1; // @[Crossing.scala 94:29]
+  wire  intsink_15_auto_out_2; // @[Crossing.scala 94:29]
+  wire  intsink_15_auto_out_3; // @[Crossing.scala 94:29]
+  wire  pwmClockDomainWrapper_2_auto_pwm_2_int_xing_out_sync_0; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_2_auto_pwm_2_int_xing_out_sync_1; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_2_auto_pwm_2_int_xing_out_sync_2; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_2_auto_pwm_2_int_xing_out_sync_3; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_ready; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_valid; // @[PWM.scala 134:43]
+  wire [2:0] pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_opcode; // @[PWM.scala 134:43]
+  wire [2:0] pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_param; // @[PWM.scala 134:43]
+  wire [1:0] pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_size; // @[PWM.scala 134:43]
+  wire [6:0] pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_source; // @[PWM.scala 134:43]
+  wire [28:0] pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_address; // @[PWM.scala 134:43]
+  wire [3:0] pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_mask; // @[PWM.scala 134:43]
+  wire [31:0] pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_data; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_corrupt; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_ready; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_valid; // @[PWM.scala 134:43]
+  wire [2:0] pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_bits_opcode; // @[PWM.scala 134:43]
+  wire [1:0] pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_bits_size; // @[PWM.scala 134:43]
+  wire [6:0] pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_bits_source; // @[PWM.scala 134:43]
+  wire [31:0] pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_bits_data; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_2_auto_pwm_2_io_out_gpio_0; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_2_auto_pwm_2_io_out_gpio_1; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_2_auto_pwm_2_io_out_gpio_2; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_2_auto_pwm_2_io_out_gpio_3; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_2_auto_clock_in_clock; // @[PWM.scala 134:43]
+  wire  pwmClockDomainWrapper_2_auto_clock_in_reset; // @[PWM.scala 134:43]
+  wire  intsink_16_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_16_auto_in_sync_1; // @[Crossing.scala 94:29]
+  wire  intsink_16_auto_in_sync_2; // @[Crossing.scala 94:29]
+  wire  intsink_16_auto_in_sync_3; // @[Crossing.scala 94:29]
+  wire  intsink_16_auto_out_0; // @[Crossing.scala 94:29]
+  wire  intsink_16_auto_out_1; // @[Crossing.scala 94:29]
+  wire  intsink_16_auto_out_2; // @[Crossing.scala 94:29]
+  wire  intsink_16_auto_out_3; // @[Crossing.scala 94:29]
+  wire  i2cClockDomainWrapper_auto_i2c_0_int_xing_out_sync_0; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_ready; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_valid; // @[I2C.scala 596:43]
+  wire [2:0] i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_opcode; // @[I2C.scala 596:43]
+  wire [2:0] i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_param; // @[I2C.scala 596:43]
+  wire [1:0] i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_size; // @[I2C.scala 596:43]
+  wire [6:0] i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_source; // @[I2C.scala 596:43]
+  wire [28:0] i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_address; // @[I2C.scala 596:43]
+  wire [3:0] i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_mask; // @[I2C.scala 596:43]
+  wire [31:0] i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_data; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_corrupt; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_ready; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_valid; // @[I2C.scala 596:43]
+  wire [2:0] i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_bits_opcode; // @[I2C.scala 596:43]
+  wire [1:0] i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_bits_size; // @[I2C.scala 596:43]
+  wire [6:0] i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_bits_source; // @[I2C.scala 596:43]
+  wire [31:0] i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_bits_data; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_auto_i2c_0_io_out_scl_in; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_auto_i2c_0_io_out_scl_oe; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_auto_i2c_0_io_out_sda_in; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_auto_i2c_0_io_out_sda_oe; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_auto_clock_in_clock; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_auto_clock_in_reset; // @[I2C.scala 596:43]
+  wire  intsink_17_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_17_auto_out_0; // @[Crossing.scala 94:29]
+  wire  i2cClockDomainWrapper_1_auto_i2c_1_int_xing_out_sync_0; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_ready; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_valid; // @[I2C.scala 596:43]
+  wire [2:0] i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_opcode; // @[I2C.scala 596:43]
+  wire [2:0] i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_param; // @[I2C.scala 596:43]
+  wire [1:0] i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_size; // @[I2C.scala 596:43]
+  wire [6:0] i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_source; // @[I2C.scala 596:43]
+  wire [28:0] i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_address; // @[I2C.scala 596:43]
+  wire [3:0] i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_mask; // @[I2C.scala 596:43]
+  wire [31:0] i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_data; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_corrupt; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_ready; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_valid; // @[I2C.scala 596:43]
+  wire [2:0] i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_bits_opcode; // @[I2C.scala 596:43]
+  wire [1:0] i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_bits_size; // @[I2C.scala 596:43]
+  wire [6:0] i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_bits_source; // @[I2C.scala 596:43]
+  wire [31:0] i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_bits_data; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_1_auto_i2c_1_io_out_scl_in; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_1_auto_i2c_1_io_out_scl_oe; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_1_auto_i2c_1_io_out_sda_in; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_1_auto_i2c_1_io_out_sda_oe; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_1_auto_clock_in_clock; // @[I2C.scala 596:43]
+  wire  i2cClockDomainWrapper_1_auto_clock_in_reset; // @[I2C.scala 596:43]
+  wire  intsink_18_auto_in_sync_0; // @[Crossing.scala 94:29]
+  wire  intsink_18_auto_out_0; // @[Crossing.scala 94:29]
+  wire  bootROMDomainWrapper_auto_bootrom_in_a_ready; // @[BootROM.scala 70:42]
+  wire  bootROMDomainWrapper_auto_bootrom_in_a_valid; // @[BootROM.scala 70:42]
+  wire [2:0] bootROMDomainWrapper_auto_bootrom_in_a_bits_opcode; // @[BootROM.scala 70:42]
+  wire [2:0] bootROMDomainWrapper_auto_bootrom_in_a_bits_param; // @[BootROM.scala 70:42]
+  wire [1:0] bootROMDomainWrapper_auto_bootrom_in_a_bits_size; // @[BootROM.scala 70:42]
+  wire [6:0] bootROMDomainWrapper_auto_bootrom_in_a_bits_source; // @[BootROM.scala 70:42]
+  wire [16:0] bootROMDomainWrapper_auto_bootrom_in_a_bits_address; // @[BootROM.scala 70:42]
+  wire [3:0] bootROMDomainWrapper_auto_bootrom_in_a_bits_mask; // @[BootROM.scala 70:42]
+  wire  bootROMDomainWrapper_auto_bootrom_in_a_bits_corrupt; // @[BootROM.scala 70:42]
+  wire  bootROMDomainWrapper_auto_bootrom_in_d_ready; // @[BootROM.scala 70:42]
+  wire  bootROMDomainWrapper_auto_bootrom_in_d_valid; // @[BootROM.scala 70:42]
+  wire [1:0] bootROMDomainWrapper_auto_bootrom_in_d_bits_size; // @[BootROM.scala 70:42]
+  wire [6:0] bootROMDomainWrapper_auto_bootrom_in_d_bits_source; // @[BootROM.scala 70:42]
+  wire [31:0] bootROMDomainWrapper_auto_bootrom_in_d_bits_data; // @[BootROM.scala 70:42]
+  wire  bootROMDomainWrapper_auto_clock_in_clock; // @[BootROM.scala 70:42]
+  wire  bootROMDomainWrapper_auto_clock_in_reset; // @[BootROM.scala 70:42]
+  wire  dtm_io_jtag_clock; // @[Periphery.scala 161:21]
+  wire  dtm_io_jtag_reset; // @[Periphery.scala 161:21]
+  wire  dtm_io_dmi_req_ready; // @[Periphery.scala 161:21]
+  wire  dtm_io_dmi_req_valid; // @[Periphery.scala 161:21]
+  wire [6:0] dtm_io_dmi_req_bits_addr; // @[Periphery.scala 161:21]
+  wire [31:0] dtm_io_dmi_req_bits_data; // @[Periphery.scala 161:21]
+  wire [1:0] dtm_io_dmi_req_bits_op; // @[Periphery.scala 161:21]
+  wire  dtm_io_dmi_resp_ready; // @[Periphery.scala 161:21]
+  wire  dtm_io_dmi_resp_valid; // @[Periphery.scala 161:21]
+  wire [31:0] dtm_io_dmi_resp_bits_data; // @[Periphery.scala 161:21]
+  wire [1:0] dtm_io_dmi_resp_bits_resp; // @[Periphery.scala 161:21]
+  wire  dtm_io_jtag_TMS; // @[Periphery.scala 161:21]
+  wire  dtm_io_jtag_TDI; // @[Periphery.scala 161:21]
+  wire  dtm_io_jtag_TDO_data; // @[Periphery.scala 161:21]
+  wire  dtm_io_jtag_TDO_driven; // @[Periphery.scala 161:21]
+  wire  rtc_sync_rtc_clock; // @[ShiftReg.scala 45:23]
+  wire  rtc_sync_rtc_io_d; // @[ShiftReg.scala 45:23]
+  wire  rtc_sync_rtc_io_q; // @[ShiftReg.scala 45:23]
+  reg  rtc_last; // @[MockAONPeriphery.scala 46:21]
+  wire  rtc_sync = rtc_sync_rtc_io_q; // @[ShiftReg.scala 48:{24,24}]
+  wire  rtc_tick_x2 = rtc_sync & ~rtc_last; // @[MockAONPeriphery.scala 47:57]
+  reg  rtc_tick; // @[MockAONPeriphery.scala 47:21]
+  InterruptBusWrapper ibus ( // @[BaseSubsystem.scala 50:24]
+    .auto_int_bus_int_in_14_0(ibus_auto_int_bus_int_in_14_0),
+    .auto_int_bus_int_in_13_0(ibus_auto_int_bus_int_in_13_0),
+    .auto_int_bus_int_in_12_0(ibus_auto_int_bus_int_in_12_0),
+    .auto_int_bus_int_in_12_1(ibus_auto_int_bus_int_in_12_1),
+    .auto_int_bus_int_in_12_2(ibus_auto_int_bus_int_in_12_2),
+    .auto_int_bus_int_in_12_3(ibus_auto_int_bus_int_in_12_3),
+    .auto_int_bus_int_in_11_0(ibus_auto_int_bus_int_in_11_0),
+    .auto_int_bus_int_in_11_1(ibus_auto_int_bus_int_in_11_1),
+    .auto_int_bus_int_in_11_2(ibus_auto_int_bus_int_in_11_2),
+    .auto_int_bus_int_in_11_3(ibus_auto_int_bus_int_in_11_3),
+    .auto_int_bus_int_in_10_0(ibus_auto_int_bus_int_in_10_0),
+    .auto_int_bus_int_in_10_1(ibus_auto_int_bus_int_in_10_1),
+    .auto_int_bus_int_in_10_2(ibus_auto_int_bus_int_in_10_2),
+    .auto_int_bus_int_in_10_3(ibus_auto_int_bus_int_in_10_3),
+    .auto_int_bus_int_in_9_0(ibus_auto_int_bus_int_in_9_0),
+    .auto_int_bus_int_in_9_1(ibus_auto_int_bus_int_in_9_1),
+    .auto_int_bus_int_in_9_2(ibus_auto_int_bus_int_in_9_2),
+    .auto_int_bus_int_in_9_3(ibus_auto_int_bus_int_in_9_3),
+    .auto_int_bus_int_in_9_4(ibus_auto_int_bus_int_in_9_4),
+    .auto_int_bus_int_in_9_5(ibus_auto_int_bus_int_in_9_5),
+    .auto_int_bus_int_in_9_6(ibus_auto_int_bus_int_in_9_6),
+    .auto_int_bus_int_in_9_7(ibus_auto_int_bus_int_in_9_7),
+    .auto_int_bus_int_in_9_8(ibus_auto_int_bus_int_in_9_8),
+    .auto_int_bus_int_in_9_9(ibus_auto_int_bus_int_in_9_9),
+    .auto_int_bus_int_in_9_10(ibus_auto_int_bus_int_in_9_10),
+    .auto_int_bus_int_in_9_11(ibus_auto_int_bus_int_in_9_11),
+    .auto_int_bus_int_in_9_12(ibus_auto_int_bus_int_in_9_12),
+    .auto_int_bus_int_in_9_13(ibus_auto_int_bus_int_in_9_13),
+    .auto_int_bus_int_in_9_14(ibus_auto_int_bus_int_in_9_14),
+    .auto_int_bus_int_in_9_15(ibus_auto_int_bus_int_in_9_15),
+    .auto_int_bus_int_in_9_16(ibus_auto_int_bus_int_in_9_16),
+    .auto_int_bus_int_in_9_17(ibus_auto_int_bus_int_in_9_17),
+    .auto_int_bus_int_in_9_18(ibus_auto_int_bus_int_in_9_18),
+    .auto_int_bus_int_in_9_19(ibus_auto_int_bus_int_in_9_19),
+    .auto_int_bus_int_in_9_20(ibus_auto_int_bus_int_in_9_20),
+    .auto_int_bus_int_in_9_21(ibus_auto_int_bus_int_in_9_21),
+    .auto_int_bus_int_in_9_22(ibus_auto_int_bus_int_in_9_22),
+    .auto_int_bus_int_in_9_23(ibus_auto_int_bus_int_in_9_23),
+    .auto_int_bus_int_in_9_24(ibus_auto_int_bus_int_in_9_24),
+    .auto_int_bus_int_in_9_25(ibus_auto_int_bus_int_in_9_25),
+    .auto_int_bus_int_in_9_26(ibus_auto_int_bus_int_in_9_26),
+    .auto_int_bus_int_in_9_27(ibus_auto_int_bus_int_in_9_27),
+    .auto_int_bus_int_in_9_28(ibus_auto_int_bus_int_in_9_28),
+    .auto_int_bus_int_in_9_29(ibus_auto_int_bus_int_in_9_29),
+    .auto_int_bus_int_in_9_30(ibus_auto_int_bus_int_in_9_30),
+    .auto_int_bus_int_in_9_31(ibus_auto_int_bus_int_in_9_31),
+    .auto_int_bus_int_in_8_0(ibus_auto_int_bus_int_in_8_0),
+    .auto_int_bus_int_in_7_0(ibus_auto_int_bus_int_in_7_0),
+    .auto_int_bus_int_in_6_0(ibus_auto_int_bus_int_in_6_0),
+    .auto_int_bus_int_in_5_0(ibus_auto_int_bus_int_in_5_0),
+    .auto_int_bus_int_in_4_0(ibus_auto_int_bus_int_in_4_0),
+    .auto_int_bus_int_in_3_0(ibus_auto_int_bus_int_in_3_0),
+    .auto_int_bus_int_in_2_0(ibus_auto_int_bus_int_in_2_0),
+    .auto_int_bus_int_in_1_0(ibus_auto_int_bus_int_in_1_0),
+    .auto_int_bus_int_in_0_0(ibus_auto_int_bus_int_in_0_0),
+    .auto_int_bus_int_in_0_1(ibus_auto_int_bus_int_in_0_1),
+    .auto_int_bus_int_out_0(ibus_auto_int_bus_int_out_0),
+    .auto_int_bus_int_out_1(ibus_auto_int_bus_int_out_1),
+    .auto_int_bus_int_out_2(ibus_auto_int_bus_int_out_2),
+    .auto_int_bus_int_out_3(ibus_auto_int_bus_int_out_3),
+    .auto_int_bus_int_out_4(ibus_auto_int_bus_int_out_4),
+    .auto_int_bus_int_out_5(ibus_auto_int_bus_int_out_5),
+    .auto_int_bus_int_out_6(ibus_auto_int_bus_int_out_6),
+    .auto_int_bus_int_out_7(ibus_auto_int_bus_int_out_7),
+    .auto_int_bus_int_out_8(ibus_auto_int_bus_int_out_8),
+    .auto_int_bus_int_out_9(ibus_auto_int_bus_int_out_9),
+    .auto_int_bus_int_out_10(ibus_auto_int_bus_int_out_10),
+    .auto_int_bus_int_out_11(ibus_auto_int_bus_int_out_11),
+    .auto_int_bus_int_out_12(ibus_auto_int_bus_int_out_12),
+    .auto_int_bus_int_out_13(ibus_auto_int_bus_int_out_13),
+    .auto_int_bus_int_out_14(ibus_auto_int_bus_int_out_14),
+    .auto_int_bus_int_out_15(ibus_auto_int_bus_int_out_15),
+    .auto_int_bus_int_out_16(ibus_auto_int_bus_int_out_16),
+    .auto_int_bus_int_out_17(ibus_auto_int_bus_int_out_17),
+    .auto_int_bus_int_out_18(ibus_auto_int_bus_int_out_18),
+    .auto_int_bus_int_out_19(ibus_auto_int_bus_int_out_19),
+    .auto_int_bus_int_out_20(ibus_auto_int_bus_int_out_20),
+    .auto_int_bus_int_out_21(ibus_auto_int_bus_int_out_21),
+    .auto_int_bus_int_out_22(ibus_auto_int_bus_int_out_22),
+    .auto_int_bus_int_out_23(ibus_auto_int_bus_int_out_23),
+    .auto_int_bus_int_out_24(ibus_auto_int_bus_int_out_24),
+    .auto_int_bus_int_out_25(ibus_auto_int_bus_int_out_25),
+    .auto_int_bus_int_out_26(ibus_auto_int_bus_int_out_26),
+    .auto_int_bus_int_out_27(ibus_auto_int_bus_int_out_27),
+    .auto_int_bus_int_out_28(ibus_auto_int_bus_int_out_28),
+    .auto_int_bus_int_out_29(ibus_auto_int_bus_int_out_29),
+    .auto_int_bus_int_out_30(ibus_auto_int_bus_int_out_30),
+    .auto_int_bus_int_out_31(ibus_auto_int_bus_int_out_31),
+    .auto_int_bus_int_out_32(ibus_auto_int_bus_int_out_32),
+    .auto_int_bus_int_out_33(ibus_auto_int_bus_int_out_33),
+    .auto_int_bus_int_out_34(ibus_auto_int_bus_int_out_34),
+    .auto_int_bus_int_out_35(ibus_auto_int_bus_int_out_35),
+    .auto_int_bus_int_out_36(ibus_auto_int_bus_int_out_36),
+    .auto_int_bus_int_out_37(ibus_auto_int_bus_int_out_37),
+    .auto_int_bus_int_out_38(ibus_auto_int_bus_int_out_38),
+    .auto_int_bus_int_out_39(ibus_auto_int_bus_int_out_39),
+    .auto_int_bus_int_out_40(ibus_auto_int_bus_int_out_40),
+    .auto_int_bus_int_out_41(ibus_auto_int_bus_int_out_41),
+    .auto_int_bus_int_out_42(ibus_auto_int_bus_int_out_42),
+    .auto_int_bus_int_out_43(ibus_auto_int_bus_int_out_43),
+    .auto_int_bus_int_out_44(ibus_auto_int_bus_int_out_44),
+    .auto_int_bus_int_out_45(ibus_auto_int_bus_int_out_45),
+    .auto_int_bus_int_out_46(ibus_auto_int_bus_int_out_46),
+    .auto_int_bus_int_out_47(ibus_auto_int_bus_int_out_47),
+    .auto_int_bus_int_out_48(ibus_auto_int_bus_int_out_48),
+    .auto_int_bus_int_out_49(ibus_auto_int_bus_int_out_49),
+    .auto_int_bus_int_out_50(ibus_auto_int_bus_int_out_50),
+    .auto_int_bus_int_out_51(ibus_auto_int_bus_int_out_51),
+    .auto_int_bus_int_out_52(ibus_auto_int_bus_int_out_52),
+    .auto_int_bus_int_out_53(ibus_auto_int_bus_int_out_53),
+    .auto_int_bus_int_out_54(ibus_auto_int_bus_int_out_54),
+    .auto_int_bus_int_out_55(ibus_auto_int_bus_int_out_55)
+  );
+  SimpleClockGroupSource dummyClockGroupSourceNode ( // @[ClockGroup.scala 79:81]
+    .clock(dummyClockGroupSourceNode_clock),
+    .reset(dummyClockGroupSourceNode_reset),
+    .auto_out_member_subsystem_sbus_5_clock(dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_5_clock),
+    .auto_out_member_subsystem_sbus_5_reset(dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_5_reset),
+    .auto_out_member_subsystem_sbus_4_clock(dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_4_clock),
+    .auto_out_member_subsystem_sbus_4_reset(dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_4_reset),
+    .auto_out_member_subsystem_sbus_3_clock(dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_3_clock),
+    .auto_out_member_subsystem_sbus_3_reset(dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_3_reset),
+    .auto_out_member_subsystem_sbus_2_clock(dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_2_clock),
+    .auto_out_member_subsystem_sbus_2_reset(dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_2_reset),
+    .auto_out_member_subsystem_sbus_1_clock(dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_1_clock),
+    .auto_out_member_subsystem_sbus_1_reset(dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_1_reset),
+    .auto_out_member_subsystem_sbus_0_clock(dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_0_clock),
+    .auto_out_member_subsystem_sbus_0_reset(dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_0_reset)
+  );
+  SystemBus subsystem_sbus ( // @[SystemBus.scala 24:26]
+    .auto_coupler_from_tile_tl_master_clock_xing_in_a_ready(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_ready),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_a_valid(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_valid),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_opcode(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_opcode),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_param(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_param),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_size(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_size),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_source(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_source),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_address(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_address),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_mask(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_mask),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_data(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_data),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_corrupt(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_corrupt),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_b_ready(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_b_ready),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_b_valid(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_b_valid),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_b_bits_param(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_b_bits_param),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_b_bits_address(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_b_bits_address),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_c_ready(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_ready),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_c_valid(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_valid),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_opcode(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_opcode),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_param(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_param),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_size(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_size),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_source(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_source),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_address(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_address),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_data(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_data),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_corrupt(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_corrupt),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_d_ready(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_ready),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_d_valid(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_valid),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_opcode(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_opcode),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_param(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_param),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_size(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_size),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_source(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_source),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_sink(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_sink),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_denied(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_denied),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_data(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_data),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_corrupt(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_corrupt),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_e_valid(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_e_valid),
+    .auto_coupler_from_tile_tl_master_clock_xing_in_e_bits_sink(
+      subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_e_bits_sink),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_a_ready(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_ready),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_a_valid(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_valid),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_opcode(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_opcode),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_param(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_param),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_size(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_size),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_source(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_source),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_address(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_address),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_mask(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_mask),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_data(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_data),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_corrupt(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_corrupt),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_b_ready(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_b_ready),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_b_valid(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_b_valid),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_b_bits_param(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_b_bits_param),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_b_bits_address(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_b_bits_address),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_c_ready(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_ready),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_c_valid(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_valid),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_opcode(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_opcode),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_param(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_param),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_size(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_size),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_source(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_source),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_address(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_address),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_data(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_data),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_corrupt(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_corrupt),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_d_ready(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_ready),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_d_valid(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_valid),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_opcode(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_opcode),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_param(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_param),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_size(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_size),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_source(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_source),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_sink(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_sink),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_data(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_data),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_e_valid(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_e_valid),
+    .auto_coupler_to_bus_named_subsystem_l2_widget_out_e_bits_sink(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_e_bits_sink),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_ready(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_ready),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_valid(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_valid),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_opcode(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_opcode),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_param(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_param),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_size(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_size),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_source(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_source),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_address(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_address),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_mask(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_mask),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_data(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_data),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_corrupt(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_corrupt),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_ready(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_ready),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_valid(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_valid),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_opcode(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_opcode),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_param(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_param),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_size(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_size),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_source(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_source),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_sink(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_sink),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_denied(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_denied),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_data(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_data),
+    .auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_corrupt(
+      subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_corrupt),
+    .auto_fixedClockNode_out_1_clock(subsystem_sbus_auto_fixedClockNode_out_1_clock),
+    .auto_fixedClockNode_out_1_reset(subsystem_sbus_auto_fixedClockNode_out_1_reset),
+    .auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_5_clock(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_5_clock),
+    .auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_5_reset(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_5_reset),
+    .auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_4_clock(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_4_clock),
+    .auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_4_reset(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_4_reset),
+    .auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_3_clock(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_3_clock),
+    .auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_3_reset(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_3_reset),
+    .auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_2_clock(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_2_clock),
+    .auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_2_reset(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_2_reset),
+    .auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_1_clock(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_1_clock),
+    .auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_1_reset(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_1_reset),
+    .auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_0_clock(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_0_clock),
+    .auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_0_reset(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_0_reset),
+    .auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_1_clock(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_1_clock),
+    .auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_1_reset(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_1_reset),
+    .auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_0_clock(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_0_clock),
+    .auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_0_reset(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_0_reset),
+    .auto_subsystem_sbus_clock_groups_out_1_member_subsystem_fbus_0_clock(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_out_1_member_subsystem_fbus_0_clock),
+    .auto_subsystem_sbus_clock_groups_out_1_member_subsystem_fbus_0_reset(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_out_1_member_subsystem_fbus_0_reset),
+    .auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_1_clock(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_1_clock),
+    .auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_1_reset(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_1_reset),
+    .auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_0_clock(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_0_clock),
+    .auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_0_reset(
+      subsystem_sbus_auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_0_reset)
+  );
+  PeripheryBus subsystem_pbus ( // @[PeripheryBus.scala 31:26]
+    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_a_ready(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_ready),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_a_valid(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_valid),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_param(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_address(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_mask(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_corrupt(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_d_ready(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_ready),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_d_valid(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_valid),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_a_ready(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_ready),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_a_valid(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_valid),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_param(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_address(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_mask(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_corrupt(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_d_ready(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_ready),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_d_valid(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_valid),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_a_ready(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_ready),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_a_valid(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_valid),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_param(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_address(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_mask(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_corrupt(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_d_ready(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_ready),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_d_valid(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_valid),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_spi_0_control_xing_out_a_ready(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_ready(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_ready),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_valid(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_valid),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_param(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_address(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_mask(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_corrupt(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_ready(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_ready),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_valid(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_valid),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_qspi_0_mem_xing_out_a_ready(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_ready),
+    .auto_coupler_to_device_named_qspi_0_mem_xing_out_a_valid(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_valid),
+    .auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_param(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_address(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_mask(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_corrupt(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_qspi_0_mem_xing_out_d_ready(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_d_ready),
+    .auto_coupler_to_device_named_qspi_0_mem_xing_out_d_valid(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_d_valid),
+    .auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_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(
+      subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_a_ready(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_ready),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_a_valid(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_valid),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_param(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_address(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_mask(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_corrupt(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_d_ready(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_ready),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_d_valid(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_valid),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_a_ready(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_ready),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_a_valid(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_valid),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_param(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_address(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_mask(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_corrupt(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_d_ready(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_ready),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_d_valid(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_valid),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_a_ready(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_ready),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_a_valid(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_valid),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_param(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_address(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_mask(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_corrupt(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_d_ready(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_ready),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_d_valid(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_valid),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_a_ready(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_ready),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_a_valid(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_valid),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_param(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_address(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_mask(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_corrupt(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_d_ready(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_ready),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_d_valid(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_valid),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_data),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_a_ready(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_ready),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_a_valid(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_valid),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_param(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_address(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_mask(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_corrupt(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_d_ready(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_ready),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_d_valid(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_valid),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_opcode(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_size(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_source(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_data(
+      subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_data),
+    .auto_fixedClockNode_out_13_clock(subsystem_pbus_auto_fixedClockNode_out_13_clock),
+    .auto_fixedClockNode_out_13_reset(subsystem_pbus_auto_fixedClockNode_out_13_reset),
+    .auto_fixedClockNode_out_12_clock(subsystem_pbus_auto_fixedClockNode_out_12_clock),
+    .auto_fixedClockNode_out_12_reset(subsystem_pbus_auto_fixedClockNode_out_12_reset),
+    .auto_fixedClockNode_out_11_clock(subsystem_pbus_auto_fixedClockNode_out_11_clock),
+    .auto_fixedClockNode_out_11_reset(subsystem_pbus_auto_fixedClockNode_out_11_reset),
+    .auto_fixedClockNode_out_10_clock(subsystem_pbus_auto_fixedClockNode_out_10_clock),
+    .auto_fixedClockNode_out_10_reset(subsystem_pbus_auto_fixedClockNode_out_10_reset),
+    .auto_fixedClockNode_out_9_clock(subsystem_pbus_auto_fixedClockNode_out_9_clock),
+    .auto_fixedClockNode_out_9_reset(subsystem_pbus_auto_fixedClockNode_out_9_reset),
+    .auto_fixedClockNode_out_8_clock(subsystem_pbus_auto_fixedClockNode_out_8_clock),
+    .auto_fixedClockNode_out_8_reset(subsystem_pbus_auto_fixedClockNode_out_8_reset),
+    .auto_fixedClockNode_out_7_clock(subsystem_pbus_auto_fixedClockNode_out_7_clock),
+    .auto_fixedClockNode_out_7_reset(subsystem_pbus_auto_fixedClockNode_out_7_reset),
+    .auto_fixedClockNode_out_6_clock(subsystem_pbus_auto_fixedClockNode_out_6_clock),
+    .auto_fixedClockNode_out_6_reset(subsystem_pbus_auto_fixedClockNode_out_6_reset),
+    .auto_fixedClockNode_out_5_clock(subsystem_pbus_auto_fixedClockNode_out_5_clock),
+    .auto_fixedClockNode_out_5_reset(subsystem_pbus_auto_fixedClockNode_out_5_reset),
+    .auto_fixedClockNode_out_4_clock(subsystem_pbus_auto_fixedClockNode_out_4_clock),
+    .auto_fixedClockNode_out_4_reset(subsystem_pbus_auto_fixedClockNode_out_4_reset),
+    .auto_fixedClockNode_out_3_clock(subsystem_pbus_auto_fixedClockNode_out_3_clock),
+    .auto_fixedClockNode_out_3_reset(subsystem_pbus_auto_fixedClockNode_out_3_reset),
+    .auto_fixedClockNode_out_2_clock(subsystem_pbus_auto_fixedClockNode_out_2_clock),
+    .auto_fixedClockNode_out_2_reset(subsystem_pbus_auto_fixedClockNode_out_2_reset),
+    .auto_fixedClockNode_out_1_clock(subsystem_pbus_auto_fixedClockNode_out_1_clock),
+    .auto_fixedClockNode_out_1_reset(subsystem_pbus_auto_fixedClockNode_out_1_reset),
+    .auto_fixedClockNode_out_0_clock(subsystem_pbus_auto_fixedClockNode_out_0_clock),
+    .auto_fixedClockNode_out_0_reset(subsystem_pbus_auto_fixedClockNode_out_0_reset),
+    .auto_subsystem_pbus_clock_groups_in_member_subsystem_pbus_0_clock(
+      subsystem_pbus_auto_subsystem_pbus_clock_groups_in_member_subsystem_pbus_0_clock),
+    .auto_subsystem_pbus_clock_groups_in_member_subsystem_pbus_0_reset(
+      subsystem_pbus_auto_subsystem_pbus_clock_groups_in_member_subsystem_pbus_0_reset),
+    .auto_bus_xing_in_a_ready(subsystem_pbus_auto_bus_xing_in_a_ready),
+    .auto_bus_xing_in_a_valid(subsystem_pbus_auto_bus_xing_in_a_valid),
+    .auto_bus_xing_in_a_bits_opcode(subsystem_pbus_auto_bus_xing_in_a_bits_opcode),
+    .auto_bus_xing_in_a_bits_param(subsystem_pbus_auto_bus_xing_in_a_bits_param),
+    .auto_bus_xing_in_a_bits_size(subsystem_pbus_auto_bus_xing_in_a_bits_size),
+    .auto_bus_xing_in_a_bits_source(subsystem_pbus_auto_bus_xing_in_a_bits_source),
+    .auto_bus_xing_in_a_bits_address(subsystem_pbus_auto_bus_xing_in_a_bits_address),
+    .auto_bus_xing_in_a_bits_mask(subsystem_pbus_auto_bus_xing_in_a_bits_mask),
+    .auto_bus_xing_in_a_bits_data(subsystem_pbus_auto_bus_xing_in_a_bits_data),
+    .auto_bus_xing_in_a_bits_corrupt(subsystem_pbus_auto_bus_xing_in_a_bits_corrupt),
+    .auto_bus_xing_in_d_ready(subsystem_pbus_auto_bus_xing_in_d_ready),
+    .auto_bus_xing_in_d_valid(subsystem_pbus_auto_bus_xing_in_d_valid),
+    .auto_bus_xing_in_d_bits_opcode(subsystem_pbus_auto_bus_xing_in_d_bits_opcode),
+    .auto_bus_xing_in_d_bits_param(subsystem_pbus_auto_bus_xing_in_d_bits_param),
+    .auto_bus_xing_in_d_bits_size(subsystem_pbus_auto_bus_xing_in_d_bits_size),
+    .auto_bus_xing_in_d_bits_source(subsystem_pbus_auto_bus_xing_in_d_bits_source),
+    .auto_bus_xing_in_d_bits_sink(subsystem_pbus_auto_bus_xing_in_d_bits_sink),
+    .auto_bus_xing_in_d_bits_denied(subsystem_pbus_auto_bus_xing_in_d_bits_denied),
+    .auto_bus_xing_in_d_bits_data(subsystem_pbus_auto_bus_xing_in_d_bits_data),
+    .auto_bus_xing_in_d_bits_corrupt(subsystem_pbus_auto_bus_xing_in_d_bits_corrupt)
+  );
+  FrontBus subsystem_fbus ( // @[FrontBus.scala 22:26]
+    .auto_subsystem_fbus_clock_groups_in_member_subsystem_fbus_0_clock(
+      subsystem_fbus_auto_subsystem_fbus_clock_groups_in_member_subsystem_fbus_0_clock),
+    .auto_subsystem_fbus_clock_groups_in_member_subsystem_fbus_0_reset(
+      subsystem_fbus_auto_subsystem_fbus_clock_groups_in_member_subsystem_fbus_0_reset)
+  );
+  PeripheryBus_1 subsystem_cbus ( // @[PeripheryBus.scala 31:26]
+    .auto_coupler_to_bootrom_fragmenter_out_a_ready(subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_ready),
+    .auto_coupler_to_bootrom_fragmenter_out_a_valid(subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_valid),
+    .auto_coupler_to_bootrom_fragmenter_out_a_bits_opcode(
+      subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_opcode),
+    .auto_coupler_to_bootrom_fragmenter_out_a_bits_param(
+      subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_param),
+    .auto_coupler_to_bootrom_fragmenter_out_a_bits_size(
+      subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_size),
+    .auto_coupler_to_bootrom_fragmenter_out_a_bits_source(
+      subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_source),
+    .auto_coupler_to_bootrom_fragmenter_out_a_bits_address(
+      subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_address),
+    .auto_coupler_to_bootrom_fragmenter_out_a_bits_mask(
+      subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_mask),
+    .auto_coupler_to_bootrom_fragmenter_out_a_bits_corrupt(
+      subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_corrupt),
+    .auto_coupler_to_bootrom_fragmenter_out_d_ready(subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_d_ready),
+    .auto_coupler_to_bootrom_fragmenter_out_d_valid(subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_d_valid),
+    .auto_coupler_to_bootrom_fragmenter_out_d_bits_size(
+      subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_d_bits_size),
+    .auto_coupler_to_bootrom_fragmenter_out_d_bits_source(
+      subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_d_bits_source),
+    .auto_coupler_to_bootrom_fragmenter_out_d_bits_data(
+      subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_d_bits_data),
+    .auto_coupler_to_aon_asource_out_a_mem_0_opcode(subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_opcode),
+    .auto_coupler_to_aon_asource_out_a_mem_0_param(subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_param),
+    .auto_coupler_to_aon_asource_out_a_mem_0_size(subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_size),
+    .auto_coupler_to_aon_asource_out_a_mem_0_source(subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_source),
+    .auto_coupler_to_aon_asource_out_a_mem_0_address(subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_address),
+    .auto_coupler_to_aon_asource_out_a_mem_0_mask(subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_mask),
+    .auto_coupler_to_aon_asource_out_a_mem_0_data(subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_data),
+    .auto_coupler_to_aon_asource_out_a_mem_0_corrupt(subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_corrupt),
+    .auto_coupler_to_aon_asource_out_a_ridx(subsystem_cbus_auto_coupler_to_aon_asource_out_a_ridx),
+    .auto_coupler_to_aon_asource_out_a_widx(subsystem_cbus_auto_coupler_to_aon_asource_out_a_widx),
+    .auto_coupler_to_aon_asource_out_a_safe_ridx_valid(subsystem_cbus_auto_coupler_to_aon_asource_out_a_safe_ridx_valid)
+      ,
+    .auto_coupler_to_aon_asource_out_a_safe_widx_valid(subsystem_cbus_auto_coupler_to_aon_asource_out_a_safe_widx_valid)
+      ,
+    .auto_coupler_to_aon_asource_out_a_safe_source_reset_n(
+      subsystem_cbus_auto_coupler_to_aon_asource_out_a_safe_source_reset_n),
+    .auto_coupler_to_aon_asource_out_a_safe_sink_reset_n(
+      subsystem_cbus_auto_coupler_to_aon_asource_out_a_safe_sink_reset_n),
+    .auto_coupler_to_aon_asource_out_d_mem_0_opcode(subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_opcode),
+    .auto_coupler_to_aon_asource_out_d_mem_0_param(subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_param),
+    .auto_coupler_to_aon_asource_out_d_mem_0_size(subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_size),
+    .auto_coupler_to_aon_asource_out_d_mem_0_source(subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_source),
+    .auto_coupler_to_aon_asource_out_d_mem_0_sink(subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_sink),
+    .auto_coupler_to_aon_asource_out_d_mem_0_denied(subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_denied),
+    .auto_coupler_to_aon_asource_out_d_mem_0_data(subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_data),
+    .auto_coupler_to_aon_asource_out_d_mem_0_corrupt(subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_corrupt),
+    .auto_coupler_to_aon_asource_out_d_ridx(subsystem_cbus_auto_coupler_to_aon_asource_out_d_ridx),
+    .auto_coupler_to_aon_asource_out_d_widx(subsystem_cbus_auto_coupler_to_aon_asource_out_d_widx),
+    .auto_coupler_to_aon_asource_out_d_safe_ridx_valid(subsystem_cbus_auto_coupler_to_aon_asource_out_d_safe_ridx_valid)
+      ,
+    .auto_coupler_to_aon_asource_out_d_safe_widx_valid(subsystem_cbus_auto_coupler_to_aon_asource_out_d_safe_widx_valid)
+      ,
+    .auto_coupler_to_aon_asource_out_d_safe_source_reset_n(
+      subsystem_cbus_auto_coupler_to_aon_asource_out_d_safe_source_reset_n),
+    .auto_coupler_to_aon_asource_out_d_safe_sink_reset_n(
+      subsystem_cbus_auto_coupler_to_aon_asource_out_d_safe_sink_reset_n),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_a_ready(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_ready),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_a_valid(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_valid),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_opcode(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_opcode),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_param(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_param),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_size(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_size),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_source(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_source),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_address(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_address),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_mask(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_mask),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_data(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_data),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_corrupt(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_corrupt),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_d_ready(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_ready),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_d_valid(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_valid),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_opcode(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_opcode),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_param(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_param),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_size(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_size),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_source(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_source),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_sink(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_sink),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_denied(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_denied),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_data(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_data),
+    .auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_corrupt(
+      subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_corrupt),
+    .auto_coupler_to_debug_fragmenter_out_a_ready(subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_ready),
+    .auto_coupler_to_debug_fragmenter_out_a_valid(subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_valid),
+    .auto_coupler_to_debug_fragmenter_out_a_bits_opcode(
+      subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_opcode),
+    .auto_coupler_to_debug_fragmenter_out_a_bits_param(subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_param)
+      ,
+    .auto_coupler_to_debug_fragmenter_out_a_bits_size(subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_size),
+    .auto_coupler_to_debug_fragmenter_out_a_bits_source(
+      subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_source),
+    .auto_coupler_to_debug_fragmenter_out_a_bits_address(
+      subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_address),
+    .auto_coupler_to_debug_fragmenter_out_a_bits_mask(subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_mask),
+    .auto_coupler_to_debug_fragmenter_out_a_bits_data(subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_data),
+    .auto_coupler_to_debug_fragmenter_out_a_bits_corrupt(
+      subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_corrupt),
+    .auto_coupler_to_debug_fragmenter_out_d_ready(subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_ready),
+    .auto_coupler_to_debug_fragmenter_out_d_valid(subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_valid),
+    .auto_coupler_to_debug_fragmenter_out_d_bits_opcode(
+      subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_bits_opcode),
+    .auto_coupler_to_debug_fragmenter_out_d_bits_size(subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_bits_size),
+    .auto_coupler_to_debug_fragmenter_out_d_bits_source(
+      subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_bits_source),
+    .auto_coupler_to_debug_fragmenter_out_d_bits_data(subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_bits_data),
+    .auto_coupler_to_clint_fragmenter_out_a_ready(subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_ready),
+    .auto_coupler_to_clint_fragmenter_out_a_valid(subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_valid),
+    .auto_coupler_to_clint_fragmenter_out_a_bits_opcode(
+      subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_opcode),
+    .auto_coupler_to_clint_fragmenter_out_a_bits_param(subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_param)
+      ,
+    .auto_coupler_to_clint_fragmenter_out_a_bits_size(subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_size),
+    .auto_coupler_to_clint_fragmenter_out_a_bits_source(
+      subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_source),
+    .auto_coupler_to_clint_fragmenter_out_a_bits_address(
+      subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_address),
+    .auto_coupler_to_clint_fragmenter_out_a_bits_mask(subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_mask),
+    .auto_coupler_to_clint_fragmenter_out_a_bits_data(subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_data),
+    .auto_coupler_to_clint_fragmenter_out_a_bits_corrupt(
+      subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_corrupt),
+    .auto_coupler_to_clint_fragmenter_out_d_ready(subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_ready),
+    .auto_coupler_to_clint_fragmenter_out_d_valid(subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_valid),
+    .auto_coupler_to_clint_fragmenter_out_d_bits_opcode(
+      subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_bits_opcode),
+    .auto_coupler_to_clint_fragmenter_out_d_bits_size(subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_bits_size),
+    .auto_coupler_to_clint_fragmenter_out_d_bits_source(
+      subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_bits_source),
+    .auto_coupler_to_clint_fragmenter_out_d_bits_data(subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_bits_data),
+    .auto_coupler_to_plic_fragmenter_out_a_ready(subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_ready),
+    .auto_coupler_to_plic_fragmenter_out_a_valid(subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_valid),
+    .auto_coupler_to_plic_fragmenter_out_a_bits_opcode(subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_opcode)
+      ,
+    .auto_coupler_to_plic_fragmenter_out_a_bits_param(subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_param),
+    .auto_coupler_to_plic_fragmenter_out_a_bits_size(subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_size),
+    .auto_coupler_to_plic_fragmenter_out_a_bits_source(subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_source)
+      ,
+    .auto_coupler_to_plic_fragmenter_out_a_bits_address(
+      subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_address),
+    .auto_coupler_to_plic_fragmenter_out_a_bits_mask(subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_mask),
+    .auto_coupler_to_plic_fragmenter_out_a_bits_data(subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_data),
+    .auto_coupler_to_plic_fragmenter_out_a_bits_corrupt(
+      subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_corrupt),
+    .auto_coupler_to_plic_fragmenter_out_d_ready(subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_ready),
+    .auto_coupler_to_plic_fragmenter_out_d_valid(subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_valid),
+    .auto_coupler_to_plic_fragmenter_out_d_bits_opcode(subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_bits_opcode)
+      ,
+    .auto_coupler_to_plic_fragmenter_out_d_bits_size(subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_bits_size),
+    .auto_coupler_to_plic_fragmenter_out_d_bits_source(subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_bits_source)
+      ,
+    .auto_coupler_to_plic_fragmenter_out_d_bits_data(subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_bits_data),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_ready(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_ready),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_valid(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_valid),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_opcode(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_opcode),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_param(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_param),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_size(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_size),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_source(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_source),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_address(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_address),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_mask(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_mask),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_data(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_data),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_corrupt(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_corrupt),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_ready(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_ready),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_valid(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_valid),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_opcode(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_opcode),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_param(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_param),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_size(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_size),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_source(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_source),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_sink(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_sink),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_denied(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_denied),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_data(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_data),
+    .auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_corrupt(
+      subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_corrupt),
+    .auto_fixedClockNode_out_2_clock(subsystem_cbus_auto_fixedClockNode_out_2_clock),
+    .auto_fixedClockNode_out_2_reset(subsystem_cbus_auto_fixedClockNode_out_2_reset),
+    .auto_fixedClockNode_out_0_clock(subsystem_cbus_auto_fixedClockNode_out_0_clock),
+    .auto_fixedClockNode_out_0_reset(subsystem_cbus_auto_fixedClockNode_out_0_reset),
+    .auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_1_clock(
+      subsystem_cbus_auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_1_clock),
+    .auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_1_reset(
+      subsystem_cbus_auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_1_reset),
+    .auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_0_clock(
+      subsystem_cbus_auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_0_clock),
+    .auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_0_reset(
+      subsystem_cbus_auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_0_reset),
+    .auto_subsystem_cbus_clock_groups_out_member_subsystem_pbus_0_clock(
+      subsystem_cbus_auto_subsystem_cbus_clock_groups_out_member_subsystem_pbus_0_clock),
+    .auto_subsystem_cbus_clock_groups_out_member_subsystem_pbus_0_reset(
+      subsystem_cbus_auto_subsystem_cbus_clock_groups_out_member_subsystem_pbus_0_reset),
+    .auto_bus_xing_in_a_ready(subsystem_cbus_auto_bus_xing_in_a_ready),
+    .auto_bus_xing_in_a_valid(subsystem_cbus_auto_bus_xing_in_a_valid),
+    .auto_bus_xing_in_a_bits_opcode(subsystem_cbus_auto_bus_xing_in_a_bits_opcode),
+    .auto_bus_xing_in_a_bits_param(subsystem_cbus_auto_bus_xing_in_a_bits_param),
+    .auto_bus_xing_in_a_bits_size(subsystem_cbus_auto_bus_xing_in_a_bits_size),
+    .auto_bus_xing_in_a_bits_source(subsystem_cbus_auto_bus_xing_in_a_bits_source),
+    .auto_bus_xing_in_a_bits_address(subsystem_cbus_auto_bus_xing_in_a_bits_address),
+    .auto_bus_xing_in_a_bits_mask(subsystem_cbus_auto_bus_xing_in_a_bits_mask),
+    .auto_bus_xing_in_a_bits_data(subsystem_cbus_auto_bus_xing_in_a_bits_data),
+    .auto_bus_xing_in_a_bits_corrupt(subsystem_cbus_auto_bus_xing_in_a_bits_corrupt),
+    .auto_bus_xing_in_d_ready(subsystem_cbus_auto_bus_xing_in_d_ready),
+    .auto_bus_xing_in_d_valid(subsystem_cbus_auto_bus_xing_in_d_valid),
+    .auto_bus_xing_in_d_bits_opcode(subsystem_cbus_auto_bus_xing_in_d_bits_opcode),
+    .auto_bus_xing_in_d_bits_param(subsystem_cbus_auto_bus_xing_in_d_bits_param),
+    .auto_bus_xing_in_d_bits_size(subsystem_cbus_auto_bus_xing_in_d_bits_size),
+    .auto_bus_xing_in_d_bits_source(subsystem_cbus_auto_bus_xing_in_d_bits_source),
+    .auto_bus_xing_in_d_bits_sink(subsystem_cbus_auto_bus_xing_in_d_bits_sink),
+    .auto_bus_xing_in_d_bits_denied(subsystem_cbus_auto_bus_xing_in_d_bits_denied),
+    .auto_bus_xing_in_d_bits_data(subsystem_cbus_auto_bus_xing_in_d_bits_data),
+    .auto_bus_xing_in_d_bits_corrupt(subsystem_cbus_auto_bus_xing_in_d_bits_corrupt),
+    .clock(subsystem_cbus_clock),
+    .reset(subsystem_cbus_reset)
+  );
+  MemoryBus subsystem_mbus ( // @[MemoryBus.scala 25:26]
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_ready(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_ready),
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_valid(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_valid),
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_opcode(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_opcode),
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_param(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_param),
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_size(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_size),
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_source(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_source),
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_address(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_address),
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_mask(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_mask),
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_data(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_data),
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_corrupt(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_corrupt),
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_ready(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_ready),
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_valid(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_valid),
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_opcode(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_opcode),
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_size(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_size),
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_source(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_source),
+    .auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_data(
+      subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_data),
+    .auto_subsystem_mbus_clock_groups_in_member_subsystem_mbus_0_clock(
+      subsystem_mbus_auto_subsystem_mbus_clock_groups_in_member_subsystem_mbus_0_clock),
+    .auto_subsystem_mbus_clock_groups_in_member_subsystem_mbus_0_reset(
+      subsystem_mbus_auto_subsystem_mbus_clock_groups_in_member_subsystem_mbus_0_reset),
+    .auto_bus_xing_in_a_ready(subsystem_mbus_auto_bus_xing_in_a_ready),
+    .auto_bus_xing_in_a_valid(subsystem_mbus_auto_bus_xing_in_a_valid),
+    .auto_bus_xing_in_a_bits_opcode(subsystem_mbus_auto_bus_xing_in_a_bits_opcode),
+    .auto_bus_xing_in_a_bits_param(subsystem_mbus_auto_bus_xing_in_a_bits_param),
+    .auto_bus_xing_in_a_bits_size(subsystem_mbus_auto_bus_xing_in_a_bits_size),
+    .auto_bus_xing_in_a_bits_source(subsystem_mbus_auto_bus_xing_in_a_bits_source),
+    .auto_bus_xing_in_a_bits_address(subsystem_mbus_auto_bus_xing_in_a_bits_address),
+    .auto_bus_xing_in_a_bits_mask(subsystem_mbus_auto_bus_xing_in_a_bits_mask),
+    .auto_bus_xing_in_a_bits_data(subsystem_mbus_auto_bus_xing_in_a_bits_data),
+    .auto_bus_xing_in_d_ready(subsystem_mbus_auto_bus_xing_in_d_ready),
+    .auto_bus_xing_in_d_valid(subsystem_mbus_auto_bus_xing_in_d_valid),
+    .auto_bus_xing_in_d_bits_opcode(subsystem_mbus_auto_bus_xing_in_d_bits_opcode),
+    .auto_bus_xing_in_d_bits_size(subsystem_mbus_auto_bus_xing_in_d_bits_size),
+    .auto_bus_xing_in_d_bits_source(subsystem_mbus_auto_bus_xing_in_d_bits_source),
+    .auto_bus_xing_in_d_bits_data(subsystem_mbus_auto_bus_xing_in_d_bits_data)
+  );
+  CoherenceManagerWrapper subsystem_l2_wrapper ( // @[BankedL2Params.scala 47:31]
+    .auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_ready(
+      subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_ready),
+    .auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_valid(
+      subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_valid),
+    .auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_opcode(
+      subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_opcode),
+    .auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_param(
+      subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_param),
+    .auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_size(
+      subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_size),
+    .auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_source(
+      subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_source),
+    .auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_address(
+      subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_address),
+    .auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_mask(
+      subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_mask),
+    .auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_data(
+      subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_data),
+    .auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_ready(
+      subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_ready),
+    .auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_valid(
+      subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_valid),
+    .auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_opcode(
+      subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_opcode),
+    .auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_size(
+      subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_size),
+    .auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_source(
+      subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_source),
+    .auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_data(
+      subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_data),
+    .auto_coherent_jbar_in_a_ready(subsystem_l2_wrapper_auto_coherent_jbar_in_a_ready),
+    .auto_coherent_jbar_in_a_valid(subsystem_l2_wrapper_auto_coherent_jbar_in_a_valid),
+    .auto_coherent_jbar_in_a_bits_opcode(subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_opcode),
+    .auto_coherent_jbar_in_a_bits_param(subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_param),
+    .auto_coherent_jbar_in_a_bits_size(subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_size),
+    .auto_coherent_jbar_in_a_bits_source(subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_source),
+    .auto_coherent_jbar_in_a_bits_address(subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_address),
+    .auto_coherent_jbar_in_a_bits_mask(subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_mask),
+    .auto_coherent_jbar_in_a_bits_data(subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_data),
+    .auto_coherent_jbar_in_a_bits_corrupt(subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_corrupt),
+    .auto_coherent_jbar_in_b_ready(subsystem_l2_wrapper_auto_coherent_jbar_in_b_ready),
+    .auto_coherent_jbar_in_b_valid(subsystem_l2_wrapper_auto_coherent_jbar_in_b_valid),
+    .auto_coherent_jbar_in_b_bits_param(subsystem_l2_wrapper_auto_coherent_jbar_in_b_bits_param),
+    .auto_coherent_jbar_in_b_bits_address(subsystem_l2_wrapper_auto_coherent_jbar_in_b_bits_address),
+    .auto_coherent_jbar_in_c_ready(subsystem_l2_wrapper_auto_coherent_jbar_in_c_ready),
+    .auto_coherent_jbar_in_c_valid(subsystem_l2_wrapper_auto_coherent_jbar_in_c_valid),
+    .auto_coherent_jbar_in_c_bits_opcode(subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_opcode),
+    .auto_coherent_jbar_in_c_bits_param(subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_param),
+    .auto_coherent_jbar_in_c_bits_size(subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_size),
+    .auto_coherent_jbar_in_c_bits_source(subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_source),
+    .auto_coherent_jbar_in_c_bits_address(subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_address),
+    .auto_coherent_jbar_in_c_bits_data(subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_data),
+    .auto_coherent_jbar_in_c_bits_corrupt(subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_corrupt),
+    .auto_coherent_jbar_in_d_ready(subsystem_l2_wrapper_auto_coherent_jbar_in_d_ready),
+    .auto_coherent_jbar_in_d_valid(subsystem_l2_wrapper_auto_coherent_jbar_in_d_valid),
+    .auto_coherent_jbar_in_d_bits_opcode(subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_opcode),
+    .auto_coherent_jbar_in_d_bits_param(subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_param),
+    .auto_coherent_jbar_in_d_bits_size(subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_size),
+    .auto_coherent_jbar_in_d_bits_source(subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_source),
+    .auto_coherent_jbar_in_d_bits_sink(subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_sink),
+    .auto_coherent_jbar_in_d_bits_data(subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_data),
+    .auto_coherent_jbar_in_e_valid(subsystem_l2_wrapper_auto_coherent_jbar_in_e_valid),
+    .auto_coherent_jbar_in_e_bits_sink(subsystem_l2_wrapper_auto_coherent_jbar_in_e_bits_sink),
+    .auto_subsystem_l2_clock_groups_in_member_subsystem_l2_1_clock(
+      subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_in_member_subsystem_l2_1_clock),
+    .auto_subsystem_l2_clock_groups_in_member_subsystem_l2_1_reset(
+      subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_in_member_subsystem_l2_1_reset),
+    .auto_subsystem_l2_clock_groups_in_member_subsystem_l2_0_clock(
+      subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_in_member_subsystem_l2_0_clock),
+    .auto_subsystem_l2_clock_groups_in_member_subsystem_l2_0_reset(
+      subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_in_member_subsystem_l2_0_reset),
+    .auto_subsystem_l2_clock_groups_out_member_subsystem_mbus_0_clock(
+      subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_out_member_subsystem_mbus_0_clock),
+    .auto_subsystem_l2_clock_groups_out_member_subsystem_mbus_0_reset(
+      subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_out_member_subsystem_mbus_0_reset)
+  );
+  TilePRCIDomain tile_prci_domain ( // @[HasTiles.scala 252:38]
+    .auto_intsink_in_sync_0(tile_prci_domain_auto_intsink_in_sync_0),
+    .auto_tile_reset_domain_tile_hartid_in(tile_prci_domain_auto_tile_reset_domain_tile_hartid_in),
+    .auto_int_out_clock_xing_out_2_sync_0(tile_prci_domain_auto_int_out_clock_xing_out_2_sync_0),
+    .auto_int_out_clock_xing_out_1_sync_0(tile_prci_domain_auto_int_out_clock_xing_out_1_sync_0),
+    .auto_int_out_clock_xing_out_0_sync_0(tile_prci_domain_auto_int_out_clock_xing_out_0_sync_0),
+    .auto_int_in_clock_xing_in_2_sync_0(tile_prci_domain_auto_int_in_clock_xing_in_2_sync_0),
+    .auto_int_in_clock_xing_in_1_sync_0(tile_prci_domain_auto_int_in_clock_xing_in_1_sync_0),
+    .auto_int_in_clock_xing_in_0_sync_0(tile_prci_domain_auto_int_in_clock_xing_in_0_sync_0),
+    .auto_int_in_clock_xing_in_0_sync_1(tile_prci_domain_auto_int_in_clock_xing_in_0_sync_1),
+    .auto_tl_slave_clock_xing_in_a_ready(tile_prci_domain_auto_tl_slave_clock_xing_in_a_ready),
+    .auto_tl_slave_clock_xing_in_a_valid(tile_prci_domain_auto_tl_slave_clock_xing_in_a_valid),
+    .auto_tl_slave_clock_xing_in_a_bits_opcode(tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_opcode),
+    .auto_tl_slave_clock_xing_in_a_bits_param(tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_param),
+    .auto_tl_slave_clock_xing_in_a_bits_size(tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_size),
+    .auto_tl_slave_clock_xing_in_a_bits_source(tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_source),
+    .auto_tl_slave_clock_xing_in_a_bits_address(tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_address),
+    .auto_tl_slave_clock_xing_in_a_bits_mask(tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_mask),
+    .auto_tl_slave_clock_xing_in_a_bits_data(tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_data),
+    .auto_tl_slave_clock_xing_in_a_bits_corrupt(tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_corrupt),
+    .auto_tl_slave_clock_xing_in_d_ready(tile_prci_domain_auto_tl_slave_clock_xing_in_d_ready),
+    .auto_tl_slave_clock_xing_in_d_valid(tile_prci_domain_auto_tl_slave_clock_xing_in_d_valid),
+    .auto_tl_slave_clock_xing_in_d_bits_opcode(tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_opcode),
+    .auto_tl_slave_clock_xing_in_d_bits_param(tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_param),
+    .auto_tl_slave_clock_xing_in_d_bits_size(tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_size),
+    .auto_tl_slave_clock_xing_in_d_bits_source(tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_source),
+    .auto_tl_slave_clock_xing_in_d_bits_sink(tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_sink),
+    .auto_tl_slave_clock_xing_in_d_bits_denied(tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_denied),
+    .auto_tl_slave_clock_xing_in_d_bits_data(tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_data),
+    .auto_tl_slave_clock_xing_in_d_bits_corrupt(tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_corrupt),
+    .auto_tl_master_clock_xing_out_a_ready(tile_prci_domain_auto_tl_master_clock_xing_out_a_ready),
+    .auto_tl_master_clock_xing_out_a_valid(tile_prci_domain_auto_tl_master_clock_xing_out_a_valid),
+    .auto_tl_master_clock_xing_out_a_bits_opcode(tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_opcode),
+    .auto_tl_master_clock_xing_out_a_bits_param(tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_param),
+    .auto_tl_master_clock_xing_out_a_bits_size(tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_size),
+    .auto_tl_master_clock_xing_out_a_bits_source(tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_source),
+    .auto_tl_master_clock_xing_out_a_bits_address(tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_address),
+    .auto_tl_master_clock_xing_out_a_bits_mask(tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_mask),
+    .auto_tl_master_clock_xing_out_a_bits_data(tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_data),
+    .auto_tl_master_clock_xing_out_a_bits_corrupt(tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_corrupt),
+    .auto_tl_master_clock_xing_out_b_ready(tile_prci_domain_auto_tl_master_clock_xing_out_b_ready),
+    .auto_tl_master_clock_xing_out_b_valid(tile_prci_domain_auto_tl_master_clock_xing_out_b_valid),
+    .auto_tl_master_clock_xing_out_b_bits_param(tile_prci_domain_auto_tl_master_clock_xing_out_b_bits_param),
+    .auto_tl_master_clock_xing_out_b_bits_address(tile_prci_domain_auto_tl_master_clock_xing_out_b_bits_address),
+    .auto_tl_master_clock_xing_out_c_ready(tile_prci_domain_auto_tl_master_clock_xing_out_c_ready),
+    .auto_tl_master_clock_xing_out_c_valid(tile_prci_domain_auto_tl_master_clock_xing_out_c_valid),
+    .auto_tl_master_clock_xing_out_c_bits_opcode(tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_opcode),
+    .auto_tl_master_clock_xing_out_c_bits_param(tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_param),
+    .auto_tl_master_clock_xing_out_c_bits_size(tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_size),
+    .auto_tl_master_clock_xing_out_c_bits_source(tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_source),
+    .auto_tl_master_clock_xing_out_c_bits_address(tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_address),
+    .auto_tl_master_clock_xing_out_c_bits_data(tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_data),
+    .auto_tl_master_clock_xing_out_c_bits_corrupt(tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_corrupt),
+    .auto_tl_master_clock_xing_out_d_ready(tile_prci_domain_auto_tl_master_clock_xing_out_d_ready),
+    .auto_tl_master_clock_xing_out_d_valid(tile_prci_domain_auto_tl_master_clock_xing_out_d_valid),
+    .auto_tl_master_clock_xing_out_d_bits_opcode(tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_opcode),
+    .auto_tl_master_clock_xing_out_d_bits_param(tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_param),
+    .auto_tl_master_clock_xing_out_d_bits_size(tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_size),
+    .auto_tl_master_clock_xing_out_d_bits_source(tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_source),
+    .auto_tl_master_clock_xing_out_d_bits_sink(tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_sink),
+    .auto_tl_master_clock_xing_out_d_bits_denied(tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_denied),
+    .auto_tl_master_clock_xing_out_d_bits_data(tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_data),
+    .auto_tl_master_clock_xing_out_d_bits_corrupt(tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_corrupt),
+    .auto_tl_master_clock_xing_out_e_valid(tile_prci_domain_auto_tl_master_clock_xing_out_e_valid),
+    .auto_tl_master_clock_xing_out_e_bits_sink(tile_prci_domain_auto_tl_master_clock_xing_out_e_bits_sink),
+    .auto_tap_clock_in_clock(tile_prci_domain_auto_tap_clock_in_clock),
+    .auto_tap_clock_in_reset(tile_prci_domain_auto_tap_clock_in_reset), // <no_sram>
+    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr), // <no_sram>
+    .tag_array_ext_RW0_en(tag_array_ext_RW0_en), // <no_sram>
+    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk), // <no_sram>
+    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode), // <no_sram>
+    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata), // <no_sram>
+    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask), // <no_sram>
+    .tag_array_0_ext_RW0_addr(tag_array_0_ext_RW0_addr), // <no_sram>
+    .tag_array_0_ext_RW0_en(tag_array_0_ext_RW0_en), // <no_sram>
+    .tag_array_0_ext_RW0_clk(tag_array_0_ext_RW0_clk), // <no_sram>
+    .tag_array_0_ext_RW0_wmode(tag_array_0_ext_RW0_wmode), // <no_sram>
+    .tag_array_0_ext_RW0_wdata(tag_array_0_ext_RW0_wdata), // <no_sram>
+    .tag_array_0_ext_RW0_rdata(tag_array_0_ext_RW0_rdata), // <no_sram>
+    .tag_array_0_ext_RW0_wmask(tag_array_0_ext_RW0_wmask), // <no_sram>
+    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask) // <no_sram>
+  );
+  ClockSinkDomain plicDomainWrapper ( // @[Plic.scala 359:39]
+    .auto_plic_int_in_0(plicDomainWrapper_auto_plic_int_in_0),
+    .auto_plic_int_in_1(plicDomainWrapper_auto_plic_int_in_1),
+    .auto_plic_int_in_2(plicDomainWrapper_auto_plic_int_in_2),
+    .auto_plic_int_in_3(plicDomainWrapper_auto_plic_int_in_3),
+    .auto_plic_int_in_4(plicDomainWrapper_auto_plic_int_in_4),
+    .auto_plic_int_in_5(plicDomainWrapper_auto_plic_int_in_5),
+    .auto_plic_int_in_6(plicDomainWrapper_auto_plic_int_in_6),
+    .auto_plic_int_in_7(plicDomainWrapper_auto_plic_int_in_7),
+    .auto_plic_int_in_8(plicDomainWrapper_auto_plic_int_in_8),
+    .auto_plic_int_in_9(plicDomainWrapper_auto_plic_int_in_9),
+    .auto_plic_int_in_10(plicDomainWrapper_auto_plic_int_in_10),
+    .auto_plic_int_in_11(plicDomainWrapper_auto_plic_int_in_11),
+    .auto_plic_int_in_12(plicDomainWrapper_auto_plic_int_in_12),
+    .auto_plic_int_in_13(plicDomainWrapper_auto_plic_int_in_13),
+    .auto_plic_int_in_14(plicDomainWrapper_auto_plic_int_in_14),
+    .auto_plic_int_in_15(plicDomainWrapper_auto_plic_int_in_15),
+    .auto_plic_int_in_16(plicDomainWrapper_auto_plic_int_in_16),
+    .auto_plic_int_in_17(plicDomainWrapper_auto_plic_int_in_17),
+    .auto_plic_int_in_18(plicDomainWrapper_auto_plic_int_in_18),
+    .auto_plic_int_in_19(plicDomainWrapper_auto_plic_int_in_19),
+    .auto_plic_int_in_20(plicDomainWrapper_auto_plic_int_in_20),
+    .auto_plic_int_in_21(plicDomainWrapper_auto_plic_int_in_21),
+    .auto_plic_int_in_22(plicDomainWrapper_auto_plic_int_in_22),
+    .auto_plic_int_in_23(plicDomainWrapper_auto_plic_int_in_23),
+    .auto_plic_int_in_24(plicDomainWrapper_auto_plic_int_in_24),
+    .auto_plic_int_in_25(plicDomainWrapper_auto_plic_int_in_25),
+    .auto_plic_int_in_26(plicDomainWrapper_auto_plic_int_in_26),
+    .auto_plic_int_in_27(plicDomainWrapper_auto_plic_int_in_27),
+    .auto_plic_int_in_28(plicDomainWrapper_auto_plic_int_in_28),
+    .auto_plic_int_in_29(plicDomainWrapper_auto_plic_int_in_29),
+    .auto_plic_int_in_30(plicDomainWrapper_auto_plic_int_in_30),
+    .auto_plic_int_in_31(plicDomainWrapper_auto_plic_int_in_31),
+    .auto_plic_int_in_32(plicDomainWrapper_auto_plic_int_in_32),
+    .auto_plic_int_in_33(plicDomainWrapper_auto_plic_int_in_33),
+    .auto_plic_int_in_34(plicDomainWrapper_auto_plic_int_in_34),
+    .auto_plic_int_in_35(plicDomainWrapper_auto_plic_int_in_35),
+    .auto_plic_int_in_36(plicDomainWrapper_auto_plic_int_in_36),
+    .auto_plic_int_in_37(plicDomainWrapper_auto_plic_int_in_37),
+    .auto_plic_int_in_38(plicDomainWrapper_auto_plic_int_in_38),
+    .auto_plic_int_in_39(plicDomainWrapper_auto_plic_int_in_39),
+    .auto_plic_int_in_40(plicDomainWrapper_auto_plic_int_in_40),
+    .auto_plic_int_in_41(plicDomainWrapper_auto_plic_int_in_41),
+    .auto_plic_int_in_42(plicDomainWrapper_auto_plic_int_in_42),
+    .auto_plic_int_in_43(plicDomainWrapper_auto_plic_int_in_43),
+    .auto_plic_int_in_44(plicDomainWrapper_auto_plic_int_in_44),
+    .auto_plic_int_in_45(plicDomainWrapper_auto_plic_int_in_45),
+    .auto_plic_int_in_46(plicDomainWrapper_auto_plic_int_in_46),
+    .auto_plic_int_in_47(plicDomainWrapper_auto_plic_int_in_47),
+    .auto_plic_int_in_48(plicDomainWrapper_auto_plic_int_in_48),
+    .auto_plic_int_in_49(plicDomainWrapper_auto_plic_int_in_49),
+    .auto_plic_int_in_50(plicDomainWrapper_auto_plic_int_in_50),
+    .auto_plic_int_in_51(plicDomainWrapper_auto_plic_int_in_51),
+    .auto_plic_int_in_52(plicDomainWrapper_auto_plic_int_in_52),
+    .auto_plic_int_in_53(plicDomainWrapper_auto_plic_int_in_53),
+    .auto_plic_int_in_54(plicDomainWrapper_auto_plic_int_in_54),
+    .auto_plic_int_in_55(plicDomainWrapper_auto_plic_int_in_55),
+    .auto_plic_int_out_1_0(plicDomainWrapper_auto_plic_int_out_1_0),
+    .auto_plic_int_out_0_0(plicDomainWrapper_auto_plic_int_out_0_0),
+    .auto_plic_in_a_ready(plicDomainWrapper_auto_plic_in_a_ready),
+    .auto_plic_in_a_valid(plicDomainWrapper_auto_plic_in_a_valid),
+    .auto_plic_in_a_bits_opcode(plicDomainWrapper_auto_plic_in_a_bits_opcode),
+    .auto_plic_in_a_bits_param(plicDomainWrapper_auto_plic_in_a_bits_param),
+    .auto_plic_in_a_bits_size(plicDomainWrapper_auto_plic_in_a_bits_size),
+    .auto_plic_in_a_bits_source(plicDomainWrapper_auto_plic_in_a_bits_source),
+    .auto_plic_in_a_bits_address(plicDomainWrapper_auto_plic_in_a_bits_address),
+    .auto_plic_in_a_bits_mask(plicDomainWrapper_auto_plic_in_a_bits_mask),
+    .auto_plic_in_a_bits_data(plicDomainWrapper_auto_plic_in_a_bits_data),
+    .auto_plic_in_a_bits_corrupt(plicDomainWrapper_auto_plic_in_a_bits_corrupt),
+    .auto_plic_in_d_ready(plicDomainWrapper_auto_plic_in_d_ready),
+    .auto_plic_in_d_valid(plicDomainWrapper_auto_plic_in_d_valid),
+    .auto_plic_in_d_bits_opcode(plicDomainWrapper_auto_plic_in_d_bits_opcode),
+    .auto_plic_in_d_bits_size(plicDomainWrapper_auto_plic_in_d_bits_size),
+    .auto_plic_in_d_bits_source(plicDomainWrapper_auto_plic_in_d_bits_source),
+    .auto_plic_in_d_bits_data(plicDomainWrapper_auto_plic_in_d_bits_data),
+    .auto_clock_in_clock(plicDomainWrapper_auto_clock_in_clock),
+    .auto_clock_in_reset(plicDomainWrapper_auto_clock_in_reset)
+  );
+  CLINT clint ( // @[CLINT.scala 109:27]
+    .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 84:27]
+    .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_debug_clock(debug_1_io_debug_clock),
+    .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)
+  );
+  BundleBridgeNexus_15 tileHartIdNexusNode ( // @[HasTiles.scala 159:39]
+    .auto_out(tileHartIdNexusNode_auto_out)
+  );
+  IntSyncCrossingSource_5 intsource ( // @[Crossing.scala 26:31]
+    .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_1 intsource_1 ( // @[Crossing.scala 26:31]
+    .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)
+  );
+  IntSyncCrossingSource_1 intsource_2 ( // @[Crossing.scala 26:31]
+    .clock(intsource_2_clock),
+    .reset(intsource_2_reset),
+    .auto_in_0(intsource_2_auto_in_0),
+    .auto_out_sync_0(intsource_2_auto_out_sync_0)
+  );
+  IntSyncSyncCrossingSink_1 intsink_1 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_1_auto_in_sync_0),
+    .auto_out_0(intsink_1_auto_out_0)
+  );
+  IntSyncSyncCrossingSink_1 intsink_2 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_2_auto_in_sync_0),
+    .auto_out_0(intsink_2_auto_out_0)
+  );
+  IntSyncSyncCrossingSink_1 intsink_3 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_3_auto_in_sync_0),
+    .auto_out_0(intsink_3_auto_out_0)
+  );
+  MockAONWrapper aon_1 ( // @[MockAONPeriphery.scala 21:23]
+    .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)
+  );
+  IntSyncAsyncCrossingSink_1 intsink_4 ( // @[Crossing.scala 74:29]
+    .clock(intsink_4_clock),
+    .auto_in_sync_0(intsink_4_auto_in_sync_0),
+    .auto_in_sync_1(intsink_4_auto_in_sync_1),
+    .auto_out_0(intsink_4_auto_out_0),
+    .auto_out_1(intsink_4_auto_out_1)
+  );
+  ClockSinkDomain_1 uartClockDomainWrapper ( // @[UART.scala 242:44]
+    .auto_uart_0_int_xing_out_sync_0(uartClockDomainWrapper_auto_uart_0_int_xing_out_sync_0),
+    .auto_uart_0_control_xing_in_a_ready(uartClockDomainWrapper_auto_uart_0_control_xing_in_a_ready),
+    .auto_uart_0_control_xing_in_a_valid(uartClockDomainWrapper_auto_uart_0_control_xing_in_a_valid),
+    .auto_uart_0_control_xing_in_a_bits_opcode(uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_opcode),
+    .auto_uart_0_control_xing_in_a_bits_param(uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_param),
+    .auto_uart_0_control_xing_in_a_bits_size(uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_size),
+    .auto_uart_0_control_xing_in_a_bits_source(uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_source),
+    .auto_uart_0_control_xing_in_a_bits_address(uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_address),
+    .auto_uart_0_control_xing_in_a_bits_mask(uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_mask),
+    .auto_uart_0_control_xing_in_a_bits_data(uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_data),
+    .auto_uart_0_control_xing_in_a_bits_corrupt(uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_corrupt),
+    .auto_uart_0_control_xing_in_d_ready(uartClockDomainWrapper_auto_uart_0_control_xing_in_d_ready),
+    .auto_uart_0_control_xing_in_d_valid(uartClockDomainWrapper_auto_uart_0_control_xing_in_d_valid),
+    .auto_uart_0_control_xing_in_d_bits_opcode(uartClockDomainWrapper_auto_uart_0_control_xing_in_d_bits_opcode),
+    .auto_uart_0_control_xing_in_d_bits_size(uartClockDomainWrapper_auto_uart_0_control_xing_in_d_bits_size),
+    .auto_uart_0_control_xing_in_d_bits_source(uartClockDomainWrapper_auto_uart_0_control_xing_in_d_bits_source),
+    .auto_uart_0_control_xing_in_d_bits_data(uartClockDomainWrapper_auto_uart_0_control_xing_in_d_bits_data),
+    .auto_uart_0_io_out_txd(uartClockDomainWrapper_auto_uart_0_io_out_txd),
+    .auto_uart_0_io_out_rxd(uartClockDomainWrapper_auto_uart_0_io_out_rxd),
+    .auto_clock_in_clock(uartClockDomainWrapper_auto_clock_in_clock),
+    .auto_clock_in_reset(uartClockDomainWrapper_auto_clock_in_reset)
+  );
+  IntSyncSyncCrossingSink_1 intsink_5 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_5_auto_in_sync_0),
+    .auto_out_0(intsink_5_auto_out_0)
+  );
+  ClockSinkDomain_2 uartClockDomainWrapper_1 ( // @[UART.scala 242:44]
+    .auto_uart_1_int_xing_out_sync_0(uartClockDomainWrapper_1_auto_uart_1_int_xing_out_sync_0),
+    .auto_uart_1_control_xing_in_a_ready(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_ready),
+    .auto_uart_1_control_xing_in_a_valid(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_valid),
+    .auto_uart_1_control_xing_in_a_bits_opcode(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_opcode),
+    .auto_uart_1_control_xing_in_a_bits_param(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_param),
+    .auto_uart_1_control_xing_in_a_bits_size(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_size),
+    .auto_uart_1_control_xing_in_a_bits_source(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_source),
+    .auto_uart_1_control_xing_in_a_bits_address(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_address),
+    .auto_uart_1_control_xing_in_a_bits_mask(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_mask),
+    .auto_uart_1_control_xing_in_a_bits_data(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_data),
+    .auto_uart_1_control_xing_in_a_bits_corrupt(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_corrupt),
+    .auto_uart_1_control_xing_in_d_ready(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_ready),
+    .auto_uart_1_control_xing_in_d_valid(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_valid),
+    .auto_uart_1_control_xing_in_d_bits_opcode(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_bits_opcode),
+    .auto_uart_1_control_xing_in_d_bits_size(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_bits_size),
+    .auto_uart_1_control_xing_in_d_bits_source(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_bits_source),
+    .auto_uart_1_control_xing_in_d_bits_data(uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_bits_data),
+    .auto_uart_1_io_out_txd(uartClockDomainWrapper_1_auto_uart_1_io_out_txd),
+    .auto_uart_1_io_out_rxd(uartClockDomainWrapper_1_auto_uart_1_io_out_rxd),
+    .auto_clock_in_clock(uartClockDomainWrapper_1_auto_clock_in_clock),
+    .auto_clock_in_reset(uartClockDomainWrapper_1_auto_clock_in_reset)
+  );
+  IntSyncSyncCrossingSink_1 intsink_6 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_6_auto_in_sync_0),
+    .auto_out_0(intsink_6_auto_out_0)
+  );
+  ClockSinkDomain_3 uartClockDomainWrapper_2 ( // @[UART.scala 242:44]
+    .auto_uart_2_int_xing_out_sync_0(uartClockDomainWrapper_2_auto_uart_2_int_xing_out_sync_0),
+    .auto_uart_2_control_xing_in_a_ready(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_ready),
+    .auto_uart_2_control_xing_in_a_valid(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_valid),
+    .auto_uart_2_control_xing_in_a_bits_opcode(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_opcode),
+    .auto_uart_2_control_xing_in_a_bits_param(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_param),
+    .auto_uart_2_control_xing_in_a_bits_size(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_size),
+    .auto_uart_2_control_xing_in_a_bits_source(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_source),
+    .auto_uart_2_control_xing_in_a_bits_address(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_address),
+    .auto_uart_2_control_xing_in_a_bits_mask(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_mask),
+    .auto_uart_2_control_xing_in_a_bits_data(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_data),
+    .auto_uart_2_control_xing_in_a_bits_corrupt(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_corrupt),
+    .auto_uart_2_control_xing_in_d_ready(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_ready),
+    .auto_uart_2_control_xing_in_d_valid(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_valid),
+    .auto_uart_2_control_xing_in_d_bits_opcode(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_bits_opcode),
+    .auto_uart_2_control_xing_in_d_bits_size(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_bits_size),
+    .auto_uart_2_control_xing_in_d_bits_source(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_bits_source),
+    .auto_uart_2_control_xing_in_d_bits_data(uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_bits_data),
+    .auto_uart_2_io_out_txd(uartClockDomainWrapper_2_auto_uart_2_io_out_txd),
+    .auto_uart_2_io_out_rxd(uartClockDomainWrapper_2_auto_uart_2_io_out_rxd),
+    .auto_clock_in_clock(uartClockDomainWrapper_2_auto_clock_in_clock),
+    .auto_clock_in_reset(uartClockDomainWrapper_2_auto_clock_in_reset)
+  );
+  IntSyncSyncCrossingSink_1 intsink_7 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_7_auto_in_sync_0),
+    .auto_out_0(intsink_7_auto_out_0)
+  );
+  ClockSinkDomain_4 uartClockDomainWrapper_3 ( // @[UART.scala 242:44]
+    .auto_uart_3_int_xing_out_sync_0(uartClockDomainWrapper_3_auto_uart_3_int_xing_out_sync_0),
+    .auto_uart_3_control_xing_in_a_ready(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_ready),
+    .auto_uart_3_control_xing_in_a_valid(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_valid),
+    .auto_uart_3_control_xing_in_a_bits_opcode(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_opcode),
+    .auto_uart_3_control_xing_in_a_bits_param(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_param),
+    .auto_uart_3_control_xing_in_a_bits_size(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_size),
+    .auto_uart_3_control_xing_in_a_bits_source(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_source),
+    .auto_uart_3_control_xing_in_a_bits_address(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_address),
+    .auto_uart_3_control_xing_in_a_bits_mask(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_mask),
+    .auto_uart_3_control_xing_in_a_bits_data(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_data),
+    .auto_uart_3_control_xing_in_a_bits_corrupt(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_corrupt),
+    .auto_uart_3_control_xing_in_d_ready(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_ready),
+    .auto_uart_3_control_xing_in_d_valid(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_valid),
+    .auto_uart_3_control_xing_in_d_bits_opcode(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_bits_opcode),
+    .auto_uart_3_control_xing_in_d_bits_size(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_bits_size),
+    .auto_uart_3_control_xing_in_d_bits_source(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_bits_source),
+    .auto_uart_3_control_xing_in_d_bits_data(uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_bits_data),
+    .auto_uart_3_io_out_txd(uartClockDomainWrapper_3_auto_uart_3_io_out_txd),
+    .auto_uart_3_io_out_rxd(uartClockDomainWrapper_3_auto_uart_3_io_out_rxd),
+    .auto_clock_in_clock(uartClockDomainWrapper_3_auto_clock_in_clock),
+    .auto_clock_in_reset(uartClockDomainWrapper_3_auto_clock_in_reset)
+  );
+  IntSyncSyncCrossingSink_1 intsink_8 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_8_auto_in_sync_0),
+    .auto_out_0(intsink_8_auto_out_0)
+  );
+  ClockSinkDomain_5 uartClockDomainWrapper_4 ( // @[UART.scala 242:44]
+    .auto_uart_4_int_xing_out_sync_0(uartClockDomainWrapper_4_auto_uart_4_int_xing_out_sync_0),
+    .auto_uart_4_control_xing_in_a_ready(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_ready),
+    .auto_uart_4_control_xing_in_a_valid(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_valid),
+    .auto_uart_4_control_xing_in_a_bits_opcode(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_opcode),
+    .auto_uart_4_control_xing_in_a_bits_param(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_param),
+    .auto_uart_4_control_xing_in_a_bits_size(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_size),
+    .auto_uart_4_control_xing_in_a_bits_source(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_source),
+    .auto_uart_4_control_xing_in_a_bits_address(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_address),
+    .auto_uart_4_control_xing_in_a_bits_mask(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_mask),
+    .auto_uart_4_control_xing_in_a_bits_data(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_data),
+    .auto_uart_4_control_xing_in_a_bits_corrupt(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_corrupt),
+    .auto_uart_4_control_xing_in_d_ready(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_ready),
+    .auto_uart_4_control_xing_in_d_valid(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_valid),
+    .auto_uart_4_control_xing_in_d_bits_opcode(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_bits_opcode),
+    .auto_uart_4_control_xing_in_d_bits_size(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_bits_size),
+    .auto_uart_4_control_xing_in_d_bits_source(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_bits_source),
+    .auto_uart_4_control_xing_in_d_bits_data(uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_bits_data),
+    .auto_uart_4_io_out_txd(uartClockDomainWrapper_4_auto_uart_4_io_out_txd),
+    .auto_uart_4_io_out_rxd(uartClockDomainWrapper_4_auto_uart_4_io_out_rxd),
+    .auto_clock_in_clock(uartClockDomainWrapper_4_auto_clock_in_clock),
+    .auto_clock_in_reset(uartClockDomainWrapper_4_auto_clock_in_reset)
+  );
+  IntSyncSyncCrossingSink_1 intsink_9 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_9_auto_in_sync_0),
+    .auto_out_0(intsink_9_auto_out_0)
+  );
+  ClockSinkDomain_6 qspiClockDomainWrapper ( // @[SPI.scala 92:44]
+    .auto_qspi_0_int_xing_out_sync_0(qspiClockDomainWrapper_auto_qspi_0_int_xing_out_sync_0),
+    .auto_qspi_0_mem_xing_in_a_ready(qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_ready),
+    .auto_qspi_0_mem_xing_in_a_valid(qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_valid),
+    .auto_qspi_0_mem_xing_in_a_bits_opcode(qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_opcode),
+    .auto_qspi_0_mem_xing_in_a_bits_param(qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_param),
+    .auto_qspi_0_mem_xing_in_a_bits_size(qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_size),
+    .auto_qspi_0_mem_xing_in_a_bits_source(qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_source),
+    .auto_qspi_0_mem_xing_in_a_bits_address(qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_address),
+    .auto_qspi_0_mem_xing_in_a_bits_mask(qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_mask),
+    .auto_qspi_0_mem_xing_in_a_bits_corrupt(qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_corrupt),
+    .auto_qspi_0_mem_xing_in_d_ready(qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_d_ready),
+    .auto_qspi_0_mem_xing_in_d_valid(qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_d_valid),
+    .auto_qspi_0_mem_xing_in_d_bits_size(qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_d_bits_size),
+    .auto_qspi_0_mem_xing_in_d_bits_source(qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_d_bits_source),
+    .auto_qspi_0_mem_xing_in_d_bits_data(qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_d_bits_data),
+    .auto_qspi_0_control_xing_in_a_ready(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_ready),
+    .auto_qspi_0_control_xing_in_a_valid(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_valid),
+    .auto_qspi_0_control_xing_in_a_bits_opcode(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_opcode),
+    .auto_qspi_0_control_xing_in_a_bits_param(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_param),
+    .auto_qspi_0_control_xing_in_a_bits_size(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_size),
+    .auto_qspi_0_control_xing_in_a_bits_source(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_source),
+    .auto_qspi_0_control_xing_in_a_bits_address(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_address),
+    .auto_qspi_0_control_xing_in_a_bits_mask(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_mask),
+    .auto_qspi_0_control_xing_in_a_bits_data(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_data),
+    .auto_qspi_0_control_xing_in_a_bits_corrupt(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_corrupt),
+    .auto_qspi_0_control_xing_in_d_ready(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_ready),
+    .auto_qspi_0_control_xing_in_d_valid(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_valid),
+    .auto_qspi_0_control_xing_in_d_bits_opcode(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_bits_opcode),
+    .auto_qspi_0_control_xing_in_d_bits_size(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_bits_size),
+    .auto_qspi_0_control_xing_in_d_bits_source(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_bits_source),
+    .auto_qspi_0_control_xing_in_d_bits_data(qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_bits_data),
+    .auto_qspi_0_io_out_sck(qspiClockDomainWrapper_auto_qspi_0_io_out_sck),
+    .auto_qspi_0_io_out_dq_0_i(qspiClockDomainWrapper_auto_qspi_0_io_out_dq_0_i),
+    .auto_qspi_0_io_out_dq_0_o(qspiClockDomainWrapper_auto_qspi_0_io_out_dq_0_o),
+    .auto_qspi_0_io_out_dq_0_oe(qspiClockDomainWrapper_auto_qspi_0_io_out_dq_0_oe),
+    .auto_qspi_0_io_out_dq_1_i(qspiClockDomainWrapper_auto_qspi_0_io_out_dq_1_i),
+    .auto_qspi_0_io_out_dq_1_o(qspiClockDomainWrapper_auto_qspi_0_io_out_dq_1_o),
+    .auto_qspi_0_io_out_dq_1_oe(qspiClockDomainWrapper_auto_qspi_0_io_out_dq_1_oe),
+    .auto_qspi_0_io_out_dq_2_i(qspiClockDomainWrapper_auto_qspi_0_io_out_dq_2_i),
+    .auto_qspi_0_io_out_dq_2_o(qspiClockDomainWrapper_auto_qspi_0_io_out_dq_2_o),
+    .auto_qspi_0_io_out_dq_2_oe(qspiClockDomainWrapper_auto_qspi_0_io_out_dq_2_oe),
+    .auto_qspi_0_io_out_dq_3_i(qspiClockDomainWrapper_auto_qspi_0_io_out_dq_3_i),
+    .auto_qspi_0_io_out_dq_3_o(qspiClockDomainWrapper_auto_qspi_0_io_out_dq_3_o),
+    .auto_qspi_0_io_out_dq_3_oe(qspiClockDomainWrapper_auto_qspi_0_io_out_dq_3_oe),
+    .auto_qspi_0_io_out_cs_0(qspiClockDomainWrapper_auto_qspi_0_io_out_cs_0),
+    .auto_clock_in_clock(qspiClockDomainWrapper_auto_clock_in_clock),
+    .auto_clock_in_reset(qspiClockDomainWrapper_auto_clock_in_reset)
+  );
+  IntSyncSyncCrossingSink_1 intsink_10 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_10_auto_in_sync_0),
+    .auto_out_0(intsink_10_auto_out_0)
+  );
+  ClockSinkDomain_7 qspiClockDomainWrapper_1 ( // @[SPI.scala 39:44]
+    .auto_qspi_ram_0_int_xing_out_sync_0(qspiClockDomainWrapper_1_auto_qspi_ram_0_int_xing_out_sync_0),
+    .auto_qspi_ram_0_mem_xing_in_a_ready(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_ready),
+    .auto_qspi_ram_0_mem_xing_in_a_valid(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_valid),
+    .auto_qspi_ram_0_mem_xing_in_a_bits_opcode(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_opcode),
+    .auto_qspi_ram_0_mem_xing_in_a_bits_param(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_param),
+    .auto_qspi_ram_0_mem_xing_in_a_bits_size(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_size),
+    .auto_qspi_ram_0_mem_xing_in_a_bits_source(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_source),
+    .auto_qspi_ram_0_mem_xing_in_a_bits_address(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_address),
+    .auto_qspi_ram_0_mem_xing_in_a_bits_mask(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_mask),
+    .auto_qspi_ram_0_mem_xing_in_a_bits_data(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_data),
+    .auto_qspi_ram_0_mem_xing_in_a_bits_corrupt(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_corrupt),
+    .auto_qspi_ram_0_mem_xing_in_d_ready(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_ready),
+    .auto_qspi_ram_0_mem_xing_in_d_valid(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_valid),
+    .auto_qspi_ram_0_mem_xing_in_d_bits_opcode(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_bits_opcode),
+    .auto_qspi_ram_0_mem_xing_in_d_bits_size(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_bits_size),
+    .auto_qspi_ram_0_mem_xing_in_d_bits_source(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_bits_source),
+    .auto_qspi_ram_0_mem_xing_in_d_bits_data(qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_bits_data),
+    .auto_qspi_ram_0_control_xing_in_a_ready(qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_ready),
+    .auto_qspi_ram_0_control_xing_in_a_valid(qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_valid),
+    .auto_qspi_ram_0_control_xing_in_a_bits_opcode(
+      qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_opcode),
+    .auto_qspi_ram_0_control_xing_in_a_bits_param(qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_param)
+      ,
+    .auto_qspi_ram_0_control_xing_in_a_bits_size(qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_size),
+    .auto_qspi_ram_0_control_xing_in_a_bits_source(
+      qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_source),
+    .auto_qspi_ram_0_control_xing_in_a_bits_address(
+      qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_address),
+    .auto_qspi_ram_0_control_xing_in_a_bits_mask(qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_mask),
+    .auto_qspi_ram_0_control_xing_in_a_bits_data(qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_data),
+    .auto_qspi_ram_0_control_xing_in_a_bits_corrupt(
+      qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_corrupt),
+    .auto_qspi_ram_0_control_xing_in_d_ready(qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_ready),
+    .auto_qspi_ram_0_control_xing_in_d_valid(qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_valid),
+    .auto_qspi_ram_0_control_xing_in_d_bits_opcode(
+      qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_bits_opcode),
+    .auto_qspi_ram_0_control_xing_in_d_bits_size(qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_bits_size),
+    .auto_qspi_ram_0_control_xing_in_d_bits_source(
+      qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_bits_source),
+    .auto_qspi_ram_0_control_xing_in_d_bits_data(qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_bits_data),
+    .auto_qspi_ram_0_io_out_sck(qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_sck),
+    .auto_qspi_ram_0_io_out_dq_0_i(qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_0_i),
+    .auto_qspi_ram_0_io_out_dq_0_o(qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_0_o),
+    .auto_qspi_ram_0_io_out_dq_0_oe(qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_0_oe),
+    .auto_qspi_ram_0_io_out_dq_1_i(qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_1_i),
+    .auto_qspi_ram_0_io_out_dq_1_o(qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_1_o),
+    .auto_qspi_ram_0_io_out_dq_1_oe(qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_1_oe),
+    .auto_qspi_ram_0_io_out_dq_2_i(qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_2_i),
+    .auto_qspi_ram_0_io_out_dq_2_o(qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_2_o),
+    .auto_qspi_ram_0_io_out_dq_2_oe(qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_2_oe),
+    .auto_qspi_ram_0_io_out_dq_3_i(qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_3_i),
+    .auto_qspi_ram_0_io_out_dq_3_o(qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_3_o),
+    .auto_qspi_ram_0_io_out_dq_3_oe(qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_3_oe),
+    .auto_qspi_ram_0_io_out_cs_0(qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_cs_0),
+    .auto_clock_in_clock(qspiClockDomainWrapper_1_auto_clock_in_clock),
+    .auto_clock_in_reset(qspiClockDomainWrapper_1_auto_clock_in_reset)
+  );
+  IntSyncSyncCrossingSink_1 intsink_11 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_11_auto_in_sync_0),
+    .auto_out_0(intsink_11_auto_out_0)
+  );
+  ClockSinkDomain_8 spiClockDomainWrapper ( // @[SPI.scala 35:43]
+    .auto_spi_0_int_xing_out_sync_0(spiClockDomainWrapper_auto_spi_0_int_xing_out_sync_0),
+    .auto_spi_0_control_xing_in_a_ready(spiClockDomainWrapper_auto_spi_0_control_xing_in_a_ready),
+    .auto_spi_0_control_xing_in_a_valid(spiClockDomainWrapper_auto_spi_0_control_xing_in_a_valid),
+    .auto_spi_0_control_xing_in_a_bits_opcode(spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_opcode),
+    .auto_spi_0_control_xing_in_a_bits_param(spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_param),
+    .auto_spi_0_control_xing_in_a_bits_size(spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_size),
+    .auto_spi_0_control_xing_in_a_bits_source(spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_source),
+    .auto_spi_0_control_xing_in_a_bits_address(spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_address),
+    .auto_spi_0_control_xing_in_a_bits_mask(spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_mask),
+    .auto_spi_0_control_xing_in_a_bits_data(spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_data),
+    .auto_spi_0_control_xing_in_a_bits_corrupt(spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_corrupt),
+    .auto_spi_0_control_xing_in_d_ready(spiClockDomainWrapper_auto_spi_0_control_xing_in_d_ready),
+    .auto_spi_0_control_xing_in_d_valid(spiClockDomainWrapper_auto_spi_0_control_xing_in_d_valid),
+    .auto_spi_0_control_xing_in_d_bits_opcode(spiClockDomainWrapper_auto_spi_0_control_xing_in_d_bits_opcode),
+    .auto_spi_0_control_xing_in_d_bits_size(spiClockDomainWrapper_auto_spi_0_control_xing_in_d_bits_size),
+    .auto_spi_0_control_xing_in_d_bits_source(spiClockDomainWrapper_auto_spi_0_control_xing_in_d_bits_source),
+    .auto_spi_0_control_xing_in_d_bits_data(spiClockDomainWrapper_auto_spi_0_control_xing_in_d_bits_data),
+    .auto_spi_0_io_out_sck(spiClockDomainWrapper_auto_spi_0_io_out_sck),
+    .auto_spi_0_io_out_dq_0_i(spiClockDomainWrapper_auto_spi_0_io_out_dq_0_i),
+    .auto_spi_0_io_out_dq_0_o(spiClockDomainWrapper_auto_spi_0_io_out_dq_0_o),
+    .auto_spi_0_io_out_dq_0_oe(spiClockDomainWrapper_auto_spi_0_io_out_dq_0_oe),
+    .auto_spi_0_io_out_dq_1_i(spiClockDomainWrapper_auto_spi_0_io_out_dq_1_i),
+    .auto_spi_0_io_out_dq_1_o(spiClockDomainWrapper_auto_spi_0_io_out_dq_1_o),
+    .auto_spi_0_io_out_dq_1_oe(spiClockDomainWrapper_auto_spi_0_io_out_dq_1_oe),
+    .auto_spi_0_io_out_dq_2_i(spiClockDomainWrapper_auto_spi_0_io_out_dq_2_i),
+    .auto_spi_0_io_out_dq_2_o(spiClockDomainWrapper_auto_spi_0_io_out_dq_2_o),
+    .auto_spi_0_io_out_dq_2_oe(spiClockDomainWrapper_auto_spi_0_io_out_dq_2_oe),
+    .auto_spi_0_io_out_dq_3_i(spiClockDomainWrapper_auto_spi_0_io_out_dq_3_i),
+    .auto_spi_0_io_out_dq_3_o(spiClockDomainWrapper_auto_spi_0_io_out_dq_3_o),
+    .auto_spi_0_io_out_dq_3_oe(spiClockDomainWrapper_auto_spi_0_io_out_dq_3_oe),
+    .auto_spi_0_io_out_cs_0(spiClockDomainWrapper_auto_spi_0_io_out_cs_0),
+    .auto_spi_0_io_out_cs_1(spiClockDomainWrapper_auto_spi_0_io_out_cs_1),
+    .auto_clock_in_clock(spiClockDomainWrapper_auto_clock_in_clock),
+    .auto_clock_in_reset(spiClockDomainWrapper_auto_clock_in_reset)
+  );
+  IntSyncSyncCrossingSink_1 intsink_12 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_12_auto_in_sync_0),
+    .auto_out_0(intsink_12_auto_out_0)
+  );
+  ClockSinkDomain_9 gpioClockDomainWrapper ( // @[GPIO.scala 281:44]
+    .auto_gpio_0_int_xing_out_sync_0(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_0),
+    .auto_gpio_0_int_xing_out_sync_1(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_1),
+    .auto_gpio_0_int_xing_out_sync_2(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_2),
+    .auto_gpio_0_int_xing_out_sync_3(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_3),
+    .auto_gpio_0_int_xing_out_sync_4(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_4),
+    .auto_gpio_0_int_xing_out_sync_5(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_5),
+    .auto_gpio_0_int_xing_out_sync_6(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_6),
+    .auto_gpio_0_int_xing_out_sync_7(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_7),
+    .auto_gpio_0_int_xing_out_sync_8(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_8),
+    .auto_gpio_0_int_xing_out_sync_9(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_9),
+    .auto_gpio_0_int_xing_out_sync_10(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_10),
+    .auto_gpio_0_int_xing_out_sync_11(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_11),
+    .auto_gpio_0_int_xing_out_sync_12(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_12),
+    .auto_gpio_0_int_xing_out_sync_13(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_13),
+    .auto_gpio_0_int_xing_out_sync_14(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_14),
+    .auto_gpio_0_int_xing_out_sync_15(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_15),
+    .auto_gpio_0_int_xing_out_sync_16(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_16),
+    .auto_gpio_0_int_xing_out_sync_17(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_17),
+    .auto_gpio_0_int_xing_out_sync_18(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_18),
+    .auto_gpio_0_int_xing_out_sync_19(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_19),
+    .auto_gpio_0_int_xing_out_sync_20(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_20),
+    .auto_gpio_0_int_xing_out_sync_21(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_21),
+    .auto_gpio_0_int_xing_out_sync_22(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_22),
+    .auto_gpio_0_int_xing_out_sync_23(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_23),
+    .auto_gpio_0_int_xing_out_sync_24(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_24),
+    .auto_gpio_0_int_xing_out_sync_25(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_25),
+    .auto_gpio_0_int_xing_out_sync_26(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_26),
+    .auto_gpio_0_int_xing_out_sync_27(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_27),
+    .auto_gpio_0_int_xing_out_sync_28(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_28),
+    .auto_gpio_0_int_xing_out_sync_29(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_29),
+    .auto_gpio_0_int_xing_out_sync_30(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_30),
+    .auto_gpio_0_int_xing_out_sync_31(gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_31),
+    .auto_gpio_0_control_xing_in_a_ready(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_ready),
+    .auto_gpio_0_control_xing_in_a_valid(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_valid),
+    .auto_gpio_0_control_xing_in_a_bits_opcode(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_opcode),
+    .auto_gpio_0_control_xing_in_a_bits_param(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_param),
+    .auto_gpio_0_control_xing_in_a_bits_size(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_size),
+    .auto_gpio_0_control_xing_in_a_bits_source(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_source),
+    .auto_gpio_0_control_xing_in_a_bits_address(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_address),
+    .auto_gpio_0_control_xing_in_a_bits_mask(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_mask),
+    .auto_gpio_0_control_xing_in_a_bits_data(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_data),
+    .auto_gpio_0_control_xing_in_a_bits_corrupt(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_corrupt),
+    .auto_gpio_0_control_xing_in_d_ready(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_ready),
+    .auto_gpio_0_control_xing_in_d_valid(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_valid),
+    .auto_gpio_0_control_xing_in_d_bits_opcode(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_bits_opcode),
+    .auto_gpio_0_control_xing_in_d_bits_size(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_bits_size),
+    .auto_gpio_0_control_xing_in_d_bits_source(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_bits_source),
+    .auto_gpio_0_control_xing_in_d_bits_data(gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_bits_data),
+    .auto_gpio_0_iof_out_iof_0_0_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_0_o_oval),
+    .auto_gpio_0_iof_out_iof_0_1_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_1_o_oval),
+    .auto_gpio_0_iof_out_iof_0_2_i_ival(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_2_i_ival),
+    .auto_gpio_0_iof_out_iof_0_2_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_2_o_oval),
+    .auto_gpio_0_iof_out_iof_0_2_o_oe(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_2_o_oe),
+    .auto_gpio_0_iof_out_iof_0_2_o_ie(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_2_o_ie),
+    .auto_gpio_0_iof_out_iof_0_3_i_ival(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_3_i_ival),
+    .auto_gpio_0_iof_out_iof_0_3_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_3_o_oval),
+    .auto_gpio_0_iof_out_iof_0_3_o_oe(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_3_o_oe),
+    .auto_gpio_0_iof_out_iof_0_3_o_ie(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_3_o_ie),
+    .auto_gpio_0_iof_out_iof_0_4_i_ival(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_4_i_ival),
+    .auto_gpio_0_iof_out_iof_0_4_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_4_o_oval),
+    .auto_gpio_0_iof_out_iof_0_4_o_oe(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_4_o_oe),
+    .auto_gpio_0_iof_out_iof_0_4_o_ie(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_4_o_ie),
+    .auto_gpio_0_iof_out_iof_0_5_i_ival(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_5_i_ival),
+    .auto_gpio_0_iof_out_iof_0_5_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_5_o_oval),
+    .auto_gpio_0_iof_out_iof_0_5_o_oe(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_5_o_oe),
+    .auto_gpio_0_iof_out_iof_0_5_o_ie(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_5_o_ie),
+    .auto_gpio_0_iof_out_iof_0_12_i_ival(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_12_i_ival),
+    .auto_gpio_0_iof_out_iof_0_12_o_oe(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_12_o_oe),
+    .auto_gpio_0_iof_out_iof_0_13_i_ival(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_13_i_ival),
+    .auto_gpio_0_iof_out_iof_0_13_o_oe(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_13_o_oe),
+    .auto_gpio_0_iof_out_iof_0_14_i_ival(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_14_i_ival),
+    .auto_gpio_0_iof_out_iof_0_14_o_oe(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_14_o_oe),
+    .auto_gpio_0_iof_out_iof_0_15_i_ival(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_15_i_ival),
+    .auto_gpio_0_iof_out_iof_0_15_o_oe(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_15_o_oe),
+    .auto_gpio_0_iof_out_iof_0_16_i_ival(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_16_i_ival),
+    .auto_gpio_0_iof_out_iof_0_17_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_17_o_oval),
+    .auto_gpio_0_iof_out_iof_0_18_i_ival(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_18_i_ival),
+    .auto_gpio_0_iof_out_iof_0_19_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_19_o_oval),
+    .auto_gpio_0_iof_out_iof_0_20_i_ival(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_20_i_ival),
+    .auto_gpio_0_iof_out_iof_0_21_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_21_o_oval),
+    .auto_gpio_0_iof_out_iof_0_22_i_ival(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_22_i_ival),
+    .auto_gpio_0_iof_out_iof_0_23_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_23_o_oval),
+    .auto_gpio_0_iof_out_iof_0_24_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_24_o_oval),
+    .auto_gpio_0_iof_out_iof_1_12_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_12_o_oval),
+    .auto_gpio_0_iof_out_iof_1_13_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_13_o_oval),
+    .auto_gpio_0_iof_out_iof_1_14_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_14_o_oval),
+    .auto_gpio_0_iof_out_iof_1_15_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_15_o_oval),
+    .auto_gpio_0_iof_out_iof_1_16_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_16_o_oval),
+    .auto_gpio_0_iof_out_iof_1_17_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_17_o_oval),
+    .auto_gpio_0_iof_out_iof_1_18_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_18_o_oval),
+    .auto_gpio_0_iof_out_iof_1_19_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_19_o_oval),
+    .auto_gpio_0_iof_out_iof_1_20_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_20_o_oval),
+    .auto_gpio_0_iof_out_iof_1_21_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_21_o_oval),
+    .auto_gpio_0_iof_out_iof_1_22_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_22_o_oval),
+    .auto_gpio_0_iof_out_iof_1_23_o_oval(gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_23_o_oval),
+    .auto_gpio_0_io_out_pins_0_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_0_i_ival),
+    .auto_gpio_0_io_out_pins_0_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_0_o_oval),
+    .auto_gpio_0_io_out_pins_0_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_0_o_oe),
+    .auto_gpio_0_io_out_pins_0_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_0_o_ie),
+    .auto_gpio_0_io_out_pins_1_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_1_i_ival),
+    .auto_gpio_0_io_out_pins_1_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_1_o_oval),
+    .auto_gpio_0_io_out_pins_1_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_1_o_oe),
+    .auto_gpio_0_io_out_pins_1_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_1_o_ie),
+    .auto_gpio_0_io_out_pins_2_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_2_i_ival),
+    .auto_gpio_0_io_out_pins_2_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_2_o_oval),
+    .auto_gpio_0_io_out_pins_2_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_2_o_oe),
+    .auto_gpio_0_io_out_pins_2_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_2_o_ie),
+    .auto_gpio_0_io_out_pins_3_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_3_i_ival),
+    .auto_gpio_0_io_out_pins_3_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_3_o_oval),
+    .auto_gpio_0_io_out_pins_3_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_3_o_oe),
+    .auto_gpio_0_io_out_pins_3_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_3_o_ie),
+    .auto_gpio_0_io_out_pins_4_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_4_i_ival),
+    .auto_gpio_0_io_out_pins_4_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_4_o_oval),
+    .auto_gpio_0_io_out_pins_4_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_4_o_oe),
+    .auto_gpio_0_io_out_pins_4_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_4_o_ie),
+    .auto_gpio_0_io_out_pins_5_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_5_i_ival),
+    .auto_gpio_0_io_out_pins_5_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_5_o_oval),
+    .auto_gpio_0_io_out_pins_5_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_5_o_oe),
+    .auto_gpio_0_io_out_pins_5_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_5_o_ie),
+    .auto_gpio_0_io_out_pins_6_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_6_i_ival),
+    .auto_gpio_0_io_out_pins_6_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_6_o_oval),
+    .auto_gpio_0_io_out_pins_6_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_6_o_oe),
+    .auto_gpio_0_io_out_pins_7_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_7_i_ival),
+    .auto_gpio_0_io_out_pins_7_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_7_o_oval),
+    .auto_gpio_0_io_out_pins_7_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_7_o_oe),
+    .auto_gpio_0_io_out_pins_8_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_8_i_ival),
+    .auto_gpio_0_io_out_pins_8_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_8_o_oval),
+    .auto_gpio_0_io_out_pins_8_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_8_o_oe),
+    .auto_gpio_0_io_out_pins_9_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_9_i_ival),
+    .auto_gpio_0_io_out_pins_9_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_9_o_oval),
+    .auto_gpio_0_io_out_pins_9_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_9_o_oe),
+    .auto_gpio_0_io_out_pins_10_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_10_i_ival),
+    .auto_gpio_0_io_out_pins_10_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_10_o_oval),
+    .auto_gpio_0_io_out_pins_10_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_10_o_oe),
+    .auto_gpio_0_io_out_pins_11_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_11_i_ival),
+    .auto_gpio_0_io_out_pins_11_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_11_o_oval),
+    .auto_gpio_0_io_out_pins_11_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_11_o_oe),
+    .auto_gpio_0_io_out_pins_12_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_12_i_ival),
+    .auto_gpio_0_io_out_pins_12_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_12_o_oval),
+    .auto_gpio_0_io_out_pins_12_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_12_o_oe),
+    .auto_gpio_0_io_out_pins_12_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_12_o_ie),
+    .auto_gpio_0_io_out_pins_13_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_13_i_ival),
+    .auto_gpio_0_io_out_pins_13_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_13_o_oval),
+    .auto_gpio_0_io_out_pins_13_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_13_o_oe),
+    .auto_gpio_0_io_out_pins_13_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_13_o_ie),
+    .auto_gpio_0_io_out_pins_14_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_14_i_ival),
+    .auto_gpio_0_io_out_pins_14_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_14_o_oval),
+    .auto_gpio_0_io_out_pins_14_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_14_o_oe),
+    .auto_gpio_0_io_out_pins_14_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_14_o_ie),
+    .auto_gpio_0_io_out_pins_15_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_15_i_ival),
+    .auto_gpio_0_io_out_pins_15_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_15_o_oval),
+    .auto_gpio_0_io_out_pins_15_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_15_o_oe),
+    .auto_gpio_0_io_out_pins_15_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_15_o_ie),
+    .auto_gpio_0_io_out_pins_16_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_16_i_ival),
+    .auto_gpio_0_io_out_pins_16_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_16_o_oval),
+    .auto_gpio_0_io_out_pins_16_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_16_o_oe),
+    .auto_gpio_0_io_out_pins_16_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_16_o_ie),
+    .auto_gpio_0_io_out_pins_17_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_17_i_ival),
+    .auto_gpio_0_io_out_pins_17_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_17_o_oval),
+    .auto_gpio_0_io_out_pins_17_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_17_o_oe),
+    .auto_gpio_0_io_out_pins_17_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_17_o_ie),
+    .auto_gpio_0_io_out_pins_18_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_18_i_ival),
+    .auto_gpio_0_io_out_pins_18_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_18_o_oval),
+    .auto_gpio_0_io_out_pins_18_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_18_o_oe),
+    .auto_gpio_0_io_out_pins_18_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_18_o_ie),
+    .auto_gpio_0_io_out_pins_19_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_19_i_ival),
+    .auto_gpio_0_io_out_pins_19_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_19_o_oval),
+    .auto_gpio_0_io_out_pins_19_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_19_o_oe),
+    .auto_gpio_0_io_out_pins_19_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_19_o_ie),
+    .auto_gpio_0_io_out_pins_20_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_20_i_ival),
+    .auto_gpio_0_io_out_pins_20_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_20_o_oval),
+    .auto_gpio_0_io_out_pins_20_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_20_o_oe),
+    .auto_gpio_0_io_out_pins_20_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_20_o_ie),
+    .auto_gpio_0_io_out_pins_21_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_21_i_ival),
+    .auto_gpio_0_io_out_pins_21_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_21_o_oval),
+    .auto_gpio_0_io_out_pins_21_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_21_o_oe),
+    .auto_gpio_0_io_out_pins_21_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_21_o_ie),
+    .auto_gpio_0_io_out_pins_22_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_22_i_ival),
+    .auto_gpio_0_io_out_pins_22_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_22_o_oval),
+    .auto_gpio_0_io_out_pins_22_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_22_o_oe),
+    .auto_gpio_0_io_out_pins_22_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_22_o_ie),
+    .auto_gpio_0_io_out_pins_23_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_23_i_ival),
+    .auto_gpio_0_io_out_pins_23_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_23_o_oval),
+    .auto_gpio_0_io_out_pins_23_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_23_o_oe),
+    .auto_gpio_0_io_out_pins_23_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_23_o_ie),
+    .auto_gpio_0_io_out_pins_24_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_24_i_ival),
+    .auto_gpio_0_io_out_pins_24_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_24_o_oval),
+    .auto_gpio_0_io_out_pins_24_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_24_o_oe),
+    .auto_gpio_0_io_out_pins_24_o_ie(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_24_o_ie),
+    .auto_gpio_0_io_out_pins_25_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_25_i_ival),
+    .auto_gpio_0_io_out_pins_25_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_25_o_oval),
+    .auto_gpio_0_io_out_pins_25_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_25_o_oe),
+    .auto_gpio_0_io_out_pins_26_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_26_i_ival),
+    .auto_gpio_0_io_out_pins_26_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_26_o_oval),
+    .auto_gpio_0_io_out_pins_26_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_26_o_oe),
+    .auto_gpio_0_io_out_pins_27_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_27_i_ival),
+    .auto_gpio_0_io_out_pins_27_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_27_o_oval),
+    .auto_gpio_0_io_out_pins_27_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_27_o_oe),
+    .auto_gpio_0_io_out_pins_28_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_28_i_ival),
+    .auto_gpio_0_io_out_pins_28_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_28_o_oval),
+    .auto_gpio_0_io_out_pins_28_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_28_o_oe),
+    .auto_gpio_0_io_out_pins_29_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_29_i_ival),
+    .auto_gpio_0_io_out_pins_29_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_29_o_oval),
+    .auto_gpio_0_io_out_pins_29_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_29_o_oe),
+    .auto_gpio_0_io_out_pins_30_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_30_i_ival),
+    .auto_gpio_0_io_out_pins_30_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_30_o_oval),
+    .auto_gpio_0_io_out_pins_30_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_30_o_oe),
+    .auto_gpio_0_io_out_pins_31_i_ival(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_31_i_ival),
+    .auto_gpio_0_io_out_pins_31_o_oval(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_31_o_oval),
+    .auto_gpio_0_io_out_pins_31_o_oe(gpioClockDomainWrapper_auto_gpio_0_io_out_pins_31_o_oe),
+    .auto_clock_in_clock(gpioClockDomainWrapper_auto_clock_in_clock),
+    .auto_clock_in_reset(gpioClockDomainWrapper_auto_clock_in_reset)
+  );
+  IntSyncSyncCrossingSink_15 intsink_13 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_13_auto_in_sync_0),
+    .auto_in_sync_1(intsink_13_auto_in_sync_1),
+    .auto_in_sync_2(intsink_13_auto_in_sync_2),
+    .auto_in_sync_3(intsink_13_auto_in_sync_3),
+    .auto_in_sync_4(intsink_13_auto_in_sync_4),
+    .auto_in_sync_5(intsink_13_auto_in_sync_5),
+    .auto_in_sync_6(intsink_13_auto_in_sync_6),
+    .auto_in_sync_7(intsink_13_auto_in_sync_7),
+    .auto_in_sync_8(intsink_13_auto_in_sync_8),
+    .auto_in_sync_9(intsink_13_auto_in_sync_9),
+    .auto_in_sync_10(intsink_13_auto_in_sync_10),
+    .auto_in_sync_11(intsink_13_auto_in_sync_11),
+    .auto_in_sync_12(intsink_13_auto_in_sync_12),
+    .auto_in_sync_13(intsink_13_auto_in_sync_13),
+    .auto_in_sync_14(intsink_13_auto_in_sync_14),
+    .auto_in_sync_15(intsink_13_auto_in_sync_15),
+    .auto_in_sync_16(intsink_13_auto_in_sync_16),
+    .auto_in_sync_17(intsink_13_auto_in_sync_17),
+    .auto_in_sync_18(intsink_13_auto_in_sync_18),
+    .auto_in_sync_19(intsink_13_auto_in_sync_19),
+    .auto_in_sync_20(intsink_13_auto_in_sync_20),
+    .auto_in_sync_21(intsink_13_auto_in_sync_21),
+    .auto_in_sync_22(intsink_13_auto_in_sync_22),
+    .auto_in_sync_23(intsink_13_auto_in_sync_23),
+    .auto_in_sync_24(intsink_13_auto_in_sync_24),
+    .auto_in_sync_25(intsink_13_auto_in_sync_25),
+    .auto_in_sync_26(intsink_13_auto_in_sync_26),
+    .auto_in_sync_27(intsink_13_auto_in_sync_27),
+    .auto_in_sync_28(intsink_13_auto_in_sync_28),
+    .auto_in_sync_29(intsink_13_auto_in_sync_29),
+    .auto_in_sync_30(intsink_13_auto_in_sync_30),
+    .auto_in_sync_31(intsink_13_auto_in_sync_31),
+    .auto_out_0(intsink_13_auto_out_0),
+    .auto_out_1(intsink_13_auto_out_1),
+    .auto_out_2(intsink_13_auto_out_2),
+    .auto_out_3(intsink_13_auto_out_3),
+    .auto_out_4(intsink_13_auto_out_4),
+    .auto_out_5(intsink_13_auto_out_5),
+    .auto_out_6(intsink_13_auto_out_6),
+    .auto_out_7(intsink_13_auto_out_7),
+    .auto_out_8(intsink_13_auto_out_8),
+    .auto_out_9(intsink_13_auto_out_9),
+    .auto_out_10(intsink_13_auto_out_10),
+    .auto_out_11(intsink_13_auto_out_11),
+    .auto_out_12(intsink_13_auto_out_12),
+    .auto_out_13(intsink_13_auto_out_13),
+    .auto_out_14(intsink_13_auto_out_14),
+    .auto_out_15(intsink_13_auto_out_15),
+    .auto_out_16(intsink_13_auto_out_16),
+    .auto_out_17(intsink_13_auto_out_17),
+    .auto_out_18(intsink_13_auto_out_18),
+    .auto_out_19(intsink_13_auto_out_19),
+    .auto_out_20(intsink_13_auto_out_20),
+    .auto_out_21(intsink_13_auto_out_21),
+    .auto_out_22(intsink_13_auto_out_22),
+    .auto_out_23(intsink_13_auto_out_23),
+    .auto_out_24(intsink_13_auto_out_24),
+    .auto_out_25(intsink_13_auto_out_25),
+    .auto_out_26(intsink_13_auto_out_26),
+    .auto_out_27(intsink_13_auto_out_27),
+    .auto_out_28(intsink_13_auto_out_28),
+    .auto_out_29(intsink_13_auto_out_29),
+    .auto_out_30(intsink_13_auto_out_30),
+    .auto_out_31(intsink_13_auto_out_31)
+  );
+  ClockSinkDomain_10 pwmClockDomainWrapper ( // @[PWM.scala 134:43]
+    .auto_pwm_0_int_xing_out_sync_0(pwmClockDomainWrapper_auto_pwm_0_int_xing_out_sync_0),
+    .auto_pwm_0_int_xing_out_sync_1(pwmClockDomainWrapper_auto_pwm_0_int_xing_out_sync_1),
+    .auto_pwm_0_int_xing_out_sync_2(pwmClockDomainWrapper_auto_pwm_0_int_xing_out_sync_2),
+    .auto_pwm_0_int_xing_out_sync_3(pwmClockDomainWrapper_auto_pwm_0_int_xing_out_sync_3),
+    .auto_pwm_0_control_xing_in_a_ready(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_ready),
+    .auto_pwm_0_control_xing_in_a_valid(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_valid),
+    .auto_pwm_0_control_xing_in_a_bits_opcode(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_opcode),
+    .auto_pwm_0_control_xing_in_a_bits_param(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_param),
+    .auto_pwm_0_control_xing_in_a_bits_size(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_size),
+    .auto_pwm_0_control_xing_in_a_bits_source(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_source),
+    .auto_pwm_0_control_xing_in_a_bits_address(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_address),
+    .auto_pwm_0_control_xing_in_a_bits_mask(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_mask),
+    .auto_pwm_0_control_xing_in_a_bits_data(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_data),
+    .auto_pwm_0_control_xing_in_a_bits_corrupt(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_corrupt),
+    .auto_pwm_0_control_xing_in_d_ready(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_ready),
+    .auto_pwm_0_control_xing_in_d_valid(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_valid),
+    .auto_pwm_0_control_xing_in_d_bits_opcode(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_bits_opcode),
+    .auto_pwm_0_control_xing_in_d_bits_size(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_bits_size),
+    .auto_pwm_0_control_xing_in_d_bits_source(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_bits_source),
+    .auto_pwm_0_control_xing_in_d_bits_data(pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_bits_data),
+    .auto_pwm_0_io_out_gpio_0(pwmClockDomainWrapper_auto_pwm_0_io_out_gpio_0),
+    .auto_pwm_0_io_out_gpio_1(pwmClockDomainWrapper_auto_pwm_0_io_out_gpio_1),
+    .auto_pwm_0_io_out_gpio_2(pwmClockDomainWrapper_auto_pwm_0_io_out_gpio_2),
+    .auto_pwm_0_io_out_gpio_3(pwmClockDomainWrapper_auto_pwm_0_io_out_gpio_3),
+    .auto_clock_in_clock(pwmClockDomainWrapper_auto_clock_in_clock),
+    .auto_clock_in_reset(pwmClockDomainWrapper_auto_clock_in_reset)
+  );
+  IntSyncSyncCrossingSink_16 intsink_14 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_14_auto_in_sync_0),
+    .auto_in_sync_1(intsink_14_auto_in_sync_1),
+    .auto_in_sync_2(intsink_14_auto_in_sync_2),
+    .auto_in_sync_3(intsink_14_auto_in_sync_3),
+    .auto_out_0(intsink_14_auto_out_0),
+    .auto_out_1(intsink_14_auto_out_1),
+    .auto_out_2(intsink_14_auto_out_2),
+    .auto_out_3(intsink_14_auto_out_3)
+  );
+  ClockSinkDomain_11 pwmClockDomainWrapper_1 ( // @[PWM.scala 134:43]
+    .auto_pwm_1_int_xing_out_sync_0(pwmClockDomainWrapper_1_auto_pwm_1_int_xing_out_sync_0),
+    .auto_pwm_1_int_xing_out_sync_1(pwmClockDomainWrapper_1_auto_pwm_1_int_xing_out_sync_1),
+    .auto_pwm_1_int_xing_out_sync_2(pwmClockDomainWrapper_1_auto_pwm_1_int_xing_out_sync_2),
+    .auto_pwm_1_int_xing_out_sync_3(pwmClockDomainWrapper_1_auto_pwm_1_int_xing_out_sync_3),
+    .auto_pwm_1_control_xing_in_a_ready(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_ready),
+    .auto_pwm_1_control_xing_in_a_valid(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_valid),
+    .auto_pwm_1_control_xing_in_a_bits_opcode(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_opcode),
+    .auto_pwm_1_control_xing_in_a_bits_param(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_param),
+    .auto_pwm_1_control_xing_in_a_bits_size(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_size),
+    .auto_pwm_1_control_xing_in_a_bits_source(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_source),
+    .auto_pwm_1_control_xing_in_a_bits_address(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_address),
+    .auto_pwm_1_control_xing_in_a_bits_mask(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_mask),
+    .auto_pwm_1_control_xing_in_a_bits_data(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_data),
+    .auto_pwm_1_control_xing_in_a_bits_corrupt(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_corrupt),
+    .auto_pwm_1_control_xing_in_d_ready(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_ready),
+    .auto_pwm_1_control_xing_in_d_valid(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_valid),
+    .auto_pwm_1_control_xing_in_d_bits_opcode(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_bits_opcode),
+    .auto_pwm_1_control_xing_in_d_bits_size(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_bits_size),
+    .auto_pwm_1_control_xing_in_d_bits_source(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_bits_source),
+    .auto_pwm_1_control_xing_in_d_bits_data(pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_bits_data),
+    .auto_pwm_1_io_out_gpio_0(pwmClockDomainWrapper_1_auto_pwm_1_io_out_gpio_0),
+    .auto_pwm_1_io_out_gpio_1(pwmClockDomainWrapper_1_auto_pwm_1_io_out_gpio_1),
+    .auto_pwm_1_io_out_gpio_2(pwmClockDomainWrapper_1_auto_pwm_1_io_out_gpio_2),
+    .auto_pwm_1_io_out_gpio_3(pwmClockDomainWrapper_1_auto_pwm_1_io_out_gpio_3),
+    .auto_clock_in_clock(pwmClockDomainWrapper_1_auto_clock_in_clock),
+    .auto_clock_in_reset(pwmClockDomainWrapper_1_auto_clock_in_reset)
+  );
+  IntSyncSyncCrossingSink_16 intsink_15 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_15_auto_in_sync_0),
+    .auto_in_sync_1(intsink_15_auto_in_sync_1),
+    .auto_in_sync_2(intsink_15_auto_in_sync_2),
+    .auto_in_sync_3(intsink_15_auto_in_sync_3),
+    .auto_out_0(intsink_15_auto_out_0),
+    .auto_out_1(intsink_15_auto_out_1),
+    .auto_out_2(intsink_15_auto_out_2),
+    .auto_out_3(intsink_15_auto_out_3)
+  );
+  ClockSinkDomain_12 pwmClockDomainWrapper_2 ( // @[PWM.scala 134:43]
+    .auto_pwm_2_int_xing_out_sync_0(pwmClockDomainWrapper_2_auto_pwm_2_int_xing_out_sync_0),
+    .auto_pwm_2_int_xing_out_sync_1(pwmClockDomainWrapper_2_auto_pwm_2_int_xing_out_sync_1),
+    .auto_pwm_2_int_xing_out_sync_2(pwmClockDomainWrapper_2_auto_pwm_2_int_xing_out_sync_2),
+    .auto_pwm_2_int_xing_out_sync_3(pwmClockDomainWrapper_2_auto_pwm_2_int_xing_out_sync_3),
+    .auto_pwm_2_control_xing_in_a_ready(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_ready),
+    .auto_pwm_2_control_xing_in_a_valid(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_valid),
+    .auto_pwm_2_control_xing_in_a_bits_opcode(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_opcode),
+    .auto_pwm_2_control_xing_in_a_bits_param(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_param),
+    .auto_pwm_2_control_xing_in_a_bits_size(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_size),
+    .auto_pwm_2_control_xing_in_a_bits_source(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_source),
+    .auto_pwm_2_control_xing_in_a_bits_address(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_address),
+    .auto_pwm_2_control_xing_in_a_bits_mask(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_mask),
+    .auto_pwm_2_control_xing_in_a_bits_data(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_data),
+    .auto_pwm_2_control_xing_in_a_bits_corrupt(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_corrupt),
+    .auto_pwm_2_control_xing_in_d_ready(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_ready),
+    .auto_pwm_2_control_xing_in_d_valid(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_valid),
+    .auto_pwm_2_control_xing_in_d_bits_opcode(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_bits_opcode),
+    .auto_pwm_2_control_xing_in_d_bits_size(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_bits_size),
+    .auto_pwm_2_control_xing_in_d_bits_source(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_bits_source),
+    .auto_pwm_2_control_xing_in_d_bits_data(pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_bits_data),
+    .auto_pwm_2_io_out_gpio_0(pwmClockDomainWrapper_2_auto_pwm_2_io_out_gpio_0),
+    .auto_pwm_2_io_out_gpio_1(pwmClockDomainWrapper_2_auto_pwm_2_io_out_gpio_1),
+    .auto_pwm_2_io_out_gpio_2(pwmClockDomainWrapper_2_auto_pwm_2_io_out_gpio_2),
+    .auto_pwm_2_io_out_gpio_3(pwmClockDomainWrapper_2_auto_pwm_2_io_out_gpio_3),
+    .auto_clock_in_clock(pwmClockDomainWrapper_2_auto_clock_in_clock),
+    .auto_clock_in_reset(pwmClockDomainWrapper_2_auto_clock_in_reset)
+  );
+  IntSyncSyncCrossingSink_16 intsink_16 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_16_auto_in_sync_0),
+    .auto_in_sync_1(intsink_16_auto_in_sync_1),
+    .auto_in_sync_2(intsink_16_auto_in_sync_2),
+    .auto_in_sync_3(intsink_16_auto_in_sync_3),
+    .auto_out_0(intsink_16_auto_out_0),
+    .auto_out_1(intsink_16_auto_out_1),
+    .auto_out_2(intsink_16_auto_out_2),
+    .auto_out_3(intsink_16_auto_out_3)
+  );
+  ClockSinkDomain_13 i2cClockDomainWrapper ( // @[I2C.scala 596:43]
+    .auto_i2c_0_int_xing_out_sync_0(i2cClockDomainWrapper_auto_i2c_0_int_xing_out_sync_0),
+    .auto_i2c_0_control_xing_in_a_ready(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_ready),
+    .auto_i2c_0_control_xing_in_a_valid(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_valid),
+    .auto_i2c_0_control_xing_in_a_bits_opcode(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_opcode),
+    .auto_i2c_0_control_xing_in_a_bits_param(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_param),
+    .auto_i2c_0_control_xing_in_a_bits_size(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_size),
+    .auto_i2c_0_control_xing_in_a_bits_source(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_source),
+    .auto_i2c_0_control_xing_in_a_bits_address(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_address),
+    .auto_i2c_0_control_xing_in_a_bits_mask(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_mask),
+    .auto_i2c_0_control_xing_in_a_bits_data(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_data),
+    .auto_i2c_0_control_xing_in_a_bits_corrupt(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_corrupt),
+    .auto_i2c_0_control_xing_in_d_ready(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_ready),
+    .auto_i2c_0_control_xing_in_d_valid(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_valid),
+    .auto_i2c_0_control_xing_in_d_bits_opcode(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_bits_opcode),
+    .auto_i2c_0_control_xing_in_d_bits_size(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_bits_size),
+    .auto_i2c_0_control_xing_in_d_bits_source(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_bits_source),
+    .auto_i2c_0_control_xing_in_d_bits_data(i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_bits_data),
+    .auto_i2c_0_io_out_scl_in(i2cClockDomainWrapper_auto_i2c_0_io_out_scl_in),
+    .auto_i2c_0_io_out_scl_oe(i2cClockDomainWrapper_auto_i2c_0_io_out_scl_oe),
+    .auto_i2c_0_io_out_sda_in(i2cClockDomainWrapper_auto_i2c_0_io_out_sda_in),
+    .auto_i2c_0_io_out_sda_oe(i2cClockDomainWrapper_auto_i2c_0_io_out_sda_oe),
+    .auto_clock_in_clock(i2cClockDomainWrapper_auto_clock_in_clock),
+    .auto_clock_in_reset(i2cClockDomainWrapper_auto_clock_in_reset)
+  );
+  IntSyncSyncCrossingSink_1 intsink_17 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_17_auto_in_sync_0),
+    .auto_out_0(intsink_17_auto_out_0)
+  );
+  ClockSinkDomain_14 i2cClockDomainWrapper_1 ( // @[I2C.scala 596:43]
+    .auto_i2c_1_int_xing_out_sync_0(i2cClockDomainWrapper_1_auto_i2c_1_int_xing_out_sync_0),
+    .auto_i2c_1_control_xing_in_a_ready(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_ready),
+    .auto_i2c_1_control_xing_in_a_valid(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_valid),
+    .auto_i2c_1_control_xing_in_a_bits_opcode(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_opcode),
+    .auto_i2c_1_control_xing_in_a_bits_param(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_param),
+    .auto_i2c_1_control_xing_in_a_bits_size(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_size),
+    .auto_i2c_1_control_xing_in_a_bits_source(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_source),
+    .auto_i2c_1_control_xing_in_a_bits_address(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_address),
+    .auto_i2c_1_control_xing_in_a_bits_mask(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_mask),
+    .auto_i2c_1_control_xing_in_a_bits_data(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_data),
+    .auto_i2c_1_control_xing_in_a_bits_corrupt(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_corrupt),
+    .auto_i2c_1_control_xing_in_d_ready(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_ready),
+    .auto_i2c_1_control_xing_in_d_valid(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_valid),
+    .auto_i2c_1_control_xing_in_d_bits_opcode(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_bits_opcode),
+    .auto_i2c_1_control_xing_in_d_bits_size(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_bits_size),
+    .auto_i2c_1_control_xing_in_d_bits_source(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_bits_source),
+    .auto_i2c_1_control_xing_in_d_bits_data(i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_bits_data),
+    .auto_i2c_1_io_out_scl_in(i2cClockDomainWrapper_1_auto_i2c_1_io_out_scl_in),
+    .auto_i2c_1_io_out_scl_oe(i2cClockDomainWrapper_1_auto_i2c_1_io_out_scl_oe),
+    .auto_i2c_1_io_out_sda_in(i2cClockDomainWrapper_1_auto_i2c_1_io_out_sda_in),
+    .auto_i2c_1_io_out_sda_oe(i2cClockDomainWrapper_1_auto_i2c_1_io_out_sda_oe),
+    .auto_clock_in_clock(i2cClockDomainWrapper_1_auto_clock_in_clock),
+    .auto_clock_in_reset(i2cClockDomainWrapper_1_auto_clock_in_reset)
+  );
+  IntSyncSyncCrossingSink_1 intsink_18 ( // @[Crossing.scala 94:29]
+    .auto_in_sync_0(intsink_18_auto_in_sync_0),
+    .auto_out_0(intsink_18_auto_out_0)
+  );
+  ClockSinkDomain_15 bootROMDomainWrapper ( // @[BootROM.scala 70:42]
+    .auto_bootrom_in_a_ready(bootROMDomainWrapper_auto_bootrom_in_a_ready),
+    .auto_bootrom_in_a_valid(bootROMDomainWrapper_auto_bootrom_in_a_valid),
+    .auto_bootrom_in_a_bits_opcode(bootROMDomainWrapper_auto_bootrom_in_a_bits_opcode),
+    .auto_bootrom_in_a_bits_param(bootROMDomainWrapper_auto_bootrom_in_a_bits_param),
+    .auto_bootrom_in_a_bits_size(bootROMDomainWrapper_auto_bootrom_in_a_bits_size),
+    .auto_bootrom_in_a_bits_source(bootROMDomainWrapper_auto_bootrom_in_a_bits_source),
+    .auto_bootrom_in_a_bits_address(bootROMDomainWrapper_auto_bootrom_in_a_bits_address),
+    .auto_bootrom_in_a_bits_mask(bootROMDomainWrapper_auto_bootrom_in_a_bits_mask),
+    .auto_bootrom_in_a_bits_corrupt(bootROMDomainWrapper_auto_bootrom_in_a_bits_corrupt),
+    .auto_bootrom_in_d_ready(bootROMDomainWrapper_auto_bootrom_in_d_ready),
+    .auto_bootrom_in_d_valid(bootROMDomainWrapper_auto_bootrom_in_d_valid),
+    .auto_bootrom_in_d_bits_size(bootROMDomainWrapper_auto_bootrom_in_d_bits_size),
+    .auto_bootrom_in_d_bits_source(bootROMDomainWrapper_auto_bootrom_in_d_bits_source),
+    .auto_bootrom_in_d_bits_data(bootROMDomainWrapper_auto_bootrom_in_d_bits_data),
+    .auto_clock_in_clock(bootROMDomainWrapper_auto_clock_in_clock),
+    .auto_clock_in_reset(bootROMDomainWrapper_auto_clock_in_reset)
+  );
+  DebugTransportModuleJTAG dtm ( // @[Periphery.scala 161:21]
+    .io_jtag_clock(dtm_io_jtag_clock),
+    .io_jtag_reset(dtm_io_jtag_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)
+  );
+  SynchronizerShiftReg_w1_d3 rtc_sync_rtc ( // @[ShiftReg.scala 45:23]
+    .clock(rtc_sync_rtc_clock),
+    .io_d(rtc_sync_rtc_io_d),
+    .io_q(rtc_sync_rtc_io_q)
+  );
+  assign debug_systemjtag_jtag_TDO_data = dtm_io_jtag_TDO_data; // @[Periphery.scala 162:17]
+  assign debug_systemjtag_jtag_TDO_driven = dtm_io_jtag_TDO_driven; // @[Periphery.scala 162:17]
+  assign uart_0_txd = uartClockDomainWrapper_auto_uart_0_io_out_txd; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign uart_1_txd = uartClockDomainWrapper_1_auto_uart_1_io_out_txd; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign uart_2_txd = uartClockDomainWrapper_2_auto_uart_2_io_out_txd; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign uart_3_txd = uartClockDomainWrapper_3_auto_uart_3_io_out_txd; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign uart_4_txd = uartClockDomainWrapper_4_auto_uart_4_io_out_txd; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign spi_0_sck = spiClockDomainWrapper_auto_spi_0_io_out_sck; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign spi_0_dq_0_o = spiClockDomainWrapper_auto_spi_0_io_out_dq_0_o; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign spi_0_dq_0_oe = spiClockDomainWrapper_auto_spi_0_io_out_dq_0_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign spi_0_dq_1_o = spiClockDomainWrapper_auto_spi_0_io_out_dq_1_o; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign spi_0_dq_1_oe = spiClockDomainWrapper_auto_spi_0_io_out_dq_1_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign spi_0_dq_2_o = spiClockDomainWrapper_auto_spi_0_io_out_dq_2_o; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign spi_0_dq_2_oe = spiClockDomainWrapper_auto_spi_0_io_out_dq_2_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign spi_0_dq_3_o = spiClockDomainWrapper_auto_spi_0_io_out_dq_3_o; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign spi_0_dq_3_oe = spiClockDomainWrapper_auto_spi_0_io_out_dq_3_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign spi_0_cs_0 = spiClockDomainWrapper_auto_spi_0_io_out_cs_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign spi_0_cs_1 = spiClockDomainWrapper_auto_spi_0_io_out_cs_1; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_0_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_0_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_0_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_0_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_0_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_0_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_1_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_1_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_1_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_1_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_1_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_1_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_2_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_2_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_2_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_2_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_2_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_2_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_3_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_3_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_3_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_3_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_3_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_3_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_4_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_4_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_4_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_4_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_4_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_4_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_5_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_5_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_5_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_5_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_5_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_5_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_6_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_6_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_6_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_6_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_7_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_7_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_7_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_7_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_8_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_8_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_8_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_8_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_9_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_9_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_9_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_9_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_10_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_10_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_10_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_10_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_11_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_11_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_11_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_11_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_12_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_12_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_12_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_12_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_12_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_12_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_13_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_13_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_13_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_13_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_13_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_13_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_14_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_14_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_14_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_14_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_14_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_14_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_15_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_15_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_15_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_15_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_15_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_15_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_16_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_16_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_16_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_16_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_16_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_16_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_17_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_17_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_17_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_17_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_17_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_17_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_18_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_18_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_18_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_18_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_18_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_18_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_19_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_19_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_19_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_19_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_19_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_19_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_20_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_20_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_20_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_20_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_20_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_20_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_21_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_21_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_21_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_21_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_21_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_21_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_22_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_22_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_22_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_22_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_22_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_22_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_23_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_23_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_23_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_23_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_23_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_23_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_24_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_24_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_24_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_24_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_24_o_ie = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_24_o_ie; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_25_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_25_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_25_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_25_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_26_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_26_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_26_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_26_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_27_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_27_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_27_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_27_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_28_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_28_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_28_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_28_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_29_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_29_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_29_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_29_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_30_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_30_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_30_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_30_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_31_o_oval = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_31_o_oval; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpio_0_pins_31_o_oe = gpioClockDomainWrapper_auto_gpio_0_io_out_pins_31_o_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign iof_0_iof_0_2_i_ival = gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_2_i_ival; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign iof_0_iof_0_3_i_ival = gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_3_i_ival; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign iof_0_iof_0_4_i_ival = gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_4_i_ival; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign iof_0_iof_0_5_i_ival = gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_5_i_ival; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign iof_0_iof_0_12_i_ival = gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_12_i_ival; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign iof_0_iof_0_13_i_ival = gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_13_i_ival; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign iof_0_iof_0_14_i_ival = gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_14_i_ival; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign iof_0_iof_0_15_i_ival = gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_15_i_ival; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign iof_0_iof_0_16_i_ival = gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_16_i_ival; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign iof_0_iof_0_18_i_ival = gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_18_i_ival; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign iof_0_iof_0_20_i_ival = gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_20_i_ival; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign iof_0_iof_0_22_i_ival = gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_22_i_ival; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwm_0_gpio_0 = pwmClockDomainWrapper_auto_pwm_0_io_out_gpio_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwm_0_gpio_1 = pwmClockDomainWrapper_auto_pwm_0_io_out_gpio_1; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwm_0_gpio_2 = pwmClockDomainWrapper_auto_pwm_0_io_out_gpio_2; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwm_0_gpio_3 = pwmClockDomainWrapper_auto_pwm_0_io_out_gpio_3; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwm_1_gpio_0 = pwmClockDomainWrapper_1_auto_pwm_1_io_out_gpio_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwm_1_gpio_1 = pwmClockDomainWrapper_1_auto_pwm_1_io_out_gpio_1; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwm_1_gpio_2 = pwmClockDomainWrapper_1_auto_pwm_1_io_out_gpio_2; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwm_1_gpio_3 = pwmClockDomainWrapper_1_auto_pwm_1_io_out_gpio_3; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwm_2_gpio_0 = pwmClockDomainWrapper_2_auto_pwm_2_io_out_gpio_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwm_2_gpio_1 = pwmClockDomainWrapper_2_auto_pwm_2_io_out_gpio_1; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwm_2_gpio_2 = pwmClockDomainWrapper_2_auto_pwm_2_io_out_gpio_2; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwm_2_gpio_3 = pwmClockDomainWrapper_2_auto_pwm_2_io_out_gpio_3; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_0_sck = qspiClockDomainWrapper_auto_qspi_0_io_out_sck; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_0_dq_0_o = qspiClockDomainWrapper_auto_qspi_0_io_out_dq_0_o; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_0_dq_0_oe = qspiClockDomainWrapper_auto_qspi_0_io_out_dq_0_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_0_dq_1_o = qspiClockDomainWrapper_auto_qspi_0_io_out_dq_1_o; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_0_dq_1_oe = qspiClockDomainWrapper_auto_qspi_0_io_out_dq_1_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_0_dq_2_o = qspiClockDomainWrapper_auto_qspi_0_io_out_dq_2_o; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_0_dq_2_oe = qspiClockDomainWrapper_auto_qspi_0_io_out_dq_2_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_0_dq_3_o = qspiClockDomainWrapper_auto_qspi_0_io_out_dq_3_o; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_0_dq_3_oe = qspiClockDomainWrapper_auto_qspi_0_io_out_dq_3_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_0_cs_0 = qspiClockDomainWrapper_auto_qspi_0_io_out_cs_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_ram_0_sck = qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_sck; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_ram_0_dq_0_o = qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_0_o; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_ram_0_dq_0_oe = qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_0_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_ram_0_dq_1_o = qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_1_o; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_ram_0_dq_1_oe = qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_1_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_ram_0_dq_2_o = qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_2_o; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_ram_0_dq_2_oe = qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_2_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_ram_0_dq_3_o = qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_3_o; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_ram_0_dq_3_oe = qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_3_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspi_ram_0_cs_0 = qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_cs_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign aon_rsts_corerst = aon_1_io_rsts_corerst; // @[MockAONPeriphery.scala 37:7]
+  assign i2c_0_scl_oe = i2cClockDomainWrapper_auto_i2c_0_io_out_scl_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign i2c_0_sda_oe = i2cClockDomainWrapper_auto_i2c_0_io_out_sda_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign i2c_1_scl_oe = i2cClockDomainWrapper_1_auto_i2c_1_io_out_scl_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign i2c_1_sda_oe = i2cClockDomainWrapper_1_auto_i2c_1_io_out_sda_oe; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_14_0 = intsink_18_auto_out_0; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_13_0 = intsink_17_auto_out_0; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_12_0 = intsink_16_auto_out_0; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_12_1 = intsink_16_auto_out_1; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_12_2 = intsink_16_auto_out_2; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_12_3 = intsink_16_auto_out_3; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_11_0 = intsink_15_auto_out_0; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_11_1 = intsink_15_auto_out_1; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_11_2 = intsink_15_auto_out_2; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_11_3 = intsink_15_auto_out_3; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_10_0 = intsink_14_auto_out_0; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_10_1 = intsink_14_auto_out_1; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_10_2 = intsink_14_auto_out_2; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_10_3 = intsink_14_auto_out_3; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_0 = intsink_13_auto_out_0; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_1 = intsink_13_auto_out_1; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_2 = intsink_13_auto_out_2; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_3 = intsink_13_auto_out_3; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_4 = intsink_13_auto_out_4; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_5 = intsink_13_auto_out_5; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_6 = intsink_13_auto_out_6; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_7 = intsink_13_auto_out_7; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_8 = intsink_13_auto_out_8; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_9 = intsink_13_auto_out_9; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_10 = intsink_13_auto_out_10; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_11 = intsink_13_auto_out_11; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_12 = intsink_13_auto_out_12; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_13 = intsink_13_auto_out_13; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_14 = intsink_13_auto_out_14; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_15 = intsink_13_auto_out_15; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_16 = intsink_13_auto_out_16; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_17 = intsink_13_auto_out_17; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_18 = intsink_13_auto_out_18; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_19 = intsink_13_auto_out_19; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_20 = intsink_13_auto_out_20; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_21 = intsink_13_auto_out_21; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_22 = intsink_13_auto_out_22; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_23 = intsink_13_auto_out_23; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_24 = intsink_13_auto_out_24; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_25 = intsink_13_auto_out_25; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_26 = intsink_13_auto_out_26; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_27 = intsink_13_auto_out_27; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_28 = intsink_13_auto_out_28; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_29 = intsink_13_auto_out_29; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_30 = intsink_13_auto_out_30; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_9_31 = intsink_13_auto_out_31; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_8_0 = intsink_12_auto_out_0; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_7_0 = intsink_11_auto_out_0; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_6_0 = intsink_10_auto_out_0; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_5_0 = intsink_9_auto_out_0; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_4_0 = intsink_8_auto_out_0; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_3_0 = intsink_7_auto_out_0; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_2_0 = intsink_6_auto_out_0; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_1_0 = intsink_5_auto_out_0; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_0_0 = intsink_4_auto_out_0; // @[LazyModule.scala 296:16]
+  assign ibus_auto_int_bus_int_in_0_1 = intsink_4_auto_out_1; // @[LazyModule.scala 296:16]
+  assign dummyClockGroupSourceNode_clock = clock;
+  assign dummyClockGroupSourceNode_reset = reset;
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_valid =
+    tile_prci_domain_auto_tl_master_clock_xing_out_a_valid; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_opcode =
+    tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_param =
+    tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_size =
+    tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_source =
+    tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_address =
+    tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_mask =
+    tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_data =
+    tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_bits_corrupt =
+    tile_prci_domain_auto_tl_master_clock_xing_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_b_ready =
+    tile_prci_domain_auto_tl_master_clock_xing_out_b_ready; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_valid =
+    tile_prci_domain_auto_tl_master_clock_xing_out_c_valid; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_opcode =
+    tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_opcode; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_param =
+    tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_param; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_size =
+    tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_size; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_source =
+    tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_source; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_address =
+    tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_address; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_data =
+    tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_data; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_bits_corrupt =
+    tile_prci_domain_auto_tl_master_clock_xing_out_c_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_ready =
+    tile_prci_domain_auto_tl_master_clock_xing_out_d_ready; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_e_valid =
+    tile_prci_domain_auto_tl_master_clock_xing_out_e_valid; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_e_bits_sink =
+    tile_prci_domain_auto_tl_master_clock_xing_out_e_bits_sink; // @[LazyModule.scala 296:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_ready =
+    subsystem_l2_wrapper_auto_coherent_jbar_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_b_valid =
+    subsystem_l2_wrapper_auto_coherent_jbar_in_b_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_b_bits_param =
+    subsystem_l2_wrapper_auto_coherent_jbar_in_b_bits_param; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_b_bits_address =
+    subsystem_l2_wrapper_auto_coherent_jbar_in_b_bits_address; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_ready =
+    subsystem_l2_wrapper_auto_coherent_jbar_in_c_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_valid =
+    subsystem_l2_wrapper_auto_coherent_jbar_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_opcode =
+    subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_param =
+    subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_size =
+    subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_source =
+    subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_sink =
+    subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_bits_data =
+    subsystem_l2_wrapper_auto_coherent_jbar_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_ready =
+    subsystem_cbus_auto_bus_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_valid =
+    subsystem_cbus_auto_bus_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_opcode =
+    subsystem_cbus_auto_bus_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_param =
+    subsystem_cbus_auto_bus_xing_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_size =
+    subsystem_cbus_auto_bus_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_source =
+    subsystem_cbus_auto_bus_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_sink =
+    subsystem_cbus_auto_bus_xing_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_denied =
+    subsystem_cbus_auto_bus_xing_in_d_bits_denied; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_data =
+    subsystem_cbus_auto_bus_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_bits_corrupt =
+    subsystem_cbus_auto_bus_xing_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_5_clock =
+    dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_5_clock; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_5_reset =
+    dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_5_reset; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_4_clock =
+    dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_4_clock; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_4_reset =
+    dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_4_reset; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_3_clock =
+    dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_3_clock; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_3_reset =
+    dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_3_reset; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_2_clock =
+    dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_2_clock; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_2_reset =
+    dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_2_reset; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_1_clock =
+    dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_1_clock; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_1_reset =
+    dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_1_reset; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_0_clock =
+    dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_0_clock; // @[LazyModule.scala 298:16]
+  assign subsystem_sbus_auto_subsystem_sbus_clock_groups_in_member_subsystem_sbus_0_reset =
+    dummyClockGroupSourceNode_auto_out_member_subsystem_sbus_0_reset; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready =
+    i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid =
+    i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode =
+    i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size =
+    i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source =
+    i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data =
+    i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready =
+    i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid =
+    i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode =
+    i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size =
+    i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source =
+    i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data =
+    i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_ready =
+    pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_valid =
+    pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_opcode =
+    pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_size =
+    pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_source =
+    pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_bits_data =
+    pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_ready =
+    pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_valid =
+    pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_opcode =
+    pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_size =
+    pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_source =
+    pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_bits_data =
+    pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_ready =
+    pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_valid =
+    pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_opcode =
+    pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_size =
+    pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_source =
+    pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_bits_data =
+    pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready =
+    gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid =
+    gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode =
+    gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size =
+    gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source =
+    gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data =
+    gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_ready =
+    spiClockDomainWrapper_auto_spi_0_control_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_valid =
+    spiClockDomainWrapper_auto_spi_0_control_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode =
+    spiClockDomainWrapper_auto_spi_0_control_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size =
+    spiClockDomainWrapper_auto_spi_0_control_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source =
+    spiClockDomainWrapper_auto_spi_0_control_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data =
+    spiClockDomainWrapper_auto_spi_0_control_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_ready =
+    qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_valid =
+    qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_opcode =
+    qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_size =
+    qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_source =
+    qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_bits_data =
+    qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_ready =
+    qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_d_valid =
+    qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_size =
+    qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_source =
+    qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_d_bits_data =
+    qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready =
+    qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid =
+    qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode =
+    qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size =
+    qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source =
+    qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data =
+    qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_ready =
+    uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_valid =
+    uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_opcode =
+    uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_size =
+    uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_source =
+    uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_bits_data =
+    uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_ready =
+    uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_valid =
+    uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_opcode =
+    uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_size =
+    uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_source =
+    uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_bits_data =
+    uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_ready =
+    uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_valid =
+    uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_opcode =
+    uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_size =
+    uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_source =
+    uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_bits_data =
+    uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_ready =
+    uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_valid =
+    uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_opcode =
+    uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_size =
+    uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_source =
+    uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_bits_data =
+    uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_ready =
+    uartClockDomainWrapper_auto_uart_0_control_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_valid =
+    uartClockDomainWrapper_auto_uart_0_control_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_opcode =
+    uartClockDomainWrapper_auto_uart_0_control_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_size =
+    uartClockDomainWrapper_auto_uart_0_control_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_source =
+    uartClockDomainWrapper_auto_uart_0_control_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_bits_data =
+    uartClockDomainWrapper_auto_uart_0_control_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_pbus_auto_subsystem_pbus_clock_groups_in_member_subsystem_pbus_0_clock =
+    subsystem_cbus_auto_subsystem_cbus_clock_groups_out_member_subsystem_pbus_0_clock; // @[LazyModule.scala 296:16]
+  assign subsystem_pbus_auto_subsystem_pbus_clock_groups_in_member_subsystem_pbus_0_reset =
+    subsystem_cbus_auto_subsystem_cbus_clock_groups_out_member_subsystem_pbus_0_reset; // @[LazyModule.scala 296:16]
+  assign subsystem_pbus_auto_bus_xing_in_a_valid =
+    subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_valid; // @[LazyModule.scala 296:16]
+  assign subsystem_pbus_auto_bus_xing_in_a_bits_opcode =
+    subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign subsystem_pbus_auto_bus_xing_in_a_bits_param =
+    subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign subsystem_pbus_auto_bus_xing_in_a_bits_size =
+    subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign subsystem_pbus_auto_bus_xing_in_a_bits_source =
+    subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign subsystem_pbus_auto_bus_xing_in_a_bits_address =
+    subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign subsystem_pbus_auto_bus_xing_in_a_bits_mask =
+    subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign subsystem_pbus_auto_bus_xing_in_a_bits_data =
+    subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign subsystem_pbus_auto_bus_xing_in_a_bits_corrupt =
+    subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign subsystem_pbus_auto_bus_xing_in_d_ready =
+    subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_ready; // @[LazyModule.scala 296:16]
+  assign subsystem_fbus_auto_subsystem_fbus_clock_groups_in_member_subsystem_fbus_0_clock =
+    subsystem_sbus_auto_subsystem_sbus_clock_groups_out_1_member_subsystem_fbus_0_clock; // @[LazyModule.scala 298:16]
+  assign subsystem_fbus_auto_subsystem_fbus_clock_groups_in_member_subsystem_fbus_0_reset =
+    subsystem_sbus_auto_subsystem_sbus_clock_groups_out_1_member_subsystem_fbus_0_reset; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_ready = bootROMDomainWrapper_auto_bootrom_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_d_valid = bootROMDomainWrapper_auto_bootrom_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_d_bits_size =
+    bootROMDomainWrapper_auto_bootrom_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_d_bits_source =
+    bootROMDomainWrapper_auto_bootrom_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_d_bits_data =
+    bootROMDomainWrapper_auto_bootrom_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_aon_asource_out_a_ridx = aon_1_auto_isolation_in_a_ridx; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_aon_asource_out_a_safe_ridx_valid = aon_1_auto_isolation_in_a_safe_ridx_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_aon_asource_out_a_safe_sink_reset_n =
+    aon_1_auto_isolation_in_a_safe_sink_reset_n; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_opcode = aon_1_auto_isolation_in_d_mem_0_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_param = aon_1_auto_isolation_in_d_mem_0_param; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_size = aon_1_auto_isolation_in_d_mem_0_size; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_source = aon_1_auto_isolation_in_d_mem_0_source; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_sink = aon_1_auto_isolation_in_d_mem_0_sink; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_denied = aon_1_auto_isolation_in_d_mem_0_denied; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_data = aon_1_auto_isolation_in_d_mem_0_data; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_aon_asource_out_d_mem_0_corrupt = aon_1_auto_isolation_in_d_mem_0_corrupt; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_aon_asource_out_d_widx = aon_1_auto_isolation_in_d_widx; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_aon_asource_out_d_safe_widx_valid = aon_1_auto_isolation_in_d_safe_widx_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_aon_asource_out_d_safe_source_reset_n =
+    aon_1_auto_isolation_in_d_safe_source_reset_n; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_ready =
+    tile_prci_domain_auto_tl_slave_clock_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_valid =
+    tile_prci_domain_auto_tl_slave_clock_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_opcode =
+    tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_param =
+    tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_param; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_size =
+    tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_source =
+    tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_sink =
+    tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_sink; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_denied =
+    tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_denied; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_data =
+    tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_bits_corrupt =
+    tile_prci_domain_auto_tl_slave_clock_xing_in_d_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_ready = debug_1_auto_dmInner_dmInner_tl_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_valid = debug_1_auto_dmInner_dmInner_tl_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_bits_opcode =
+    debug_1_auto_dmInner_dmInner_tl_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_bits_size =
+    debug_1_auto_dmInner_dmInner_tl_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_bits_source =
+    debug_1_auto_dmInner_dmInner_tl_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_bits_data =
+    debug_1_auto_dmInner_dmInner_tl_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_ready = clint_auto_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_valid = clint_auto_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_bits_opcode = clint_auto_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_bits_size = clint_auto_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_bits_source = clint_auto_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_bits_data = clint_auto_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_ready = plicDomainWrapper_auto_plic_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_valid = plicDomainWrapper_auto_plic_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_bits_opcode = plicDomainWrapper_auto_plic_in_d_bits_opcode
+    ; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_bits_size = plicDomainWrapper_auto_plic_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_bits_source = plicDomainWrapper_auto_plic_in_d_bits_source
+    ; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_bits_data = plicDomainWrapper_auto_plic_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_a_ready =
+    subsystem_pbus_auto_bus_xing_in_a_ready; // @[LazyModule.scala 296:16]
+  assign subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_valid =
+    subsystem_pbus_auto_bus_xing_in_d_valid; // @[LazyModule.scala 296:16]
+  assign subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_opcode =
+    subsystem_pbus_auto_bus_xing_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_param =
+    subsystem_pbus_auto_bus_xing_in_d_bits_param; // @[LazyModule.scala 296:16]
+  assign subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_size =
+    subsystem_pbus_auto_bus_xing_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_source =
+    subsystem_pbus_auto_bus_xing_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_sink =
+    subsystem_pbus_auto_bus_xing_in_d_bits_sink; // @[LazyModule.scala 296:16]
+  assign subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_denied =
+    subsystem_pbus_auto_bus_xing_in_d_bits_denied; // @[LazyModule.scala 296:16]
+  assign subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_data =
+    subsystem_pbus_auto_bus_xing_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign subsystem_cbus_auto_coupler_to_bus_named_subsystem_pbus_bus_xing_out_d_bits_corrupt =
+    subsystem_pbus_auto_bus_xing_in_d_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign subsystem_cbus_auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_1_clock =
+    subsystem_sbus_auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_1_clock; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_1_reset =
+    subsystem_sbus_auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_1_reset; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_0_clock =
+    subsystem_sbus_auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_0_clock; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_subsystem_cbus_clock_groups_in_member_subsystem_cbus_0_reset =
+    subsystem_sbus_auto_subsystem_sbus_clock_groups_out_0_member_subsystem_cbus_0_reset; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_bus_xing_in_a_valid =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_bus_xing_in_a_bits_opcode =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_bus_xing_in_a_bits_param =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_bus_xing_in_a_bits_size =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_bus_xing_in_a_bits_source =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_bus_xing_in_a_bits_address =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_bus_xing_in_a_bits_mask =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_bus_xing_in_a_bits_data =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_bus_xing_in_a_bits_corrupt =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign subsystem_cbus_auto_bus_xing_in_d_ready =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_cbus_bus_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_ready =
+    qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_valid =
+    qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_opcode =
+    qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_size =
+    qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_source =
+    qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_bits_data =
+    qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_mbus_auto_subsystem_mbus_clock_groups_in_member_subsystem_mbus_0_clock =
+    subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_out_member_subsystem_mbus_0_clock; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_auto_subsystem_mbus_clock_groups_in_member_subsystem_mbus_0_reset =
+    subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_out_member_subsystem_mbus_0_reset; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_auto_bus_xing_in_a_valid =
+    subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_valid; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_auto_bus_xing_in_a_bits_opcode =
+    subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_opcode; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_auto_bus_xing_in_a_bits_param =
+    subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_param; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_auto_bus_xing_in_a_bits_size =
+    subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_size; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_auto_bus_xing_in_a_bits_source =
+    subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_source; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_auto_bus_xing_in_a_bits_address =
+    subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_address; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_auto_bus_xing_in_a_bits_mask =
+    subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_mask; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_auto_bus_xing_in_a_bits_data =
+    subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_bits_data; // @[LazyModule.scala 296:16]
+  assign subsystem_mbus_auto_bus_xing_in_d_ready =
+    subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_ready; // @[LazyModule.scala 296:16]
+  assign subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_a_ready =
+    subsystem_mbus_auto_bus_xing_in_a_ready; // @[LazyModule.scala 296:16]
+  assign subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_valid =
+    subsystem_mbus_auto_bus_xing_in_d_valid; // @[LazyModule.scala 296:16]
+  assign subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_opcode =
+    subsystem_mbus_auto_bus_xing_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_size =
+    subsystem_mbus_auto_bus_xing_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_source =
+    subsystem_mbus_auto_bus_xing_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign subsystem_l2_wrapper_auto_coupler_to_bus_named_subsystem_mbus_bus_xing_out_d_bits_data =
+    subsystem_mbus_auto_bus_xing_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_a_valid =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_opcode =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_param =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_size =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_source =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_address =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_mask =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_data =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_a_bits_corrupt =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_b_ready =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_b_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_c_valid =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_opcode =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_opcode; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_param =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_param; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_size =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_size; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_source =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_source; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_address =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_address; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_data =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_data; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_c_bits_corrupt =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_c_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_d_ready =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_d_ready; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_e_valid =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_e_valid; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_coherent_jbar_in_e_bits_sink =
+    subsystem_sbus_auto_coupler_to_bus_named_subsystem_l2_widget_out_e_bits_sink; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_in_member_subsystem_l2_1_clock =
+    subsystem_sbus_auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_1_clock; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_in_member_subsystem_l2_1_reset =
+    subsystem_sbus_auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_1_reset; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_in_member_subsystem_l2_0_clock =
+    subsystem_sbus_auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_0_clock; // @[LazyModule.scala 298:16]
+  assign subsystem_l2_wrapper_auto_subsystem_l2_clock_groups_in_member_subsystem_l2_0_reset =
+    subsystem_sbus_auto_subsystem_sbus_clock_groups_out_2_member_subsystem_l2_0_reset; // @[LazyModule.scala 298:16]
+  assign tile_prci_domain_auto_intsink_in_sync_0 = debug_1_auto_dmOuter_intsource_out_sync_0; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tile_reset_domain_tile_hartid_in = tileHartIdNexusNode_auto_out; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_int_in_clock_xing_in_2_sync_0 = intsource_2_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_int_in_clock_xing_in_1_sync_0 = intsource_1_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_int_in_clock_xing_in_0_sync_0 = intsource_auto_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_int_in_clock_xing_in_0_sync_1 = intsource_auto_out_sync_1; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tl_slave_clock_xing_in_a_valid =
+    subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_opcode =
+    subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_param =
+    subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_size =
+    subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_source =
+    subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_address =
+    subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_mask =
+    subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_data =
+    subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign tile_prci_domain_auto_tl_slave_clock_xing_in_a_bits_corrupt =
+    subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign tile_prci_domain_auto_tl_slave_clock_xing_in_d_ready =
+    subsystem_cbus_auto_coupler_to_tile_tl_slave_clock_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign tile_prci_domain_auto_tl_master_clock_xing_out_a_ready =
+    subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_a_ready; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tl_master_clock_xing_out_b_valid =
+    subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_b_valid; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tl_master_clock_xing_out_b_bits_param =
+    subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_b_bits_param; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tl_master_clock_xing_out_b_bits_address =
+    subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_b_bits_address; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tl_master_clock_xing_out_c_ready =
+    subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_c_ready; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tl_master_clock_xing_out_d_valid =
+    subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_valid; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_opcode =
+    subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_opcode; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_param =
+    subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_param; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_size =
+    subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_size; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_source =
+    subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_source; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_sink =
+    subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_sink; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_denied =
+    subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_denied; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_data =
+    subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_data; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tl_master_clock_xing_out_d_bits_corrupt =
+    subsystem_sbus_auto_coupler_from_tile_tl_master_clock_xing_in_d_bits_corrupt; // @[LazyModule.scala 296:16]
+  assign tile_prci_domain_auto_tap_clock_in_clock = subsystem_sbus_auto_fixedClockNode_out_1_clock; // @[LazyModule.scala 298:16]
+  assign tile_prci_domain_auto_tap_clock_in_reset = subsystem_sbus_auto_fixedClockNode_out_1_reset; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_0 = ibus_auto_int_bus_int_out_0; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_1 = ibus_auto_int_bus_int_out_1; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_2 = ibus_auto_int_bus_int_out_2; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_3 = ibus_auto_int_bus_int_out_3; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_4 = ibus_auto_int_bus_int_out_4; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_5 = ibus_auto_int_bus_int_out_5; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_6 = ibus_auto_int_bus_int_out_6; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_7 = ibus_auto_int_bus_int_out_7; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_8 = ibus_auto_int_bus_int_out_8; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_9 = ibus_auto_int_bus_int_out_9; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_10 = ibus_auto_int_bus_int_out_10; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_11 = ibus_auto_int_bus_int_out_11; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_12 = ibus_auto_int_bus_int_out_12; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_13 = ibus_auto_int_bus_int_out_13; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_14 = ibus_auto_int_bus_int_out_14; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_15 = ibus_auto_int_bus_int_out_15; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_16 = ibus_auto_int_bus_int_out_16; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_17 = ibus_auto_int_bus_int_out_17; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_18 = ibus_auto_int_bus_int_out_18; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_19 = ibus_auto_int_bus_int_out_19; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_20 = ibus_auto_int_bus_int_out_20; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_21 = ibus_auto_int_bus_int_out_21; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_22 = ibus_auto_int_bus_int_out_22; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_23 = ibus_auto_int_bus_int_out_23; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_24 = ibus_auto_int_bus_int_out_24; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_25 = ibus_auto_int_bus_int_out_25; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_26 = ibus_auto_int_bus_int_out_26; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_27 = ibus_auto_int_bus_int_out_27; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_28 = ibus_auto_int_bus_int_out_28; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_29 = ibus_auto_int_bus_int_out_29; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_30 = ibus_auto_int_bus_int_out_30; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_31 = ibus_auto_int_bus_int_out_31; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_32 = ibus_auto_int_bus_int_out_32; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_33 = ibus_auto_int_bus_int_out_33; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_34 = ibus_auto_int_bus_int_out_34; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_35 = ibus_auto_int_bus_int_out_35; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_36 = ibus_auto_int_bus_int_out_36; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_37 = ibus_auto_int_bus_int_out_37; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_38 = ibus_auto_int_bus_int_out_38; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_39 = ibus_auto_int_bus_int_out_39; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_40 = ibus_auto_int_bus_int_out_40; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_41 = ibus_auto_int_bus_int_out_41; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_42 = ibus_auto_int_bus_int_out_42; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_43 = ibus_auto_int_bus_int_out_43; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_44 = ibus_auto_int_bus_int_out_44; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_45 = ibus_auto_int_bus_int_out_45; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_46 = ibus_auto_int_bus_int_out_46; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_47 = ibus_auto_int_bus_int_out_47; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_48 = ibus_auto_int_bus_int_out_48; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_49 = ibus_auto_int_bus_int_out_49; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_50 = ibus_auto_int_bus_int_out_50; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_51 = ibus_auto_int_bus_int_out_51; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_52 = ibus_auto_int_bus_int_out_52; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_53 = ibus_auto_int_bus_int_out_53; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_54 = ibus_auto_int_bus_int_out_54; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_int_in_55 = ibus_auto_int_bus_int_out_55; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_in_a_valid = subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_valid; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_in_a_bits_opcode = subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_opcode
+    ; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_in_a_bits_param = subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_in_a_bits_size = subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_in_a_bits_source = subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_source
+    ; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_in_a_bits_address =
+    subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_in_a_bits_mask = subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_in_a_bits_data = subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_in_a_bits_corrupt =
+    subsystem_cbus_auto_coupler_to_plic_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_plic_in_d_ready = subsystem_cbus_auto_coupler_to_plic_fragmenter_out_d_ready; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_clock_in_clock = subsystem_cbus_auto_fixedClockNode_out_0_clock; // @[LazyModule.scala 298:16]
+  assign plicDomainWrapper_auto_clock_in_reset = subsystem_cbus_auto_fixedClockNode_out_0_reset; // @[LazyModule.scala 298:16]
+  assign clint_clock = subsystem_cbus_clock; // @[CLINT.scala 115:26]
+  assign clint_reset = subsystem_cbus_reset; // @[CLINT.scala 116:26]
+  assign clint_auto_in_a_valid = subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_valid; // @[LazyModule.scala 298:16]
+  assign clint_auto_in_a_bits_opcode = subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign clint_auto_in_a_bits_param = subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign clint_auto_in_a_bits_size = subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign clint_auto_in_a_bits_source = subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign clint_auto_in_a_bits_address = subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign clint_auto_in_a_bits_mask = subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign clint_auto_in_a_bits_data = subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign clint_auto_in_a_bits_corrupt = subsystem_cbus_auto_coupler_to_clint_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign clint_auto_in_d_ready = subsystem_cbus_auto_coupler_to_clint_fragmenter_out_d_ready; // @[LazyModule.scala 298:16]
+  assign clint_io_rtcTick = rtc_tick; // @[MockAONPeriphery.scala 50:29]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_valid = subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_valid; // @[LazyModule.scala 298:16]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_opcode =
+    subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_param =
+    subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_size =
+    subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_source =
+    subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_address =
+    subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_mask =
+    subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_data =
+    subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_corrupt =
+    subsystem_cbus_auto_coupler_to_debug_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign debug_1_auto_dmInner_dmInner_tl_in_d_ready = subsystem_cbus_auto_coupler_to_debug_fragmenter_out_d_ready; // @[LazyModule.scala 298:16]
+  assign debug_1_io_debug_clock = debug_clock; // @[Periphery.scala 144:38]
+  assign debug_1_io_dmi_dmi_req_valid = dtm_io_dmi_req_valid; // @[Periphery.scala 174:40]
+  assign debug_1_io_dmi_dmi_req_bits_addr = dtm_io_dmi_req_bits_addr; // @[Periphery.scala 174:40]
+  assign debug_1_io_dmi_dmi_req_bits_data = dtm_io_dmi_req_bits_data; // @[Periphery.scala 174:40]
+  assign debug_1_io_dmi_dmi_req_bits_op = dtm_io_dmi_req_bits_op; // @[Periphery.scala 174:40]
+  assign debug_1_io_dmi_dmi_resp_ready = dtm_io_dmi_resp_ready; // @[Periphery.scala 174:40]
+  assign debug_1_io_dmi_dmiClock = debug_systemjtag_jtag_TCK; // @[Periphery.scala 175:45]
+  assign debug_1_io_dmi_dmiReset = debug_systemjtag_reset; // @[Periphery.scala 176:45]
+  assign intsource_clock = clock;
+  assign intsource_reset = reset;
+  assign intsource_auto_in_0 = clint_auto_int_out_0; // @[LazyModule.scala 298:16]
+  assign intsource_auto_in_1 = clint_auto_int_out_1; // @[LazyModule.scala 298:16]
+  assign intsource_1_clock = clock;
+  assign intsource_1_reset = reset;
+  assign intsource_1_auto_in_0 = plicDomainWrapper_auto_plic_int_out_0_0; // @[LazyModule.scala 298:16]
+  assign intsource_2_clock = clock;
+  assign intsource_2_reset = reset;
+  assign intsource_2_auto_in_0 = plicDomainWrapper_auto_plic_int_out_1_0; // @[LazyModule.scala 298:16]
+  assign intsink_1_auto_in_sync_0 = tile_prci_domain_auto_int_out_clock_xing_out_0_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_2_auto_in_sync_0 = tile_prci_domain_auto_int_out_clock_xing_out_1_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_3_auto_in_sync_0 = tile_prci_domain_auto_int_out_clock_xing_out_2_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign aon_1_auto_isolation_in_a_mem_0_opcode = subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_opcode; // @[LazyModule.scala 298:16]
+  assign aon_1_auto_isolation_in_a_mem_0_param = subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_param; // @[LazyModule.scala 298:16]
+  assign aon_1_auto_isolation_in_a_mem_0_size = subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_size; // @[LazyModule.scala 298:16]
+  assign aon_1_auto_isolation_in_a_mem_0_source = subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_source; // @[LazyModule.scala 298:16]
+  assign aon_1_auto_isolation_in_a_mem_0_address = subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_address; // @[LazyModule.scala 298:16]
+  assign aon_1_auto_isolation_in_a_mem_0_mask = subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_mask; // @[LazyModule.scala 298:16]
+  assign aon_1_auto_isolation_in_a_mem_0_data = subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_data; // @[LazyModule.scala 298:16]
+  assign aon_1_auto_isolation_in_a_mem_0_corrupt = subsystem_cbus_auto_coupler_to_aon_asource_out_a_mem_0_corrupt; // @[LazyModule.scala 298:16]
+  assign aon_1_auto_isolation_in_a_widx = subsystem_cbus_auto_coupler_to_aon_asource_out_a_widx; // @[LazyModule.scala 298:16]
+  assign aon_1_auto_isolation_in_a_safe_widx_valid = subsystem_cbus_auto_coupler_to_aon_asource_out_a_safe_widx_valid; // @[LazyModule.scala 298:16]
+  assign aon_1_auto_isolation_in_a_safe_source_reset_n =
+    subsystem_cbus_auto_coupler_to_aon_asource_out_a_safe_source_reset_n; // @[LazyModule.scala 298:16]
+  assign aon_1_auto_isolation_in_d_ridx = subsystem_cbus_auto_coupler_to_aon_asource_out_d_ridx; // @[LazyModule.scala 298:16]
+  assign aon_1_auto_isolation_in_d_safe_ridx_valid = subsystem_cbus_auto_coupler_to_aon_asource_out_d_safe_ridx_valid; // @[LazyModule.scala 298:16]
+  assign aon_1_auto_isolation_in_d_safe_sink_reset_n =
+    subsystem_cbus_auto_coupler_to_aon_asource_out_d_safe_sink_reset_n; // @[LazyModule.scala 298:16]
+  assign aon_1_io_pins_erst_n_i_ival = aon_pins_erst_n_i_ival; // @[MockAONPeriphery.scala 37:7]
+  assign aon_1_io_pins_lfextclk_i_ival = aon_pins_lfextclk_i_ival; // @[MockAONPeriphery.scala 37:7]
+  assign aon_1_io_ndreset = debug_1_io_ctrl_ndreset; // @[MockAONPeriphery.scala 53:31]
+  assign intsink_4_clock = clock;
+  assign intsink_4_auto_in_sync_0 = aon_1_auto_intsource_out_sync_0; // @[LazyModule.scala 298:16]
+  assign intsink_4_auto_in_sync_1 = aon_1_auto_intsource_out_sync_1; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_auto_uart_0_control_xing_in_a_valid =
+    subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_opcode =
+    subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_param =
+    subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_size =
+    subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_source =
+    subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_address =
+    subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_mask =
+    subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_data =
+    subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_auto_uart_0_control_xing_in_a_bits_corrupt =
+    subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_auto_uart_0_control_xing_in_d_ready =
+    subsystem_pbus_auto_coupler_to_device_named_uart_0_control_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_auto_uart_0_io_out_rxd = uart_0_rxd; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign uartClockDomainWrapper_auto_clock_in_clock = subsystem_pbus_auto_fixedClockNode_out_0_clock; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_auto_clock_in_reset = subsystem_pbus_auto_fixedClockNode_out_0_reset; // @[LazyModule.scala 298:16]
+  assign intsink_5_auto_in_sync_0 = uartClockDomainWrapper_auto_uart_0_int_xing_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_valid =
+    subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_opcode =
+    subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_param =
+    subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_size =
+    subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_source =
+    subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_address =
+    subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_mask =
+    subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_data =
+    subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_1_auto_uart_1_control_xing_in_a_bits_corrupt =
+    subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_1_auto_uart_1_control_xing_in_d_ready =
+    subsystem_pbus_auto_coupler_to_device_named_uart_1_control_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_1_auto_uart_1_io_out_rxd = uart_1_rxd; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign uartClockDomainWrapper_1_auto_clock_in_clock = subsystem_pbus_auto_fixedClockNode_out_1_clock; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_1_auto_clock_in_reset = subsystem_pbus_auto_fixedClockNode_out_1_reset; // @[LazyModule.scala 298:16]
+  assign intsink_6_auto_in_sync_0 = uartClockDomainWrapper_1_auto_uart_1_int_xing_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_valid =
+    subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_opcode =
+    subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_param =
+    subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_size =
+    subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_source =
+    subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_address =
+    subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_mask =
+    subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_data =
+    subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_2_auto_uart_2_control_xing_in_a_bits_corrupt =
+    subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_2_auto_uart_2_control_xing_in_d_ready =
+    subsystem_pbus_auto_coupler_to_device_named_uart_2_control_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_2_auto_uart_2_io_out_rxd = uart_2_rxd; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign uartClockDomainWrapper_2_auto_clock_in_clock = subsystem_pbus_auto_fixedClockNode_out_2_clock; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_2_auto_clock_in_reset = subsystem_pbus_auto_fixedClockNode_out_2_reset; // @[LazyModule.scala 298:16]
+  assign intsink_7_auto_in_sync_0 = uartClockDomainWrapper_2_auto_uart_2_int_xing_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_valid =
+    subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_opcode =
+    subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_param =
+    subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_size =
+    subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_source =
+    subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_address =
+    subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_mask =
+    subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_data =
+    subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_3_auto_uart_3_control_xing_in_a_bits_corrupt =
+    subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_3_auto_uart_3_control_xing_in_d_ready =
+    subsystem_pbus_auto_coupler_to_device_named_uart_3_control_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_3_auto_uart_3_io_out_rxd = uart_3_rxd; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign uartClockDomainWrapper_3_auto_clock_in_clock = subsystem_pbus_auto_fixedClockNode_out_3_clock; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_3_auto_clock_in_reset = subsystem_pbus_auto_fixedClockNode_out_3_reset; // @[LazyModule.scala 298:16]
+  assign intsink_8_auto_in_sync_0 = uartClockDomainWrapper_3_auto_uart_3_int_xing_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_valid =
+    subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_opcode =
+    subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_param =
+    subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_size =
+    subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_source =
+    subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_address =
+    subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_mask =
+    subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_data =
+    subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_4_auto_uart_4_control_xing_in_a_bits_corrupt =
+    subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_4_auto_uart_4_control_xing_in_d_ready =
+    subsystem_pbus_auto_coupler_to_device_named_uart_4_control_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_4_auto_uart_4_io_out_rxd = uart_4_rxd; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign uartClockDomainWrapper_4_auto_clock_in_clock = subsystem_pbus_auto_fixedClockNode_out_4_clock; // @[LazyModule.scala 298:16]
+  assign uartClockDomainWrapper_4_auto_clock_in_reset = subsystem_pbus_auto_fixedClockNode_out_4_reset; // @[LazyModule.scala 298:16]
+  assign intsink_9_auto_in_sync_0 = uartClockDomainWrapper_4_auto_uart_4_int_xing_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_valid =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_opcode =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_param =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_size =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_source =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_address =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_mask =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_a_bits_corrupt =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_mem_xing_in_d_ready =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_mem_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_valid =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_opcode =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_param =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_size =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_source =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_address =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_mask =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_data =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_control_xing_in_a_bits_corrupt =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_control_xing_in_d_ready =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_qspi_0_io_out_dq_0_i = qspi_0_dq_0_i; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign qspiClockDomainWrapper_auto_qspi_0_io_out_dq_1_i = qspi_0_dq_1_i; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign qspiClockDomainWrapper_auto_qspi_0_io_out_dq_2_i = qspi_0_dq_2_i; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign qspiClockDomainWrapper_auto_qspi_0_io_out_dq_3_i = qspi_0_dq_3_i; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign qspiClockDomainWrapper_auto_clock_in_clock = subsystem_pbus_auto_fixedClockNode_out_5_clock; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_auto_clock_in_reset = subsystem_pbus_auto_fixedClockNode_out_5_reset; // @[LazyModule.scala 298:16]
+  assign intsink_10_auto_in_sync_0 = qspiClockDomainWrapper_auto_qspi_0_int_xing_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_valid =
+    subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_opcode =
+    subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_param =
+    subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_size =
+    subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_source =
+    subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_address =
+    subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_mask =
+    subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_data =
+    subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_a_bits_corrupt =
+    subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_mem_xing_in_d_ready =
+    subsystem_mbus_auto_coupler_to_device_named_qspi_ram_0_mem_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_valid =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_opcode =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_param =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_size =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_source =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_address =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_mask =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_data =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_a_bits_corrupt =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_control_xing_in_d_ready =
+    subsystem_pbus_auto_coupler_to_device_named_qspi_ram_0_control_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_0_i = qspi_ram_0_dq_0_i; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_1_i = qspi_ram_0_dq_1_i; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_2_i = qspi_ram_0_dq_2_i; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign qspiClockDomainWrapper_1_auto_qspi_ram_0_io_out_dq_3_i = qspi_ram_0_dq_3_i; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign qspiClockDomainWrapper_1_auto_clock_in_clock = subsystem_pbus_auto_fixedClockNode_out_6_clock; // @[LazyModule.scala 298:16]
+  assign qspiClockDomainWrapper_1_auto_clock_in_reset = subsystem_pbus_auto_fixedClockNode_out_6_reset; // @[LazyModule.scala 298:16]
+  assign intsink_11_auto_in_sync_0 = qspiClockDomainWrapper_1_auto_qspi_ram_0_int_xing_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign spiClockDomainWrapper_auto_spi_0_control_xing_in_a_valid =
+    subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_opcode =
+    subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_param =
+    subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_size =
+    subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_source =
+    subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_address =
+    subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_mask =
+    subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_data =
+    subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign spiClockDomainWrapper_auto_spi_0_control_xing_in_a_bits_corrupt =
+    subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign spiClockDomainWrapper_auto_spi_0_control_xing_in_d_ready =
+    subsystem_pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign spiClockDomainWrapper_auto_spi_0_io_out_dq_0_i = spi_0_dq_0_i; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign spiClockDomainWrapper_auto_spi_0_io_out_dq_1_i = spi_0_dq_1_i; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign spiClockDomainWrapper_auto_spi_0_io_out_dq_2_i = spi_0_dq_2_i; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign spiClockDomainWrapper_auto_spi_0_io_out_dq_3_i = spi_0_dq_3_i; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign spiClockDomainWrapper_auto_clock_in_clock = subsystem_pbus_auto_fixedClockNode_out_7_clock; // @[LazyModule.scala 298:16]
+  assign spiClockDomainWrapper_auto_clock_in_reset = subsystem_pbus_auto_fixedClockNode_out_7_reset; // @[LazyModule.scala 298:16]
+  assign intsink_12_auto_in_sync_0 = spiClockDomainWrapper_auto_spi_0_int_xing_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_valid =
+    subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_opcode =
+    subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_param =
+    subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_size =
+    subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_source =
+    subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_address =
+    subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_mask =
+    subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_data =
+    subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign gpioClockDomainWrapper_auto_gpio_0_control_xing_in_a_bits_corrupt =
+    subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign gpioClockDomainWrapper_auto_gpio_0_control_xing_in_d_ready =
+    subsystem_pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_0_o_oval = iof_0_iof_0_0_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_1_o_oval = iof_0_iof_0_1_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_2_o_oval = iof_0_iof_0_2_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_2_o_oe = iof_0_iof_0_2_o_oe; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_2_o_ie = iof_0_iof_0_2_o_ie; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_3_o_oval = iof_0_iof_0_3_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_3_o_oe = iof_0_iof_0_3_o_oe; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_3_o_ie = iof_0_iof_0_3_o_ie; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_4_o_oval = iof_0_iof_0_4_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_4_o_oe = iof_0_iof_0_4_o_oe; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_4_o_ie = iof_0_iof_0_4_o_ie; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_5_o_oval = iof_0_iof_0_5_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_5_o_oe = iof_0_iof_0_5_o_oe; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_5_o_ie = iof_0_iof_0_5_o_ie; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_12_o_oe = iof_0_iof_0_12_o_oe; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_13_o_oe = iof_0_iof_0_13_o_oe; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_14_o_oe = iof_0_iof_0_14_o_oe; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_15_o_oe = iof_0_iof_0_15_o_oe; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_17_o_oval = iof_0_iof_0_17_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_19_o_oval = iof_0_iof_0_19_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_21_o_oval = iof_0_iof_0_21_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_23_o_oval = iof_0_iof_0_23_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_0_24_o_oval = iof_0_iof_0_24_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_12_o_oval = iof_0_iof_1_12_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_13_o_oval = iof_0_iof_1_13_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_14_o_oval = iof_0_iof_1_14_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_15_o_oval = iof_0_iof_1_15_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_16_o_oval = iof_0_iof_1_16_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_17_o_oval = iof_0_iof_1_17_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_18_o_oval = iof_0_iof_1_18_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_19_o_oval = iof_0_iof_1_19_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_20_o_oval = iof_0_iof_1_20_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_21_o_oval = iof_0_iof_1_21_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_22_o_oval = iof_0_iof_1_22_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_iof_out_iof_1_23_o_oval = iof_0_iof_1_23_o_oval; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_0_i_ival = gpio_0_pins_0_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_1_i_ival = gpio_0_pins_1_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_2_i_ival = gpio_0_pins_2_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_3_i_ival = gpio_0_pins_3_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_4_i_ival = gpio_0_pins_4_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_5_i_ival = gpio_0_pins_5_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_6_i_ival = gpio_0_pins_6_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_7_i_ival = gpio_0_pins_7_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_8_i_ival = gpio_0_pins_8_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_9_i_ival = gpio_0_pins_9_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_10_i_ival = gpio_0_pins_10_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_11_i_ival = gpio_0_pins_11_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_12_i_ival = gpio_0_pins_12_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_13_i_ival = gpio_0_pins_13_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_14_i_ival = gpio_0_pins_14_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_15_i_ival = gpio_0_pins_15_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_16_i_ival = gpio_0_pins_16_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_17_i_ival = gpio_0_pins_17_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_18_i_ival = gpio_0_pins_18_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_19_i_ival = gpio_0_pins_19_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_20_i_ival = gpio_0_pins_20_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_21_i_ival = gpio_0_pins_21_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_22_i_ival = gpio_0_pins_22_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_23_i_ival = gpio_0_pins_23_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_24_i_ival = gpio_0_pins_24_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_25_i_ival = gpio_0_pins_25_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_26_i_ival = gpio_0_pins_26_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_27_i_ival = gpio_0_pins_27_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_28_i_ival = gpio_0_pins_28_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_29_i_ival = gpio_0_pins_29_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_30_i_ival = gpio_0_pins_30_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_gpio_0_io_out_pins_31_i_ival = gpio_0_pins_31_i_ival; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign gpioClockDomainWrapper_auto_clock_in_clock = subsystem_pbus_auto_fixedClockNode_out_8_clock; // @[LazyModule.scala 298:16]
+  assign gpioClockDomainWrapper_auto_clock_in_reset = subsystem_pbus_auto_fixedClockNode_out_8_reset; // @[LazyModule.scala 298:16]
+  assign intsink_13_auto_in_sync_0 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_1 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_1; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_2 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_2; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_3 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_3; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_4 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_4; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_5 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_5; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_6 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_6; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_7 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_7; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_8 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_8; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_9 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_9; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_10 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_10; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_11 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_11; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_12 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_12; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_13 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_13; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_14 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_14; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_15 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_15; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_16 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_16; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_17 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_17; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_18 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_18; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_19 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_19; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_20 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_20; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_21 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_21; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_22 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_22; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_23 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_23; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_24 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_24; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_25 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_25; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_26 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_26; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_27 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_27; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_28 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_28; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_29 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_29; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_30 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_30; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_13_auto_in_sync_31 = gpioClockDomainWrapper_auto_gpio_0_int_xing_out_sync_31; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_valid =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_opcode =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_param =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_size =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_source =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_address =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_mask =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_data =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_auto_pwm_0_control_xing_in_a_bits_corrupt =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_auto_pwm_0_control_xing_in_d_ready =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_0_control_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_auto_clock_in_clock = subsystem_pbus_auto_fixedClockNode_out_9_clock; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_auto_clock_in_reset = subsystem_pbus_auto_fixedClockNode_out_9_reset; // @[LazyModule.scala 298:16]
+  assign intsink_14_auto_in_sync_0 = pwmClockDomainWrapper_auto_pwm_0_int_xing_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_14_auto_in_sync_1 = pwmClockDomainWrapper_auto_pwm_0_int_xing_out_sync_1; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_14_auto_in_sync_2 = pwmClockDomainWrapper_auto_pwm_0_int_xing_out_sync_2; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_14_auto_in_sync_3 = pwmClockDomainWrapper_auto_pwm_0_int_xing_out_sync_3; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_valid =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_opcode =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_param =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_size =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_source =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_address =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_mask =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_data =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_a_bits_corrupt =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_1_auto_pwm_1_control_xing_in_d_ready =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_1_control_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_1_auto_clock_in_clock = subsystem_pbus_auto_fixedClockNode_out_10_clock; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_1_auto_clock_in_reset = subsystem_pbus_auto_fixedClockNode_out_10_reset; // @[LazyModule.scala 298:16]
+  assign intsink_15_auto_in_sync_0 = pwmClockDomainWrapper_1_auto_pwm_1_int_xing_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_15_auto_in_sync_1 = pwmClockDomainWrapper_1_auto_pwm_1_int_xing_out_sync_1; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_15_auto_in_sync_2 = pwmClockDomainWrapper_1_auto_pwm_1_int_xing_out_sync_2; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_15_auto_in_sync_3 = pwmClockDomainWrapper_1_auto_pwm_1_int_xing_out_sync_3; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_valid =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_opcode =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_param =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_size =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_source =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_address =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_mask =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_data =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_a_bits_corrupt =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_2_auto_pwm_2_control_xing_in_d_ready =
+    subsystem_pbus_auto_coupler_to_device_named_pwm_2_control_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_2_auto_clock_in_clock = subsystem_pbus_auto_fixedClockNode_out_11_clock; // @[LazyModule.scala 298:16]
+  assign pwmClockDomainWrapper_2_auto_clock_in_reset = subsystem_pbus_auto_fixedClockNode_out_11_reset; // @[LazyModule.scala 298:16]
+  assign intsink_16_auto_in_sync_0 = pwmClockDomainWrapper_2_auto_pwm_2_int_xing_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_16_auto_in_sync_1 = pwmClockDomainWrapper_2_auto_pwm_2_int_xing_out_sync_1; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_16_auto_in_sync_2 = pwmClockDomainWrapper_2_auto_pwm_2_int_xing_out_sync_2; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign intsink_16_auto_in_sync_3 = pwmClockDomainWrapper_2_auto_pwm_2_int_xing_out_sync_3; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_valid =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_opcode =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_param =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_size =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_source =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_address =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_mask =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_data =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_auto_i2c_0_control_xing_in_a_bits_corrupt =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_auto_i2c_0_control_xing_in_d_ready =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_auto_i2c_0_io_out_scl_in = i2c_0_scl_in; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign i2cClockDomainWrapper_auto_i2c_0_io_out_sda_in = i2c_0_sda_in; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign i2cClockDomainWrapper_auto_clock_in_clock = subsystem_pbus_auto_fixedClockNode_out_12_clock; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_auto_clock_in_reset = subsystem_pbus_auto_fixedClockNode_out_12_reset; // @[LazyModule.scala 298:16]
+  assign intsink_17_auto_in_sync_0 = i2cClockDomainWrapper_auto_i2c_0_int_xing_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_valid =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_opcode =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_param =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_size =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_source =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_address =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_mask =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_data =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_a_bits_corrupt =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_1_auto_i2c_1_control_xing_in_d_ready =
+    subsystem_pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_1_auto_i2c_1_io_out_scl_in = i2c_1_scl_in; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign i2cClockDomainWrapper_1_auto_i2c_1_io_out_sda_in = i2c_1_sda_in; // @[Nodes.scala 1210:84 BundleBridge.scala 54:8]
+  assign i2cClockDomainWrapper_1_auto_clock_in_clock = subsystem_pbus_auto_fixedClockNode_out_13_clock; // @[LazyModule.scala 298:16]
+  assign i2cClockDomainWrapper_1_auto_clock_in_reset = subsystem_pbus_auto_fixedClockNode_out_13_reset; // @[LazyModule.scala 298:16]
+  assign intsink_18_auto_in_sync_0 = i2cClockDomainWrapper_1_auto_i2c_1_int_xing_out_sync_0; // @[Nodes.scala 1210:84 LazyModule.scala 296:16]
+  assign bootROMDomainWrapper_auto_bootrom_in_a_valid = subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_valid; // @[LazyModule.scala 298:16]
+  assign bootROMDomainWrapper_auto_bootrom_in_a_bits_opcode =
+    subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 298:16]
+  assign bootROMDomainWrapper_auto_bootrom_in_a_bits_param =
+    subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_param; // @[LazyModule.scala 298:16]
+  assign bootROMDomainWrapper_auto_bootrom_in_a_bits_size =
+    subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_size; // @[LazyModule.scala 298:16]
+  assign bootROMDomainWrapper_auto_bootrom_in_a_bits_source =
+    subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_source; // @[LazyModule.scala 298:16]
+  assign bootROMDomainWrapper_auto_bootrom_in_a_bits_address =
+    subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_address; // @[LazyModule.scala 298:16]
+  assign bootROMDomainWrapper_auto_bootrom_in_a_bits_mask =
+    subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_mask; // @[LazyModule.scala 298:16]
+  assign bootROMDomainWrapper_auto_bootrom_in_a_bits_corrupt =
+    subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 298:16]
+  assign bootROMDomainWrapper_auto_bootrom_in_d_ready = subsystem_cbus_auto_coupler_to_bootrom_fragmenter_out_d_ready; // @[LazyModule.scala 298:16]
+  assign bootROMDomainWrapper_auto_clock_in_clock = subsystem_cbus_auto_fixedClockNode_out_2_clock; // @[LazyModule.scala 298:16]
+  assign bootROMDomainWrapper_auto_clock_in_reset = subsystem_cbus_auto_fixedClockNode_out_2_reset; // @[LazyModule.scala 298:16]
+  assign dtm_io_jtag_clock = debug_systemjtag_jtag_TCK; // @[Periphery.scala 166:24]
+  assign dtm_io_jtag_reset = debug_systemjtag_reset; // @[Periphery.scala 167:24]
+  assign dtm_io_dmi_req_ready = debug_1_io_dmi_dmi_req_ready; // @[Periphery.scala 174:40]
+  assign dtm_io_dmi_resp_valid = debug_1_io_dmi_dmi_resp_valid; // @[Periphery.scala 174:40]
+  assign dtm_io_dmi_resp_bits_data = debug_1_io_dmi_dmi_resp_bits_data; // @[Periphery.scala 174:40]
+  assign dtm_io_dmi_resp_bits_resp = debug_1_io_dmi_dmi_resp_bits_resp; // @[Periphery.scala 174:40]
+  assign dtm_io_jtag_TMS = debug_systemjtag_jtag_TMS; // @[Periphery.scala 162:17]
+  assign dtm_io_jtag_TDI = debug_systemjtag_jtag_TDI; // @[Periphery.scala 162:17]
+  assign rtc_sync_rtc_clock = clock;
+  assign rtc_sync_rtc_io_d = aon_1_io_rtc; // @[MockAONPeriphery.scala 45:63]
+  always @(posedge clock) begin
+    if (reset) begin // @[MockAONPeriphery.scala 46:21]
+      rtc_last <= 1'h0; // @[MockAONPeriphery.scala 46:21]
+    end else begin
+      rtc_last <= rtc_sync; // @[MockAONPeriphery.scala 46:21]
+    end
+    if (reset) begin // @[MockAONPeriphery.scala 47:21]
+      rtc_tick <= 1'h0; // @[MockAONPeriphery.scala 47:21]
+    end else begin
+      rtc_tick <= rtc_tick_x2; // @[MockAONPeriphery.scala 47:21]
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  rtc_tick = _RAND_1[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module AsyncResetSynchronizerPrimitiveShiftReg_d20_i0(
+  input   clock,
+  input   reset,
+  output  io_q
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+  reg [31:0] _RAND_3;
+  reg [31:0] _RAND_4;
+  reg [31:0] _RAND_5;
+  reg [31:0] _RAND_6;
+  reg [31:0] _RAND_7;
+  reg [31:0] _RAND_8;
+  reg [31:0] _RAND_9;
+  reg [31:0] _RAND_10;
+  reg [31:0] _RAND_11;
+  reg [31:0] _RAND_12;
+  reg [31:0] _RAND_13;
+  reg [31:0] _RAND_14;
+  reg [31:0] _RAND_15;
+  reg [31:0] _RAND_16;
+  reg [31:0] _RAND_17;
+  reg [31:0] _RAND_18;
+  reg [31:0] _RAND_19;
+`endif // RANDOMIZE_REG_INIT
+  reg  sync_0; // @[SynchronizerReg.scala 51:87]
+  reg  sync_1; // @[SynchronizerReg.scala 51:87]
+  reg  sync_2; // @[SynchronizerReg.scala 51:87]
+  reg  sync_3; // @[SynchronizerReg.scala 51:87]
+  reg  sync_4; // @[SynchronizerReg.scala 51:87]
+  reg  sync_5; // @[SynchronizerReg.scala 51:87]
+  reg  sync_6; // @[SynchronizerReg.scala 51:87]
+  reg  sync_7; // @[SynchronizerReg.scala 51:87]
+  reg  sync_8; // @[SynchronizerReg.scala 51:87]
+  reg  sync_9; // @[SynchronizerReg.scala 51:87]
+  reg  sync_10; // @[SynchronizerReg.scala 51:87]
+  reg  sync_11; // @[SynchronizerReg.scala 51:87]
+  reg  sync_12; // @[SynchronizerReg.scala 51:87]
+  reg  sync_13; // @[SynchronizerReg.scala 51:87]
+  reg  sync_14; // @[SynchronizerReg.scala 51:87]
+  reg  sync_15; // @[SynchronizerReg.scala 51:87]
+  reg  sync_16; // @[SynchronizerReg.scala 51:87]
+  reg  sync_17; // @[SynchronizerReg.scala 51:87]
+  reg  sync_18; // @[SynchronizerReg.scala 51:87]
+  reg  sync_19; // @[SynchronizerReg.scala 51:87]
+  assign io_q = sync_0; // @[SynchronizerReg.scala 59:8]
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_0 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_0 <= sync_1; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_1 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_1 <= sync_2; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_2 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_2 <= sync_3; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_3 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_3 <= sync_4; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_4 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_4 <= sync_5; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_5 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_5 <= sync_6; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_6 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_6 <= sync_7; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_7 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_7 <= sync_8; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_8 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_8 <= sync_9; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_9 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_9 <= sync_10; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_10 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_10 <= sync_11; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_11 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_11 <= sync_12; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_12 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_12 <= sync_13; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_13 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_13 <= sync_14; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_14 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_14 <= sync_15; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_15 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_15 <= sync_16; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_16 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_16 <= sync_17; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_17 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_17 <= sync_18; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 51:87]
+      sync_18 <= 1'h0; // @[SynchronizerReg.scala 51:87]
+    end else begin
+      sync_18 <= sync_19; // @[SynchronizerReg.scala 57:10]
+    end
+  end
+  always @(posedge clock or posedge reset) begin
+    if (reset) begin // @[SynchronizerReg.scala 54:22]
+      sync_19 <= 1'h0;
+    end else begin
+      sync_19 <= 1'h1;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  sync_1 = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  sync_2 = _RAND_2[0:0];
+  _RAND_3 = {1{`RANDOM}};
+  sync_3 = _RAND_3[0:0];
+  _RAND_4 = {1{`RANDOM}};
+  sync_4 = _RAND_4[0:0];
+  _RAND_5 = {1{`RANDOM}};
+  sync_5 = _RAND_5[0:0];
+  _RAND_6 = {1{`RANDOM}};
+  sync_6 = _RAND_6[0:0];
+  _RAND_7 = {1{`RANDOM}};
+  sync_7 = _RAND_7[0:0];
+  _RAND_8 = {1{`RANDOM}};
+  sync_8 = _RAND_8[0:0];
+  _RAND_9 = {1{`RANDOM}};
+  sync_9 = _RAND_9[0:0];
+  _RAND_10 = {1{`RANDOM}};
+  sync_10 = _RAND_10[0:0];
+  _RAND_11 = {1{`RANDOM}};
+  sync_11 = _RAND_11[0:0];
+  _RAND_12 = {1{`RANDOM}};
+  sync_12 = _RAND_12[0:0];
+  _RAND_13 = {1{`RANDOM}};
+  sync_13 = _RAND_13[0:0];
+  _RAND_14 = {1{`RANDOM}};
+  sync_14 = _RAND_14[0:0];
+  _RAND_15 = {1{`RANDOM}};
+  sync_15 = _RAND_15[0:0];
+  _RAND_16 = {1{`RANDOM}};
+  sync_16 = _RAND_16[0:0];
+  _RAND_17 = {1{`RANDOM}};
+  sync_17 = _RAND_17[0:0];
+  _RAND_18 = {1{`RANDOM}};
+  sync_18 = _RAND_18[0:0];
+  _RAND_19 = {1{`RANDOM}};
+  sync_19 = _RAND_19[0:0];
+`endif // RANDOMIZE_REG_INIT
+  if (reset) begin
+    sync_0 = 1'h0;
+  end
+  if (reset) begin
+    sync_1 = 1'h0;
+  end
+  if (reset) begin
+    sync_2 = 1'h0;
+  end
+  if (reset) begin
+    sync_3 = 1'h0;
+  end
+  if (reset) begin
+    sync_4 = 1'h0;
+  end
+  if (reset) begin
+    sync_5 = 1'h0;
+  end
+  if (reset) begin
+    sync_6 = 1'h0;
+  end
+  if (reset) begin
+    sync_7 = 1'h0;
+  end
+  if (reset) begin
+    sync_8 = 1'h0;
+  end
+  if (reset) begin
+    sync_9 = 1'h0;
+  end
+  if (reset) begin
+    sync_10 = 1'h0;
+  end
+  if (reset) begin
+    sync_11 = 1'h0;
+  end
+  if (reset) begin
+    sync_12 = 1'h0;
+  end
+  if (reset) begin
+    sync_13 = 1'h0;
+  end
+  if (reset) begin
+    sync_14 = 1'h0;
+  end
+  if (reset) begin
+    sync_15 = 1'h0;
+  end
+  if (reset) begin
+    sync_16 = 1'h0;
+  end
+  if (reset) begin
+    sync_17 = 1'h0;
+  end
+  if (reset) begin
+    sync_18 = 1'h0;
+  end
+  if (reset) begin
+    sync_19 = 1'h0;
+  end
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module AsyncResetSynchronizerShiftReg_w1_d20_i0(
+  input   clock,
+  input   reset,
+  output  io_q
+);
+  wire  output_chain_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_reset; // @[ShiftReg.scala 45:23]
+  wire  output_chain_io_q; // @[ShiftReg.scala 45:23]
+  AsyncResetSynchronizerPrimitiveShiftReg_d20_i0 output_chain ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_clock),
+    .reset(output_chain_reset),
+    .io_q(output_chain_io_q)
+  );
+  assign io_q = output_chain_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign output_chain_clock = clock;
+  assign output_chain_reset = reset; // @[SynchronizerReg.scala 86:21]
+endmodule
+module ResetCatchAndSync_d20(
+  input   clock,
+  input   reset,
+  output  io_sync_reset
+);
+  wire  io_sync_reset_chain_clock; // @[ShiftReg.scala 45:23]
+  wire  io_sync_reset_chain_reset; // @[ShiftReg.scala 45:23]
+  wire  io_sync_reset_chain_io_q; // @[ShiftReg.scala 45:23]
+  wire  _io_sync_reset_WIRE = io_sync_reset_chain_io_q; // @[ShiftReg.scala 48:{24,24}]
+  AsyncResetSynchronizerShiftReg_w1_d20_i0 io_sync_reset_chain ( // @[ShiftReg.scala 45:23]
+    .clock(io_sync_reset_chain_clock),
+    .reset(io_sync_reset_chain_reset),
+    .io_q(io_sync_reset_chain_io_q)
+  );
+  assign io_sync_reset = ~_io_sync_reset_WIRE; // @[ResetCatchAndSync.scala 29:7]
+  assign io_sync_reset_chain_clock = clock;
+  assign io_sync_reset_chain_reset = reset; // @[ResetCatchAndSync.scala 26:27]
+endmodule
+module SyncResetSynchronizerPrimitiveShiftReg_d3_i1(
+  input   clock,
+  input   reset,
+  input   io_d,
+  output  io_q
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+  reg [31:0] _RAND_2;
+`endif // RANDOMIZE_REG_INIT
+  reg  sync_0; // @[SynchronizerReg.scala 51:87]
+  reg  sync_1; // @[SynchronizerReg.scala 51:87]
+  reg  sync_2; // @[SynchronizerReg.scala 51:87]
+  assign io_q = sync_0; // @[SynchronizerReg.scala 59:8]
+  always @(posedge clock) begin
+    sync_0 <= reset | sync_1; // @[SynchronizerReg.scala 51:{87,87} 57:10]
+    sync_1 <= reset | sync_2; // @[SynchronizerReg.scala 51:{87,87} 57:10]
+    sync_2 <= reset | io_d; // @[SynchronizerReg.scala 51:{87,87} 54:14]
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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];
+  _RAND_1 = {1{`RANDOM}};
+  sync_1 = _RAND_1[0:0];
+  _RAND_2 = {1{`RANDOM}};
+  sync_2 = _RAND_2[0:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module SyncResetSynchronizerShiftReg_w1_d3_i1(
+  input   clock,
+  input   reset,
+  input   io_d,
+  output  io_q
+);
+  wire  output_chain_clock; // @[ShiftReg.scala 45:23]
+  wire  output_chain_reset; // @[ShiftReg.scala 45:23]
+  wire  output_chain_io_d; // @[ShiftReg.scala 45:23]
+  wire  output_chain_io_q; // @[ShiftReg.scala 45:23]
+  SyncResetSynchronizerPrimitiveShiftReg_d3_i1 output_chain ( // @[ShiftReg.scala 45:23]
+    .clock(output_chain_clock),
+    .reset(output_chain_reset),
+    .io_d(output_chain_io_d),
+    .io_q(output_chain_io_q)
+  );
+  assign io_q = output_chain_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign output_chain_clock = clock;
+  assign output_chain_reset = reset; // @[SynchronizerReg.scala 118:21]
+  assign output_chain_io_d = io_d; // @[SynchronizerReg.scala 119:41]
+endmodule
+module MarmotCaravelPlatform(
+  input   clock,
+  input   io_pins_jtag_TCK_i_ival,
+  input   io_pins_jtag_TMS_i_ival,
+  input   io_pins_jtag_TDI_i_ival,
+  output  io_pins_jtag_TDO_o_oval,
+  output  io_pins_jtag_TDO_o_oe,
+  input   io_pins_gpio_pins_0_i_ival,
+  output  io_pins_gpio_pins_0_o_oval,
+  output  io_pins_gpio_pins_0_o_oe,
+  output  io_pins_gpio_pins_0_o_ie,
+  input   io_pins_gpio_pins_1_i_ival,
+  output  io_pins_gpio_pins_1_o_oval,
+  output  io_pins_gpio_pins_1_o_oe,
+  output  io_pins_gpio_pins_1_o_ie,
+  input   io_pins_gpio_pins_2_i_ival,
+  output  io_pins_gpio_pins_2_o_oval,
+  output  io_pins_gpio_pins_2_o_oe,
+  output  io_pins_gpio_pins_2_o_ie,
+  input   io_pins_gpio_pins_3_i_ival,
+  output  io_pins_gpio_pins_3_o_oval,
+  output  io_pins_gpio_pins_3_o_oe,
+  output  io_pins_gpio_pins_3_o_ie,
+  input   io_pins_gpio_pins_4_i_ival,
+  output  io_pins_gpio_pins_4_o_oval,
+  output  io_pins_gpio_pins_4_o_oe,
+  output  io_pins_gpio_pins_4_o_ie,
+  input   io_pins_gpio_pins_5_i_ival,
+  output  io_pins_gpio_pins_5_o_oval,
+  output  io_pins_gpio_pins_5_o_oe,
+  output  io_pins_gpio_pins_5_o_ie,
+  input   io_pins_gpio_pins_6_i_ival,
+  output  io_pins_gpio_pins_6_o_oval,
+  output  io_pins_gpio_pins_6_o_oe,
+  input   io_pins_gpio_pins_7_i_ival,
+  output  io_pins_gpio_pins_7_o_oval,
+  output  io_pins_gpio_pins_7_o_oe,
+  input   io_pins_gpio_pins_8_i_ival,
+  output  io_pins_gpio_pins_8_o_oval,
+  output  io_pins_gpio_pins_8_o_oe,
+  input   io_pins_gpio_pins_9_i_ival,
+  output  io_pins_gpio_pins_9_o_oval,
+  output  io_pins_gpio_pins_9_o_oe,
+  input   io_pins_gpio_pins_10_i_ival,
+  output  io_pins_gpio_pins_10_o_oval,
+  output  io_pins_gpio_pins_10_o_oe,
+  input   io_pins_gpio_pins_11_i_ival,
+  output  io_pins_gpio_pins_11_o_oval,
+  output  io_pins_gpio_pins_11_o_oe,
+  input   io_pins_gpio_pins_12_i_ival,
+  output  io_pins_gpio_pins_12_o_oval,
+  output  io_pins_gpio_pins_12_o_oe,
+  output  io_pins_gpio_pins_12_o_ie,
+  input   io_pins_gpio_pins_13_i_ival,
+  output  io_pins_gpio_pins_13_o_oval,
+  output  io_pins_gpio_pins_13_o_oe,
+  output  io_pins_gpio_pins_13_o_ie,
+  input   io_pins_gpio_pins_14_i_ival,
+  output  io_pins_gpio_pins_14_o_oval,
+  output  io_pins_gpio_pins_14_o_oe,
+  output  io_pins_gpio_pins_14_o_ie,
+  input   io_pins_gpio_pins_15_i_ival,
+  output  io_pins_gpio_pins_15_o_oval,
+  output  io_pins_gpio_pins_15_o_oe,
+  output  io_pins_gpio_pins_15_o_ie,
+  input   io_pins_gpio_pins_16_i_ival,
+  output  io_pins_gpio_pins_16_o_oval,
+  output  io_pins_gpio_pins_16_o_oe,
+  output  io_pins_gpio_pins_16_o_ie,
+  input   io_pins_gpio_pins_17_i_ival,
+  output  io_pins_gpio_pins_17_o_oval,
+  output  io_pins_gpio_pins_17_o_oe,
+  output  io_pins_gpio_pins_17_o_ie,
+  input   io_pins_gpio_pins_18_i_ival,
+  output  io_pins_gpio_pins_18_o_oval,
+  output  io_pins_gpio_pins_18_o_oe,
+  output  io_pins_gpio_pins_18_o_ie,
+  input   io_pins_gpio_pins_19_i_ival,
+  output  io_pins_gpio_pins_19_o_oval,
+  output  io_pins_gpio_pins_19_o_oe,
+  output  io_pins_gpio_pins_19_o_ie,
+  input   io_pins_gpio_pins_20_i_ival,
+  output  io_pins_gpio_pins_20_o_oval,
+  output  io_pins_gpio_pins_20_o_oe,
+  output  io_pins_gpio_pins_20_o_ie,
+  input   io_pins_gpio_pins_21_i_ival,
+  output  io_pins_gpio_pins_21_o_oval,
+  output  io_pins_gpio_pins_21_o_oe,
+  output  io_pins_gpio_pins_21_o_ie,
+  input   io_pins_gpio_pins_22_i_ival,
+  output  io_pins_gpio_pins_22_o_oval,
+  output  io_pins_gpio_pins_22_o_oe,
+  output  io_pins_gpio_pins_22_o_ie,
+  input   io_pins_gpio_pins_23_i_ival,
+  output  io_pins_gpio_pins_23_o_oval,
+  output  io_pins_gpio_pins_23_o_oe,
+  output  io_pins_gpio_pins_23_o_ie,
+  input   io_pins_gpio_pins_24_i_ival,
+  output  io_pins_gpio_pins_24_o_oval,
+  output  io_pins_gpio_pins_24_o_oe,
+  output  io_pins_gpio_pins_24_o_ie,
+  input   io_pins_gpio_pins_25_i_ival,
+  output  io_pins_gpio_pins_25_o_oval,
+  output  io_pins_gpio_pins_25_o_oe,
+  input   io_pins_gpio_pins_26_i_ival,
+  output  io_pins_gpio_pins_26_o_oval,
+  output  io_pins_gpio_pins_26_o_oe,
+  input   io_pins_gpio_pins_27_i_ival,
+  output  io_pins_gpio_pins_27_o_oval,
+  output  io_pins_gpio_pins_27_o_oe,
+  input   io_pins_gpio_pins_28_i_ival,
+  output  io_pins_gpio_pins_28_o_oval,
+  output  io_pins_gpio_pins_28_o_oe,
+  input   io_pins_gpio_pins_29_i_ival,
+  output  io_pins_gpio_pins_29_o_oval,
+  output  io_pins_gpio_pins_29_o_oe,
+  input   io_pins_gpio_pins_30_i_ival,
+  output  io_pins_gpio_pins_30_o_oval,
+  output  io_pins_gpio_pins_30_o_oe,
+  input   io_pins_gpio_pins_31_i_ival,
+  output  io_pins_gpio_pins_31_o_oval,
+  output  io_pins_gpio_pins_31_o_oe,
+  output  io_pins_qspi_sck_o_oval,
+  input   io_pins_qspi_dq_0_i_ival,
+  output  io_pins_qspi_dq_0_o_oval,
+  output  io_pins_qspi_dq_0_o_oe,
+  output  io_pins_qspi_dq_0_o_ie,
+  input   io_pins_qspi_dq_1_i_ival,
+  output  io_pins_qspi_dq_1_o_oval,
+  output  io_pins_qspi_dq_1_o_oe,
+  output  io_pins_qspi_dq_1_o_ie,
+  input   io_pins_qspi_dq_2_i_ival,
+  output  io_pins_qspi_dq_2_o_oval,
+  output  io_pins_qspi_dq_2_o_oe,
+  output  io_pins_qspi_dq_2_o_ie,
+  input   io_pins_qspi_dq_3_i_ival,
+  output  io_pins_qspi_dq_3_o_oval,
+  output  io_pins_qspi_dq_3_o_oe,
+  output  io_pins_qspi_dq_3_o_ie,
+  output  io_pins_qspi_cs_0_o_oval,
+  output  io_pins_qspi_ram_sck_o_oval,
+  input   io_pins_qspi_ram_dq_0_i_ival,
+  output  io_pins_qspi_ram_dq_0_o_oval,
+  output  io_pins_qspi_ram_dq_0_o_oe,
+  output  io_pins_qspi_ram_dq_0_o_ie,
+  input   io_pins_qspi_ram_dq_1_i_ival,
+  output  io_pins_qspi_ram_dq_1_o_oval,
+  output  io_pins_qspi_ram_dq_1_o_oe,
+  output  io_pins_qspi_ram_dq_1_o_ie,
+  input   io_pins_qspi_ram_dq_2_i_ival,
+  output  io_pins_qspi_ram_dq_2_o_oval,
+  output  io_pins_qspi_ram_dq_2_o_oe,
+  output  io_pins_qspi_ram_dq_2_o_ie,
+  input   io_pins_qspi_ram_dq_3_i_ival,
+  output  io_pins_qspi_ram_dq_3_o_oval,
+  output  io_pins_qspi_ram_dq_3_o_oe,
+  output  io_pins_qspi_ram_dq_3_o_ie,
+  output  io_pins_qspi_ram_cs_0_o_oval,
+  input   io_pins_uart_rxd_i_ival,
+  output  io_pins_uart_txd_o_oval,
+  input   io_pins_aon_erst_n_i_ival,
+  input   io_pins_aon_lfextclk_i_ival,
+  input   io_jtag_reset, // <no_sram>
+  output [5:0]  tag_array_ext_RW0_addr, // <no_sram>
+  output        tag_array_ext_RW0_en, // <no_sram>
+  output        tag_array_ext_RW0_clk, // <no_sram>
+  output        tag_array_ext_RW0_wmode, // <no_sram>
+  output [20:0] tag_array_ext_RW0_wdata, // <no_sram>
+  input  [20:0] tag_array_ext_RW0_rdata, // <no_sram>
+  output [9:0]  data_arrays_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_ext_RW0_wmode, // <no_sram>
+  output [31:0] data_arrays_0_ext_RW0_wdata, // <no_sram>
+  input  [31:0] data_arrays_0_ext_RW0_rdata, // <no_sram>
+  output [3:0]  data_arrays_0_ext_RW0_wmask, // <no_sram>
+  output [6:0]  tag_array_0_ext_RW0_addr, // <no_sram>
+  output        tag_array_0_ext_RW0_en, // <no_sram>
+  output        tag_array_0_ext_RW0_clk, // <no_sram>
+  output        tag_array_0_ext_RW0_wmode, // <no_sram>
+  output [37:0] tag_array_0_ext_RW0_wdata, // <no_sram>
+  input  [37:0] tag_array_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  tag_array_0_ext_RW0_wmask, // <no_sram>
+  output [10:0] data_arrays_0_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_wmode, // <no_sram>
+  output [63:0] data_arrays_0_0_ext_RW0_wdata, // <no_sram>
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  data_arrays_0_0_ext_RW0_wmask // <no_sram>
+);
+  wire  sys_clock; // @[Platform.scala 58:19]
+  wire  sys_reset; // @[Platform.scala 58:19]
+  wire  sys_debug_clock; // @[Platform.scala 58:19]
+  wire  sys_debug_systemjtag_jtag_TCK; // @[Platform.scala 58:19]
+  wire  sys_debug_systemjtag_jtag_TMS; // @[Platform.scala 58:19]
+  wire  sys_debug_systemjtag_jtag_TDI; // @[Platform.scala 58:19]
+  wire  sys_debug_systemjtag_jtag_TDO_data; // @[Platform.scala 58:19]
+  wire  sys_debug_systemjtag_jtag_TDO_driven; // @[Platform.scala 58:19]
+  wire  sys_debug_systemjtag_reset; // @[Platform.scala 58:19]
+  wire  sys_uart_0_txd; // @[Platform.scala 58:19]
+  wire  sys_uart_0_rxd; // @[Platform.scala 58:19]
+  wire  sys_uart_1_txd; // @[Platform.scala 58:19]
+  wire  sys_uart_1_rxd; // @[Platform.scala 58:19]
+  wire  sys_uart_2_txd; // @[Platform.scala 58:19]
+  wire  sys_uart_2_rxd; // @[Platform.scala 58:19]
+  wire  sys_uart_3_txd; // @[Platform.scala 58:19]
+  wire  sys_uart_3_rxd; // @[Platform.scala 58:19]
+  wire  sys_uart_4_txd; // @[Platform.scala 58:19]
+  wire  sys_uart_4_rxd; // @[Platform.scala 58:19]
+  wire  sys_spi_0_sck; // @[Platform.scala 58:19]
+  wire  sys_spi_0_dq_0_i; // @[Platform.scala 58:19]
+  wire  sys_spi_0_dq_0_o; // @[Platform.scala 58:19]
+  wire  sys_spi_0_dq_0_oe; // @[Platform.scala 58:19]
+  wire  sys_spi_0_dq_1_i; // @[Platform.scala 58:19]
+  wire  sys_spi_0_dq_1_o; // @[Platform.scala 58:19]
+  wire  sys_spi_0_dq_1_oe; // @[Platform.scala 58:19]
+  wire  sys_spi_0_dq_2_i; // @[Platform.scala 58:19]
+  wire  sys_spi_0_dq_2_o; // @[Platform.scala 58:19]
+  wire  sys_spi_0_dq_2_oe; // @[Platform.scala 58:19]
+  wire  sys_spi_0_dq_3_i; // @[Platform.scala 58:19]
+  wire  sys_spi_0_dq_3_o; // @[Platform.scala 58:19]
+  wire  sys_spi_0_dq_3_oe; // @[Platform.scala 58:19]
+  wire  sys_spi_0_cs_0; // @[Platform.scala 58:19]
+  wire  sys_spi_0_cs_1; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_0_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_0_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_0_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_0_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_1_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_1_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_1_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_1_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_2_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_2_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_2_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_2_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_3_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_3_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_3_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_3_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_4_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_4_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_4_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_4_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_5_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_5_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_5_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_5_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_6_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_6_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_6_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_7_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_7_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_7_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_8_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_8_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_8_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_9_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_9_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_9_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_10_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_10_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_10_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_11_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_11_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_11_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_12_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_12_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_12_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_12_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_13_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_13_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_13_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_13_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_14_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_14_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_14_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_14_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_15_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_15_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_15_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_15_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_16_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_16_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_16_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_16_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_17_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_17_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_17_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_17_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_18_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_18_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_18_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_18_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_19_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_19_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_19_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_19_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_20_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_20_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_20_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_20_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_21_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_21_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_21_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_21_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_22_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_22_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_22_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_22_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_23_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_23_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_23_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_23_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_24_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_24_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_24_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_24_o_ie; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_25_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_25_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_25_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_26_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_26_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_26_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_27_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_27_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_27_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_28_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_28_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_28_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_29_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_29_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_29_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_30_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_30_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_30_o_oe; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_31_i_ival; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_31_o_oval; // @[Platform.scala 58:19]
+  wire  sys_gpio_0_pins_31_o_oe; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_0_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_1_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_2_i_ival; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_2_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_2_o_oe; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_2_o_ie; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_3_i_ival; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_3_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_3_o_oe; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_3_o_ie; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_4_i_ival; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_4_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_4_o_oe; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_4_o_ie; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_5_i_ival; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_5_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_5_o_oe; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_5_o_ie; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_12_i_ival; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_12_o_oe; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_13_i_ival; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_13_o_oe; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_14_i_ival; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_14_o_oe; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_15_i_ival; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_15_o_oe; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_16_i_ival; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_17_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_18_i_ival; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_19_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_20_i_ival; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_21_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_22_i_ival; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_23_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_0_24_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_1_12_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_1_13_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_1_14_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_1_15_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_1_16_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_1_17_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_1_18_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_1_19_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_1_20_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_1_21_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_1_22_o_oval; // @[Platform.scala 58:19]
+  wire  sys_iof_0_iof_1_23_o_oval; // @[Platform.scala 58:19]
+  wire  sys_pwm_0_gpio_0; // @[Platform.scala 58:19]
+  wire  sys_pwm_0_gpio_1; // @[Platform.scala 58:19]
+  wire  sys_pwm_0_gpio_2; // @[Platform.scala 58:19]
+  wire  sys_pwm_0_gpio_3; // @[Platform.scala 58:19]
+  wire  sys_pwm_1_gpio_0; // @[Platform.scala 58:19]
+  wire  sys_pwm_1_gpio_1; // @[Platform.scala 58:19]
+  wire  sys_pwm_1_gpio_2; // @[Platform.scala 58:19]
+  wire  sys_pwm_1_gpio_3; // @[Platform.scala 58:19]
+  wire  sys_pwm_2_gpio_0; // @[Platform.scala 58:19]
+  wire  sys_pwm_2_gpio_1; // @[Platform.scala 58:19]
+  wire  sys_pwm_2_gpio_2; // @[Platform.scala 58:19]
+  wire  sys_pwm_2_gpio_3; // @[Platform.scala 58:19]
+  wire  sys_qspi_0_sck; // @[Platform.scala 58:19]
+  wire  sys_qspi_0_dq_0_i; // @[Platform.scala 58:19]
+  wire  sys_qspi_0_dq_0_o; // @[Platform.scala 58:19]
+  wire  sys_qspi_0_dq_0_oe; // @[Platform.scala 58:19]
+  wire  sys_qspi_0_dq_1_i; // @[Platform.scala 58:19]
+  wire  sys_qspi_0_dq_1_o; // @[Platform.scala 58:19]
+  wire  sys_qspi_0_dq_1_oe; // @[Platform.scala 58:19]
+  wire  sys_qspi_0_dq_2_i; // @[Platform.scala 58:19]
+  wire  sys_qspi_0_dq_2_o; // @[Platform.scala 58:19]
+  wire  sys_qspi_0_dq_2_oe; // @[Platform.scala 58:19]
+  wire  sys_qspi_0_dq_3_i; // @[Platform.scala 58:19]
+  wire  sys_qspi_0_dq_3_o; // @[Platform.scala 58:19]
+  wire  sys_qspi_0_dq_3_oe; // @[Platform.scala 58:19]
+  wire  sys_qspi_0_cs_0; // @[Platform.scala 58:19]
+  wire  sys_qspi_ram_0_sck; // @[Platform.scala 58:19]
+  wire  sys_qspi_ram_0_dq_0_i; // @[Platform.scala 58:19]
+  wire  sys_qspi_ram_0_dq_0_o; // @[Platform.scala 58:19]
+  wire  sys_qspi_ram_0_dq_0_oe; // @[Platform.scala 58:19]
+  wire  sys_qspi_ram_0_dq_1_i; // @[Platform.scala 58:19]
+  wire  sys_qspi_ram_0_dq_1_o; // @[Platform.scala 58:19]
+  wire  sys_qspi_ram_0_dq_1_oe; // @[Platform.scala 58:19]
+  wire  sys_qspi_ram_0_dq_2_i; // @[Platform.scala 58:19]
+  wire  sys_qspi_ram_0_dq_2_o; // @[Platform.scala 58:19]
+  wire  sys_qspi_ram_0_dq_2_oe; // @[Platform.scala 58:19]
+  wire  sys_qspi_ram_0_dq_3_i; // @[Platform.scala 58:19]
+  wire  sys_qspi_ram_0_dq_3_o; // @[Platform.scala 58:19]
+  wire  sys_qspi_ram_0_dq_3_oe; // @[Platform.scala 58:19]
+  wire  sys_qspi_ram_0_cs_0; // @[Platform.scala 58:19]
+  wire  sys_aon_pins_erst_n_i_ival; // @[Platform.scala 58:19]
+  wire  sys_aon_pins_lfextclk_i_ival; // @[Platform.scala 58:19]
+  wire  sys_aon_rsts_corerst; // @[Platform.scala 58:19]
+  wire  sys_i2c_0_scl_in; // @[Platform.scala 58:19]
+  wire  sys_i2c_0_scl_oe; // @[Platform.scala 58:19]
+  wire  sys_i2c_0_sda_in; // @[Platform.scala 58:19]
+  wire  sys_i2c_0_sda_oe; // @[Platform.scala 58:19]
+  wire  sys_i2c_1_scl_in; // @[Platform.scala 58:19]
+  wire  sys_i2c_1_scl_oe; // @[Platform.scala 58:19]
+  wire  sys_i2c_1_sda_in; // @[Platform.scala 58:19]
+  wire  sys_i2c_1_sda_oe; // @[Platform.scala 58:19]
+  wire  sys_reset_catcher_clock; // @[ResetCatchAndSync.scala 39:28]
+  wire  sys_reset_catcher_reset; // @[ResetCatchAndSync.scala 39:28]
+  wire  sys_reset_catcher_io_sync_reset; // @[ResetCatchAndSync.scala 39:28]
+  wire  sys_qspi_0_dq_0_i_spi_dq_0_sync_clock; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_0_dq_0_i_spi_dq_0_sync_io_d; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_0_dq_0_i_spi_dq_0_sync_io_q; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_0_dq_1_i_spi_dq_1_sync_clock; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_0_dq_1_i_spi_dq_1_sync_io_d; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_0_dq_1_i_spi_dq_1_sync_io_q; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_0_dq_2_i_spi_dq_2_sync_clock; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_0_dq_2_i_spi_dq_2_sync_io_d; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_0_dq_2_i_spi_dq_2_sync_io_q; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_0_dq_3_i_spi_dq_3_sync_clock; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_0_dq_3_i_spi_dq_3_sync_io_d; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_0_dq_3_i_spi_dq_3_sync_io_q; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_ram_0_dq_0_i_spi_dq_0_sync_clock; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_ram_0_dq_0_i_spi_dq_0_sync_io_d; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_ram_0_dq_0_i_spi_dq_0_sync_io_q; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_ram_0_dq_1_i_spi_dq_1_sync_clock; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_ram_0_dq_1_i_spi_dq_1_sync_io_d; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_ram_0_dq_1_i_spi_dq_1_sync_io_q; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_ram_0_dq_2_i_spi_dq_2_sync_clock; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_ram_0_dq_2_i_spi_dq_2_sync_io_d; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_ram_0_dq_2_i_spi_dq_2_sync_io_q; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_ram_0_dq_3_i_spi_dq_3_sync_clock; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_ram_0_dq_3_i_spi_dq_3_sync_io_d; // @[ShiftReg.scala 45:23]
+  wire  sys_qspi_ram_0_dq_3_i_spi_dq_3_sync_io_q; // @[ShiftReg.scala 45:23]
+  wire  sys_uart_0_rxd_uart_rxd_sync_clock; // @[ShiftReg.scala 45:23]
+  wire  sys_uart_0_rxd_uart_rxd_sync_reset; // @[ShiftReg.scala 45:23]
+  wire  sys_uart_0_rxd_uart_rxd_sync_io_d; // @[ShiftReg.scala 45:23]
+  wire  sys_uart_0_rxd_uart_rxd_sync_io_q; // @[ShiftReg.scala 45:23]
+  MarmotCaravelSystem sys ( // @[Platform.scala 58:19]
+    .clock(sys_clock),
+    .reset(sys_reset),
+    .debug_clock(sys_debug_clock),
+    .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),
+    .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_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_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_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_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_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_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_pins_25_i_ival(sys_gpio_0_pins_25_i_ival),
+    .gpio_0_pins_25_o_oval(sys_gpio_0_pins_25_o_oval),
+    .gpio_0_pins_25_o_oe(sys_gpio_0_pins_25_o_oe),
+    .gpio_0_pins_26_i_ival(sys_gpio_0_pins_26_i_ival),
+    .gpio_0_pins_26_o_oval(sys_gpio_0_pins_26_o_oval),
+    .gpio_0_pins_26_o_oe(sys_gpio_0_pins_26_o_oe),
+    .gpio_0_pins_27_i_ival(sys_gpio_0_pins_27_i_ival),
+    .gpio_0_pins_27_o_oval(sys_gpio_0_pins_27_o_oval),
+    .gpio_0_pins_27_o_oe(sys_gpio_0_pins_27_o_oe),
+    .gpio_0_pins_28_i_ival(sys_gpio_0_pins_28_i_ival),
+    .gpio_0_pins_28_o_oval(sys_gpio_0_pins_28_o_oval),
+    .gpio_0_pins_28_o_oe(sys_gpio_0_pins_28_o_oe),
+    .gpio_0_pins_29_i_ival(sys_gpio_0_pins_29_i_ival),
+    .gpio_0_pins_29_o_oval(sys_gpio_0_pins_29_o_oval),
+    .gpio_0_pins_29_o_oe(sys_gpio_0_pins_29_o_oe),
+    .gpio_0_pins_30_i_ival(sys_gpio_0_pins_30_i_ival),
+    .gpio_0_pins_30_o_oval(sys_gpio_0_pins_30_o_oval),
+    .gpio_0_pins_30_o_oe(sys_gpio_0_pins_30_o_oe),
+    .gpio_0_pins_31_i_ival(sys_gpio_0_pins_31_i_ival),
+    .gpio_0_pins_31_o_oval(sys_gpio_0_pins_31_o_oval),
+    .gpio_0_pins_31_o_oe(sys_gpio_0_pins_31_o_oe),
+    .iof_0_iof_0_0_o_oval(sys_iof_0_iof_0_0_o_oval),
+    .iof_0_iof_0_1_o_oval(sys_iof_0_iof_0_1_o_oval),
+    .iof_0_iof_0_2_i_ival(sys_iof_0_iof_0_2_i_ival),
+    .iof_0_iof_0_2_o_oval(sys_iof_0_iof_0_2_o_oval),
+    .iof_0_iof_0_2_o_oe(sys_iof_0_iof_0_2_o_oe),
+    .iof_0_iof_0_2_o_ie(sys_iof_0_iof_0_2_o_ie),
+    .iof_0_iof_0_3_i_ival(sys_iof_0_iof_0_3_i_ival),
+    .iof_0_iof_0_3_o_oval(sys_iof_0_iof_0_3_o_oval),
+    .iof_0_iof_0_3_o_oe(sys_iof_0_iof_0_3_o_oe),
+    .iof_0_iof_0_3_o_ie(sys_iof_0_iof_0_3_o_ie),
+    .iof_0_iof_0_4_i_ival(sys_iof_0_iof_0_4_i_ival),
+    .iof_0_iof_0_4_o_oval(sys_iof_0_iof_0_4_o_oval),
+    .iof_0_iof_0_4_o_oe(sys_iof_0_iof_0_4_o_oe),
+    .iof_0_iof_0_4_o_ie(sys_iof_0_iof_0_4_o_ie),
+    .iof_0_iof_0_5_i_ival(sys_iof_0_iof_0_5_i_ival),
+    .iof_0_iof_0_5_o_oval(sys_iof_0_iof_0_5_o_oval),
+    .iof_0_iof_0_5_o_oe(sys_iof_0_iof_0_5_o_oe),
+    .iof_0_iof_0_5_o_ie(sys_iof_0_iof_0_5_o_ie),
+    .iof_0_iof_0_12_i_ival(sys_iof_0_iof_0_12_i_ival),
+    .iof_0_iof_0_12_o_oe(sys_iof_0_iof_0_12_o_oe),
+    .iof_0_iof_0_13_i_ival(sys_iof_0_iof_0_13_i_ival),
+    .iof_0_iof_0_13_o_oe(sys_iof_0_iof_0_13_o_oe),
+    .iof_0_iof_0_14_i_ival(sys_iof_0_iof_0_14_i_ival),
+    .iof_0_iof_0_14_o_oe(sys_iof_0_iof_0_14_o_oe),
+    .iof_0_iof_0_15_i_ival(sys_iof_0_iof_0_15_i_ival),
+    .iof_0_iof_0_15_o_oe(sys_iof_0_iof_0_15_o_oe),
+    .iof_0_iof_0_16_i_ival(sys_iof_0_iof_0_16_i_ival),
+    .iof_0_iof_0_17_o_oval(sys_iof_0_iof_0_17_o_oval),
+    .iof_0_iof_0_18_i_ival(sys_iof_0_iof_0_18_i_ival),
+    .iof_0_iof_0_19_o_oval(sys_iof_0_iof_0_19_o_oval),
+    .iof_0_iof_0_20_i_ival(sys_iof_0_iof_0_20_i_ival),
+    .iof_0_iof_0_21_o_oval(sys_iof_0_iof_0_21_o_oval),
+    .iof_0_iof_0_22_i_ival(sys_iof_0_iof_0_22_i_ival),
+    .iof_0_iof_0_23_o_oval(sys_iof_0_iof_0_23_o_oval),
+    .iof_0_iof_0_24_o_oval(sys_iof_0_iof_0_24_o_oval),
+    .iof_0_iof_1_12_o_oval(sys_iof_0_iof_1_12_o_oval),
+    .iof_0_iof_1_13_o_oval(sys_iof_0_iof_1_13_o_oval),
+    .iof_0_iof_1_14_o_oval(sys_iof_0_iof_1_14_o_oval),
+    .iof_0_iof_1_15_o_oval(sys_iof_0_iof_1_15_o_oval),
+    .iof_0_iof_1_16_o_oval(sys_iof_0_iof_1_16_o_oval),
+    .iof_0_iof_1_17_o_oval(sys_iof_0_iof_1_17_o_oval),
+    .iof_0_iof_1_18_o_oval(sys_iof_0_iof_1_18_o_oval),
+    .iof_0_iof_1_19_o_oval(sys_iof_0_iof_1_19_o_oval),
+    .iof_0_iof_1_20_o_oval(sys_iof_0_iof_1_20_o_oval),
+    .iof_0_iof_1_21_o_oval(sys_iof_0_iof_1_21_o_oval),
+    .iof_0_iof_1_22_o_oval(sys_iof_0_iof_1_22_o_oval),
+    .iof_0_iof_1_23_o_oval(sys_iof_0_iof_1_23_o_oval),
+    .pwm_0_gpio_0(sys_pwm_0_gpio_0),
+    .pwm_0_gpio_1(sys_pwm_0_gpio_1),
+    .pwm_0_gpio_2(sys_pwm_0_gpio_2),
+    .pwm_0_gpio_3(sys_pwm_0_gpio_3),
+    .pwm_1_gpio_0(sys_pwm_1_gpio_0),
+    .pwm_1_gpio_1(sys_pwm_1_gpio_1),
+    .pwm_1_gpio_2(sys_pwm_1_gpio_2),
+    .pwm_1_gpio_3(sys_pwm_1_gpio_3),
+    .pwm_2_gpio_0(sys_pwm_2_gpio_0),
+    .pwm_2_gpio_1(sys_pwm_2_gpio_1),
+    .pwm_2_gpio_2(sys_pwm_2_gpio_2),
+    .pwm_2_gpio_3(sys_pwm_2_gpio_3),
+    .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),
+    .qspi_ram_0_sck(sys_qspi_ram_0_sck),
+    .qspi_ram_0_dq_0_i(sys_qspi_ram_0_dq_0_i),
+    .qspi_ram_0_dq_0_o(sys_qspi_ram_0_dq_0_o),
+    .qspi_ram_0_dq_0_oe(sys_qspi_ram_0_dq_0_oe),
+    .qspi_ram_0_dq_1_i(sys_qspi_ram_0_dq_1_i),
+    .qspi_ram_0_dq_1_o(sys_qspi_ram_0_dq_1_o),
+    .qspi_ram_0_dq_1_oe(sys_qspi_ram_0_dq_1_oe),
+    .qspi_ram_0_dq_2_i(sys_qspi_ram_0_dq_2_i),
+    .qspi_ram_0_dq_2_o(sys_qspi_ram_0_dq_2_o),
+    .qspi_ram_0_dq_2_oe(sys_qspi_ram_0_dq_2_oe),
+    .qspi_ram_0_dq_3_i(sys_qspi_ram_0_dq_3_i),
+    .qspi_ram_0_dq_3_o(sys_qspi_ram_0_dq_3_o),
+    .qspi_ram_0_dq_3_oe(sys_qspi_ram_0_dq_3_oe),
+    .qspi_ram_0_cs_0(sys_qspi_ram_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), // <no_sram>
+    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr), // <no_sram>
+    .tag_array_ext_RW0_en(tag_array_ext_RW0_en), // <no_sram>
+    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk), // <no_sram>
+    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode), // <no_sram>
+    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata), // <no_sram>
+    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask), // <no_sram>
+    .tag_array_0_ext_RW0_addr(tag_array_0_ext_RW0_addr), // <no_sram>
+    .tag_array_0_ext_RW0_en(tag_array_0_ext_RW0_en), // <no_sram>
+    .tag_array_0_ext_RW0_clk(tag_array_0_ext_RW0_clk), // <no_sram>
+    .tag_array_0_ext_RW0_wmode(tag_array_0_ext_RW0_wmode), // <no_sram>
+    .tag_array_0_ext_RW0_wdata(tag_array_0_ext_RW0_wdata), // <no_sram>
+    .tag_array_0_ext_RW0_rdata(tag_array_0_ext_RW0_rdata), // <no_sram>
+    .tag_array_0_ext_RW0_wmask(tag_array_0_ext_RW0_wmask), // <no_sram>
+    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask) // <no_sram>
+  );
+  ResetCatchAndSync_d20 sys_reset_catcher ( // @[ResetCatchAndSync.scala 39:28]
+    .clock(sys_reset_catcher_clock),
+    .reset(sys_reset_catcher_reset),
+    .io_sync_reset(sys_reset_catcher_io_sync_reset)
+  );
+  SynchronizerShiftReg_w1_d3 sys_qspi_0_dq_0_i_spi_dq_0_sync ( // @[ShiftReg.scala 45:23]
+    .clock(sys_qspi_0_dq_0_i_spi_dq_0_sync_clock),
+    .io_d(sys_qspi_0_dq_0_i_spi_dq_0_sync_io_d),
+    .io_q(sys_qspi_0_dq_0_i_spi_dq_0_sync_io_q)
+  );
+  SynchronizerShiftReg_w1_d3 sys_qspi_0_dq_1_i_spi_dq_1_sync ( // @[ShiftReg.scala 45:23]
+    .clock(sys_qspi_0_dq_1_i_spi_dq_1_sync_clock),
+    .io_d(sys_qspi_0_dq_1_i_spi_dq_1_sync_io_d),
+    .io_q(sys_qspi_0_dq_1_i_spi_dq_1_sync_io_q)
+  );
+  SynchronizerShiftReg_w1_d3 sys_qspi_0_dq_2_i_spi_dq_2_sync ( // @[ShiftReg.scala 45:23]
+    .clock(sys_qspi_0_dq_2_i_spi_dq_2_sync_clock),
+    .io_d(sys_qspi_0_dq_2_i_spi_dq_2_sync_io_d),
+    .io_q(sys_qspi_0_dq_2_i_spi_dq_2_sync_io_q)
+  );
+  SynchronizerShiftReg_w1_d3 sys_qspi_0_dq_3_i_spi_dq_3_sync ( // @[ShiftReg.scala 45:23]
+    .clock(sys_qspi_0_dq_3_i_spi_dq_3_sync_clock),
+    .io_d(sys_qspi_0_dq_3_i_spi_dq_3_sync_io_d),
+    .io_q(sys_qspi_0_dq_3_i_spi_dq_3_sync_io_q)
+  );
+  SynchronizerShiftReg_w1_d3 sys_qspi_ram_0_dq_0_i_spi_dq_0_sync ( // @[ShiftReg.scala 45:23]
+    .clock(sys_qspi_ram_0_dq_0_i_spi_dq_0_sync_clock),
+    .io_d(sys_qspi_ram_0_dq_0_i_spi_dq_0_sync_io_d),
+    .io_q(sys_qspi_ram_0_dq_0_i_spi_dq_0_sync_io_q)
+  );
+  SynchronizerShiftReg_w1_d3 sys_qspi_ram_0_dq_1_i_spi_dq_1_sync ( // @[ShiftReg.scala 45:23]
+    .clock(sys_qspi_ram_0_dq_1_i_spi_dq_1_sync_clock),
+    .io_d(sys_qspi_ram_0_dq_1_i_spi_dq_1_sync_io_d),
+    .io_q(sys_qspi_ram_0_dq_1_i_spi_dq_1_sync_io_q)
+  );
+  SynchronizerShiftReg_w1_d3 sys_qspi_ram_0_dq_2_i_spi_dq_2_sync ( // @[ShiftReg.scala 45:23]
+    .clock(sys_qspi_ram_0_dq_2_i_spi_dq_2_sync_clock),
+    .io_d(sys_qspi_ram_0_dq_2_i_spi_dq_2_sync_io_d),
+    .io_q(sys_qspi_ram_0_dq_2_i_spi_dq_2_sync_io_q)
+  );
+  SynchronizerShiftReg_w1_d3 sys_qspi_ram_0_dq_3_i_spi_dq_3_sync ( // @[ShiftReg.scala 45:23]
+    .clock(sys_qspi_ram_0_dq_3_i_spi_dq_3_sync_clock),
+    .io_d(sys_qspi_ram_0_dq_3_i_spi_dq_3_sync_io_d),
+    .io_q(sys_qspi_ram_0_dq_3_i_spi_dq_3_sync_io_q)
+  );
+  SyncResetSynchronizerShiftReg_w1_d3_i1 sys_uart_0_rxd_uart_rxd_sync ( // @[ShiftReg.scala 45:23]
+    .clock(sys_uart_0_rxd_uart_rxd_sync_clock),
+    .reset(sys_uart_0_rxd_uart_rxd_sync_reset),
+    .io_d(sys_uart_0_rxd_uart_rxd_sync_io_d),
+    .io_q(sys_uart_0_rxd_uart_rxd_sync_io_q)
+  );
+  assign io_pins_jtag_TDO_o_oval = sys_debug_systemjtag_jtag_TDO_data; // @[PinCtrl.scala 60:17]
+  assign io_pins_jtag_TDO_o_oe = sys_debug_systemjtag_jtag_TDO_driven; // @[JTAGPins.scala 35:19]
+  assign io_pins_gpio_pins_0_o_oval = sys_gpio_0_pins_0_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_0_o_oe = sys_gpio_0_pins_0_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_0_o_ie = sys_gpio_0_pins_0_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_1_o_oval = sys_gpio_0_pins_1_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_1_o_oe = sys_gpio_0_pins_1_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_1_o_ie = sys_gpio_0_pins_1_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_2_o_oval = sys_gpio_0_pins_2_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_2_o_oe = sys_gpio_0_pins_2_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_2_o_ie = sys_gpio_0_pins_2_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_3_o_oval = sys_gpio_0_pins_3_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_3_o_oe = sys_gpio_0_pins_3_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_3_o_ie = sys_gpio_0_pins_3_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_4_o_oval = sys_gpio_0_pins_4_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_4_o_oe = sys_gpio_0_pins_4_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_4_o_ie = sys_gpio_0_pins_4_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_5_o_oval = sys_gpio_0_pins_5_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_5_o_oe = sys_gpio_0_pins_5_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_5_o_ie = sys_gpio_0_pins_5_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_6_o_oval = sys_gpio_0_pins_6_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_6_o_oe = sys_gpio_0_pins_6_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_7_o_oval = sys_gpio_0_pins_7_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_7_o_oe = sys_gpio_0_pins_7_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_8_o_oval = sys_gpio_0_pins_8_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_8_o_oe = sys_gpio_0_pins_8_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_9_o_oval = sys_gpio_0_pins_9_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_9_o_oe = sys_gpio_0_pins_9_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_10_o_oval = sys_gpio_0_pins_10_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_10_o_oe = sys_gpio_0_pins_10_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_11_o_oval = sys_gpio_0_pins_11_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_11_o_oe = sys_gpio_0_pins_11_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_12_o_oval = sys_gpio_0_pins_12_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_12_o_oe = sys_gpio_0_pins_12_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_12_o_ie = sys_gpio_0_pins_12_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_13_o_oval = sys_gpio_0_pins_13_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_13_o_oe = sys_gpio_0_pins_13_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_13_o_ie = sys_gpio_0_pins_13_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_14_o_oval = sys_gpio_0_pins_14_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_14_o_oe = sys_gpio_0_pins_14_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_14_o_ie = sys_gpio_0_pins_14_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_15_o_oval = sys_gpio_0_pins_15_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_15_o_oe = sys_gpio_0_pins_15_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_15_o_ie = sys_gpio_0_pins_15_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_16_o_oval = sys_gpio_0_pins_16_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_16_o_oe = sys_gpio_0_pins_16_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_16_o_ie = sys_gpio_0_pins_16_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_17_o_oval = sys_gpio_0_pins_17_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_17_o_oe = sys_gpio_0_pins_17_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_17_o_ie = sys_gpio_0_pins_17_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_18_o_oval = sys_gpio_0_pins_18_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_18_o_oe = sys_gpio_0_pins_18_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_18_o_ie = sys_gpio_0_pins_18_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_19_o_oval = sys_gpio_0_pins_19_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_19_o_oe = sys_gpio_0_pins_19_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_19_o_ie = sys_gpio_0_pins_19_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_20_o_oval = sys_gpio_0_pins_20_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_20_o_oe = sys_gpio_0_pins_20_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_20_o_ie = sys_gpio_0_pins_20_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_21_o_oval = sys_gpio_0_pins_21_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_21_o_oe = sys_gpio_0_pins_21_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_21_o_ie = sys_gpio_0_pins_21_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_22_o_oval = sys_gpio_0_pins_22_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_22_o_oe = sys_gpio_0_pins_22_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_22_o_ie = sys_gpio_0_pins_22_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_23_o_oval = sys_gpio_0_pins_23_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_23_o_oe = sys_gpio_0_pins_23_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_23_o_ie = sys_gpio_0_pins_23_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_24_o_oval = sys_gpio_0_pins_24_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_24_o_oe = sys_gpio_0_pins_24_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_24_o_ie = sys_gpio_0_pins_24_o_ie; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_25_o_oval = sys_gpio_0_pins_25_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_25_o_oe = sys_gpio_0_pins_25_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_26_o_oval = sys_gpio_0_pins_26_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_26_o_oe = sys_gpio_0_pins_26_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_27_o_oval = sys_gpio_0_pins_27_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_27_o_oe = sys_gpio_0_pins_27_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_28_o_oval = sys_gpio_0_pins_28_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_28_o_oe = sys_gpio_0_pins_28_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_29_o_oval = sys_gpio_0_pins_29_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_29_o_oe = sys_gpio_0_pins_29_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_30_o_oval = sys_gpio_0_pins_30_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_30_o_oe = sys_gpio_0_pins_30_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_31_o_oval = sys_gpio_0_pins_31_o_oval; // @[GPIOPins.scala 38:11]
+  assign io_pins_gpio_pins_31_o_oe = sys_gpio_0_pins_31_o_oe; // @[GPIOPins.scala 38:11]
+  assign io_pins_qspi_sck_o_oval = sys_qspi_0_sck; // @[PinCtrl.scala 60:17]
+  assign io_pins_qspi_dq_0_o_oval = sys_qspi_0_dq_0_o; // @[PinCtrl.scala 60:17]
+  assign io_pins_qspi_dq_0_o_oe = sys_qspi_0_dq_0_oe; // @[SPIPins.scala 29:16]
+  assign io_pins_qspi_dq_0_o_ie = ~sys_qspi_0_dq_0_oe; // @[SPIPins.scala 30:19]
+  assign io_pins_qspi_dq_1_o_oval = sys_qspi_0_dq_1_o; // @[PinCtrl.scala 60:17]
+  assign io_pins_qspi_dq_1_o_oe = sys_qspi_0_dq_1_oe; // @[SPIPins.scala 29:16]
+  assign io_pins_qspi_dq_1_o_ie = ~sys_qspi_0_dq_1_oe; // @[SPIPins.scala 30:19]
+  assign io_pins_qspi_dq_2_o_oval = sys_qspi_0_dq_2_o; // @[PinCtrl.scala 60:17]
+  assign io_pins_qspi_dq_2_o_oe = sys_qspi_0_dq_2_oe; // @[SPIPins.scala 29:16]
+  assign io_pins_qspi_dq_2_o_ie = ~sys_qspi_0_dq_2_oe; // @[SPIPins.scala 30:19]
+  assign io_pins_qspi_dq_3_o_oval = sys_qspi_0_dq_3_o; // @[PinCtrl.scala 60:17]
+  assign io_pins_qspi_dq_3_o_oe = sys_qspi_0_dq_3_oe; // @[SPIPins.scala 29:16]
+  assign io_pins_qspi_dq_3_o_ie = ~sys_qspi_0_dq_3_oe; // @[SPIPins.scala 30:19]
+  assign io_pins_qspi_cs_0_o_oval = sys_qspi_0_cs_0; // @[PinCtrl.scala 60:17]
+  assign io_pins_qspi_ram_sck_o_oval = sys_qspi_ram_0_sck; // @[PinCtrl.scala 60:17]
+  assign io_pins_qspi_ram_dq_0_o_oval = sys_qspi_ram_0_dq_0_o; // @[PinCtrl.scala 60:17]
+  assign io_pins_qspi_ram_dq_0_o_oe = sys_qspi_ram_0_dq_0_oe; // @[SPIPins.scala 29:16]
+  assign io_pins_qspi_ram_dq_0_o_ie = ~sys_qspi_ram_0_dq_0_oe; // @[SPIPins.scala 30:19]
+  assign io_pins_qspi_ram_dq_1_o_oval = sys_qspi_ram_0_dq_1_o; // @[PinCtrl.scala 60:17]
+  assign io_pins_qspi_ram_dq_1_o_oe = sys_qspi_ram_0_dq_1_oe; // @[SPIPins.scala 29:16]
+  assign io_pins_qspi_ram_dq_1_o_ie = ~sys_qspi_ram_0_dq_1_oe; // @[SPIPins.scala 30:19]
+  assign io_pins_qspi_ram_dq_2_o_oval = sys_qspi_ram_0_dq_2_o; // @[PinCtrl.scala 60:17]
+  assign io_pins_qspi_ram_dq_2_o_oe = sys_qspi_ram_0_dq_2_oe; // @[SPIPins.scala 29:16]
+  assign io_pins_qspi_ram_dq_2_o_ie = ~sys_qspi_ram_0_dq_2_oe; // @[SPIPins.scala 30:19]
+  assign io_pins_qspi_ram_dq_3_o_oval = sys_qspi_ram_0_dq_3_o; // @[PinCtrl.scala 60:17]
+  assign io_pins_qspi_ram_dq_3_o_oe = sys_qspi_ram_0_dq_3_oe; // @[SPIPins.scala 29:16]
+  assign io_pins_qspi_ram_dq_3_o_ie = ~sys_qspi_ram_0_dq_3_oe; // @[SPIPins.scala 30:19]
+  assign io_pins_qspi_ram_cs_0_o_oval = sys_qspi_ram_0_cs_0; // @[PinCtrl.scala 60:17]
+  assign io_pins_uart_txd_o_oval = sys_uart_0_txd; // @[PinCtrl.scala 60:17]
+  assign sys_clock = clock;
+  assign sys_reset = sys_reset_catcher_io_sync_reset; // @[Platform.scala 64:13]
+  assign sys_debug_clock = sys_clock; // @[Platform.scala 189:23]
+  assign sys_debug_systemjtag_jtag_TCK = io_pins_jtag_TCK_i_ival; // @[JTAGPins.scala 29:55]
+  assign sys_debug_systemjtag_jtag_TMS = io_pins_jtag_TMS_i_ival; // @[JTAGPins.scala 30:15]
+  assign sys_debug_systemjtag_jtag_TDI = io_pins_jtag_TDI_i_ival; // @[JTAGPins.scala 31:15]
+  assign sys_debug_systemjtag_reset = io_jtag_reset; // @[Platform.scala 184:15]
+  assign sys_uart_0_rxd = sys_uart_0_rxd_uart_rxd_sync_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign sys_uart_1_rxd = sys_iof_0_iof_0_16_i_ival; // @[Platform.scala 84:54 IOF.scala 61:9]
+  assign sys_uart_2_rxd = sys_iof_0_iof_0_18_i_ival; // @[Platform.scala 84:54 IOF.scala 61:9]
+  assign sys_uart_3_rxd = sys_iof_0_iof_0_20_i_ival; // @[Platform.scala 84:54 IOF.scala 61:9]
+  assign sys_uart_4_rxd = sys_iof_0_iof_0_22_i_ival; // @[Platform.scala 84:54 IOF.scala 61:9]
+  assign sys_spi_0_dq_0_i = sys_iof_0_iof_0_2_i_ival; // @[Platform.scala 86:54 IOF.scala 61:9]
+  assign sys_spi_0_dq_1_i = sys_iof_0_iof_0_3_i_ival; // @[Platform.scala 86:54 IOF.scala 61:9]
+  assign sys_spi_0_dq_2_i = sys_iof_0_iof_0_4_i_ival; // @[Platform.scala 86:54 IOF.scala 61:9]
+  assign sys_spi_0_dq_3_i = sys_iof_0_iof_0_5_i_ival; // @[Platform.scala 86:54 IOF.scala 61:9]
+  assign sys_gpio_0_pins_0_i_ival = io_pins_gpio_pins_0_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_1_i_ival = io_pins_gpio_pins_1_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_2_i_ival = io_pins_gpio_pins_2_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_3_i_ival = io_pins_gpio_pins_3_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_4_i_ival = io_pins_gpio_pins_4_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_5_i_ival = io_pins_gpio_pins_5_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_6_i_ival = io_pins_gpio_pins_6_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_7_i_ival = io_pins_gpio_pins_7_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_8_i_ival = io_pins_gpio_pins_8_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_9_i_ival = io_pins_gpio_pins_9_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_10_i_ival = io_pins_gpio_pins_10_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_11_i_ival = io_pins_gpio_pins_11_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_12_i_ival = io_pins_gpio_pins_12_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_13_i_ival = io_pins_gpio_pins_13_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_14_i_ival = io_pins_gpio_pins_14_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_15_i_ival = io_pins_gpio_pins_15_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_16_i_ival = io_pins_gpio_pins_16_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_17_i_ival = io_pins_gpio_pins_17_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_18_i_ival = io_pins_gpio_pins_18_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_19_i_ival = io_pins_gpio_pins_19_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_20_i_ival = io_pins_gpio_pins_20_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_21_i_ival = io_pins_gpio_pins_21_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_22_i_ival = io_pins_gpio_pins_22_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_23_i_ival = io_pins_gpio_pins_23_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_24_i_ival = io_pins_gpio_pins_24_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_25_i_ival = io_pins_gpio_pins_25_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_26_i_ival = io_pins_gpio_pins_26_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_27_i_ival = io_pins_gpio_pins_27_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_28_i_ival = io_pins_gpio_pins_28_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_29_i_ival = io_pins_gpio_pins_29_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_30_i_ival = io_pins_gpio_pins_30_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_gpio_0_pins_31_i_ival = io_pins_gpio_pins_31_i_ival; // @[GPIOPins.scala 38:11]
+  assign sys_iof_0_iof_0_0_o_oval = sys_spi_0_cs_0; // @[PinCtrl.scala 60:17 Platform.scala 86:54]
+  assign sys_iof_0_iof_0_1_o_oval = sys_spi_0_sck; // @[PinCtrl.scala 60:17 Platform.scala 86:54]
+  assign sys_iof_0_iof_0_2_o_oval = sys_spi_0_dq_0_o; // @[PinCtrl.scala 60:17 Platform.scala 86:54]
+  assign sys_iof_0_iof_0_2_o_oe = sys_spi_0_dq_0_oe; // @[Platform.scala 86:54 SPIPins.scala 29:16]
+  assign sys_iof_0_iof_0_2_o_ie = ~sys_spi_0_dq_0_oe; // @[SPIPins.scala 30:19]
+  assign sys_iof_0_iof_0_3_o_oval = sys_spi_0_dq_1_o; // @[PinCtrl.scala 60:17 Platform.scala 86:54]
+  assign sys_iof_0_iof_0_3_o_oe = sys_spi_0_dq_1_oe; // @[Platform.scala 86:54 SPIPins.scala 29:16]
+  assign sys_iof_0_iof_0_3_o_ie = ~sys_spi_0_dq_1_oe; // @[SPIPins.scala 30:19]
+  assign sys_iof_0_iof_0_4_o_oval = sys_spi_0_dq_2_o; // @[PinCtrl.scala 60:17 Platform.scala 86:54]
+  assign sys_iof_0_iof_0_4_o_oe = sys_spi_0_dq_2_oe; // @[Platform.scala 86:54 SPIPins.scala 29:16]
+  assign sys_iof_0_iof_0_4_o_ie = ~sys_spi_0_dq_2_oe; // @[SPIPins.scala 30:19]
+  assign sys_iof_0_iof_0_5_o_oval = sys_spi_0_dq_3_o; // @[PinCtrl.scala 60:17 Platform.scala 86:54]
+  assign sys_iof_0_iof_0_5_o_oe = sys_spi_0_dq_3_oe; // @[Platform.scala 86:54 SPIPins.scala 29:16]
+  assign sys_iof_0_iof_0_5_o_ie = ~sys_spi_0_dq_3_oe; // @[SPIPins.scala 30:19]
+  assign sys_iof_0_iof_0_12_o_oe = sys_i2c_0_sda_oe; // @[I2CPins.scala 27:21 Platform.scala 87:54]
+  assign sys_iof_0_iof_0_13_o_oe = sys_i2c_0_scl_oe; // @[I2CPins.scala 22:21 Platform.scala 87:54]
+  assign sys_iof_0_iof_0_14_o_oe = sys_i2c_1_sda_oe; // @[I2CPins.scala 27:21 Platform.scala 87:54]
+  assign sys_iof_0_iof_0_15_o_oe = sys_i2c_1_scl_oe; // @[I2CPins.scala 22:21 Platform.scala 87:54]
+  assign sys_iof_0_iof_0_17_o_oval = sys_uart_1_txd; // @[PinCtrl.scala 60:17 Platform.scala 84:54]
+  assign sys_iof_0_iof_0_19_o_oval = sys_uart_2_txd; // @[PinCtrl.scala 60:17 Platform.scala 84:54]
+  assign sys_iof_0_iof_0_21_o_oval = sys_uart_3_txd; // @[PinCtrl.scala 60:17 Platform.scala 84:54]
+  assign sys_iof_0_iof_0_23_o_oval = sys_uart_4_txd; // @[PinCtrl.scala 60:17 Platform.scala 84:54]
+  assign sys_iof_0_iof_0_24_o_oval = sys_spi_0_cs_1; // @[PinCtrl.scala 60:17 Platform.scala 86:54]
+  assign sys_iof_0_iof_1_12_o_oval = sys_pwm_0_gpio_0; // @[PinCtrl.scala 60:17 Platform.scala 85:54]
+  assign sys_iof_0_iof_1_13_o_oval = sys_pwm_0_gpio_1; // @[PinCtrl.scala 60:17 Platform.scala 85:54]
+  assign sys_iof_0_iof_1_14_o_oval = sys_pwm_0_gpio_2; // @[PinCtrl.scala 60:17 Platform.scala 85:54]
+  assign sys_iof_0_iof_1_15_o_oval = sys_pwm_0_gpio_3; // @[PinCtrl.scala 60:17 Platform.scala 85:54]
+  assign sys_iof_0_iof_1_16_o_oval = sys_pwm_1_gpio_0; // @[PinCtrl.scala 60:17 Platform.scala 85:54]
+  assign sys_iof_0_iof_1_17_o_oval = sys_pwm_1_gpio_1; // @[PinCtrl.scala 60:17 Platform.scala 85:54]
+  assign sys_iof_0_iof_1_18_o_oval = sys_pwm_1_gpio_2; // @[PinCtrl.scala 60:17 Platform.scala 85:54]
+  assign sys_iof_0_iof_1_19_o_oval = sys_pwm_1_gpio_3; // @[PinCtrl.scala 60:17 Platform.scala 85:54]
+  assign sys_iof_0_iof_1_20_o_oval = sys_pwm_2_gpio_0; // @[PinCtrl.scala 60:17 Platform.scala 85:54]
+  assign sys_iof_0_iof_1_21_o_oval = sys_pwm_2_gpio_1; // @[PinCtrl.scala 60:17 Platform.scala 85:54]
+  assign sys_iof_0_iof_1_22_o_oval = sys_pwm_2_gpio_2; // @[PinCtrl.scala 60:17 Platform.scala 85:54]
+  assign sys_iof_0_iof_1_23_o_oval = sys_pwm_2_gpio_3; // @[PinCtrl.scala 60:17 Platform.scala 85:54]
+  assign sys_qspi_0_dq_0_i = sys_qspi_0_dq_0_i_spi_dq_0_sync_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign sys_qspi_0_dq_1_i = sys_qspi_0_dq_1_i_spi_dq_1_sync_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign sys_qspi_0_dq_2_i = sys_qspi_0_dq_2_i_spi_dq_2_sync_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign sys_qspi_0_dq_3_i = sys_qspi_0_dq_3_i_spi_dq_3_sync_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign sys_qspi_ram_0_dq_0_i = sys_qspi_ram_0_dq_0_i_spi_dq_0_sync_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign sys_qspi_ram_0_dq_1_i = sys_qspi_ram_0_dq_1_i_spi_dq_1_sync_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign sys_qspi_ram_0_dq_2_i = sys_qspi_ram_0_dq_2_i_spi_dq_2_sync_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign sys_qspi_ram_0_dq_3_i = sys_qspi_ram_0_dq_3_i_spi_dq_3_sync_io_q; // @[ShiftReg.scala 48:{24,24}]
+  assign sys_aon_pins_erst_n_i_ival = io_pins_aon_erst_n_i_ival; // @[Platform.scala 194:15]
+  assign sys_aon_pins_lfextclk_i_ival = io_pins_aon_lfextclk_i_ival; // @[Platform.scala 194:15]
+  assign sys_i2c_0_scl_in = sys_iof_0_iof_0_13_i_ival; // @[Platform.scala 87:54 IOF.scala 61:9]
+  assign sys_i2c_0_sda_in = sys_iof_0_iof_0_12_i_ival; // @[Platform.scala 87:54 IOF.scala 61:9]
+  assign sys_i2c_1_scl_in = sys_iof_0_iof_0_15_i_ival; // @[Platform.scala 87:54 IOF.scala 61:9]
+  assign sys_i2c_1_sda_in = sys_iof_0_iof_0_14_i_ival; // @[Platform.scala 87:54 IOF.scala 61:9]
+  assign sys_reset_catcher_clock = clock;
+  assign sys_reset_catcher_reset = sys_aon_rsts_corerst;
+  assign sys_qspi_0_dq_0_i_spi_dq_0_sync_clock = sys_clock;
+  assign sys_qspi_0_dq_0_i_spi_dq_0_sync_io_d = io_pins_qspi_dq_0_i_ival; // @[ShiftReg.scala 47:16]
+  assign sys_qspi_0_dq_1_i_spi_dq_1_sync_clock = sys_clock;
+  assign sys_qspi_0_dq_1_i_spi_dq_1_sync_io_d = io_pins_qspi_dq_1_i_ival; // @[ShiftReg.scala 47:16]
+  assign sys_qspi_0_dq_2_i_spi_dq_2_sync_clock = sys_clock;
+  assign sys_qspi_0_dq_2_i_spi_dq_2_sync_io_d = io_pins_qspi_dq_2_i_ival; // @[ShiftReg.scala 47:16]
+  assign sys_qspi_0_dq_3_i_spi_dq_3_sync_clock = sys_clock;
+  assign sys_qspi_0_dq_3_i_spi_dq_3_sync_io_d = io_pins_qspi_dq_3_i_ival; // @[ShiftReg.scala 47:16]
+  assign sys_qspi_ram_0_dq_0_i_spi_dq_0_sync_clock = sys_clock;
+  assign sys_qspi_ram_0_dq_0_i_spi_dq_0_sync_io_d = io_pins_qspi_ram_dq_0_i_ival; // @[ShiftReg.scala 47:16]
+  assign sys_qspi_ram_0_dq_1_i_spi_dq_1_sync_clock = sys_clock;
+  assign sys_qspi_ram_0_dq_1_i_spi_dq_1_sync_io_d = io_pins_qspi_ram_dq_1_i_ival; // @[ShiftReg.scala 47:16]
+  assign sys_qspi_ram_0_dq_2_i_spi_dq_2_sync_clock = sys_clock;
+  assign sys_qspi_ram_0_dq_2_i_spi_dq_2_sync_io_d = io_pins_qspi_ram_dq_2_i_ival; // @[ShiftReg.scala 47:16]
+  assign sys_qspi_ram_0_dq_3_i_spi_dq_3_sync_clock = sys_clock;
+  assign sys_qspi_ram_0_dq_3_i_spi_dq_3_sync_io_d = io_pins_qspi_ram_dq_3_i_ival; // @[ShiftReg.scala 47:16]
+  assign sys_uart_0_rxd_uart_rxd_sync_clock = sys_clock;
+  assign sys_uart_0_rxd_uart_rxd_sync_reset = sys_reset; // @[compatibility.scala 290:56]
+  assign sys_uart_0_rxd_uart_rxd_sync_io_d = io_pins_uart_rxd_i_ival; // @[ShiftReg.scala 47:16]
+endmodule
+module MarmotCaravelChip(
+  input   clk,
+  input   rst_n,
+  input   io_in_0,
+  input   io_in_1,
+  input   io_in_2,
+  input   io_in_3,
+  input   io_in_4,
+  input   io_in_5,
+  input   io_in_6,
+  input   io_in_7,
+  input   io_in_8,
+  input   io_in_9,
+  input   io_in_10,
+  input   io_in_11,
+  input   io_in_12,
+  input   io_in_13,
+  input   io_in_14,
+  input   io_in_15,
+  input   io_in_16,
+  input   io_in_17,
+  input   io_in_18,
+  input   io_in_19,
+  input   io_in_20,
+  input   io_in_21,
+  input   io_in_22,
+  input   io_in_23,
+  input   io_in_24,
+  input   io_in_25,
+  input   io_in_26,
+  input   io_in_27,
+  input   io_in_28,
+  input   io_in_29,
+  input   io_in_30,
+  input   io_in_31,
+  input   io_in_32,
+  input   io_in_33,
+  input   io_in_34,
+  input   io_in_35,
+  input   io_in_36,
+  input   io_in_37,
+  output  io_out_0,
+  output  io_out_1,
+  output  io_out_2,
+  output  io_out_3,
+  output  io_out_4,
+  output  io_out_5,
+  output  io_out_6,
+  output  io_out_7,
+  output  io_out_8,
+  output  io_out_9,
+  output  io_out_10,
+  output  io_out_11,
+  output  io_out_12,
+  output  io_out_13,
+  output  io_out_14,
+  output  io_out_15,
+  output  io_out_16,
+  output  io_out_17,
+  output  io_out_18,
+  output  io_out_19,
+  output  io_out_20,
+  output  io_out_21,
+  output  io_out_22,
+  output  io_out_23,
+  output  io_out_24,
+  output  io_out_25,
+  output  io_out_26,
+  output  io_out_27,
+  output  io_out_28,
+  output  io_out_29,
+  output  io_out_30,
+  output  io_out_31,
+  output  io_out_32,
+  output  io_out_33,
+  output  io_out_34,
+  output  io_out_35,
+  output  io_out_36,
+  output  io_out_37,
+  output  io_oeb_0,
+  output  io_oeb_1,
+  output  io_oeb_2,
+  output  io_oeb_3,
+  output  io_oeb_4,
+  output  io_oeb_5,
+  output  io_oeb_6,
+  output  io_oeb_7,
+  output  io_oeb_8,
+  output  io_oeb_9,
+  output  io_oeb_10,
+  output  io_oeb_11,
+  output  io_oeb_12,
+  output  io_oeb_13,
+  output  io_oeb_14,
+  output  io_oeb_15,
+  output  io_oeb_16,
+  output  io_oeb_17,
+  output  io_oeb_18,
+  output  io_oeb_19,
+  output  io_oeb_20,
+  output  io_oeb_21,
+  output  io_oeb_22,
+  output  io_oeb_23,
+  output  io_oeb_24,
+  output  io_oeb_25,
+  output  io_oeb_26,
+  output  io_oeb_27,
+  output  io_oeb_28,
+  output  io_oeb_29,
+  output  io_oeb_30,
+  output  io_oeb_31,
+  output  io_oeb_32,
+  output  io_oeb_33,
+  output  io_oeb_34,
+  output  io_oeb_35,
+  output  io_oeb_36,
+  output  io_oeb_37,
+  output  gpio_out_0,
+  output  gpio_out_1,
+  output  gpio_out_2,
+  output  gpio_out_3,
+  output  gpio_out_4,
+  output  gpio_out_5,
+  output  gpio_out_6,
+  output  gpio_out_7,
+  output  gpio_out_8,
+  output  gpio_out_9,
+  output  gpio_out_10,
+  output  gpio_out_11,
+  output  gpio_out_12,
+  output  gpio_out_13,
+  output  gpio_out_14,
+  output  gpio_out_15,
+  output  gpio_out_16,
+  output  gpio_out_17,
+  output  gpio_out_18,
+  output  gpio_out_19,
+  output  gpio_out_20,
+  output  gpio_out_21,
+  output  gpio_out_22,
+  output  gpio_out_23,
+  output  gpio_out_24,
+  output  gpio_out_25,
+  output  gpio_out_26,
+  output  gpio_out_27,
+  output  gpio_out_28,
+  output  gpio_out_29,
+  output  gpio_out_30,
+  output  gpio_out_31,
+  input   gpio_in_0,
+  input   gpio_in_1,
+  input   gpio_in_2,
+  input   gpio_in_3,
+  input   gpio_in_4,
+  input   gpio_in_5,
+  input   gpio_in_6,
+  input   gpio_in_7,
+  input   gpio_in_8,
+  input   gpio_in_9,
+  input   gpio_in_10,
+  input   gpio_in_11,
+  input   gpio_in_12,
+  input   gpio_in_13,
+  input   gpio_in_14,
+  input   gpio_in_15,
+  input   gpio_in_16,
+  input   gpio_in_17,
+  input   gpio_in_18,
+  input   gpio_in_19,
+  input   gpio_in_20,
+  input   gpio_in_21,
+  input   gpio_in_22,
+  input   gpio_in_23,
+  input   gpio_in_24,
+  input   gpio_in_25,
+  input   gpio_in_26,
+  input   gpio_in_27,
+  input   gpio_in_28,
+  input   gpio_in_29,
+  input   gpio_in_30,
+  input   gpio_in_31, // <no_sram>
+  output [5:0]  tag_array_ext_RW0_addr, // <no_sram>
+  output        tag_array_ext_RW0_en, // <no_sram>
+  output        tag_array_ext_RW0_clk, // <no_sram>
+  output        tag_array_ext_RW0_wmode, // <no_sram>
+  output [20:0] tag_array_ext_RW0_wdata, // <no_sram>
+  input  [20:0] tag_array_ext_RW0_rdata, // <no_sram>
+  output [9:0]  data_arrays_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_ext_RW0_wmode, // <no_sram>
+  output [31:0] data_arrays_0_ext_RW0_wdata, // <no_sram>
+  input  [31:0] data_arrays_0_ext_RW0_rdata, // <no_sram>
+  output [3:0]  data_arrays_0_ext_RW0_wmask, // <no_sram>
+  output [6:0]  tag_array_0_ext_RW0_addr, // <no_sram>
+  output        tag_array_0_ext_RW0_en, // <no_sram>
+  output        tag_array_0_ext_RW0_clk, // <no_sram>
+  output        tag_array_0_ext_RW0_wmode, // <no_sram>
+  output [37:0] tag_array_0_ext_RW0_wdata, // <no_sram>
+  input  [37:0] tag_array_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  tag_array_0_ext_RW0_wmask, // <no_sram>
+  output [10:0] data_arrays_0_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_wmode, // <no_sram>
+  output [63:0] data_arrays_0_0_ext_RW0_wdata, // <no_sram>
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  data_arrays_0_0_ext_RW0_wmask // <no_sram>
+);
+`ifdef RANDOMIZE_REG_INIT
+  reg [31:0] _RAND_0;
+  reg [31:0] _RAND_1;
+`endif // RANDOMIZE_REG_INIT
+  wire  dut_clock; // @[Chip.scala 41:21]
+  wire  dut_io_pins_jtag_TCK_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_jtag_TMS_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_jtag_TDI_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_jtag_TDO_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_jtag_TDO_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_0_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_0_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_0_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_0_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_1_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_1_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_1_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_1_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_2_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_2_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_2_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_2_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_3_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_3_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_3_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_3_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_4_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_4_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_4_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_4_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_5_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_5_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_5_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_5_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_6_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_6_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_6_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_7_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_7_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_7_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_8_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_8_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_8_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_9_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_9_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_9_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_10_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_10_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_10_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_11_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_11_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_11_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_12_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_12_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_12_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_12_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_13_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_13_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_13_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_13_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_14_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_14_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_14_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_14_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_15_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_15_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_15_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_15_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_16_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_16_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_16_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_16_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_17_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_17_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_17_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_17_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_18_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_18_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_18_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_18_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_19_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_19_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_19_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_19_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_20_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_20_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_20_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_20_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_21_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_21_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_21_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_21_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_22_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_22_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_22_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_22_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_23_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_23_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_23_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_23_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_24_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_24_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_24_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_24_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_25_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_25_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_25_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_26_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_26_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_26_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_27_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_27_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_27_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_28_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_28_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_28_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_29_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_29_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_29_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_30_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_30_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_30_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_31_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_31_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_gpio_pins_31_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_sck_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_0_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_0_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_0_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_0_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_1_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_1_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_1_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_1_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_2_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_2_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_2_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_2_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_3_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_3_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_3_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_dq_3_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_cs_0_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_sck_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_0_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_0_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_0_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_0_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_1_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_1_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_1_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_1_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_2_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_2_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_2_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_2_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_3_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_3_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_3_o_oe; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_dq_3_o_ie; // @[Chip.scala 41:21]
+  wire  dut_io_pins_qspi_ram_cs_0_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_uart_rxd_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_uart_txd_o_oval; // @[Chip.scala 41:21]
+  wire  dut_io_pins_aon_erst_n_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_pins_aon_lfextclk_i_ival; // @[Chip.scala 41:21]
+  wire  dut_io_jtag_reset; // @[Chip.scala 41:21]
+  wire  _T = ~rst_n; // @[Chip.scala 28:26]
+  reg  clockToggleReg; // @[Chip.scala 29:33]
+  reg [1:0] slowTick_value; // @[Counter.scala 62:40]
+  wire  slowTick_wrap_wrap = slowTick_value == 2'h3; // @[Counter.scala 74:24]
+  wire [1:0] _slowTick_wrap_value_T_1 = slowTick_value + 2'h1; // @[Counter.scala 78:24]
+  MarmotCaravelPlatform dut ( // @[Chip.scala 41:21]
+    .clock(dut_clock),
+    .io_pins_jtag_TCK_i_ival(dut_io_pins_jtag_TCK_i_ival),
+    .io_pins_jtag_TMS_i_ival(dut_io_pins_jtag_TMS_i_ival),
+    .io_pins_jtag_TDI_i_ival(dut_io_pins_jtag_TDI_i_ival),
+    .io_pins_jtag_TDO_o_oval(dut_io_pins_jtag_TDO_o_oval),
+    .io_pins_jtag_TDO_o_oe(dut_io_pins_jtag_TDO_o_oe),
+    .io_pins_gpio_pins_0_i_ival(dut_io_pins_gpio_pins_0_i_ival),
+    .io_pins_gpio_pins_0_o_oval(dut_io_pins_gpio_pins_0_o_oval),
+    .io_pins_gpio_pins_0_o_oe(dut_io_pins_gpio_pins_0_o_oe),
+    .io_pins_gpio_pins_0_o_ie(dut_io_pins_gpio_pins_0_o_ie),
+    .io_pins_gpio_pins_1_i_ival(dut_io_pins_gpio_pins_1_i_ival),
+    .io_pins_gpio_pins_1_o_oval(dut_io_pins_gpio_pins_1_o_oval),
+    .io_pins_gpio_pins_1_o_oe(dut_io_pins_gpio_pins_1_o_oe),
+    .io_pins_gpio_pins_1_o_ie(dut_io_pins_gpio_pins_1_o_ie),
+    .io_pins_gpio_pins_2_i_ival(dut_io_pins_gpio_pins_2_i_ival),
+    .io_pins_gpio_pins_2_o_oval(dut_io_pins_gpio_pins_2_o_oval),
+    .io_pins_gpio_pins_2_o_oe(dut_io_pins_gpio_pins_2_o_oe),
+    .io_pins_gpio_pins_2_o_ie(dut_io_pins_gpio_pins_2_o_ie),
+    .io_pins_gpio_pins_3_i_ival(dut_io_pins_gpio_pins_3_i_ival),
+    .io_pins_gpio_pins_3_o_oval(dut_io_pins_gpio_pins_3_o_oval),
+    .io_pins_gpio_pins_3_o_oe(dut_io_pins_gpio_pins_3_o_oe),
+    .io_pins_gpio_pins_3_o_ie(dut_io_pins_gpio_pins_3_o_ie),
+    .io_pins_gpio_pins_4_i_ival(dut_io_pins_gpio_pins_4_i_ival),
+    .io_pins_gpio_pins_4_o_oval(dut_io_pins_gpio_pins_4_o_oval),
+    .io_pins_gpio_pins_4_o_oe(dut_io_pins_gpio_pins_4_o_oe),
+    .io_pins_gpio_pins_4_o_ie(dut_io_pins_gpio_pins_4_o_ie),
+    .io_pins_gpio_pins_5_i_ival(dut_io_pins_gpio_pins_5_i_ival),
+    .io_pins_gpio_pins_5_o_oval(dut_io_pins_gpio_pins_5_o_oval),
+    .io_pins_gpio_pins_5_o_oe(dut_io_pins_gpio_pins_5_o_oe),
+    .io_pins_gpio_pins_5_o_ie(dut_io_pins_gpio_pins_5_o_ie),
+    .io_pins_gpio_pins_6_i_ival(dut_io_pins_gpio_pins_6_i_ival),
+    .io_pins_gpio_pins_6_o_oval(dut_io_pins_gpio_pins_6_o_oval),
+    .io_pins_gpio_pins_6_o_oe(dut_io_pins_gpio_pins_6_o_oe),
+    .io_pins_gpio_pins_7_i_ival(dut_io_pins_gpio_pins_7_i_ival),
+    .io_pins_gpio_pins_7_o_oval(dut_io_pins_gpio_pins_7_o_oval),
+    .io_pins_gpio_pins_7_o_oe(dut_io_pins_gpio_pins_7_o_oe),
+    .io_pins_gpio_pins_8_i_ival(dut_io_pins_gpio_pins_8_i_ival),
+    .io_pins_gpio_pins_8_o_oval(dut_io_pins_gpio_pins_8_o_oval),
+    .io_pins_gpio_pins_8_o_oe(dut_io_pins_gpio_pins_8_o_oe),
+    .io_pins_gpio_pins_9_i_ival(dut_io_pins_gpio_pins_9_i_ival),
+    .io_pins_gpio_pins_9_o_oval(dut_io_pins_gpio_pins_9_o_oval),
+    .io_pins_gpio_pins_9_o_oe(dut_io_pins_gpio_pins_9_o_oe),
+    .io_pins_gpio_pins_10_i_ival(dut_io_pins_gpio_pins_10_i_ival),
+    .io_pins_gpio_pins_10_o_oval(dut_io_pins_gpio_pins_10_o_oval),
+    .io_pins_gpio_pins_10_o_oe(dut_io_pins_gpio_pins_10_o_oe),
+    .io_pins_gpio_pins_11_i_ival(dut_io_pins_gpio_pins_11_i_ival),
+    .io_pins_gpio_pins_11_o_oval(dut_io_pins_gpio_pins_11_o_oval),
+    .io_pins_gpio_pins_11_o_oe(dut_io_pins_gpio_pins_11_o_oe),
+    .io_pins_gpio_pins_12_i_ival(dut_io_pins_gpio_pins_12_i_ival),
+    .io_pins_gpio_pins_12_o_oval(dut_io_pins_gpio_pins_12_o_oval),
+    .io_pins_gpio_pins_12_o_oe(dut_io_pins_gpio_pins_12_o_oe),
+    .io_pins_gpio_pins_12_o_ie(dut_io_pins_gpio_pins_12_o_ie),
+    .io_pins_gpio_pins_13_i_ival(dut_io_pins_gpio_pins_13_i_ival),
+    .io_pins_gpio_pins_13_o_oval(dut_io_pins_gpio_pins_13_o_oval),
+    .io_pins_gpio_pins_13_o_oe(dut_io_pins_gpio_pins_13_o_oe),
+    .io_pins_gpio_pins_13_o_ie(dut_io_pins_gpio_pins_13_o_ie),
+    .io_pins_gpio_pins_14_i_ival(dut_io_pins_gpio_pins_14_i_ival),
+    .io_pins_gpio_pins_14_o_oval(dut_io_pins_gpio_pins_14_o_oval),
+    .io_pins_gpio_pins_14_o_oe(dut_io_pins_gpio_pins_14_o_oe),
+    .io_pins_gpio_pins_14_o_ie(dut_io_pins_gpio_pins_14_o_ie),
+    .io_pins_gpio_pins_15_i_ival(dut_io_pins_gpio_pins_15_i_ival),
+    .io_pins_gpio_pins_15_o_oval(dut_io_pins_gpio_pins_15_o_oval),
+    .io_pins_gpio_pins_15_o_oe(dut_io_pins_gpio_pins_15_o_oe),
+    .io_pins_gpio_pins_15_o_ie(dut_io_pins_gpio_pins_15_o_ie),
+    .io_pins_gpio_pins_16_i_ival(dut_io_pins_gpio_pins_16_i_ival),
+    .io_pins_gpio_pins_16_o_oval(dut_io_pins_gpio_pins_16_o_oval),
+    .io_pins_gpio_pins_16_o_oe(dut_io_pins_gpio_pins_16_o_oe),
+    .io_pins_gpio_pins_16_o_ie(dut_io_pins_gpio_pins_16_o_ie),
+    .io_pins_gpio_pins_17_i_ival(dut_io_pins_gpio_pins_17_i_ival),
+    .io_pins_gpio_pins_17_o_oval(dut_io_pins_gpio_pins_17_o_oval),
+    .io_pins_gpio_pins_17_o_oe(dut_io_pins_gpio_pins_17_o_oe),
+    .io_pins_gpio_pins_17_o_ie(dut_io_pins_gpio_pins_17_o_ie),
+    .io_pins_gpio_pins_18_i_ival(dut_io_pins_gpio_pins_18_i_ival),
+    .io_pins_gpio_pins_18_o_oval(dut_io_pins_gpio_pins_18_o_oval),
+    .io_pins_gpio_pins_18_o_oe(dut_io_pins_gpio_pins_18_o_oe),
+    .io_pins_gpio_pins_18_o_ie(dut_io_pins_gpio_pins_18_o_ie),
+    .io_pins_gpio_pins_19_i_ival(dut_io_pins_gpio_pins_19_i_ival),
+    .io_pins_gpio_pins_19_o_oval(dut_io_pins_gpio_pins_19_o_oval),
+    .io_pins_gpio_pins_19_o_oe(dut_io_pins_gpio_pins_19_o_oe),
+    .io_pins_gpio_pins_19_o_ie(dut_io_pins_gpio_pins_19_o_ie),
+    .io_pins_gpio_pins_20_i_ival(dut_io_pins_gpio_pins_20_i_ival),
+    .io_pins_gpio_pins_20_o_oval(dut_io_pins_gpio_pins_20_o_oval),
+    .io_pins_gpio_pins_20_o_oe(dut_io_pins_gpio_pins_20_o_oe),
+    .io_pins_gpio_pins_20_o_ie(dut_io_pins_gpio_pins_20_o_ie),
+    .io_pins_gpio_pins_21_i_ival(dut_io_pins_gpio_pins_21_i_ival),
+    .io_pins_gpio_pins_21_o_oval(dut_io_pins_gpio_pins_21_o_oval),
+    .io_pins_gpio_pins_21_o_oe(dut_io_pins_gpio_pins_21_o_oe),
+    .io_pins_gpio_pins_21_o_ie(dut_io_pins_gpio_pins_21_o_ie),
+    .io_pins_gpio_pins_22_i_ival(dut_io_pins_gpio_pins_22_i_ival),
+    .io_pins_gpio_pins_22_o_oval(dut_io_pins_gpio_pins_22_o_oval),
+    .io_pins_gpio_pins_22_o_oe(dut_io_pins_gpio_pins_22_o_oe),
+    .io_pins_gpio_pins_22_o_ie(dut_io_pins_gpio_pins_22_o_ie),
+    .io_pins_gpio_pins_23_i_ival(dut_io_pins_gpio_pins_23_i_ival),
+    .io_pins_gpio_pins_23_o_oval(dut_io_pins_gpio_pins_23_o_oval),
+    .io_pins_gpio_pins_23_o_oe(dut_io_pins_gpio_pins_23_o_oe),
+    .io_pins_gpio_pins_23_o_ie(dut_io_pins_gpio_pins_23_o_ie),
+    .io_pins_gpio_pins_24_i_ival(dut_io_pins_gpio_pins_24_i_ival),
+    .io_pins_gpio_pins_24_o_oval(dut_io_pins_gpio_pins_24_o_oval),
+    .io_pins_gpio_pins_24_o_oe(dut_io_pins_gpio_pins_24_o_oe),
+    .io_pins_gpio_pins_24_o_ie(dut_io_pins_gpio_pins_24_o_ie),
+    .io_pins_gpio_pins_25_i_ival(dut_io_pins_gpio_pins_25_i_ival),
+    .io_pins_gpio_pins_25_o_oval(dut_io_pins_gpio_pins_25_o_oval),
+    .io_pins_gpio_pins_25_o_oe(dut_io_pins_gpio_pins_25_o_oe),
+    .io_pins_gpio_pins_26_i_ival(dut_io_pins_gpio_pins_26_i_ival),
+    .io_pins_gpio_pins_26_o_oval(dut_io_pins_gpio_pins_26_o_oval),
+    .io_pins_gpio_pins_26_o_oe(dut_io_pins_gpio_pins_26_o_oe),
+    .io_pins_gpio_pins_27_i_ival(dut_io_pins_gpio_pins_27_i_ival),
+    .io_pins_gpio_pins_27_o_oval(dut_io_pins_gpio_pins_27_o_oval),
+    .io_pins_gpio_pins_27_o_oe(dut_io_pins_gpio_pins_27_o_oe),
+    .io_pins_gpio_pins_28_i_ival(dut_io_pins_gpio_pins_28_i_ival),
+    .io_pins_gpio_pins_28_o_oval(dut_io_pins_gpio_pins_28_o_oval),
+    .io_pins_gpio_pins_28_o_oe(dut_io_pins_gpio_pins_28_o_oe),
+    .io_pins_gpio_pins_29_i_ival(dut_io_pins_gpio_pins_29_i_ival),
+    .io_pins_gpio_pins_29_o_oval(dut_io_pins_gpio_pins_29_o_oval),
+    .io_pins_gpio_pins_29_o_oe(dut_io_pins_gpio_pins_29_o_oe),
+    .io_pins_gpio_pins_30_i_ival(dut_io_pins_gpio_pins_30_i_ival),
+    .io_pins_gpio_pins_30_o_oval(dut_io_pins_gpio_pins_30_o_oval),
+    .io_pins_gpio_pins_30_o_oe(dut_io_pins_gpio_pins_30_o_oe),
+    .io_pins_gpio_pins_31_i_ival(dut_io_pins_gpio_pins_31_i_ival),
+    .io_pins_gpio_pins_31_o_oval(dut_io_pins_gpio_pins_31_o_oval),
+    .io_pins_gpio_pins_31_o_oe(dut_io_pins_gpio_pins_31_o_oe),
+    .io_pins_qspi_sck_o_oval(dut_io_pins_qspi_sck_o_oval),
+    .io_pins_qspi_dq_0_i_ival(dut_io_pins_qspi_dq_0_i_ival),
+    .io_pins_qspi_dq_0_o_oval(dut_io_pins_qspi_dq_0_o_oval),
+    .io_pins_qspi_dq_0_o_oe(dut_io_pins_qspi_dq_0_o_oe),
+    .io_pins_qspi_dq_0_o_ie(dut_io_pins_qspi_dq_0_o_ie),
+    .io_pins_qspi_dq_1_i_ival(dut_io_pins_qspi_dq_1_i_ival),
+    .io_pins_qspi_dq_1_o_oval(dut_io_pins_qspi_dq_1_o_oval),
+    .io_pins_qspi_dq_1_o_oe(dut_io_pins_qspi_dq_1_o_oe),
+    .io_pins_qspi_dq_1_o_ie(dut_io_pins_qspi_dq_1_o_ie),
+    .io_pins_qspi_dq_2_i_ival(dut_io_pins_qspi_dq_2_i_ival),
+    .io_pins_qspi_dq_2_o_oval(dut_io_pins_qspi_dq_2_o_oval),
+    .io_pins_qspi_dq_2_o_oe(dut_io_pins_qspi_dq_2_o_oe),
+    .io_pins_qspi_dq_2_o_ie(dut_io_pins_qspi_dq_2_o_ie),
+    .io_pins_qspi_dq_3_i_ival(dut_io_pins_qspi_dq_3_i_ival),
+    .io_pins_qspi_dq_3_o_oval(dut_io_pins_qspi_dq_3_o_oval),
+    .io_pins_qspi_dq_3_o_oe(dut_io_pins_qspi_dq_3_o_oe),
+    .io_pins_qspi_dq_3_o_ie(dut_io_pins_qspi_dq_3_o_ie),
+    .io_pins_qspi_cs_0_o_oval(dut_io_pins_qspi_cs_0_o_oval),
+    .io_pins_qspi_ram_sck_o_oval(dut_io_pins_qspi_ram_sck_o_oval),
+    .io_pins_qspi_ram_dq_0_i_ival(dut_io_pins_qspi_ram_dq_0_i_ival),
+    .io_pins_qspi_ram_dq_0_o_oval(dut_io_pins_qspi_ram_dq_0_o_oval),
+    .io_pins_qspi_ram_dq_0_o_oe(dut_io_pins_qspi_ram_dq_0_o_oe),
+    .io_pins_qspi_ram_dq_0_o_ie(dut_io_pins_qspi_ram_dq_0_o_ie),
+    .io_pins_qspi_ram_dq_1_i_ival(dut_io_pins_qspi_ram_dq_1_i_ival),
+    .io_pins_qspi_ram_dq_1_o_oval(dut_io_pins_qspi_ram_dq_1_o_oval),
+    .io_pins_qspi_ram_dq_1_o_oe(dut_io_pins_qspi_ram_dq_1_o_oe),
+    .io_pins_qspi_ram_dq_1_o_ie(dut_io_pins_qspi_ram_dq_1_o_ie),
+    .io_pins_qspi_ram_dq_2_i_ival(dut_io_pins_qspi_ram_dq_2_i_ival),
+    .io_pins_qspi_ram_dq_2_o_oval(dut_io_pins_qspi_ram_dq_2_o_oval),
+    .io_pins_qspi_ram_dq_2_o_oe(dut_io_pins_qspi_ram_dq_2_o_oe),
+    .io_pins_qspi_ram_dq_2_o_ie(dut_io_pins_qspi_ram_dq_2_o_ie),
+    .io_pins_qspi_ram_dq_3_i_ival(dut_io_pins_qspi_ram_dq_3_i_ival),
+    .io_pins_qspi_ram_dq_3_o_oval(dut_io_pins_qspi_ram_dq_3_o_oval),
+    .io_pins_qspi_ram_dq_3_o_oe(dut_io_pins_qspi_ram_dq_3_o_oe),
+    .io_pins_qspi_ram_dq_3_o_ie(dut_io_pins_qspi_ram_dq_3_o_ie),
+    .io_pins_qspi_ram_cs_0_o_oval(dut_io_pins_qspi_ram_cs_0_o_oval),
+    .io_pins_uart_rxd_i_ival(dut_io_pins_uart_rxd_i_ival),
+    .io_pins_uart_txd_o_oval(dut_io_pins_uart_txd_o_oval),
+    .io_pins_aon_erst_n_i_ival(dut_io_pins_aon_erst_n_i_ival),
+    .io_pins_aon_lfextclk_i_ival(dut_io_pins_aon_lfextclk_i_ival),
+    .io_jtag_reset(dut_io_jtag_reset), // <no_sram>
+    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr), // <no_sram>
+    .tag_array_ext_RW0_en(tag_array_ext_RW0_en), // <no_sram>
+    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk), // <no_sram>
+    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode), // <no_sram>
+    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata), // <no_sram>
+    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask), // <no_sram>
+    .tag_array_0_ext_RW0_addr(tag_array_0_ext_RW0_addr), // <no_sram>
+    .tag_array_0_ext_RW0_en(tag_array_0_ext_RW0_en), // <no_sram>
+    .tag_array_0_ext_RW0_clk(tag_array_0_ext_RW0_clk), // <no_sram>
+    .tag_array_0_ext_RW0_wmode(tag_array_0_ext_RW0_wmode), // <no_sram>
+    .tag_array_0_ext_RW0_wdata(tag_array_0_ext_RW0_wdata), // <no_sram>
+    .tag_array_0_ext_RW0_rdata(tag_array_0_ext_RW0_rdata), // <no_sram>
+    .tag_array_0_ext_RW0_wmask(tag_array_0_ext_RW0_wmask), // <no_sram>
+    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr), // <no_sram>
+    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en), // <no_sram>
+    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata), // <no_sram>
+    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask) // <no_sram>
+  );
+  assign io_out_0 = 1'h0; // @[Chip.scala 48:15]
+  assign io_out_1 = dut_io_pins_jtag_TDO_o_oval; // @[Chip.scala 52:15]
+  assign io_out_2 = 1'h0; // @[Chip.scala 56:15]
+  assign io_out_3 = 1'h0; // @[Chip.scala 61:15]
+  assign io_out_4 = 1'h0; // @[Chip.scala 66:15]
+  assign io_out_5 = 1'h0; // @[Chip.scala 82:15]
+  assign io_out_6 = dut_io_pins_uart_txd_o_oval; // @[Chip.scala 87:15]
+  assign io_out_7 = dut_io_pins_gpio_pins_24_o_oval; // @[Chip.scala 183:16]
+  assign io_out_8 = dut_io_pins_qspi_cs_0_o_oval; // @[Chip.scala 95:16]
+  assign io_out_9 = dut_io_pins_qspi_sck_o_oval; // @[Chip.scala 99:16]
+  assign io_out_10 = dut_io_pins_qspi_dq_0_o_oval; // @[Chip.scala 103:16]
+  assign io_out_11 = dut_io_pins_qspi_dq_1_o_oval; // @[Chip.scala 108:16]
+  assign io_out_12 = dut_io_pins_qspi_dq_2_o_oval; // @[Chip.scala 113:16]
+  assign io_out_13 = dut_io_pins_qspi_dq_3_o_oval; // @[Chip.scala 118:16]
+  assign io_out_14 = dut_io_pins_gpio_pins_0_o_oval; // @[Chip.scala 165:23]
+  assign io_out_15 = dut_io_pins_gpio_pins_1_o_oval; // @[Chip.scala 165:23]
+  assign io_out_16 = dut_io_pins_gpio_pins_2_o_oval; // @[Chip.scala 165:23]
+  assign io_out_17 = dut_io_pins_gpio_pins_3_o_oval; // @[Chip.scala 165:23]
+  assign io_out_18 = dut_io_pins_gpio_pins_4_o_oval; // @[Chip.scala 165:23]
+  assign io_out_19 = dut_io_pins_gpio_pins_5_o_oval; // @[Chip.scala 165:23]
+  assign io_out_20 = dut_io_pins_qspi_ram_cs_0_o_oval; // @[Chip.scala 127:17]
+  assign io_out_21 = dut_io_pins_qspi_ram_sck_o_oval; // @[Chip.scala 131:17]
+  assign io_out_22 = dut_io_pins_qspi_ram_dq_0_o_oval; // @[Chip.scala 135:16]
+  assign io_out_23 = dut_io_pins_qspi_ram_dq_1_o_oval; // @[Chip.scala 140:16]
+  assign io_out_24 = dut_io_pins_qspi_ram_dq_2_o_oval; // @[Chip.scala 145:16]
+  assign io_out_25 = dut_io_pins_qspi_ram_dq_3_o_oval; // @[Chip.scala 150:16]
+  assign io_out_26 = dut_io_pins_gpio_pins_12_o_oval; // @[Chip.scala 177:23]
+  assign io_out_27 = dut_io_pins_gpio_pins_13_o_oval; // @[Chip.scala 177:23]
+  assign io_out_28 = dut_io_pins_gpio_pins_14_o_oval; // @[Chip.scala 177:23]
+  assign io_out_29 = dut_io_pins_gpio_pins_15_o_oval; // @[Chip.scala 177:23]
+  assign io_out_30 = dut_io_pins_gpio_pins_16_o_oval; // @[Chip.scala 177:23]
+  assign io_out_31 = dut_io_pins_gpio_pins_17_o_oval; // @[Chip.scala 177:23]
+  assign io_out_32 = dut_io_pins_gpio_pins_18_o_oval; // @[Chip.scala 177:23]
+  assign io_out_33 = dut_io_pins_gpio_pins_19_o_oval; // @[Chip.scala 177:23]
+  assign io_out_34 = dut_io_pins_gpio_pins_20_o_oval; // @[Chip.scala 177:23]
+  assign io_out_35 = dut_io_pins_gpio_pins_21_o_oval; // @[Chip.scala 177:23]
+  assign io_out_36 = dut_io_pins_gpio_pins_22_o_oval; // @[Chip.scala 177:23]
+  assign io_out_37 = dut_io_pins_gpio_pins_23_o_oval; // @[Chip.scala 177:23]
+  assign io_oeb_0 = 1'h1; // @[Chip.scala 49:15]
+  assign io_oeb_1 = ~dut_io_pins_jtag_TDO_o_oe; // @[Chip.scala 53:18]
+  assign io_oeb_2 = 1'h1; // @[Chip.scala 57:15]
+  assign io_oeb_3 = 1'h1; // @[Chip.scala 62:15]
+  assign io_oeb_4 = 1'h1; // @[Chip.scala 67:15]
+  assign io_oeb_5 = 1'h1; // @[Chip.scala 83:15]
+  assign io_oeb_6 = 1'h0; // @[Chip.scala 88:18]
+  assign io_oeb_7 = ~dut_io_pins_gpio_pins_24_o_oe; // @[Chip.scala 184:19]
+  assign io_oeb_8 = 1'h0; // @[Chip.scala 96:19]
+  assign io_oeb_9 = 1'h0; // @[Chip.scala 100:19]
+  assign io_oeb_10 = ~dut_io_pins_qspi_dq_0_o_oe; // @[Chip.scala 104:19]
+  assign io_oeb_11 = ~dut_io_pins_qspi_dq_1_o_oe; // @[Chip.scala 109:19]
+  assign io_oeb_12 = ~dut_io_pins_qspi_dq_2_o_oe; // @[Chip.scala 114:19]
+  assign io_oeb_13 = ~dut_io_pins_qspi_dq_3_o_oe; // @[Chip.scala 119:19]
+  assign io_oeb_14 = ~dut_io_pins_gpio_pins_0_o_oe; // @[Chip.scala 166:26]
+  assign io_oeb_15 = ~dut_io_pins_gpio_pins_1_o_oe; // @[Chip.scala 166:26]
+  assign io_oeb_16 = ~dut_io_pins_gpio_pins_2_o_oe; // @[Chip.scala 166:26]
+  assign io_oeb_17 = ~dut_io_pins_gpio_pins_3_o_oe; // @[Chip.scala 166:26]
+  assign io_oeb_18 = ~dut_io_pins_gpio_pins_4_o_oe; // @[Chip.scala 166:26]
+  assign io_oeb_19 = ~dut_io_pins_gpio_pins_5_o_oe; // @[Chip.scala 166:26]
+  assign io_oeb_20 = 1'h0; // @[Chip.scala 128:20]
+  assign io_oeb_21 = 1'h0; // @[Chip.scala 132:20]
+  assign io_oeb_22 = ~dut_io_pins_qspi_ram_dq_0_o_oe; // @[Chip.scala 136:19]
+  assign io_oeb_23 = ~dut_io_pins_qspi_ram_dq_1_o_oe; // @[Chip.scala 141:19]
+  assign io_oeb_24 = ~dut_io_pins_qspi_ram_dq_2_o_oe; // @[Chip.scala 146:19]
+  assign io_oeb_25 = ~dut_io_pins_qspi_ram_dq_3_o_oe; // @[Chip.scala 151:19]
+  assign io_oeb_26 = ~dut_io_pins_gpio_pins_12_o_oe; // @[Chip.scala 178:26]
+  assign io_oeb_27 = ~dut_io_pins_gpio_pins_13_o_oe; // @[Chip.scala 178:26]
+  assign io_oeb_28 = ~dut_io_pins_gpio_pins_14_o_oe; // @[Chip.scala 178:26]
+  assign io_oeb_29 = ~dut_io_pins_gpio_pins_15_o_oe; // @[Chip.scala 178:26]
+  assign io_oeb_30 = ~dut_io_pins_gpio_pins_16_o_oe; // @[Chip.scala 178:26]
+  assign io_oeb_31 = ~dut_io_pins_gpio_pins_17_o_oe; // @[Chip.scala 178:26]
+  assign io_oeb_32 = ~dut_io_pins_gpio_pins_18_o_oe; // @[Chip.scala 178:26]
+  assign io_oeb_33 = ~dut_io_pins_gpio_pins_19_o_oe; // @[Chip.scala 178:26]
+  assign io_oeb_34 = ~dut_io_pins_gpio_pins_20_o_oe; // @[Chip.scala 178:26]
+  assign io_oeb_35 = ~dut_io_pins_gpio_pins_21_o_oe; // @[Chip.scala 178:26]
+  assign io_oeb_36 = ~dut_io_pins_gpio_pins_22_o_oe; // @[Chip.scala 178:26]
+  assign io_oeb_37 = ~dut_io_pins_gpio_pins_23_o_oe; // @[Chip.scala 178:26]
+  assign gpio_out_0 = dut_io_pins_gpio_pins_0_o_oe & dut_io_pins_gpio_pins_0_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_1 = dut_io_pins_gpio_pins_1_o_oe & dut_io_pins_gpio_pins_1_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_2 = dut_io_pins_gpio_pins_2_o_oe & dut_io_pins_gpio_pins_2_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_3 = dut_io_pins_gpio_pins_3_o_oe & dut_io_pins_gpio_pins_3_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_4 = dut_io_pins_gpio_pins_4_o_oe & dut_io_pins_gpio_pins_4_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_5 = dut_io_pins_gpio_pins_5_o_oe & dut_io_pins_gpio_pins_5_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_6 = dut_io_pins_gpio_pins_6_o_oe & dut_io_pins_gpio_pins_6_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_7 = dut_io_pins_gpio_pins_7_o_oe & dut_io_pins_gpio_pins_7_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_8 = dut_io_pins_gpio_pins_8_o_oe & dut_io_pins_gpio_pins_8_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_9 = dut_io_pins_gpio_pins_9_o_oe & dut_io_pins_gpio_pins_9_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_10 = dut_io_pins_gpio_pins_10_o_oe & dut_io_pins_gpio_pins_10_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_11 = dut_io_pins_gpio_pins_11_o_oe & dut_io_pins_gpio_pins_11_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_12 = dut_io_pins_gpio_pins_12_o_oe & dut_io_pins_gpio_pins_12_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_13 = dut_io_pins_gpio_pins_13_o_oe & dut_io_pins_gpio_pins_13_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_14 = dut_io_pins_gpio_pins_14_o_oe & dut_io_pins_gpio_pins_14_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_15 = dut_io_pins_gpio_pins_15_o_oe & dut_io_pins_gpio_pins_15_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_16 = dut_io_pins_gpio_pins_16_o_oe & dut_io_pins_gpio_pins_16_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_17 = dut_io_pins_gpio_pins_17_o_oe & dut_io_pins_gpio_pins_17_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_18 = dut_io_pins_gpio_pins_18_o_oe & dut_io_pins_gpio_pins_18_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_19 = dut_io_pins_gpio_pins_19_o_oe & dut_io_pins_gpio_pins_19_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_20 = dut_io_pins_gpio_pins_20_o_oe & dut_io_pins_gpio_pins_20_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_21 = dut_io_pins_gpio_pins_21_o_oe & dut_io_pins_gpio_pins_21_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_22 = dut_io_pins_gpio_pins_22_o_oe & dut_io_pins_gpio_pins_22_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_23 = dut_io_pins_gpio_pins_23_o_oe & dut_io_pins_gpio_pins_23_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_24 = dut_io_pins_gpio_pins_24_o_oe & dut_io_pins_gpio_pins_24_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_25 = dut_io_pins_gpio_pins_25_o_oe & dut_io_pins_gpio_pins_25_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_26 = dut_io_pins_gpio_pins_26_o_oe & dut_io_pins_gpio_pins_26_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_27 = dut_io_pins_gpio_pins_27_o_oe & dut_io_pins_gpio_pins_27_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_28 = dut_io_pins_gpio_pins_28_o_oe & dut_io_pins_gpio_pins_28_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_29 = dut_io_pins_gpio_pins_29_o_oe & dut_io_pins_gpio_pins_29_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_30 = dut_io_pins_gpio_pins_30_o_oe & dut_io_pins_gpio_pins_30_o_oval; // @[Chip.scala 160:56]
+  assign gpio_out_31 = dut_io_pins_gpio_pins_31_o_oe & dut_io_pins_gpio_pins_31_o_oval; // @[Chip.scala 160:56]
+  assign dut_clock = clk;
+  assign dut_io_pins_jtag_TCK_i_ival = io_in_4; // @[Chip.scala 68:45]
+  assign dut_io_pins_jtag_TMS_i_ival = io_in_3; // @[Chip.scala 63:45]
+  assign dut_io_pins_jtag_TDI_i_ival = io_in_2; // @[Chip.scala 58:45]
+  assign dut_io_pins_gpio_pins_0_i_ival = io_in_14 & dut_io_pins_gpio_pins_0_o_ie; // @[Chip.scala 167:58]
+  assign dut_io_pins_gpio_pins_1_i_ival = io_in_15 & dut_io_pins_gpio_pins_1_o_ie; // @[Chip.scala 167:58]
+  assign dut_io_pins_gpio_pins_2_i_ival = io_in_16 & dut_io_pins_gpio_pins_2_o_ie; // @[Chip.scala 167:58]
+  assign dut_io_pins_gpio_pins_3_i_ival = io_in_17 & dut_io_pins_gpio_pins_3_o_ie; // @[Chip.scala 167:58]
+  assign dut_io_pins_gpio_pins_4_i_ival = io_in_18 & dut_io_pins_gpio_pins_4_o_ie; // @[Chip.scala 167:58]
+  assign dut_io_pins_gpio_pins_5_i_ival = io_in_19 & dut_io_pins_gpio_pins_5_o_ie; // @[Chip.scala 167:58]
+  assign dut_io_pins_gpio_pins_6_i_ival = gpio_in_6; // @[Chip.scala 172:41]
+  assign dut_io_pins_gpio_pins_7_i_ival = gpio_in_7; // @[Chip.scala 172:41]
+  assign dut_io_pins_gpio_pins_8_i_ival = gpio_in_8; // @[Chip.scala 172:41]
+  assign dut_io_pins_gpio_pins_9_i_ival = gpio_in_9; // @[Chip.scala 172:41]
+  assign dut_io_pins_gpio_pins_10_i_ival = gpio_in_10; // @[Chip.scala 172:41]
+  assign dut_io_pins_gpio_pins_11_i_ival = gpio_in_11; // @[Chip.scala 172:41]
+  assign dut_io_pins_gpio_pins_12_i_ival = io_in_26 & dut_io_pins_gpio_pins_12_o_ie; // @[Chip.scala 179:58]
+  assign dut_io_pins_gpio_pins_13_i_ival = io_in_27 & dut_io_pins_gpio_pins_13_o_ie; // @[Chip.scala 179:58]
+  assign dut_io_pins_gpio_pins_14_i_ival = io_in_28 & dut_io_pins_gpio_pins_14_o_ie; // @[Chip.scala 179:58]
+  assign dut_io_pins_gpio_pins_15_i_ival = io_in_29 & dut_io_pins_gpio_pins_15_o_ie; // @[Chip.scala 179:58]
+  assign dut_io_pins_gpio_pins_16_i_ival = io_in_30 & dut_io_pins_gpio_pins_16_o_ie; // @[Chip.scala 179:58]
+  assign dut_io_pins_gpio_pins_17_i_ival = io_in_31 & dut_io_pins_gpio_pins_17_o_ie; // @[Chip.scala 179:58]
+  assign dut_io_pins_gpio_pins_18_i_ival = io_in_32 & dut_io_pins_gpio_pins_18_o_ie; // @[Chip.scala 179:58]
+  assign dut_io_pins_gpio_pins_19_i_ival = io_in_33 & dut_io_pins_gpio_pins_19_o_ie; // @[Chip.scala 179:58]
+  assign dut_io_pins_gpio_pins_20_i_ival = io_in_34 & dut_io_pins_gpio_pins_20_o_ie; // @[Chip.scala 179:58]
+  assign dut_io_pins_gpio_pins_21_i_ival = io_in_35 & dut_io_pins_gpio_pins_21_o_ie; // @[Chip.scala 179:58]
+  assign dut_io_pins_gpio_pins_22_i_ival = io_in_36 & dut_io_pins_gpio_pins_22_o_ie; // @[Chip.scala 179:58]
+  assign dut_io_pins_gpio_pins_23_i_ival = io_in_37 & dut_io_pins_gpio_pins_23_o_ie; // @[Chip.scala 179:58]
+  assign dut_io_pins_gpio_pins_24_i_ival = io_in_7 & dut_io_pins_gpio_pins_24_o_ie; // @[Chip.scala 185:50]
+  assign dut_io_pins_gpio_pins_25_i_ival = gpio_in_25; // @[Chip.scala 189:41]
+  assign dut_io_pins_gpio_pins_26_i_ival = gpio_in_26; // @[Chip.scala 189:41]
+  assign dut_io_pins_gpio_pins_27_i_ival = gpio_in_27; // @[Chip.scala 189:41]
+  assign dut_io_pins_gpio_pins_28_i_ival = gpio_in_28; // @[Chip.scala 189:41]
+  assign dut_io_pins_gpio_pins_29_i_ival = gpio_in_29; // @[Chip.scala 189:41]
+  assign dut_io_pins_gpio_pins_30_i_ival = gpio_in_30; // @[Chip.scala 189:41]
+  assign dut_io_pins_gpio_pins_31_i_ival = gpio_in_31; // @[Chip.scala 189:41]
+  assign dut_io_pins_qspi_dq_0_i_ival = io_in_10 & dut_io_pins_qspi_dq_0_o_ie; // @[Chip.scala 105:48]
+  assign dut_io_pins_qspi_dq_1_i_ival = io_in_11 & dut_io_pins_qspi_dq_1_o_ie; // @[Chip.scala 110:48]
+  assign dut_io_pins_qspi_dq_2_i_ival = io_in_12 & dut_io_pins_qspi_dq_2_o_ie; // @[Chip.scala 115:48]
+  assign dut_io_pins_qspi_dq_3_i_ival = io_in_13 & dut_io_pins_qspi_dq_3_o_ie; // @[Chip.scala 120:48]
+  assign dut_io_pins_qspi_ram_dq_0_i_ival = io_in_22 & dut_io_pins_qspi_ram_dq_0_o_ie; // @[Chip.scala 137:52]
+  assign dut_io_pins_qspi_ram_dq_1_i_ival = io_in_23 & dut_io_pins_qspi_ram_dq_1_o_ie; // @[Chip.scala 142:52]
+  assign dut_io_pins_qspi_ram_dq_2_i_ival = io_in_24 & dut_io_pins_qspi_ram_dq_2_o_ie; // @[Chip.scala 147:52]
+  assign dut_io_pins_qspi_ram_dq_3_i_ival = io_in_25 & dut_io_pins_qspi_ram_dq_3_o_ie; // @[Chip.scala 152:52]
+  assign dut_io_pins_uart_rxd_i_ival = io_in_5; // @[Chip.scala 84:45]
+  assign dut_io_pins_aon_erst_n_i_ival = rst_n; // @[Chip.scala 196:41]
+  assign dut_io_pins_aon_lfextclk_i_ival = clockToggleReg; // @[Chip.scala 25:24 33:16]
+  assign dut_io_jtag_reset = ~rst_n; // @[Chip.scala 71:26]
+  always @(posedge clk) begin
+    if (_T) begin // @[Chip.scala 29:33]
+      clockToggleReg <= 1'h0; // @[Chip.scala 29:33]
+    end else if (slowTick_wrap_wrap) begin // @[Chip.scala 32:21]
+      clockToggleReg <= ~clockToggleReg; // @[Chip.scala 32:37]
+    end
+    if (_T) begin // @[Counter.scala 62:40]
+      slowTick_value <= 2'h0; // @[Counter.scala 62:40]
+    end else begin
+      slowTick_value <= _slowTick_wrap_value_T_1;
+    end
+  end
+// Register and memory initialization
+`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_MEM_INIT
+  integer initvar;
+`endif
+`ifndef SYNTHESIS
+`ifdef FIRRTL_BEFORE_INITIAL
+`FIRRTL_BEFORE_INITIAL
+`endif
+initial begin
+  `ifdef RANDOMIZE
+    `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}};
+  clockToggleReg = _RAND_0[0:0];
+  _RAND_1 = {1{`RANDOM}};
+  slowTick_value = _RAND_1[1:0];
+`endif // RANDOMIZE_REG_INIT
+  `endif // RANDOMIZE
+end // initial
+`ifdef FIRRTL_AFTER_INITIAL
+`FIRRTL_AFTER_INITIAL
+`endif
+`endif // SYNTHESIS
+endmodule
+module data_arrays_0(
+  input  [9: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, // <no_sram>
+  output [9:0]  data_arrays_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_ext_RW0_wmode, // <no_sram>
+  output [31:0] data_arrays_0_ext_RW0_wdata, // <no_sram>
+  input  [31:0] data_arrays_0_ext_RW0_rdata, // <no_sram>
+  output [3:0]  data_arrays_0_ext_RW0_wmask // <no_sram>
+);
+//  wire [9:0] data_arrays_0_ext_RW0_addr; // <no_sram>
+//  wire  data_arrays_0_ext_RW0_en; // <no_sram>
+//  wire  data_arrays_0_ext_RW0_clk; // <no_sram>
+//  wire  data_arrays_0_ext_RW0_wmode; // <no_sram>
+//  wire [31:0] data_arrays_0_ext_RW0_wdata; // <no_sram>
+//  wire [31:0] data_arrays_0_ext_RW0_rdata; // <no_sram>
+//  wire [3:0] data_arrays_0_ext_RW0_wmask; // <no_sram>
+  wire [15:0] _GEN_0 = {RW0_wdata_3,RW0_wdata_2};
+  wire [15:0] _GEN_1 = {RW0_wdata_1,RW0_wdata_0};
+  wire [1:0] _GEN_2 = {RW0_wmask_3,RW0_wmask_2};
+  wire [1:0] _GEN_3 = {RW0_wmask_1,RW0_wmask_0};
+//  data_arrays_0_ext data_arrays_0_ext ( // <no_sram>
+//    .RW0_addr(data_arrays_0_ext_RW0_addr), // <no_sram>
+//    .RW0_en(data_arrays_0_ext_RW0_en), // <no_sram>
+//    .RW0_clk(data_arrays_0_ext_RW0_clk), // <no_sram>
+//    .RW0_wmode(data_arrays_0_ext_RW0_wmode), // <no_sram>
+//    .RW0_wdata(data_arrays_0_ext_RW0_wdata), // <no_sram>
+//    .RW0_rdata(data_arrays_0_ext_RW0_rdata), // <no_sram>
+//    .RW0_wmask(data_arrays_0_ext_RW0_wmask) // <no_sram>
+//  ); // <no_sram>
+  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 RW0_rdata_0 = data_arrays_0_ext_RW0_rdata[7:0];
+  assign RW0_rdata_1 = data_arrays_0_ext_RW0_rdata[15:8];
+  assign RW0_rdata_2 = data_arrays_0_ext_RW0_rdata[23:16];
+  assign RW0_rdata_3 = data_arrays_0_ext_RW0_rdata[31:24];
+  assign data_arrays_0_ext_RW0_wmode = RW0_wmode;
+  assign data_arrays_0_ext_RW0_wdata = {_GEN_0,_GEN_1};
+  assign data_arrays_0_ext_RW0_wmask = {_GEN_2,_GEN_3};
+endmodule
+module tag_array(
+  input  [5:0]  RW0_addr,
+  input         RW0_en,
+  input         RW0_clk,
+  input         RW0_wmode,
+  input  [20:0] RW0_wdata_0,
+  output [20:0] RW0_rdata_0, // <no_sram>
+  output [5:0]  tag_array_ext_RW0_addr, // <no_sram>
+  output        tag_array_ext_RW0_en, // <no_sram>
+  output        tag_array_ext_RW0_clk, // <no_sram>
+  output        tag_array_ext_RW0_wmode, // <no_sram>
+  output [20:0] tag_array_ext_RW0_wdata, // <no_sram>
+  input  [20:0] tag_array_ext_RW0_rdata // <no_sram>
+);
+//  wire [5:0] tag_array_ext_RW0_addr; // <no_sram>
+//  wire  tag_array_ext_RW0_en; // <no_sram>
+//  wire  tag_array_ext_RW0_clk; // <no_sram>
+//  wire  tag_array_ext_RW0_wmode; // <no_sram>
+//  wire [20:0] tag_array_ext_RW0_wdata; // <no_sram>
+//  wire [20:0] tag_array_ext_RW0_rdata; // <no_sram>
+//  tag_array_ext tag_array_ext ( // <no_sram>
+//    .RW0_addr(tag_array_ext_RW0_addr), // <no_sram>
+//    .RW0_en(tag_array_ext_RW0_en), // <no_sram>
+//    .RW0_clk(tag_array_ext_RW0_clk), // <no_sram>
+//    .RW0_wmode(tag_array_ext_RW0_wmode), // <no_sram>
+//    .RW0_wdata(tag_array_ext_RW0_wdata), // <no_sram>
+//    .RW0_rdata(tag_array_ext_RW0_rdata) // <no_sram>
+//  ); // <no_sram>
+  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 RW0_rdata_0 = tag_array_ext_RW0_rdata;
+  assign tag_array_ext_RW0_wmode = RW0_wmode;
+  assign tag_array_ext_RW0_wdata = RW0_wdata_0;
+endmodule
+module tag_array_0(
+  input  [6:0]  RW0_addr,
+  input         RW0_en,
+  input         RW0_clk,
+  input         RW0_wmode,
+  input  [18:0] RW0_wdata_0,
+  input  [18:0] RW0_wdata_1,
+  output [18:0] RW0_rdata_0,
+  output [18:0] RW0_rdata_1,
+  input         RW0_wmask_0,
+  input         RW0_wmask_1, // <no_sram>
+  output [6:0]  tag_array_0_ext_RW0_addr, // <no_sram>
+  output        tag_array_0_ext_RW0_en, // <no_sram>
+  output        tag_array_0_ext_RW0_clk, // <no_sram>
+  output        tag_array_0_ext_RW0_wmode, // <no_sram>
+  output [37:0] tag_array_0_ext_RW0_wdata, // <no_sram>
+  input  [37:0] tag_array_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  tag_array_0_ext_RW0_wmask // <no_sram>
+);
+//  wire [6:0] tag_array_0_ext_RW0_addr; // <no_sram>
+//  wire  tag_array_0_ext_RW0_en; // <no_sram>
+//  wire  tag_array_0_ext_RW0_clk; // <no_sram>
+//  wire  tag_array_0_ext_RW0_wmode; // <no_sram>
+//  wire [37:0] tag_array_0_ext_RW0_wdata; // <no_sram>
+//  wire [37:0] tag_array_0_ext_RW0_rdata; // <no_sram>
+//  wire [1:0] tag_array_0_ext_RW0_wmask; // <no_sram>
+//  tag_array_0_ext tag_array_0_ext ( // <no_sram>
+//    .RW0_addr(tag_array_0_ext_RW0_addr), // <no_sram>
+//    .RW0_en(tag_array_0_ext_RW0_en), // <no_sram>
+//    .RW0_clk(tag_array_0_ext_RW0_clk), // <no_sram>
+//    .RW0_wmode(tag_array_0_ext_RW0_wmode), // <no_sram>
+//    .RW0_wdata(tag_array_0_ext_RW0_wdata), // <no_sram>
+//    .RW0_rdata(tag_array_0_ext_RW0_rdata), // <no_sram>
+//    .RW0_wmask(tag_array_0_ext_RW0_wmask) // <no_sram>
+//  ); // <no_sram>
+  assign tag_array_0_ext_RW0_clk = RW0_clk;
+  assign tag_array_0_ext_RW0_en = RW0_en;
+  assign tag_array_0_ext_RW0_addr = RW0_addr;
+  assign RW0_rdata_0 = tag_array_0_ext_RW0_rdata[18:0];
+  assign RW0_rdata_1 = tag_array_0_ext_RW0_rdata[37:19];
+  assign tag_array_0_ext_RW0_wmode = RW0_wmode;
+  assign tag_array_0_ext_RW0_wdata = {RW0_wdata_1,RW0_wdata_0};
+  assign tag_array_0_ext_RW0_wmask = {RW0_wmask_1,RW0_wmask_0};
+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, // <no_sram>
+  output [10:0] data_arrays_0_0_ext_RW0_addr, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_en, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_clk, // <no_sram>
+  output        data_arrays_0_0_ext_RW0_wmode, // <no_sram>
+  output [63:0] data_arrays_0_0_ext_RW0_wdata, // <no_sram>
+  input  [63:0] data_arrays_0_0_ext_RW0_rdata, // <no_sram>
+  output [1:0]  data_arrays_0_0_ext_RW0_wmask // <no_sram>
+);
+//  wire [10:0] data_arrays_0_0_ext_RW0_addr; // <no_sram>
+//  wire  data_arrays_0_0_ext_RW0_en; // <no_sram>
+//  wire  data_arrays_0_0_ext_RW0_clk; // <no_sram>
+//  wire  data_arrays_0_0_ext_RW0_wmode; // <no_sram>
+//  wire [63:0] data_arrays_0_0_ext_RW0_wdata; // <no_sram>
+//  wire [63:0] data_arrays_0_0_ext_RW0_rdata; // <no_sram>
+//  wire [1:0] data_arrays_0_0_ext_RW0_wmask; // <no_sram>
+//  data_arrays_0_0_ext data_arrays_0_0_ext ( // <no_sram>
+//    .RW0_addr(data_arrays_0_0_ext_RW0_addr), // <no_sram>
+//    .RW0_en(data_arrays_0_0_ext_RW0_en), // <no_sram>
+//    .RW0_clk(data_arrays_0_0_ext_RW0_clk), // <no_sram>
+//    .RW0_wmode(data_arrays_0_0_ext_RW0_wmode), // <no_sram>
+//    .RW0_wdata(data_arrays_0_0_ext_RW0_wdata), // <no_sram>
+//    .RW0_rdata(data_arrays_0_0_ext_RW0_rdata), // <no_sram>
+//    .RW0_wmask(data_arrays_0_0_ext_RW0_wmask) // <no_sram>
+//  ); // <no_sram>
+  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 RW0_rdata_0 = data_arrays_0_0_ext_RW0_rdata[31:0];
+  assign RW0_rdata_1 = data_arrays_0_0_ext_RW0_rdata[63:32];
+  assign data_arrays_0_0_ext_RW0_wmode = RW0_wmode;
+  assign data_arrays_0_0_ext_RW0_wdata = {RW0_wdata_1,RW0_wdata_0};
+  assign data_arrays_0_0_ext_RW0_wmask = {RW0_wmask_1,RW0_wmask_0};
+endmodule
diff --git a/verilog/rtl/user_project_wrapper.v b/verilog/rtl/user_project_wrapper.v
index d40c9cb..5705dd9 100644
--- a/verilog/rtl/user_project_wrapper.v
+++ b/verilog/rtl/user_project_wrapper.v
@@ -81,6 +81,68 @@
 /*--------------------------------------*/
 /* User project is instantiated  here   */
 /*--------------------------------------*/
+`ifdef RAM_ON_TOP
+    wire        tag_array_ext_ram_clk;
+    wire        tag_array_ext_ram_csb0;
+    wire        tag_array_ext_ram_web0;
+    wire [3:0]  tag_array_ext_ram_wmask0;
+    wire [7:0]  tag_array_ext_ram_addr0;
+    wire [31:0] tag_array_ext_ram_din0;
+    wire [31:0] tag_array_ext_ram_dout0;
+    wire        tag_array_ext_ram_csb1;
+    wire [7:0]  tag_array_ext_ram_addr1;
+
+    wire [1:0]  data_arrays_0_ext_ram_clk;
+    wire [1:0]  data_arrays_0_ext_ram_csb0;
+    wire [1:0]  data_arrays_0_ext_ram_web0;
+    wire [3:0]  data_arrays_0_ext_ram_wmask00;
+    wire [3:0]  data_arrays_0_ext_ram_wmask01;
+    wire [8:0]  data_arrays_0_ext_ram_addr00;
+    wire [8:0]  data_arrays_0_ext_ram_addr01;
+    wire [31:0] data_arrays_0_ext_ram_din00;
+    wire [31:0] data_arrays_0_ext_ram_din01;
+    wire [31:0] data_arrays_0_ext_ram_dout00;
+    wire [31:0] data_arrays_0_ext_ram_dout01;
+    wire [1:0]  data_arrays_0_ext_ram_csb1;
+    wire [8:0]  data_arrays_0_ext_ram_addr10;
+    wire [8:0]  data_arrays_0_ext_ram_addr11;
+
+    wire        tag_array_0_ext_ram_clk;
+    wire        tag_array_0_ext_ram_csb0;
+    wire        tag_array_0_ext_ram_web0;
+    wire [7:0]  tag_array_0_ext_ram_wmask0;
+    wire [7:0]  tag_array_0_ext_ram_addr0;
+    wire [63:0] tag_array_0_ext_ram_din0;
+    wire [63:0] tag_array_0_ext_ram_dout0;
+    wire        tag_array_0_ext_ram_csb1;
+    wire [7:0]  tag_array_0_ext_ram_addr1;
+
+    wire [3:0]  data_arrays_0_0_ext_ram_clk;
+    wire [3:0]  data_arrays_0_0_ext_ram_csb0;
+    wire [3:0]  data_arrays_0_0_ext_ram_web0;
+    wire [7:0]  data_arrays_0_0_ext_ram_wmask00;
+    wire [7:0]  data_arrays_0_0_ext_ram_wmask01;
+    wire [7:0]  data_arrays_0_0_ext_ram_wmask02;
+    wire [7:0]  data_arrays_0_0_ext_ram_wmask03;
+    wire [8:0]  data_arrays_0_0_ext_ram_addr00;
+    wire [8:0]  data_arrays_0_0_ext_ram_addr01;
+    wire [8:0]  data_arrays_0_0_ext_ram_addr02;
+    wire [8:0]  data_arrays_0_0_ext_ram_addr03;
+    wire [63:0] data_arrays_0_0_ext_ram_din00;
+    wire [63:0] data_arrays_0_0_ext_ram_din01;
+    wire [63:0] data_arrays_0_0_ext_ram_din02;
+    wire [63:0] data_arrays_0_0_ext_ram_din03;
+    wire [63:0] data_arrays_0_0_ext_ram_dout00;
+    wire [63:0] data_arrays_0_0_ext_ram_dout01;
+    wire [63:0] data_arrays_0_0_ext_ram_dout02;
+    wire [63:0] data_arrays_0_0_ext_ram_dout03;
+    wire [3:0]  data_arrays_0_0_ext_ram_csb1;
+    wire [8:0]  data_arrays_0_0_ext_ram_addr10;
+    wire [8:0]  data_arrays_0_0_ext_ram_addr11;
+    wire [8:0]  data_arrays_0_0_ext_ram_addr12;
+    wire [8:0]  data_arrays_0_0_ext_ram_addr13;
+`endif  // RAM_ON_TOP
+
 Marmot Marmot (
 `ifdef USE_POWER_PINS
     .vdda1(vdda1),  // User area 1 3.3V supply
@@ -118,8 +180,341 @@
     .user_clock2(user_clock2),
     // IRQ
     .user_irq(user_irq)
+`ifdef RAM_ON_TOP
+    // RAM signals
+  , .tag_array_ext_ram_clk(tag_array_ext_ram_clk),
+    .tag_array_ext_ram_csb0(tag_array_ext_ram_csb0),
+    .tag_array_ext_ram_web0(tag_array_ext_ram_web0),
+    .tag_array_ext_ram_wmask0(tag_array_ext_ram_wmask0),
+    .tag_array_ext_ram_addr0(tag_array_ext_ram_addr0),
+    .tag_array_ext_ram_din0(tag_array_ext_ram_din0),
+    .tag_array_ext_ram_dout0(tag_array_ext_ram_dout0),
+    .tag_array_ext_ram_csb1(tag_array_ext_ram_csb1),
+    .tag_array_ext_ram_addr1(tag_array_ext_ram_addr1),
+    .data_arrays_0_ext_ram_clk(data_arrays_0_ext_ram_clk),
+    .data_arrays_0_ext_ram_csb0(data_arrays_0_ext_ram_csb0),
+    .data_arrays_0_ext_ram_web0(data_arrays_0_ext_ram_web0),
+    .data_arrays_0_ext_ram_wmask00(data_arrays_0_ext_ram_wmask00),
+    .data_arrays_0_ext_ram_wmask01(data_arrays_0_ext_ram_wmask01),
+    .data_arrays_0_ext_ram_addr00(data_arrays_0_ext_ram_addr00),
+    .data_arrays_0_ext_ram_addr01(data_arrays_0_ext_ram_addr01),
+    .data_arrays_0_ext_ram_din00(data_arrays_0_ext_ram_din00),
+    .data_arrays_0_ext_ram_din01(data_arrays_0_ext_ram_din01),
+    .data_arrays_0_ext_ram_dout00(data_arrays_0_ext_ram_dout00),
+    .data_arrays_0_ext_ram_dout01(data_arrays_0_ext_ram_dout01),
+    .data_arrays_0_ext_ram_csb1(data_arrays_0_ext_ram_csb1),
+    .data_arrays_0_ext_ram_addr10(data_arrays_0_ext_ram_addr10),
+    .data_arrays_0_ext_ram_addr11(data_arrays_0_ext_ram_addr11),
+    .tag_array_0_ext_ram_clk(tag_array_0_ext_ram_clk),
+    .tag_array_0_ext_ram_csb0(tag_array_0_ext_ram_csb0),
+    .tag_array_0_ext_ram_web0(tag_array_0_ext_ram_web0),
+    .tag_array_0_ext_ram_wmask0(tag_array_0_ext_ram_wmask0),
+    .tag_array_0_ext_ram_addr0(tag_array_0_ext_ram_addr0),
+    .tag_array_0_ext_ram_din0(tag_array_0_ext_ram_din0),
+    .tag_array_0_ext_ram_dout0(tag_array_0_ext_ram_dout0),
+    .tag_array_0_ext_ram_csb1(tag_array_0_ext_ram_csb1),
+    .tag_array_0_ext_ram_addr1(tag_array_0_ext_ram_addr1),
+    .data_arrays_0_0_ext_ram_clk(data_arrays_0_0_ext_ram_clk),
+    .data_arrays_0_0_ext_ram_csb0(data_arrays_0_0_ext_ram_csb0),
+    .data_arrays_0_0_ext_ram_web0(data_arrays_0_0_ext_ram_web0),
+    .data_arrays_0_0_ext_ram_wmask00(data_arrays_0_0_ext_ram_wmask00),
+    .data_arrays_0_0_ext_ram_wmask01(data_arrays_0_0_ext_ram_wmask01),
+    .data_arrays_0_0_ext_ram_wmask02(data_arrays_0_0_ext_ram_wmask02),
+    .data_arrays_0_0_ext_ram_wmask03(data_arrays_0_0_ext_ram_wmask03),
+    .data_arrays_0_0_ext_ram_addr00(data_arrays_0_0_ext_ram_addr00),
+    .data_arrays_0_0_ext_ram_addr01(data_arrays_0_0_ext_ram_addr01),
+    .data_arrays_0_0_ext_ram_addr02(data_arrays_0_0_ext_ram_addr02),
+    .data_arrays_0_0_ext_ram_addr03(data_arrays_0_0_ext_ram_addr03),
+    .data_arrays_0_0_ext_ram_din00(data_arrays_0_0_ext_ram_din00),
+    .data_arrays_0_0_ext_ram_din01(data_arrays_0_0_ext_ram_din01),
+    .data_arrays_0_0_ext_ram_din02(data_arrays_0_0_ext_ram_din02),
+    .data_arrays_0_0_ext_ram_din03(data_arrays_0_0_ext_ram_din03),
+    .data_arrays_0_0_ext_ram_dout00(data_arrays_0_0_ext_ram_dout00),
+    .data_arrays_0_0_ext_ram_dout01(data_arrays_0_0_ext_ram_dout01),
+    .data_arrays_0_0_ext_ram_dout02(data_arrays_0_0_ext_ram_dout02),
+    .data_arrays_0_0_ext_ram_dout03(data_arrays_0_0_ext_ram_dout03),
+    .data_arrays_0_0_ext_ram_csb1(data_arrays_0_0_ext_ram_csb1),
+    .data_arrays_0_0_ext_ram_addr10(data_arrays_0_0_ext_ram_addr10),
+    .data_arrays_0_0_ext_ram_addr11(data_arrays_0_0_ext_ram_addr11),
+    .data_arrays_0_0_ext_ram_addr12(data_arrays_0_0_ext_ram_addr12),
+    .data_arrays_0_0_ext_ram_addr13(data_arrays_0_0_ext_ram_addr13)
+`endif  // RAM_ON_TOP
 );
 
+`ifdef RAM_ON_TOP
+  `ifndef VERBOSE
+    `define VERBOSE 0
+  `endif
+
+  //-----------------------------------------------------------------------
+  // D-Cache data
+  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[0]),
+    .csb0   (data_arrays_0_ext_ram_csb0[0]),
+    .web0   (data_arrays_0_ext_ram_web0[0]),
+    .wmask0 (data_arrays_0_ext_ram_wmask00),
+    .addr0  (data_arrays_0_ext_ram_addr00),
+    .din0   (data_arrays_0_ext_ram_din00),
+    .dout0  (data_arrays_0_ext_ram_dout00),
+    .clk1   (data_arrays_0_ext_ram_clk[0]),
+    .csb1   (data_arrays_0_ext_ram_csb1[0]),
+    .addr1  (data_arrays_0_ext_ram_addr10),
+    /* verilator lint_off PINCONNECTEMPTY */
+    .dout1  ()
+    /* verilator lint_on PINCONNECTEMPTY */
+  );  
+
+  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[1]),
+    .csb0   (data_arrays_0_ext_ram_csb0[1]),
+    .web0   (data_arrays_0_ext_ram_web0[1]),
+    .wmask0 (data_arrays_0_ext_ram_wmask01),
+    .addr0  (data_arrays_0_ext_ram_addr01),
+    .din0   (data_arrays_0_ext_ram_din01),
+    .dout0  (data_arrays_0_ext_ram_dout01),
+    .clk1   (data_arrays_0_ext_ram_clk[1]),
+    .csb1   (data_arrays_0_ext_ram_csb1[1]),
+    .addr1  (data_arrays_0_ext_ram_addr11),
+    /* verilator lint_off PINCONNECTEMPTY */
+    .dout1  ()
+    /* verilator lint_on PINCONNECTEMPTY */
+  );  
+
+  //-----------------------------------------------------------------------
+  // D-Cache tag
+  sky130_sram_1kbyte_1rw1r_32x256_8 #(.VERBOSE(`VERBOSE)) tag_array_ext_ram (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (tag_array_ext_ram_clk),
+    .csb0   (tag_array_ext_ram_csb0),
+    .web0   (tag_array_ext_ram_web0),
+    .wmask0 (tag_array_ext_ram_wmask0),
+    .addr0  (tag_array_ext_ram_addr0),
+    .din0   (tag_array_ext_ram_din0),
+    .dout0  (tag_array_ext_ram_dout0),
+    .clk1   (tag_array_ext_ram_clk),
+    .csb1   (tag_array_ext_ram_csb1),
+    .addr1  (tag_array_ext_ram_addr1),
+    /* verilator lint_off PINCONNECTEMPTY */
+    .dout1  ()
+    /* verilator lint_on PINCONNECTEMPTY */
+  );  
+
+  //-----------------------------------------------------------------------
+  // I-Cache tag
+  sky130_sram_1kbyte_1rw1r_32x256_8 #(.VERBOSE(`VERBOSE)) tag_array_0_ext_raml (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (tag_array_0_ext_ram_clk),
+    .csb0   (tag_array_0_ext_ram_csb0),
+    .web0   (tag_array_0_ext_ram_web0),
+    .wmask0 (tag_array_0_ext_ram_wmask0[3:0]),
+    .addr0  (tag_array_0_ext_ram_addr0),
+    .din0   (tag_array_0_ext_ram_din0[31:0]),
+    .dout0  (tag_array_0_ext_ram_dout0[31:0]),
+    .clk1   (tag_array_0_ext_ram_clk),
+    .csb1   (tag_array_0_ext_ram_csb1),
+    .addr1  (tag_array_0_ext_ram_addr1),
+    /* verilator lint_off PINCONNECTEMPTY */
+    .dout1  ()
+    /* verilator lint_on PINCONNECTEMPTY */
+  );  
+
+  sky130_sram_1kbyte_1rw1r_32x256_8 #(.VERBOSE(`VERBOSE)) tag_array_0_ext_ramh (
+`ifdef USE_POWER_PINS
+    .vccd1  (vccd1),
+    .vssd1  (vssd1),
+`endif
+    .clk0   (tag_array_0_ext_ram_clk),
+    .csb0   (tag_array_0_ext_ram_csb0),
+    .web0   (tag_array_0_ext_ram_web0),
+    .wmask0 (tag_array_0_ext_ram_wmask0[7:4]),
+    .addr0  (tag_array_0_ext_ram_addr0),
+    .din0   (tag_array_0_ext_ram_din0[63:32]),
+    .dout0  (tag_array_0_ext_ram_dout0[63:32]),
+    .clk1   (tag_array_0_ext_ram_clk),
+    .csb1   (tag_array_0_ext_ram_csb1),
+    .addr1  (tag_array_0_ext_ram_addr1),
+    /* verilator lint_off PINCONNECTEMPTY */
+    .dout1  ()
+    /* verilator lint_on PINCONNECTEMPTY */
+  );  
+
+  //-----------------------------------------------------------------------
+  // I-Cache data
+    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[0]),
+      .csb0   (data_arrays_0_0_ext_ram_csb0[0]),
+      .web0   (data_arrays_0_0_ext_ram_web0[0]),
+      .wmask0 (data_arrays_0_0_ext_ram_wmask00[3:0]),
+      .addr0  (data_arrays_0_0_ext_ram_addr00),
+      .din0   (data_arrays_0_0_ext_ram_din00[31:0]),
+      .dout0  (data_arrays_0_0_ext_ram_dout00[31:0]),
+      .clk1   (data_arrays_0_0_ext_ram_clk[0]),
+      .csb1   (data_arrays_0_0_ext_ram_csb1[0]),
+      .addr1  (data_arrays_0_0_ext_ram_addr10),
+      /* verilator lint_off PINCONNECTEMPTY */
+      .dout1  ()
+      /* verilator lint_on PINCONNECTEMPTY */
+    );  
+
+    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[0]),
+      .csb0   (data_arrays_0_0_ext_ram_csb0[0]),
+      .web0   (data_arrays_0_0_ext_ram_web0[0]),
+      .wmask0 (data_arrays_0_0_ext_ram_wmask00[7:4]),
+      .addr0  (data_arrays_0_0_ext_ram_addr00),
+      .din0   (data_arrays_0_0_ext_ram_din00[63:32]),
+      .dout0  (data_arrays_0_0_ext_ram_dout00[63:32]),
+      .clk1   (data_arrays_0_0_ext_ram_clk[0]),
+      .csb1   (data_arrays_0_0_ext_ram_csb1[0]),
+      .addr1  (data_arrays_0_0_ext_ram_addr10),
+      /* verilator lint_off PINCONNECTEMPTY */
+      .dout1  ()
+      /* verilator lint_on PINCONNECTEMPTY */
+    );  
+
+    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[1]),
+      .csb0   (data_arrays_0_0_ext_ram_csb0[1]),
+      .web0   (data_arrays_0_0_ext_ram_web0[1]),
+      .wmask0 (data_arrays_0_0_ext_ram_wmask01[3:0]),
+      .addr0  (data_arrays_0_0_ext_ram_addr01),
+      .din0   (data_arrays_0_0_ext_ram_din01[31:0]),
+      .dout0  (data_arrays_0_0_ext_ram_dout01[31:0]),
+      .clk1   (data_arrays_0_0_ext_ram_clk[1]),
+      .csb1   (data_arrays_0_0_ext_ram_csb1[1]),
+      .addr1  (data_arrays_0_0_ext_ram_addr11),
+      /* verilator lint_off PINCONNECTEMPTY */
+      .dout1  ()
+      /* verilator lint_on PINCONNECTEMPTY */
+    );  
+
+    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[1]),
+      .csb0   (data_arrays_0_0_ext_ram_csb0[1]),
+      .web0   (data_arrays_0_0_ext_ram_web0[1]),
+      .wmask0 (data_arrays_0_0_ext_ram_wmask01[7:4]),
+      .addr0  (data_arrays_0_0_ext_ram_addr01),
+      .din0   (data_arrays_0_0_ext_ram_din01[63:32]),
+      .dout0  (data_arrays_0_0_ext_ram_dout01[63:32]),
+      .clk1   (data_arrays_0_0_ext_ram_clk[1]),
+      .csb1   (data_arrays_0_0_ext_ram_csb1[1]),
+      .addr1  (data_arrays_0_0_ext_ram_addr11),
+      /* verilator lint_off PINCONNECTEMPTY */
+      .dout1  ()
+      /* verilator lint_on PINCONNECTEMPTY */
+    );  
+
+    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[2]),
+      .csb0   (data_arrays_0_0_ext_ram_csb0[2]),
+      .web0   (data_arrays_0_0_ext_ram_web0[2]),
+      .wmask0 (data_arrays_0_0_ext_ram_wmask02[3:0]),
+      .addr0  (data_arrays_0_0_ext_ram_addr02),
+      .din0   (data_arrays_0_0_ext_ram_din02[31:0]),
+      .dout0  (data_arrays_0_0_ext_ram_dout02[31:0]),
+      .clk1   (data_arrays_0_0_ext_ram_clk[2]),
+      .csb1   (data_arrays_0_0_ext_ram_csb1[2]),
+      .addr1  (data_arrays_0_0_ext_ram_addr12),
+      /* verilator lint_off PINCONNECTEMPTY */
+      .dout1  ()
+      /* verilator lint_on PINCONNECTEMPTY */
+    );  
+
+    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[2]),
+      .csb0   (data_arrays_0_0_ext_ram_csb0[2]),
+      .web0   (data_arrays_0_0_ext_ram_web0[2]),
+      .wmask0 (data_arrays_0_0_ext_ram_wmask02[7:4]),
+      .addr0  (data_arrays_0_0_ext_ram_addr02),
+      .din0   (data_arrays_0_0_ext_ram_din02[63:32]),
+      .dout0  (data_arrays_0_0_ext_ram_dout02[63:32]),
+      .clk1   (data_arrays_0_0_ext_ram_clk[2]),
+      .csb1   (data_arrays_0_0_ext_ram_csb1[2]),
+      .addr1  (data_arrays_0_0_ext_ram_addr12),
+      /* verilator lint_off PINCONNECTEMPTY */
+      .dout1  ()
+      /* verilator lint_on PINCONNECTEMPTY */
+    );  
+
+    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[3]),
+      .csb0   (data_arrays_0_0_ext_ram_csb0[3]),
+      .web0   (data_arrays_0_0_ext_ram_web0[3]),
+      .wmask0 (data_arrays_0_0_ext_ram_wmask03[3:0]),
+      .addr0  (data_arrays_0_0_ext_ram_addr03),
+      .din0   (data_arrays_0_0_ext_ram_din03[31:0]),
+      .dout0  (data_arrays_0_0_ext_ram_dout03[31:0]),
+      .clk1   (data_arrays_0_0_ext_ram_clk[3]),
+      .csb1   (data_arrays_0_0_ext_ram_csb1[3]),
+      .addr1  (data_arrays_0_0_ext_ram_addr13),
+      /* verilator lint_off PINCONNECTEMPTY */
+      .dout1  ()
+      /* verilator lint_on PINCONNECTEMPTY */
+    );  
+
+    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[3]),
+      .csb0   (data_arrays_0_0_ext_ram_csb0[3]),
+      .web0   (data_arrays_0_0_ext_ram_web0[3]),
+      .wmask0 (data_arrays_0_0_ext_ram_wmask03[7:4]),
+      .addr0  (data_arrays_0_0_ext_ram_addr03),
+      .din0   (data_arrays_0_0_ext_ram_din03[63:32]),
+      .dout0  (data_arrays_0_0_ext_ram_dout03[63:32]),
+      .clk1   (data_arrays_0_0_ext_ram_clk[3]),
+      .csb1   (data_arrays_0_0_ext_ram_csb1[3]),
+      .addr1  (data_arrays_0_0_ext_ram_addr13),
+      /* verilator lint_off PINCONNECTEMPTY */
+      .dout1  ()
+      /* verilator lint_on PINCONNECTEMPTY */
+    );  
+`endif  // data_arrays_0_0_ext_ram_ON_TOP
+
 endmodule // user_project_wrapper
 
 `default_nettype wire